UNPKG

angular-state-loadable

Version:
2 lines 2.57 kB
!function e(r,t,n){function a(l,i){if(!t[l]){if(!r[l]){var u="function"==typeof require&&require;if(!i&&u)return u(l,!0);if(o)return o(l,!0);var s=new Error("Cannot find module '"+l+"'");throw s.code="MODULE_NOT_FOUND",s}var c=t[l]={exports:{}};r[l][0].call(c.exports,function(e){var t=r[l][1][e];return a(t?t:e)},c,c.exports,e,r,t,n)}return t[l].exports}for(var o="function"==typeof require&&require,l=0;l<n.length;l++)a(n[l]);return a}({1:[function(e,r,t){"use strict";"undefined"!=typeof r&&"undefined"!=typeof t&&r.exports===t&&(r.exports="angular-state-loadable"),angular.module("angular-state-loadable",["angular-state-router"]).factory("$loadableManager",e("./services/loadable-manager")).run(["$loadableManager",function(e){e.$ready()}])},{"./services/loadable-manager":2}],2:[function(e,r,t){"use strict";r.exports=["$state","$q","$rootScope",function(e,r,t){var n,a={},o={},l=[],i=[],u=function(e){var t=r.defer(),a={src:e,isComplete:!1,promise:t.promise,$element:document.createElement("script")};return a.$element.src=e,a.$element.type="text/javascript",a.$element.async=!1,n.insertBefore(a.$element,n.firstChild),l.push(a),a.$element.onload=a.$element.onreadystatechange=function(){if(!(a.isComplete||this.readyState&&"loaded"!==this.readyState&&"complete"!==this.readyState)){a.isComplete=!0,a.$element.onload=a.$element.onreadystatechange=null,n&&a.$element.parentNode&&n.removeChild(a.$element);var e=l.indexOf(a);-1!==e&&l.splice(e,1),i.push(a),t.resolve(a)}},a},s=function(){var e=l.length,r=l.length+i.length;return Math.min(1,Math.max(0,e/r))},c=function(e){var r;if(!e||""===e){var n;throw n=new Error("Loadable requires a valid source."),n.code="invalidname",n}return o[e]?r=o[e]:(r=new u(e),o[e]=r,t.$broadcast("$loadableCreated",r),t.$broadcast("$loadableProgress",s()),r.promise.then(function(){t.$broadcast("$loadableProgress",s()),0===l.length&&t.$broadcast("$loadableComplete",r)})),r},d=function(){var n=r.defer(),a=e.current();if(a){var o=("string"==typeof a.load?[a.load]:a.load)||[];r.all(o.map(function(e){return c(e)}).filter(function(e){return!e.isComplete}).map(function(e){return e.promise})).then(function(){n.resolve()},function(e){t.$broadcast("$loadableError",e),n.reject(e)})}else n.resolve();return n.promise};return a.$load=d,a.get=function(e){return c(e).promise},a.progress=s,a.$ready=function(){n=angular.element(document.querySelector("head"))[0],e.$use(function(e,r){r(),e.promise.then(function(){d()})},1),t.$on("$loadableComplete",function(){e.reload()})},a}]},{}]},{},[1]); //# sourceMappingURL=state-loadable.min.js.map