vormjs
Version:
Write your forms in JSON and HTML, use the same API.
42 lines (30 loc) • 1.02 kB
JavaScript
/*global angular*/
(function ( ) {
angular.module('vorm')
.directive('vormLabel', [ function ( ) {
return {
require: [ 'vormLabel', '^vormFieldConfig', '^vormFocusableList' ],
template: '<label class="vorm-field-label">{{vormLabel.getLabel()}}</label>',
replace: true,
controller: [ '$scope', '$element', function ( $scope, $element ) {
let ctrl = this,
vormFieldConfig,
vormFocusableList;
ctrl.link = function ( controllers ) {
vormFieldConfig = controllers[0];
vormFocusableList = controllers[1];
$scope.$watch(vormFocusableList.getId, function ( inputId ) {
$element.attr('for', inputId);
});
};
ctrl.getLabel = function ( ) {
return vormFieldConfig.invoke(vormFieldConfig.getConfig().label);
};
}],
controllerAs: 'vormLabel',
link: function ( scope, element, attrs, controllers ) {
controllers[0].link(controllers.slice(1));
}
};
}]);
})();