34 lines
912 B
JavaScript
34 lines
912 B
JavaScript
|
'use strict';
|
||
|
|
||
|
angular.module('view-form').directive('fieldIconDirective', function() {
|
||
|
|
||
|
return {
|
||
|
template: '<i class="{{typeIcon}}"></i>',
|
||
|
restrict: 'E',
|
||
|
scope: {
|
||
|
typeName: '@'
|
||
|
},
|
||
|
controller: function($scope){
|
||
|
var iconTypeMap = {
|
||
|
'textfield': 'fa fa-pencil-square-o',
|
||
|
'dropdown': 'fa fa-th-list',
|
||
|
'date': 'fa fa-calendar',
|
||
|
'checkbox': 'fa fa-check-square-o',
|
||
|
'radio': 'fa fa-dot-circle-o',
|
||
|
'email': 'fa fa-envelope-o',
|
||
|
'textarea': 'fa fa-pencil-square',
|
||
|
'legal': 'fa fa-legal',
|
||
|
'file': 'fa fa-cloud-upload',
|
||
|
'rating': 'fa fa-star-half-o',
|
||
|
'link': 'fa fa-link',
|
||
|
'scale': 'fa fa-sliders',
|
||
|
'stripe': 'fa fa-credit-card',
|
||
|
'statement': 'fa fa-quote-left',
|
||
|
'yes_no': 'fa fa-toggle-on',
|
||
|
'number': 'fa fa-slack'
|
||
|
};
|
||
|
$scope.typeIcon = iconTypeMap[$scope.typeName];
|
||
|
}
|
||
|
};
|
||
|
});
|