angular-state-view
Version:
Provides nested view management with template support.
2 lines • 2.76 kB
JavaScript
!function e(r,n,t){function i(u,a){if(!n[u]){if(!r[u]){var c="function"==typeof require&&require;if(!a&&c)return c(u,!0);if(o)return o(u,!0);var s=new Error("Cannot find module '"+u+"'");throw s.code="MODULE_NOT_FOUND",s}var f=n[u]={exports:{}};r[u][0].call(f.exports,function(e){var n=r[u][1][e];return i(n?n:e)},f,f.exports,e,r,n,t)}return n[u].exports}for(var o="function"==typeof require&&require,u=0;u<t.length;u++)i(t[u]);return i}({1:[function(e,r,n){"use strict";r.exports=["$state","$viewManager","$templateCache","$compile","$controller","$q",function(e,r,n,t,i,o){return{restrict:"EA",priority:400,scope:{},link:function(e,n,u){var a=r.create(u.id,{$element:n,render:function(r,u,a){var c=o.defer();n.html(r);var s=t(n.contents());if(u){var f=angular.extend({},a||{},{$scope:e.$parent});i(u,f)}return s(e.$parent),c.resolve(),c.promise},reset:function(){var e=o.defer();return n.empty(),e.resolve(),e.promise}});n.on("$destroy",function(){a.destroy()})}}}]},{}],2:[function(e,r,n){"use strict";"undefined"!=typeof r&&"undefined"!=typeof n&&r.exports===n&&(r.exports="angular-state-view"),angular.module("angular-state-view",["angular-state-router"]).factory("$viewManager",e("./services/view-manager")).directive("sview",e("./directives/state-view"))},{"./directives/state-view":1,"./services/view-manager":3}],3:[function(e,r,n){"use strict";var t=e("../view/view");r.exports=["$rootScope","$state","$injector","$q",function(e,r,n,i){var o={},u={},a={},c=function(){var e={};return angular.forEach(a,function(r,n){e[n]=i.when(r.reset())}),a={},i.all(e)},s=function(e){var r=angular.isString(e)?"<ng-include src=\"'"+e+"'\"></ng-include>":n.invoke(e);return i.when(r)},f=function(e,n,t,i){return s(t).then(function(e){if(i){var t=r.current();return n.render(e,i,t.locals)}return n.render(e)})},v=function(e){var n=r.current();n?c().then(function(){var r={},t=n.templates||{},o=n.controllers||{};angular.forEach(t,function(e,n){if(u[n]){var t=u[n],i=o[n];r[n]=f(n,t,e,i),a[n]=t}}),i.all(r).then(function(){e()},e)},e):e()};o.$update=v;var l=function(e){delete u[e]},d=function(e,n){if(!e)throw new Error("View requires an id.");if(u[e])throw new Error("View requires a unique id");u[e]=n;var t=r.current()||{},i=t.templates||{},o=t.controllers||{};return i[e]&&f(e,n,i[e],o[e]),n.destroy=function(){l(e)},n};return o.create=function(e,r){r=r||{};var n=t(e,r);return d(e,n)},o.get=function(e){return u[e]},r.$use(function(r,n){v(function(r){r?e.$broadcast("$viewError",r):e.$broadcast("$viewRender"),n(r)})},-1),o}]},{"../view/view":4}],4:[function(e,r,n){"use strict";r.exports=function(e,r){var n;return n={render:function(e){},reset:function(){},destroy:function(){}},angular.extend(n,r),n}},{}]},{},[2]);
//# sourceMappingURL=state-view.min.js.map