UNPKG

mcs-ng-material

Version:

MCS NG-Meterial is based on mcs-web.

12 lines 5.63 kB
requirejs.config({baseUrl:"resource",paths:{"requirecss":"lib/require-css/css","angular":"lib/angular/angular","uiRouter":"lib/angular-ui-router/release/angular-ui-router","hammer":"lib/hammerjs/hammer","ngMaterial":"lib/angular-material/angular-material","ngMaterialIcons":"lib/angular-material-icons/angular-material-icons","ngAnimate":"lib/angular-animate/angular-animate","ngAria":"lib/angular-aria/angular-aria","ngMessages":"lib/angular-messages/angular-messages"},shim:{"angular":{exports:"angular"}, "uiRouter":{exports:"ui.router",deps:["angular"]},"ngAnimate":{exports:"ngAnimate",deps:["angular"]},"ngAria":{exports:"ngAria",deps:["angular"]},"ngMessages":{exports:"ngMessages",deps:["angular"]},"hammer":{exports:"Hammer"},"ngMaterial":{exports:"ngMaterial",deps:["angular","ngAnimate","ngAria","ngMessages","css!lib/angular-material/angular-material"]},"app":{deps:["angular","uiRouter","requirecss"]}},map:{"*":{"css":"requirecss"}},urlArgs:function(url,id){var args="ver\x3d"+Unify.versionId;if(location.href.indexOf("debug\x3d")>= 0)if(url.indexOf(".js")||url.indexOf(".css"))args+="\x26debug\x3d1";return(url.indexOf("?")===-1?"?":"\x26")+args}});define("app",["uiRouter","ngMaterial"],function(){var app=angular.module("app",["ui.router","ngMaterial"]);app.config(function($mdThemingProvider){$mdThemingProvider.theme("dark-blue").backgroundPalette("blue").dark()});console.info("app ready");return app}); require(["app"],function(app){app.factory("CrcCalc",function(){return{request:function(config){config.url+=config.url.indexOf("?")>0?"\x26":"?";config.url+="ver\x3d"+((Unify.profile||{}).versionId||Unify.versionId);return config}}});app.service("moduleService",function($http,$q){function scan(cfg,deps){if(cfg.constructor==Array)for(var i=0;i<cfg.length;i++)scan(cfg[i],deps);if(cfg.constructor==Object){if(cfg.$type){var id="lib/"+cfg.$type;if(deps.indexOf(id)<0)deps.push(id)}for(var attr in cfg)scan(cfg[attr], deps)}}function loadModule(moduleId){var defer=$q.defer();$http.get("/module/"+moduleId).then(function(resp){resp.data.$id=moduleId;defer.resolve(resp.data)});return defer.promise}function runModule(cfg,op){var defer=$q.defer();var deps=[];scan(cfg,deps);require(deps,function(m){var tar=new m(cfg,op);defer.resolve(tar)});return defer.promise}function innerModule(cfg,op){var defer=$q.defer();runModule(cfg,op).then(function(m){if(app.loaded[m.$id])return;app.loaded[m.$id]=m;app.injector.invoke(function($stateProvider){for(var i= 0;i<m.states.length;i++)$stateProvider.state(m.states[i]);defer.resolve(m)})});return defer.promise}function lazyModule(moduleId,op){var defer=$q.defer();loadModule(moduleId).then(function(cfg){innerModule(cfg,op).then(function(cfg){defer.resolve(cfg)})});return defer.promise}return{getProfile:function(){var defer=$q.defer();$http.post("/init").then(function(resp){Unify.profile=resp.data;if(Unify.profile.versionId!=Unify.versionId){location.reload(true);defer.reject("VersionMismatch")}else defer.resolve(resp.data)}); return defer.promise},loadModule:loadModule,runModule:runModule,lazyModule:lazyModule,innerModule:innerModule}});app.config(["$httpProvider",function($httpProvider){$httpProvider.interceptors.push("CrcCalc")}]);app.filter("rawHtml",["$sce",function($sce){return function(val){return $sce.trustAsHtml(val)}}]);app.filter("keyboardShortcut",function($window){return function(str){if(!str)return;var keys=str.split("-");var isOSX=/Mac OS X/.test($window.navigator.userAgent);var seperator=!isOSX||keys.length> 2?"+":"";var abbreviations={M:isOSX?"\u2318":"Ctrl",A:isOSX?"Option":"Alt",S:"Shift"};return keys.map(function(key,index){var last=index==keys.length-1;return last?key:abbreviations[key]}).join(seperator)}});app.getLazyLoad=function(moduleId,op){return function(moduleService){return moduleService.lazyModule(moduleId,op)}};app.getLazyCtrl=function(){return function(lazyLoad,$state){console.info("sub-view: %o",lazyLoad.$id);if(lazyLoad.target)$state.go(lazyLoad.target)}};app.modules=[];app.reg=function(name, m){if(!app.modules[name])app.modules[name]=m};app.extend=function(name,base,op){var me=(new Function("base","return function "+name+"(){base.apply(this,arguments)};"))(base);me.prototype=Object.create(base.prototype);me.prototype.callParent=function(){var method=arguments.callee.caller.name;return base.prototype[method].apply(this,arguments)};app.reg(name,me);if(op)for(var id in op)me.prototype[id]=op[id];return me};app.config(["$locationProvider","$controllerProvider","$compileProvider","$filterProvider", "$provide","$stateProvider","$urlRouterProvider","$injector",function($locationProvider,$controllerProvider,$compileProvider,$filterProvider,$provide,$stateProvider,$urlRouterProvider,$injector){app.controller=$controllerProvider.register;app.directive=$compileProvider.directive;app.component=$compileProvider.component;app.filter=$filterProvider.register;app.factory=$provide.factory;app.service=$provide.service;app.injector=$injector;app.loaded={};$stateProvider.state({name:"home",path:"/",template:`\x3cui-view\x3e\x3c/ui-view\x3e`, resolve:{lazyLoad:function($state,moduleService,$q){var defer=$q.defer();moduleService.getProfile().then(function(profile){moduleService.lazyModule(profile.welcome,{root:"home",path:"/",id:profile.welcome,lazyLoad:true}).then(function(m){defer.resolve(m)})});return defer.promise}},controller:function(lazyLoad,$state){console.info("first ctl\x3d%o",lazyLoad);if(lazyLoad.target)$state.go(lazyLoad.target)}});$urlRouterProvider.otherwise("/")}]);app.controller("appCtrl",function($state,$stateRegistry){$state.go("home")}); angular.bootstrap(document,["app"])});