You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
SIPRP/trunk/SiprpWebFichasClinicas/WebContent/static/html/app/directives/partialsRenderer.js

40 lines
1.2 KiB

// usage: <partials-renderer partial-id="partial-1"></partials-renderer>
evoapp.directive('partialsRenderer', function($rootScope, $compile) {
return {
restrict: 'AE',
link: function (scope, elem, attrs) {
scope.partialId = attrs.partialId || null;
if(scope.partialId != null){
var partialEL = $rootScope.viewCache.find('[id=' + scope.partialId + ']');
if(partialEL.length == 0){
throw Error('partial ' + scope.partialId + ' not found!');
}else{
if(partialEL.length > 1){
throw Error('more than one partial ' + scope.partialId + ' was found!');
}else{
var finalEl = $.parseHTML(partialEL.html());
$(finalEl).insertAfter(elem);
elem.remove();
$compile(finalEl)(scope);
}
}
}
}
}
});