gumga-translate-ng
Version:
Gumga Translate
27 lines (25 loc) • 1.01 kB
JavaScript
(function(){
'use strict';
TranslateTag.$inject = ['TranslateHelper','$compile', '$timeout'];
function TranslateTag(TranslateHelper,$compile, $timeout){
var child;
return {
restrict: 'A',
link: function(scope,elm,attrs){
if (!attrs.gumgaTranslateTag) throw 'You must pass a valid value to gumgaTranslateTag';
$timeout(() => {
var translation = TranslateHelper.returnTranslation(attrs.gumgaTranslateTag) || attrs.gumgaTranslateTag;
if (elm[0].childNodes.length > 0 && elm[0].childNodes[0].nodeName != '#text') {
scope.child = elm[0].childNodes[0];
elm[0].innerHTML = translation;
elm.append($compile(scope.child)(scope));
} else {
elm[0].innerHTML = translation || elm[0].innerHTML;
}
}, 100);
}
};
}
angular.module('gumga.translate.directive.translatetag',['gumga.translate.directive.translatehelper'])
.directive('gumgaTranslateTag',TranslateTag);
})();