article.directive.js
1.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
(function() {
'use strict';
angular
.module('angular')
.directive('noosferoArticle', noosferoArticle);
/** @ngInject */
function noosferoArticle($injector, $compile) {
var directive = {
restrict: 'E',
templateUrl: 'app/components/noosfero-articles/article/article.html',
scope: {
article: '=',
profile: '='
},
controller: ArticleController,
controllerAs: 'vm',
bindToController: true,
link: function(scope, element) {
var specificDirective = 'noosfero'+scope.vm.article.type;
if($injector.has(specificDirective+'Directive')) {
var directiveName = specificDirective.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
element.replaceWith($compile('<'+directiveName+' article="vm.article" profile="vm.profile"></'+directiveName+'>')(scope));
}
}
};
return directive;
/** @ngInject */
function ArticleController($injector, $compile, $scope) {
var vm = this;
}
}
})();