Stripping text with a directive

by Michael Perrenoud

HTML

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.8/angular.min.js"></script>
<div ng-app="app">
    <table ng-controller="ctrl">
        <tr>
            <td class="inputWidthCampaignName">
                <span ng-if="isEditingOpp[opp.Id]">
                    <input type="text"
                        ng-model="opp.Name"/>
                </span>
                <span campaign-name=""
                    input="opp.Name"
                    ng-if="!isEditingOpp[opp.Id]">
                        <a href="/{{opp.Id}}" target="_blank">{{opp.Name}}</a>
                </span>
            </td>
        </tr>
    </table>
</div>

JavaScript

var ngApp = angular.module('app', []);

ngApp.directive('campaignName', function () {
    return {
        restrict: 'A',
        scope: {
            input: '=',
        },
        link: function (scope, element, attrs) {
            console.log('Input: ', scope.input);
            var input = scope.input;
            if (!input) {
                return;
            }

            // AccountName_Test_123445
            if (input.indexOf('_')) {
                scope.input = input.split('_')[1];
            }
        }
    };
});

ngApp.controller('ctrl', function($scope) {
    $scope.isEditingOpp = {};
    $scope.opp = {
        Id: 1,
        Name: 'AccountName_Test_123445'
    };
});