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'
};
});