UNPKG

9.95 kBSource Map (JSON)View Raw
1{
2 "version": 3,
3 "file": "views.js",
4 "sourceRoot": "",
5 "sources": [
6 "@uirouter/angularjs/statebuilders/views.ts"
7 ],
8 "names": [],
9 "mappings": "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",
10 "sourcesContent": [
11 "/** @publicapi @module ng1 */ /** */\nimport {\n StateObject,\n pick,\n forEach,\n tail,\n extend,\n isArray,\n isInjectable,\n isDefined,\n isString,\n services,\n trace,\n ViewConfig,\n ViewService,\n ViewConfigFactory,\n PathNode,\n ResolveContext,\n Resolvable,\n IInjectable,\n} from '@uirouter/core';\nimport { Ng1ViewDeclaration } from '../interface';\nimport { TemplateFactory } from '../templateFactory';\n\n/** @internalapi */\nexport function getNg1ViewConfigFactory(): ViewConfigFactory {\n let templateFactory: TemplateFactory = null;\n return (path, view) => {\n templateFactory = templateFactory || services.$injector.get('$templateFactory');\n return [new Ng1ViewConfig(path, view, templateFactory)];\n };\n}\n\n/** @internalapi */\nconst hasAnyKey = (keys, obj) => keys.reduce((acc, key) => acc || isDefined(obj[key]), false);\n\n/**\n * This is a [[StateBuilder.builder]] function for angular1 `views`.\n *\n * When the [[StateBuilder]] builds a [[StateObject]] object from a raw [[StateDeclaration]], this builder\n * handles the `views` property with logic specific to @uirouter/angularjs (ng1).\n *\n * If no `views: {}` property exists on the [[StateDeclaration]], then it creates the `views` object\n * and applies the state-level configuration to a view named `$default`.\n *\n * @internalapi\n */\nexport function ng1ViewsBuilder(state: StateObject) {\n // Do not process root state\n if (!state.parent) return {};\n\n const tplKeys = ['templateProvider', 'templateUrl', 'template', 'notify', 'async'],\n ctrlKeys = ['controller', 'controllerProvider', 'controllerAs', 'resolveAs'],\n compKeys = ['component', 'bindings', 'componentProvider'],\n nonCompKeys = tplKeys.concat(ctrlKeys),\n allViewKeys = compKeys.concat(nonCompKeys);\n\n // Do not allow a state to have both state-level props and also a `views: {}` property.\n // A state without a `views: {}` property can declare properties for the `$default` view as properties of the state.\n // However, the `$default` approach should not be mixed with a separate `views: ` block.\n if (isDefined(state.views) && hasAnyKey(allViewKeys, state)) {\n throw new Error(\n `State '${state.name}' has a 'views' object. ` +\n `It cannot also have \"view properties\" at the state level. ` +\n `Move the following properties into a view (in the 'views' object): ` +\n ` ${allViewKeys.filter((key) => isDefined(state[key])).join(', ')}`\n );\n }\n\n const views: { [key: string]: Ng1ViewDeclaration } = {},\n viewsObject = state.views || { $default: pick(state, allViewKeys) };\n\n forEach(viewsObject, function (config: Ng1ViewDeclaration, name: string) {\n // Account for views: { \"\": { template... } }\n name = name || '$default';\n // Account for views: { header: \"headerComponent\" }\n if (isString(config)) config = { component: <string>config };\n\n // Make a shallow copy of the config object\n config = extend({}, config);\n\n // Do not allow a view to mix props for component-style view with props for template/controller-style view\n if (hasAnyKey(compKeys, config) && hasAnyKey(nonCompKeys, config)) {\n throw new Error(\n `Cannot combine: ${compKeys.join('|')} with: ${nonCompKeys.join('|')} in stateview: '${name}@${state.name}'`\n );\n }\n\n config.resolveAs = config.resolveAs || '$resolve';\n config.$type = 'ng1';\n config.$context = state;\n config.$name = name;\n\n const normalized = ViewService.normalizeUIViewTarget(config.$context, config.$name);\n config.$uiViewName = normalized.uiViewName;\n config.$uiViewContextAnchor = normalized.uiViewContextAnchor;\n\n views[name] = config;\n });\n return views;\n}\n\n/** @hidden */\nlet id = 0;\n\n/** @internalapi */\nexport class Ng1ViewConfig implements ViewConfig {\n $id = id++;\n loaded = false;\n controller: Function; // actually IInjectable|string\n template: string;\n component: string;\n locals: any; // TODO: delete me\n\n constructor(public path: PathNode[], public viewDecl: Ng1ViewDeclaration, public factory: TemplateFactory) {}\n\n load() {\n const $q = services.$q;\n const context = new ResolveContext(this.path);\n const params = this.path.reduce((acc, node) => extend(acc, node.paramValues), {});\n\n const promises: any = {\n template: $q.when(this.factory.fromConfig(this.viewDecl, params, context)),\n controller: $q.when(this.getController(context)),\n };\n\n return $q.all(promises).then((results) => {\n trace.traceViewServiceEvent('Loaded', this);\n this.controller = results.controller;\n extend(this, results.template); // Either { template: \"tpl\" } or { component: \"cmpName\" }\n return this;\n });\n }\n\n getTemplate = (uiView, context: ResolveContext) =>\n this.component\n ? this.factory.makeComponentTemplate(uiView, context, this.component, this.viewDecl.bindings)\n : this.template;\n\n /**\n * Gets the controller for a view configuration.\n *\n * @returns {Function|Promise.<Function>} Returns a controller, or a promise that resolves to a controller.\n */\n getController(context: ResolveContext): IInjectable | string | Promise<IInjectable | string> {\n const provider = this.viewDecl.controllerProvider;\n if (!isInjectable(provider)) return this.viewDecl.controller;\n const deps = services.$injector.annotate(provider);\n const providerFn = isArray(provider) ? tail(<any>provider) : provider;\n const resolvable = new Resolvable('', <any>providerFn, deps);\n return resolvable.get(context);\n }\n}\n"
12 ]
13}
\No newline at end of file