@zdigambar/ngx-element 3.0.0 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/ngx-element.component.mjs +109 -0
- package/esm2020/lib/ngx-element.module.mjs +34 -0
- package/esm2020/lib/ngx-element.service.mjs +135 -0
- package/esm2020/zdigambar-ngx-element.mjs +5 -0
- package/fesm2015/zdigambar-ngx-element.mjs +285 -0
- package/fesm2015/zdigambar-ngx-element.mjs.map +1 -0
- package/{fesm2015/zdigambar-ngx-element.js → fesm2020/zdigambar-ngx-element.mjs} +41 -38
- package/fesm2020/zdigambar-ngx-element.mjs.map +1 -0
- package/lib/ngx-element.component.d.ts +3 -0
- package/lib/ngx-element.module.d.ts +5 -0
- package/lib/ngx-element.service.d.ts +3 -0
- package/package.json +23 -11
- package/zdigambar-ngx-element.d.ts +1 -3
- package/bundles/zdigambar-ngx-element.umd.js +0 -810
- package/bundles/zdigambar-ngx-element.umd.js.map +0 -1
- package/esm2015/lib/ngx-element.component.js +0 -105
- package/esm2015/lib/ngx-element.module.js +0 -33
- package/esm2015/lib/ngx-element.service.js +0 -136
- package/esm2015/zdigambar-ngx-element.js +0 -8
- package/fesm2015/zdigambar-ngx-element.js.map +0 -1
- package/zdigambar-ngx-element.metadata.json +0 -1
- /package/{esm2015/lib/lazy-component-loaded-event.js → esm2020/lib/lazy-component-loaded-event.mjs} +0 -0
- /package/{esm2015/lib/tokens.js → esm2020/lib/tokens.mjs} +0 -0
- /package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"zdigambar-ngx-element.umd.js","sources":["../../../node_modules/tslib/tslib.es6.mjs","../../../projects/ngx-element/src/lib/tokens.ts","../../../projects/ngx-element/src/lib/ngx-element.service.ts","../../../projects/ngx-element/src/lib/ngx-element.component.ts","../../../projects/ngx-element/src/lib/ngx-element.module.ts","../../../projects/ngx-element/src/public-api.ts","../../../projects/ngx-element/src/zdigambar-ngx-element.ts"],"sourcesContent":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","import { InjectionToken } from '@angular/core';\nimport { LoadChildrenCallback } from '@angular/router';\n\n/* Injection token to provide the element path modules. */\nexport const LAZY_CMPS_PATH_TOKEN = new InjectionToken('ngx-lazy-cmp-registry');\n\nexport interface LazyComponentDef {\n selector: string;\n loadChildren: LoadChildrenCallback; // prop needs to be named like this\n}\n","import { Injectable, Inject, NgModuleFactory, Type, Compiler, Injector, ComponentFactoryResolver } from '@angular/core';\nimport { LAZY_CMPS_PATH_TOKEN, LazyComponentDef } from './tokens';\nimport { LazyCmpLoadedEvent } from './lazy-component-loaded-event';\nimport { Observable, from } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NgxElementService {\n private componentsToLoad: Map<string, LazyComponentDef>;\n private loadedComponents = new Map<string, Type<any>>();\n private elementsLoading = new Map<string, Promise<LazyCmpLoadedEvent>>();\n\n injectors = new Map<Type<any>, Injector>();\n componentFactoryResolvers = new Map<Type<any>, ComponentFactoryResolver>();\n\n constructor(\n @Inject(LAZY_CMPS_PATH_TOKEN)\n modulePaths: {\n selector: string\n }[],\n private compiler: Compiler,\n private injector: Injector\n ) {\n const ELEMENT_MODULE_PATHS = new Map<string, any>();\n modulePaths.forEach(route => {\n ELEMENT_MODULE_PATHS.set(route.selector, route);\n });\n\n this.componentsToLoad = ELEMENT_MODULE_PATHS;\n }\n\n receiveContext(component: Type<any>, injector: Injector) {\n this.injectors.set(component, injector);\n this.componentFactoryResolvers.set(component, injector.get(ComponentFactoryResolver));\n }\n\n getInjector(component: Type<any>): Injector {\n return this.injectors.get(component);\n }\n\n getComponentFactoryResolver(component: Type<any>): ComponentFactoryResolver {\n return this.componentFactoryResolvers.get(component);\n }\n\n getComponentsToLoad() {\n return this.componentsToLoad;\n }\n\n getComponentToLoad(selector: string): Observable<LazyCmpLoadedEvent> {\n // Returns observable that completes when the lazy module has been loaded.\n const registered = this.loadComponent(selector);\n return from(registered);\n }\n\n /**\n * Allows to lazy load a component given its selector.\n * If the component selector has been registered, it's according module\n * will be fetched lazily\n * @param componentTag selector of the component to load\n */\n loadComponent(componentSelector: string): Promise<LazyCmpLoadedEvent> {\n if (this.elementsLoading.has(componentSelector)) {\n return this.elementsLoading.get(componentSelector);\n }\n\n if (this.componentsToLoad.has(componentSelector)) {\n const cmpRegistryEntry = this.componentsToLoad.get(componentSelector);\n const path = cmpRegistryEntry.loadChildren;\n\n const loadPromise = new Promise<LazyCmpLoadedEvent>((resolve, reject) => {\n (path() as Promise<NgModuleFactory<any> | Type<any>>)\n .then(elementModuleOrFactory => {\n /**\n * With View Engine, the NgModule factory is created and provided when loaded.\n * With Ivy, only the NgModule class is provided loaded and must be compiled.\n * This uses the same mechanism as the deprecated `SystemJsNgModuleLoader` in\n * in `packages/core/src/linker/system_js_ng_module_factory_loader.ts`\n * to pass on the NgModuleFactory, or compile the NgModule and return its NgModuleFactory.\n */\n if (elementModuleOrFactory instanceof NgModuleFactory) {\n return elementModuleOrFactory;\n } else {\n try {\n return this.compiler.compileModuleAsync(elementModuleOrFactory);\n } catch (err) {\n // return the error\n reject(err);\n\n // break the promise chain\n throw err;\n }\n }\n })\n .then(moduleFactory => {\n const elementModuleRef = moduleFactory.create(this.injector);\n let componentClass;\n\n if (typeof elementModuleRef.instance.customElementComponent === 'object') {\n componentClass = elementModuleRef.instance.customElementComponent[componentSelector];\n\n if (!componentClass) {\n // tslint:disable-next-line: no-string-throw\n throw `You specified multiple component elements in module ${elementModuleRef} but there was no match for tag\n ${componentSelector} in ${JSON.stringify(elementModuleRef.instance.customElementComponent)}.\n Make sure the selector in the module is aligned with the one specified in the lazy module definition.`;\n }\n } else {\n componentClass = elementModuleRef.instance.customElementComponent;\n }\n\n // Register injector of the lazy module.\n // This is needed to share the entryComponents between the lazy module and the application\n const moduleInjector = elementModuleRef.injector;\n this.receiveContext(componentClass, moduleInjector);\n\n this.loadedComponents.set(componentSelector, componentClass);\n this.elementsLoading.delete(componentSelector);\n this.componentsToLoad.delete(componentSelector);\n\n resolve({\n selector: componentSelector,\n componentClass\n });\n })\n .catch(err => {\n this.elementsLoading.delete(componentSelector);\n return Promise.reject(err);\n });\n });\n\n this.elementsLoading.set(componentSelector, loadPromise);\n return loadPromise;\n\n } else if (this.loadedComponents.has(componentSelector)) {\n // component already loaded\n return new Promise(resolve => {\n resolve({\n selector: componentSelector,\n componentClass: this.loadedComponents.get(componentSelector)\n });\n });\n } else {\n throw new Error(\n `Unrecognized component \"${componentSelector}\". Make sure it is registered in the component registry`\n );\n }\n }\n}","import {\n Component,\n ComponentFactory,\n ComponentRef,\n OnInit,\n Input,\n Output,\n Type,\n ViewChild,\n ViewContainerRef,\n ComponentFactoryResolver,\n OnDestroy,\n EventEmitter,\n ElementRef,\n Injector,\n ReflectiveInjector\n} from '@angular/core';\nimport {NgxElementService} from './ngx-element.service';\nimport {merge, Subscription} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Component({\n selector: 'lib-ngx-element',\n template: `\n <ng-template #container></ng-template>\n `,\n styles: []\n})\nexport class NgxElementComponent implements OnInit, OnDestroy {\n\n private ngElementEventsSubscription: Subscription;\n @Input() selector: string;\n @ViewChild('container', {read: ViewContainerRef}) container;\n\n componentRef: ComponentRef<any>;\n componentToLoad: Type<any>;\n componentFactoryResolver: ComponentFactoryResolver;\n injector: Injector;\n refInjector: ReflectiveInjector;\n\n constructor(\n private ngxElementService: NgxElementService,\n private elementRef: ElementRef\n ) {}\n\n /**\n * Subscribe to event emitters of a lazy loaded and dynamically instantiated Angular component\n * and dispatch them as Custom Events on the NgxElementComponent that is used in a template.\n */\n private setProxiedOutputs(factory: ComponentFactory<any>): void {\n const eventEmitters = factory.outputs.map(({propName, templateName}) => {\n const emitter = (this.componentRef.instance as any)[propName] as EventEmitter<any>;\n return emitter.pipe(map((value: any) => ({name: templateName, value})));\n });\n const outputEvents = merge(...eventEmitters);\n this.ngElementEventsSubscription = outputEvents.subscribe(subscription => {\n const customEvent = document.createEvent('CustomEvent');\n customEvent.initCustomEvent(subscription.name, false, false, subscription.value);\n this.elementRef.nativeElement.dispatchEvent(customEvent);\n });\n }\n\n ngOnInit(): void {\n this.ngxElementService.getComponentToLoad(this.selector).subscribe(event => {\n this.componentToLoad = event.componentClass;\n this.componentFactoryResolver = this.ngxElementService.getComponentFactoryResolver(this.componentToLoad);\n this.injector = this.ngxElementService.getInjector(this.componentToLoad);\n\n const attributes = this.getElementAttributes();\n this.createComponent(attributes);\n });\n }\n\n createComponent(attributes) {\n this.container.clear();\n const factory = this.componentFactoryResolver.resolveComponentFactory(this.componentToLoad);\n\n this.refInjector = ReflectiveInjector.resolveAndCreate(\n [{provide: this.componentToLoad, useValue: this.componentToLoad}], this.injector\n );\n this.componentRef = this.container.createComponent(factory, 0, this.refInjector);\n\n this.setAttributes(attributes);\n this.listenToAttributeChanges();\n this.setProxiedOutputs(factory);\n }\n\n setAttributes(attributes) {\n attributes.forEach(attr => {\n this.componentRef.instance[attr.name] = attr.value;\n });\n }\n\n getElementAttributes() {\n const attrs = this.elementRef.nativeElement.attributes;\n const attributes = [];\n\n for (let attr, i = 0; i < attrs.length; i++) {\n attr = attrs[i];\n\n if (attr.nodeName.match('^data-')) {\n attributes.push({\n name: this.camelCaseAttribute(attr.nodeName),\n value: attr.nodeValue\n });\n }\n }\n\n return attributes;\n }\n\n camelCaseAttribute(attribute: string) {\n const attr = attribute.replace('data-', '');\n const chunks = attr.split('-');\n\n if (chunks.length > 1) {\n return chunks[0] + chunks.slice(1).map(chunk => chunk.replace(/^\\w/, c => c.toUpperCase())).join('');\n }\n\n return attr;\n }\n\n listenToAttributeChanges() {\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (mutation.type === 'attributes') {\n const attributes = this.getElementAttributes();\n this.setAttributes(attributes);\n }\n });\n });\n\n observer.observe(this.elementRef.nativeElement, {\n attributes: true\n });\n }\n\n ngOnDestroy() {\n this.componentRef.destroy();\n this.ngElementEventsSubscription.unsubscribe();\n }\n}","import { NgModule, Injector, ModuleWithProviders } from '@angular/core';\nimport { createCustomElement } from '@angular/elements';\nimport { NgxElementComponent } from './ngx-element.component';\nimport { LAZY_CMPS_PATH_TOKEN } from './tokens';\n\n@NgModule({\n declarations: [NgxElementComponent],\n entryComponents: [NgxElementComponent]\n})\nexport class NgxElementModule {\n\n constructor(private injector: Injector) {\n const ngxElement = createCustomElement(NgxElementComponent, { injector });\n customElements.define('ngx-element', ngxElement);\n }\n\n static forRoot(modulePaths: any[]): ModuleWithProviders<NgxElementModule> {\n return {\n ngModule: NgxElementModule,\n providers: [\n {\n provide: LAZY_CMPS_PATH_TOKEN,\n useValue: modulePaths\n }\n ]\n };\n }\n\n ngDoBootstrap() {}\n}\n","/*\n * Public API Surface of ngx-element\n */\n\nexport * from './lib/ngx-element.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {NgxElementComponent as ɵa} from './lib/ngx-element.component';\nexport {NgxElementService as ɵb} from './lib/ngx-element.service';\nexport {LAZY_CMPS_PATH_TOKEN as ɵc} from './lib/tokens';"],"names":["InjectionToken","ComponentFactoryResolver","from","NgModuleFactory","Injectable","Inject","Compiler","Injector","map","merge","ReflectiveInjector","Component","ElementRef","Input","ViewChild","ViewContainerRef","createCustomElement","NgModule"],"mappings":"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"}
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import { Component, Input, ViewChild, ViewContainerRef, ElementRef, ReflectiveInjector } from '@angular/core';
|
|
2
|
-
import { NgxElementService } from './ngx-element.service';
|
|
3
|
-
import { merge } from 'rxjs';
|
|
4
|
-
import { map } from 'rxjs/operators';
|
|
5
|
-
export class NgxElementComponent {
|
|
6
|
-
constructor(ngxElementService, elementRef) {
|
|
7
|
-
this.ngxElementService = ngxElementService;
|
|
8
|
-
this.elementRef = elementRef;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Subscribe to event emitters of a lazy loaded and dynamically instantiated Angular component
|
|
12
|
-
* and dispatch them as Custom Events on the NgxElementComponent that is used in a template.
|
|
13
|
-
*/
|
|
14
|
-
setProxiedOutputs(factory) {
|
|
15
|
-
const eventEmitters = factory.outputs.map(({ propName, templateName }) => {
|
|
16
|
-
const emitter = this.componentRef.instance[propName];
|
|
17
|
-
return emitter.pipe(map((value) => ({ name: templateName, value })));
|
|
18
|
-
});
|
|
19
|
-
const outputEvents = merge(...eventEmitters);
|
|
20
|
-
this.ngElementEventsSubscription = outputEvents.subscribe(subscription => {
|
|
21
|
-
const customEvent = document.createEvent('CustomEvent');
|
|
22
|
-
customEvent.initCustomEvent(subscription.name, false, false, subscription.value);
|
|
23
|
-
this.elementRef.nativeElement.dispatchEvent(customEvent);
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
ngOnInit() {
|
|
27
|
-
this.ngxElementService.getComponentToLoad(this.selector).subscribe(event => {
|
|
28
|
-
this.componentToLoad = event.componentClass;
|
|
29
|
-
this.componentFactoryResolver = this.ngxElementService.getComponentFactoryResolver(this.componentToLoad);
|
|
30
|
-
this.injector = this.ngxElementService.getInjector(this.componentToLoad);
|
|
31
|
-
const attributes = this.getElementAttributes();
|
|
32
|
-
this.createComponent(attributes);
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
createComponent(attributes) {
|
|
36
|
-
this.container.clear();
|
|
37
|
-
const factory = this.componentFactoryResolver.resolveComponentFactory(this.componentToLoad);
|
|
38
|
-
this.refInjector = ReflectiveInjector.resolveAndCreate([{ provide: this.componentToLoad, useValue: this.componentToLoad }], this.injector);
|
|
39
|
-
this.componentRef = this.container.createComponent(factory, 0, this.refInjector);
|
|
40
|
-
this.setAttributes(attributes);
|
|
41
|
-
this.listenToAttributeChanges();
|
|
42
|
-
this.setProxiedOutputs(factory);
|
|
43
|
-
}
|
|
44
|
-
setAttributes(attributes) {
|
|
45
|
-
attributes.forEach(attr => {
|
|
46
|
-
this.componentRef.instance[attr.name] = attr.value;
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
getElementAttributes() {
|
|
50
|
-
const attrs = this.elementRef.nativeElement.attributes;
|
|
51
|
-
const attributes = [];
|
|
52
|
-
for (let attr, i = 0; i < attrs.length; i++) {
|
|
53
|
-
attr = attrs[i];
|
|
54
|
-
if (attr.nodeName.match('^data-')) {
|
|
55
|
-
attributes.push({
|
|
56
|
-
name: this.camelCaseAttribute(attr.nodeName),
|
|
57
|
-
value: attr.nodeValue
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
return attributes;
|
|
62
|
-
}
|
|
63
|
-
camelCaseAttribute(attribute) {
|
|
64
|
-
const attr = attribute.replace('data-', '');
|
|
65
|
-
const chunks = attr.split('-');
|
|
66
|
-
if (chunks.length > 1) {
|
|
67
|
-
return chunks[0] + chunks.slice(1).map(chunk => chunk.replace(/^\w/, c => c.toUpperCase())).join('');
|
|
68
|
-
}
|
|
69
|
-
return attr;
|
|
70
|
-
}
|
|
71
|
-
listenToAttributeChanges() {
|
|
72
|
-
const observer = new MutationObserver(mutations => {
|
|
73
|
-
mutations.forEach(mutation => {
|
|
74
|
-
if (mutation.type === 'attributes') {
|
|
75
|
-
const attributes = this.getElementAttributes();
|
|
76
|
-
this.setAttributes(attributes);
|
|
77
|
-
}
|
|
78
|
-
});
|
|
79
|
-
});
|
|
80
|
-
observer.observe(this.elementRef.nativeElement, {
|
|
81
|
-
attributes: true
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
ngOnDestroy() {
|
|
85
|
-
this.componentRef.destroy();
|
|
86
|
-
this.ngElementEventsSubscription.unsubscribe();
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
NgxElementComponent.decorators = [
|
|
90
|
-
{ type: Component, args: [{
|
|
91
|
-
selector: 'lib-ngx-element',
|
|
92
|
-
template: `
|
|
93
|
-
<ng-template #container></ng-template>
|
|
94
|
-
`
|
|
95
|
-
},] }
|
|
96
|
-
];
|
|
97
|
-
NgxElementComponent.ctorParameters = () => [
|
|
98
|
-
{ type: NgxElementService },
|
|
99
|
-
{ type: ElementRef }
|
|
100
|
-
];
|
|
101
|
-
NgxElementComponent.propDecorators = {
|
|
102
|
-
selector: [{ type: Input }],
|
|
103
|
-
container: [{ type: ViewChild, args: ['container', { read: ViewContainerRef },] }]
|
|
104
|
-
};
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWVsZW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWVsZW1lbnQvc3JjL2xpYi9uZ3gtZWxlbWVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFJVCxLQUFLLEVBR0wsU0FBUyxFQUNULGdCQUFnQixFQUloQixVQUFVLEVBRVYsa0JBQWtCLEVBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBQyxLQUFLLEVBQWUsTUFBTSxNQUFNLENBQUM7QUFDekMsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBU25DLE1BQU0sT0FBTyxtQkFBbUI7SUFZOUIsWUFDVSxpQkFBb0MsRUFDcEMsVUFBc0I7UUFEdEIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQzdCLENBQUM7SUFFSjs7O09BR0c7SUFDSyxpQkFBaUIsQ0FBQyxPQUE4QjtRQUN0RCxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUMsUUFBUSxFQUFFLFlBQVksRUFBQyxFQUFFLEVBQUU7WUFDckUsTUFBTSxPQUFPLEdBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFnQixDQUFDLFFBQVEsQ0FBc0IsQ0FBQztZQUNuRixPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxRSxDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxHQUFHLGFBQWEsQ0FBQyxD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STtTQUNqQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLDJCQUEyQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2pELENBQUM7OztZQXZIRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtnQkFDM0IsUUFBUSxFQUFFOztHQUVUO2FBRUY7OztZQVZPLGlCQUFpQjtZQUp2QixVQUFVOzs7dUJBa0JULEtBQUs7d0JBQ0wsU0FBUyxTQUFDLFdBQVcsRUFBRSxFQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50RmFjdG9yeSxcbiAgQ29tcG9uZW50UmVmLFxuICBPbkluaXQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFR5cGUsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZixcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICBPbkRlc3Ryb3ksXG4gIEV2ZW50RW1pdHRlcixcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0b3IsXG4gIFJlZmxlY3RpdmVJbmplY3RvclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Tmd4RWxlbWVudFNlcnZpY2V9IGZyb20gJy4vbmd4LWVsZW1lbnQuc2VydmljZSc7XG5pbXBvcnQge21lcmdlLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLW5neC1lbGVtZW50JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmctdGVtcGxhdGUgI2NvbnRhaW5lcj48L25nLXRlbXBsYXRlPlxuICBgLFxuICBzdHlsZXM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIE5neEVsZW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBuZ0VsZW1lbnRFdmVudHNTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgQElucHV0KCkgc2VsZWN0b3I6IHN0cmluZztcbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywge3JlYWQ6IFZpZXdDb250YWluZXJSZWZ9KSBjb250YWluZXI7XG5cbiAgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55PjtcbiAgY29tcG9uZW50VG9Mb2FkOiBUeXBlPGFueT47XG4gIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyO1xuICBpbmplY3RvcjogSW5qZWN0b3I7XG4gIHJlZkluamVjdG9yOiBSZWZsZWN0aXZlSW5qZWN0b3I7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBuZ3hFbGVtZW50U2VydmljZTogTmd4RWxlbWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmXG4gICkge31cblxuICAvKipcbiAgICogU3Vic2NyaWJlIHRvIGV2ZW50IGVtaXR0ZXJzIG9mIGEgbGF6eSBsb2FkZWQgYW5kIGR5bmFtaWNhbGx5IGluc3RhbnRpYXRlZCBBbmd1bGFyIGNvbXBvbmVudFxuICAgKiBhbmQgZGlzcGF0Y2ggdGhlbSBhcyBDdXN0b20gRXZlbnRzIG9uIHRoZSBOZ3hFbGVtZW50Q29tcG9uZW50IHRoYXQgaXMgdXNlZCBpbiBhIHRlbXBsYXRlLlxuICAgKi9cbiAgcHJpdmF0ZSBzZXRQcm94aWVkT3V0cHV0cyhmYWN0b3J5OiBDb21wb25lbnRGYWN0b3J5PGFueT4pOiB2b2lkIHtcbiAgICBjb25zdCBldmVudEVtaXR0ZXJzID0gZmFjdG9yeS5vdXRwdXRzLm1hcCgoe3Byb3BOYW1lLCB0ZW1wbGF0ZU5hbWV9KSA9PiB7XG4gICAgICBjb25zdCBlbWl0dGVyID0gKHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlIGFzIGFueSlbcHJvcE5hbWVdIGFzIEV2ZW50RW1pdHRlcjxhbnk+O1xuICAgICAgcmV0dXJuIGVtaXR0ZXIucGlwZShtYXAoKHZhbHVlOiBhbnkpID0+ICh7bmFtZTogdGVtcGxhdGVOYW1lLCB2YWx1ZX0pKSk7XG4gICAgfSk7XG4gICAgY29uc3Qgb3V0cHV0RXZlbnRzID0gbWVyZ2UoLi4uZXZlbnRFbWl0dGVycyk7XG4gICAgdGhpcy5uZ0VsZW1lbnRFdmVudHNTdWJzY3JpcHRpb24gPSBvdXRwdXRFdmVudHMuc3Vic2NyaWJlKHN1YnNjcmlwdGlvbiA9PiB7XG4gICAgICBjb25zdCBjdXN0b21FdmVudCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdDdXN0b21FdmVudCcpO1xuICAgICAgY3VzdG9tRXZlbnQuaW5pdEN1c3RvbUV2ZW50KHN1YnNjcmlwdGlvbi5uYW1lLCBmYWxzZSwgZmFsc2UsIHN1YnNjcmlwdGlvbi52YWx1ZSk7XG4gICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5kaXNwYXRjaEV2ZW50KGN1c3RvbUV2ZW50KTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubmd4RWxlbWVudFNlcnZpY2UuZ2V0Q29tcG9uZW50VG9Mb2FkKHRoaXMuc2VsZWN0b3IpLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICB0aGlzLmNvbXBvbmVudFRvTG9hZCA9IGV2ZW50LmNvbXBvbmVudENsYXNzO1xuICAgICAgdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIgPSB0aGlzLm5neEVsZW1lbnRTZXJ2aWNlLmdldENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcih0aGlzLmNvbXBvbmVudFRvTG9hZCk7XG4gICAgICB0aGlzLmluamVjdG9yID0gdGhpcy5uZ3hFbGVtZW50U2VydmljZS5nZXRJbmplY3Rvcih0aGlzLmNvbXBvbmVudFRvTG9hZCk7XG5cbiAgICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSB0aGlzLmdldEVsZW1lbnRBdHRyaWJ1dGVzKCk7XG4gICAgICB0aGlzLmNyZWF0ZUNvbXBvbmVudChhdHRyaWJ1dGVzKTtcbiAgICB9KTtcbiAgfVxuXG4gIGNyZWF0ZUNvbXBvbmVudChhdHRyaWJ1dGVzKSB7XG4gICAgdGhpcy5jb250YWluZXIuY2xlYXIoKTtcbiAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkodGhpcy5jb21wb25lbnRUb0xvYWQpO1xuXG4gICAgdGhpcy5yZWZJbmplY3RvciA9IFJlZmxlY3RpdmVJbmplY3Rvci5yZXNvbHZlQW5kQ3JlYXRlKFxuICAgICAgW3twcm92aWRlOiB0aGlzLmNvbXBvbmVudFRvTG9hZCwgdXNlVmFsdWU6IHRoaXMuY29tcG9uZW50VG9Mb2FkfV0sIHRoaXMuaW5qZWN0b3JcbiAgICApO1xuICAgIHRoaXMuY29tcG9uZW50UmVmID0gdGhpcy5jb250YWluZXIuY3JlYXRlQ29tcG9uZW50KGZhY3RvcnksIDAsIHRoaXMucmVmSW5qZWN0b3IpO1xuXG4gICAgdGhpcy5zZXRBdHRyaWJ1dGVzKGF0dHJpYnV0ZXMpO1xuICAgIHRoaXMubGlzdGVuVG9BdHRyaWJ1dGVDaGFuZ2VzKCk7XG4gICAgdGhpcy5zZXRQcm94aWVkT3V0cHV0cyhmYWN0b3J5KTtcbiAgfVxuXG4gIHNldEF0dHJpYnV0ZXMoYXR0cmlidXRlcykge1xuICAgIGF0dHJpYnV0ZXMuZm9yRWFjaChhdHRyID0+IHtcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlW2F0dHIubmFtZV0gPSBhdHRyLnZhbHVlO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0RWxlbWVudEF0dHJpYnV0ZXMoKSB7XG4gICAgY29uc3QgYXR0cnMgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5hdHRyaWJ1dGVzO1xuICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSBbXTtcblxuICAgIGZvciAobGV0IGF0dHIsIGkgPSAwOyBpIDwgYXR0cnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGF0dHIgPSBhdHRyc1tpXTtcblxuICAgICAgaWYgKGF0dHIubm9kZU5hbWUubWF0Y2goJ15kYXRhLScpKSB7XG4gICAgICAgIGF0dHJpYnV0ZXMucHVzaCh7XG4gICAgICAgICAgbmFtZTogdGhpcy5jYW1lbENhc2VBdHRyaWJ1dGUoYXR0ci5ub2RlTmFtZSksXG4gICAgICAgICAgdmFsdWU6IGF0dHIubm9kZVZhbHVlXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBhdHRyaWJ1dGVzO1xuICB9XG5cbiAgY2FtZWxDYXNlQXR0cmlidXRlKGF0dHJpYnV0ZTogc3RyaW5nKSB7XG4gICAgY29uc3QgYXR0ciA9IGF0dHJpYnV0ZS5yZXBsYWNlKCdkYXRhLScsICcnKTtcbiAgICBjb25zdCBjaHVua3MgPSBhdHRyLnNwbGl0KCctJyk7XG5cbiAgICBpZiAoY2h1bmtzLmxlbmd0aCA+IDEpIHtcbiAgICAgIHJldHVybiBjaHVua3NbMF0gKyBjaHVua3Muc2xpY2UoMSkubWFwKGNodW5rID0+IGNodW5rLnJlcGxhY2UoL15cXHcvLCBjID0+IGMudG9VcHBlckNhc2UoKSkpLmpvaW4oJycpO1xuICAgIH1cblxuICAgIHJldHVybiBhdHRyO1xuICB9XG5cbiAgbGlzdGVuVG9BdHRyaWJ1dGVDaGFuZ2VzKCkge1xuICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIobXV0YXRpb25zID0+IHtcbiAgICAgIG11dGF0aW9ucy5mb3JFYWNoKG11dGF0aW9uID0+IHtcbiAgICAgICAgaWYgKG11dGF0aW9uLnR5cGUgPT09ICdhdHRyaWJ1dGVzJykge1xuICAgICAgICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSB0aGlzLmdldEVsZW1lbnRBdHRyaWJ1dGVzKCk7XG4gICAgICAgICAgdGhpcy5zZXRBdHRyaWJ1dGVzKGF0dHJpYnV0ZXMpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIG9ic2VydmVyLm9ic2VydmUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIHtcbiAgICAgIGF0dHJpYnV0ZXM6IHRydWVcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcbiAgICB0aGlzLm5nRWxlbWVudEV2ZW50c1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG59Il19
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { NgModule, Injector } from '@angular/core';
|
|
2
|
-
import { createCustomElement } from '@angular/elements';
|
|
3
|
-
import { NgxElementComponent } from './ngx-element.component';
|
|
4
|
-
import { LAZY_CMPS_PATH_TOKEN } from './tokens';
|
|
5
|
-
export class NgxElementModule {
|
|
6
|
-
constructor(injector) {
|
|
7
|
-
this.injector = injector;
|
|
8
|
-
const ngxElement = createCustomElement(NgxElementComponent, { injector });
|
|
9
|
-
customElements.define('ngx-element', ngxElement);
|
|
10
|
-
}
|
|
11
|
-
static forRoot(modulePaths) {
|
|
12
|
-
return {
|
|
13
|
-
ngModule: NgxElementModule,
|
|
14
|
-
providers: [
|
|
15
|
-
{
|
|
16
|
-
provide: LAZY_CMPS_PATH_TOKEN,
|
|
17
|
-
useValue: modulePaths
|
|
18
|
-
}
|
|
19
|
-
]
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
ngDoBootstrap() { }
|
|
23
|
-
}
|
|
24
|
-
NgxElementModule.decorators = [
|
|
25
|
-
{ type: NgModule, args: [{
|
|
26
|
-
declarations: [NgxElementComponent],
|
|
27
|
-
entryComponents: [NgxElementComponent]
|
|
28
|
-
},] }
|
|
29
|
-
];
|
|
30
|
-
NgxElementModule.ctorParameters = () => [
|
|
31
|
-
{ type: Injector }
|
|
32
|
-
];
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWVsZW1lbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWVsZW1lbnQvc3JjL2xpYi9uZ3gtZWxlbWVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQU1oRCxNQUFNLE9BQU8sZ0JBQWdCO0lBRTNCLFlBQW9CLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDcEMsTUFBTSxVQUFVLEdBQUcsbUJBQW1CLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQzFFLGNBQWMsQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQWtCO1FBQy9CLE9BQU87WUFDTCxRQUFRLEVBQUUsZ0JBQWdCO1lBQzFCLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsb0JBQW9CO29CQUM3QixRQUFRLEVBQUUsV0FBVztpQkFDdEI7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsYUFBYSxLQUFJLENBQUM7OztZQXZCbkIsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRSxDQUFDLG1CQUFtQixDQUFDO2dCQUNuQyxlQUFlLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQzthQUN2Qzs7O1lBUmtCLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgSW5qZWN0b3IsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNyZWF0ZUN1c3RvbUVsZW1lbnQgfSBmcm9tICdAYW5ndWxhci9lbGVtZW50cyc7XG5pbXBvcnQgeyBOZ3hFbGVtZW50Q29tcG9uZW50IH0gZnJvbSAnLi9uZ3gtZWxlbWVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTEFaWV9DTVBTX1BBVEhfVE9LRU4gfSBmcm9tICcuL3Rva2Vucyc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW05neEVsZW1lbnRDb21wb25lbnRdLFxuICBlbnRyeUNvbXBvbmVudHM6IFtOZ3hFbGVtZW50Q29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBOZ3hFbGVtZW50TW9kdWxlIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIGNvbnN0IG5neEVsZW1lbnQgPSBjcmVhdGVDdXN0b21FbGVtZW50KE5neEVsZW1lbnRDb21wb25lbnQsIHsgaW5qZWN0b3IgfSk7XG4gICAgY3VzdG9tRWxlbWVudHMuZGVmaW5lKCduZ3gtZWxlbWVudCcsIG5neEVsZW1lbnQpO1xuICB9XG5cbiAgc3RhdGljIGZvclJvb3QobW9kdWxlUGF0aHM6IGFueVtdKTogTW9kdWxlV2l0aFByb3ZpZGVyczxOZ3hFbGVtZW50TW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBOZ3hFbGVtZW50TW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBMQVpZX0NNUFNfUEFUSF9UT0tFTixcbiAgICAgICAgICB1c2VWYWx1ZTogbW9kdWxlUGF0aHNcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG4gIH1cblxuICBuZ0RvQm9vdHN0cmFwKCkge31cbn1cbiJdfQ==
|
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
import { Injectable, Inject, NgModuleFactory, Compiler, Injector, ComponentFactoryResolver } from '@angular/core';
|
|
2
|
-
import { LAZY_CMPS_PATH_TOKEN } from './tokens';
|
|
3
|
-
import { from } from 'rxjs';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "./tokens";
|
|
6
|
-
export class NgxElementService {
|
|
7
|
-
constructor(modulePaths, compiler, injector) {
|
|
8
|
-
this.compiler = compiler;
|
|
9
|
-
this.injector = injector;
|
|
10
|
-
this.loadedComponents = new Map();
|
|
11
|
-
this.elementsLoading = new Map();
|
|
12
|
-
this.injectors = new Map();
|
|
13
|
-
this.componentFactoryResolvers = new Map();
|
|
14
|
-
const ELEMENT_MODULE_PATHS = new Map();
|
|
15
|
-
modulePaths.forEach(route => {
|
|
16
|
-
ELEMENT_MODULE_PATHS.set(route.selector, route);
|
|
17
|
-
});
|
|
18
|
-
this.componentsToLoad = ELEMENT_MODULE_PATHS;
|
|
19
|
-
}
|
|
20
|
-
receiveContext(component, injector) {
|
|
21
|
-
this.injectors.set(component, injector);
|
|
22
|
-
this.componentFactoryResolvers.set(component, injector.get(ComponentFactoryResolver));
|
|
23
|
-
}
|
|
24
|
-
getInjector(component) {
|
|
25
|
-
return this.injectors.get(component);
|
|
26
|
-
}
|
|
27
|
-
getComponentFactoryResolver(component) {
|
|
28
|
-
return this.componentFactoryResolvers.get(component);
|
|
29
|
-
}
|
|
30
|
-
getComponentsToLoad() {
|
|
31
|
-
return this.componentsToLoad;
|
|
32
|
-
}
|
|
33
|
-
getComponentToLoad(selector) {
|
|
34
|
-
// Returns observable that completes when the lazy module has been loaded.
|
|
35
|
-
const registered = this.loadComponent(selector);
|
|
36
|
-
return from(registered);
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Allows to lazy load a component given its selector.
|
|
40
|
-
* If the component selector has been registered, it's according module
|
|
41
|
-
* will be fetched lazily
|
|
42
|
-
* @param componentTag selector of the component to load
|
|
43
|
-
*/
|
|
44
|
-
loadComponent(componentSelector) {
|
|
45
|
-
if (this.elementsLoading.has(componentSelector)) {
|
|
46
|
-
return this.elementsLoading.get(componentSelector);
|
|
47
|
-
}
|
|
48
|
-
if (this.componentsToLoad.has(componentSelector)) {
|
|
49
|
-
const cmpRegistryEntry = this.componentsToLoad.get(componentSelector);
|
|
50
|
-
const path = cmpRegistryEntry.loadChildren;
|
|
51
|
-
const loadPromise = new Promise((resolve, reject) => {
|
|
52
|
-
path()
|
|
53
|
-
.then(elementModuleOrFactory => {
|
|
54
|
-
/**
|
|
55
|
-
* With View Engine, the NgModule factory is created and provided when loaded.
|
|
56
|
-
* With Ivy, only the NgModule class is provided loaded and must be compiled.
|
|
57
|
-
* This uses the same mechanism as the deprecated `SystemJsNgModuleLoader` in
|
|
58
|
-
* in `packages/core/src/linker/system_js_ng_module_factory_loader.ts`
|
|
59
|
-
* to pass on the NgModuleFactory, or compile the NgModule and return its NgModuleFactory.
|
|
60
|
-
*/
|
|
61
|
-
if (elementModuleOrFactory instanceof NgModuleFactory) {
|
|
62
|
-
return elementModuleOrFactory;
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
try {
|
|
66
|
-
return this.compiler.compileModuleAsync(elementModuleOrFactory);
|
|
67
|
-
}
|
|
68
|
-
catch (err) {
|
|
69
|
-
// return the error
|
|
70
|
-
reject(err);
|
|
71
|
-
// break the promise chain
|
|
72
|
-
throw err;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
})
|
|
76
|
-
.then(moduleFactory => {
|
|
77
|
-
const elementModuleRef = moduleFactory.create(this.injector);
|
|
78
|
-
let componentClass;
|
|
79
|
-
if (typeof elementModuleRef.instance.customElementComponent === 'object') {
|
|
80
|
-
componentClass = elementModuleRef.instance.customElementComponent[componentSelector];
|
|
81
|
-
if (!componentClass) {
|
|
82
|
-
// tslint:disable-next-line: no-string-throw
|
|
83
|
-
throw `You specified multiple component elements in module ${elementModuleRef} but there was no match for tag
|
|
84
|
-
${componentSelector} in ${JSON.stringify(elementModuleRef.instance.customElementComponent)}.
|
|
85
|
-
Make sure the selector in the module is aligned with the one specified in the lazy module definition.`;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
else {
|
|
89
|
-
componentClass = elementModuleRef.instance.customElementComponent;
|
|
90
|
-
}
|
|
91
|
-
// Register injector of the lazy module.
|
|
92
|
-
// This is needed to share the entryComponents between the lazy module and the application
|
|
93
|
-
const moduleInjector = elementModuleRef.injector;
|
|
94
|
-
this.receiveContext(componentClass, moduleInjector);
|
|
95
|
-
this.loadedComponents.set(componentSelector, componentClass);
|
|
96
|
-
this.elementsLoading.delete(componentSelector);
|
|
97
|
-
this.componentsToLoad.delete(componentSelector);
|
|
98
|
-
resolve({
|
|
99
|
-
selector: componentSelector,
|
|
100
|
-
componentClass
|
|
101
|
-
});
|
|
102
|
-
})
|
|
103
|
-
.catch(err => {
|
|
104
|
-
this.elementsLoading.delete(componentSelector);
|
|
105
|
-
return Promise.reject(err);
|
|
106
|
-
});
|
|
107
|
-
});
|
|
108
|
-
this.elementsLoading.set(componentSelector, loadPromise);
|
|
109
|
-
return loadPromise;
|
|
110
|
-
}
|
|
111
|
-
else if (this.loadedComponents.has(componentSelector)) {
|
|
112
|
-
// component already loaded
|
|
113
|
-
return new Promise(resolve => {
|
|
114
|
-
resolve({
|
|
115
|
-
selector: componentSelector,
|
|
116
|
-
componentClass: this.loadedComponents.get(componentSelector)
|
|
117
|
-
});
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
else {
|
|
121
|
-
throw new Error(`Unrecognized component "${componentSelector}". Make sure it is registered in the component registry`);
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
NgxElementService.ɵprov = i0.ɵɵdefineInjectable({ factory: function NgxElementService_Factory() { return new NgxElementService(i0.ɵɵinject(i1.LAZY_CMPS_PATH_TOKEN), i0.ɵɵinject(i0.Compiler), i0.ɵɵinject(i0.INJECTOR)); }, token: NgxElementService, providedIn: "root" });
|
|
126
|
-
NgxElementService.decorators = [
|
|
127
|
-
{ type: Injectable, args: [{
|
|
128
|
-
providedIn: 'root'
|
|
129
|
-
},] }
|
|
130
|
-
];
|
|
131
|
-
NgxElementService.ctorParameters = () => [
|
|
132
|
-
{ type: Array, decorators: [{ type: Inject, args: [LAZY_CMPS_PATH_TOKEN,] }] },
|
|
133
|
-
{ type: Compiler },
|
|
134
|
-
{ type: Injector }
|
|
135
|
-
];
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWVsZW1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1lbGVtZW50L3NyYy9saWIvbmd4LWVsZW1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxlQUFlLEVBQVEsUUFBUSxFQUFFLFFBQVEsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQUUsb0JBQW9CLEVBQW9CLE1BQU0sVUFBVSxDQUFDO0FBRWxFLE9BQU8sRUFBYyxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQUt4QyxNQUFNLE9BQU8saUJBQWlCO0lBUTVCLFlBRUUsV0FFRyxFQUNLLFFBQWtCLEVBQ2xCLFFBQWtCO1FBRGxCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQVpwQixxQkFBZ0IsR0FBRyxJQUFJLEdBQUcsRUFBcUIsQ0FBQztRQUNoRCxvQkFBZSxHQUFHLElBQUksR0FBRyxFQUF1QyxDQUFDO1FBRXpFLGNBQVMsR0FBRyxJQUFJLEdBQUcsRUFBdUIsQ0FBQztRQUMzQyw4QkFBeUIsR0FBRyxJQUFJLEdBQUcsRUFBdUMsQ0FBQztRQVV6RSxNQUFNLG9CQUFvQixHQUFHLElBQUksR0FBRyxFQUFlLENBQUM7UUFDcEQsV0FBVyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMxQixvQkFBb0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNsRCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxvQkFBb0IsQ0FBQztJQUMvQyxDQUFDO0lBRUQsY0FBYyxDQUFDLFNBQW9CLEVBQUUsUUFBa0I7UUFDckQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxF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WUE5SUYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7d0NBVUksTUFBTSxTQUFDLG9CQUFvQjtZQWpCb0IsUUFBUTtZQUFFLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QsIE5nTW9kdWxlRmFjdG9yeSwgVHlwZSwgQ29tcGlsZXIsIEluamVjdG9yLCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExBWllfQ01QU19QQVRIX1RPS0VOLCBMYXp5Q29tcG9uZW50RGVmIH0gZnJvbSAnLi90b2tlbnMnO1xuaW1wb3J0IHsgTGF6eUNtcExvYWRlZEV2ZW50IH0gZnJvbSAnLi9sYXp5LWNvbXBvbmVudC1sb2FkZWQtZXZlbnQnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZnJvbSB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBOZ3hFbGVtZW50U2VydmljZSB7XG4gIHByaXZhdGUgY29tcG9uZW50c1RvTG9hZDogTWFwPHN0cmluZywgTGF6eUNvbXBvbmVudERlZj47XG4gIHByaXZhdGUgbG9hZGVkQ29tcG9uZW50cyA9IG5ldyBNYXA8c3RyaW5nLCBUeXBlPGFueT4+KCk7XG4gIHByaXZhdGUgZWxlbWVudHNMb2FkaW5nID0gbmV3IE1hcDxzdHJpbmcsIFByb21pc2U8TGF6eUNtcExvYWRlZEV2ZW50Pj4oKTtcblxuICBpbmplY3RvcnMgPSBuZXcgTWFwPFR5cGU8YW55PiwgSW5qZWN0b3I+KCk7XG4gIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcnMgPSBuZXcgTWFwPFR5cGU8YW55PiwgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoTEFaWV9DTVBTX1BBVEhfVE9LRU4pXG4gICAgbW9kdWxlUGF0aHM6IHtcbiAgICAgIHNlbGVjdG9yOiBzdHJpbmdcbiAgICB9W10sXG4gICAgcHJpdmF0ZSBjb21waWxlcjogQ29tcGlsZXIsXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3JcbiAgKSB7XG4gICAgY29uc3QgRUxFTUVOVF9NT0RVTEVfUEFUSFMgPSBuZXcgTWFwPHN0cmluZywgYW55PigpO1xuICAgIG1vZHVsZVBhdGhzLmZvckVhY2gocm91dGUgPT4ge1xuICAgICAgRUxFTUVOVF9NT0RVTEVfUEFUSFMuc2V0KHJvdXRlLnNlbGVjdG9yLCByb3V0ZSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmNvbXBvbmVudHNUb0xvYWQgPSBFTEVNRU5UX01PRFVMRV9QQVRIUztcbiAgfVxuXG4gIHJlY2VpdmVDb250ZXh0KGNvbXBvbmVudDogVHlwZTxhbnk+LCBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICB0aGlzLmluamVjdG9ycy5zZXQoY29tcG9uZW50LCBpbmplY3Rvcik7XG4gICAgdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJzLnNldChjb21wb25lbnQsIGluamVjdG9yLmdldChDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpKTtcbiAgfVxuXG4gIGdldEluamVjdG9yKGNvbXBvbmVudDogVHlwZTxhbnk+KTogSW5qZWN0b3Ige1xuICAgIHJldHVybiB0aGlzLmluamVjdG9ycy5nZXQoY29tcG9uZW50KTtcbiAgfVxuXG4gIGdldENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcihjb21wb25lbnQ6IFR5cGU8YW55Pik6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciB7XG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVycy5nZXQoY29tcG9uZW50KTtcbiAgfVxuXG4gIGdldENvbXBvbmVudHNUb0xvYWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50c1RvTG9hZDtcbiAgfVxuXG4gIGdldENvbXBvbmVudFRvTG9hZChzZWxlY3Rvcjogc3RyaW5nKTogT2JzZXJ2YWJsZTxMYXp5Q21wTG9hZGVkRXZlbnQ+IHtcbiAgICAvLyBSZXR1cm5zIG9ic2VydmFibGUgdGhhdCBjb21wbGV0ZXMgd2hlbiB0aGUgbGF6eSBtb2R1bGUgaGFzIGJlZW4gbG9hZGVkLlxuICAgIGNvbnN0IHJlZ2lzdGVyZWQgPSB0aGlzLmxvYWRDb21wb25lbnQoc2VsZWN0b3IpO1xuICAgIHJldHVybiBmcm9tKHJlZ2lzdGVyZWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFsbG93cyB0byBsYXp5IGxvYWQgYSBjb21wb25lbnQgZ2l2ZW4gaXRzIHNlbGVjdG9yLlxuICAgKiBJZiB0aGUgY29tcG9uZW50IHNlbGVjdG9yIGhhcyBiZWVuIHJlZ2lzdGVyZWQsIGl0J3MgYWNjb3JkaW5nIG1vZHVsZVxuICAgKiB3aWxsIGJlIGZldGNoZWQgbGF6aWx5XG4gICAqIEBwYXJhbSBjb21wb25lbnRUYWcgc2VsZWN0b3Igb2YgdGhlIGNvbXBvbmVudCB0byBsb2FkXG4gICAqL1xuICBsb2FkQ29tcG9uZW50KGNvbXBvbmVudFNlbGVjdG9yOiBzdHJpbmcpOiBQcm9taXNlPExhenlDbXBMb2FkZWRFdmVudD4ge1xuICAgIGlmICh0aGlzLmVsZW1lbnRzTG9hZGluZy5oYXMoY29tcG9uZW50U2VsZWN0b3IpKSB7XG4gICAgICByZXR1cm4gdGhpcy5lbGVtZW50c0xvYWRpbmcuZ2V0KGNvbXBvbmVudFNlbGVjdG9yKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jb21wb25lbnRzVG9Mb2FkLmhhcyhjb21wb25lbnRTZWxlY3RvcikpIHtcbiAgICAgIGNvbnN0IGNtcFJlZ2lzdHJ5RW50cnkgPSB0aGlzLmNvbXBvbmVudHNUb0xvYWQuZ2V0KGNvbXBvbmVudFNlbGVjdG9yKTtcbiAgICAgIGNvbnN0IHBhdGggPSBjbXBSZWdpc3RyeUVudHJ5LmxvYWRDaGlsZHJlbjtcblxuICAgICAgY29uc3QgbG9hZFByb21pc2UgPSBuZXcgUHJvbWlzZTxMYXp5Q21wTG9hZGVkRXZlbnQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgKHBhdGgoKSBhcyBQcm9taXNlPE5nTW9kdWxlRmFjdG9yeTxhbnk+IHwgVHlwZTxhbnk+PilcbiAgICAgICAgICAudGhlbihlbGVtZW50TW9kdWxlT3JGYWN0b3J5ID0+IHtcbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogV2l0aCBWaWV3IEVuZ2luZSwgdGhlIE5nTW9kdWxlIGZhY3RvcnkgaXMgY3JlYXRlZCBhbmQgcHJvdmlkZWQgd2hlbiBsb2FkZWQuXG4gICAgICAgICAgICAgKiBXaXRoIEl2eSwgb25seSB0aGUgTmdNb2R1bGUgY2xhc3MgaXMgcHJvdmlkZWQgbG9hZGVkIGFuZCBtdXN0IGJlIGNvbXBpbGVkLlxuICAgICAgICAgICAgICogVGhpcyB1c2VzIHRoZSBzYW1lIG1lY2hhbmlzbSBhcyB0aGUgZGVwcmVjYXRlZCBgU3lzdGVtSnNOZ01vZHVsZUxvYWRlcmAgaW5cbiAgICAgICAgICAgICAqIGluIGBwYWNrYWdlcy9jb3JlL3NyYy9saW5rZXIvc3lzdGVtX2pzX25nX21vZHVsZV9mYWN0b3J5X2xvYWRlci50c2BcbiAgICAgICAgICAgICAqIHRvIHBhc3Mgb24gdGhlIE5nTW9kdWxlRmFjdG9yeSwgb3IgY29tcGlsZSB0aGUgTmdNb2R1bGUgYW5kIHJldHVybiBpdHMgTmdNb2R1bGVGYWN0b3J5LlxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBpZiAoZWxlbWVudE1vZHVsZU9yRmFjdG9yeSBpbnN0YW5jZW9mIE5nTW9kdWxlRmFjdG9yeSkge1xuICAgICAgICAgICAgICByZXR1cm4gZWxlbWVudE1vZHVsZU9yRmFjdG9yeTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29tcGlsZXIuY29tcGlsZU1vZHVsZUFzeW5jKGVsZW1lbnRNb2R1bGVPckZhY3RvcnkpO1xuICAgICAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICAvLyByZXR1cm4gdGhlIGVycm9yXG4gICAgICAgICAgICAgICAgcmVqZWN0KGVycik7XG5cbiAgICAgICAgICAgICAgICAvLyBicmVhayB0aGUgcHJvbWlzZSBjaGFpblxuICAgICAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgICAgLnRoZW4obW9kdWxlRmFjdG9yeSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRNb2R1bGVSZWYgPSBtb2R1bGVGYWN0b3J5LmNyZWF0ZSh0aGlzLmluamVjdG9yKTtcbiAgICAgICAgICAgICAgbGV0IGNvbXBvbmVudENsYXNzO1xuXG4gICAgICAgICAgICAgIGlmICh0eXBlb2YgZWxlbWVudE1vZHVsZVJlZi5pbnN0YW5jZS5jdXN0b21FbGVtZW50Q29tcG9uZW50ID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudENsYXNzID0gZWxlbWVudE1vZHVsZVJlZi5pbnN0YW5jZS5jdXN0b21FbGVtZW50Q29tcG9uZW50W2NvbXBvbmVudFNlbGVjdG9yXTtcblxuICAgICAgICAgICAgICAgIGlmICghY29tcG9uZW50Q2xhc3MpIHtcbiAgICAgICAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tc3RyaW5nLXRocm93XG4gICAgICAgICAgICAgICAgICB0aHJvdyBgWW91IHNwZWNpZmllZCBtdWx0aXBsZSBjb21wb25lbnQgZWxlbWVudHMgaW4gbW9kdWxlICR7ZWxlbWVudE1vZHVsZVJlZn0gYnV0IHRoZXJlIHdhcyBubyBtYXRjaCBmb3IgdGFnXG4gICAgICAgICAgICAgICAgICAgICAgICAke2NvbXBvbmVudFNlbGVjdG9yfSBpbiAke0pTT04uc3RyaW5naWZ5KGVsZW1lbnRNb2R1bGVSZWYuaW5zdGFuY2UuY3VzdG9tRWxlbWVudENvbXBvbmVudCl9LlxuICAgICAgICAgICAgICAgICAgICAgICAgIE1ha2Ugc3VyZSB0aGUgc2VsZWN0b3IgaW4gdGhlIG1vZHVsZSBpcyBhbGlnbmVkIHdpdGggdGhlIG9uZSBzcGVjaWZpZWQgaW4gdGhlIGxhenkgbW9kdWxlIGRlZmluaXRpb24uYDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29tcG9uZW50Q2xhc3MgPSBlbGVtZW50TW9kdWxlUmVmLmluc3RhbmNlLmN1c3RvbUVsZW1lbnRDb21wb25lbnQ7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAvLyBSZWdpc3RlciBpbmplY3RvciBvZiB0aGUgbGF6eSBtb2R1bGUuXG4gICAgICAgICAgICAgIC8vIFRoaXMgaXMgbmVlZGVkIHRvIHNoYXJlIHRoZSBlbnRyeUNvbXBvbmVudHMgYmV0d2VlbiB0aGUgbGF6eSBtb2R1bGUgYW5kIHRoZSBhcHBsaWNhdGlvblxuICAgICAgICAgICAgICBjb25zdCBtb2R1bGVJbmplY3RvciA9IGVsZW1lbnRNb2R1bGVSZWYuaW5qZWN0b3I7XG4gICAgICAgICAgICAgIHRoaXMucmVjZWl2ZUNvbnRleHQoY29tcG9uZW50Q2xhc3MsIG1vZHVsZUluamVjdG9yKTtcblxuICAgICAgICAgICAgICB0aGlzLmxvYWRlZENvbXBvbmVudHMuc2V0KGNvbXBvbmVudFNlbGVjdG9yLCBjb21wb25lbnRDbGFzcyk7XG4gICAgICAgICAgICAgIHRoaXMuZWxlbWVudHNMb2FkaW5nLmRlbGV0ZShjb21wb25lbnRTZWxlY3Rvcik7XG4gICAgICAgICAgICAgIHRoaXMuY29tcG9uZW50c1RvTG9hZC5kZWxldGUoY29tcG9uZW50U2VsZWN0b3IpO1xuXG4gICAgICAgICAgICAgIHJlc29sdmUoe1xuICAgICAgICAgICAgICAgIHNlbGVjdG9yOiBjb21wb25lbnRTZWxlY3RvcixcbiAgICAgICAgICAgICAgICBjb21wb25lbnRDbGFzc1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5jYXRjaChlcnIgPT4ge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50c0xvYWRpbmcuZGVsZXRlKGNvbXBvbmVudFNlbGVjdG9yKTtcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChlcnIpO1xuICAgICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuZWxlbWVudHNMb2FkaW5nLnNldChjb21wb25lbnRTZWxlY3RvciwgbG9hZFByb21pc2UpO1xuICAgICAgcmV0dXJuIGxvYWRQcm9taXNlO1xuXG4gICAgfSBlbHNlIGlmICh0aGlzLmxvYWRlZENvbXBvbmVudHMuaGFzKGNvbXBvbmVudFNlbGVjdG9yKSkge1xuICAgICAgLy8gY29tcG9uZW50IGFscmVhZHkgbG9hZGVkXG4gICAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XG4gICAgICAgIHJlc29sdmUoe1xuICAgICAgICAgIHNlbGVjdG9yOiBjb21wb25lbnRTZWxlY3RvcixcbiAgICAgICAgICBjb21wb25lbnRDbGFzczogdGhpcy5sb2FkZWRDb21wb25lbnRzLmdldChjb21wb25lbnRTZWxlY3RvcilcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgVW5yZWNvZ25pemVkIGNvbXBvbmVudCBcIiR7Y29tcG9uZW50U2VsZWN0b3J9XCIuIE1ha2Ugc3VyZSBpdCBpcyByZWdpc3RlcmVkIGluIHRoZSBjb21wb25lbnQgcmVnaXN0cnlgXG4gICAgICApO1xuICAgIH1cbiAgfVxufSJdfQ==
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
export { NgxElementComponent as ɵa } from './lib/ngx-element.component';
|
|
6
|
-
export { NgxElementService as ɵb } from './lib/ngx-element.service';
|
|
7
|
-
export { LAZY_CMPS_PATH_TOKEN as ɵc } from './lib/tokens';
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemRpZ2FtYmFyLW5neC1lbGVtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvbmd4LWVsZW1lbnQvc3JjL3pkaWdhbWJhci1uZ3gtZWxlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUMsaUJBQWlCLElBQUksRUFBRSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFDLG9CQUFvQixJQUFJLEVBQUUsRUFBQyxNQUFNLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHtOZ3hFbGVtZW50Q29tcG9uZW50IGFzIMm1YX0gZnJvbSAnLi9saWIvbmd4LWVsZW1lbnQuY29tcG9uZW50JztcbmV4cG9ydCB7Tmd4RWxlbWVudFNlcnZpY2UgYXMgybVifSBmcm9tICcuL2xpYi9uZ3gtZWxlbWVudC5zZXJ2aWNlJztcbmV4cG9ydCB7TEFaWV9DTVBTX1BBVEhfVE9LRU4gYXMgybVjfSBmcm9tICcuL2xpYi90b2tlbnMnOyJdfQ==
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"zdigambar-ngx-element.js","sources":["../../../projects/ngx-element/src/lib/tokens.ts","../../../projects/ngx-element/src/lib/ngx-element.service.ts","../../../projects/ngx-element/src/lib/ngx-element.component.ts","../../../projects/ngx-element/src/lib/ngx-element.module.ts","../../../projects/ngx-element/src/public-api.ts","../../../projects/ngx-element/src/zdigambar-ngx-element.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { LoadChildrenCallback } from '@angular/router';\n\n/* Injection token to provide the element path modules. */\nexport const LAZY_CMPS_PATH_TOKEN = new InjectionToken('ngx-lazy-cmp-registry');\n\nexport interface LazyComponentDef {\n selector: string;\n loadChildren: LoadChildrenCallback; // prop needs to be named like this\n}\n","import { Injectable, Inject, NgModuleFactory, Type, Compiler, Injector, ComponentFactoryResolver } from '@angular/core';\nimport { LAZY_CMPS_PATH_TOKEN, LazyComponentDef } from './tokens';\nimport { LazyCmpLoadedEvent } from './lazy-component-loaded-event';\nimport { Observable, from } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NgxElementService {\n private componentsToLoad: Map<string, LazyComponentDef>;\n private loadedComponents = new Map<string, Type<any>>();\n private elementsLoading = new Map<string, Promise<LazyCmpLoadedEvent>>();\n\n injectors = new Map<Type<any>, Injector>();\n componentFactoryResolvers = new Map<Type<any>, ComponentFactoryResolver>();\n\n constructor(\n @Inject(LAZY_CMPS_PATH_TOKEN)\n modulePaths: {\n selector: string\n }[],\n private compiler: Compiler,\n private injector: Injector\n ) {\n const ELEMENT_MODULE_PATHS = new Map<string, any>();\n modulePaths.forEach(route => {\n ELEMENT_MODULE_PATHS.set(route.selector, route);\n });\n\n this.componentsToLoad = ELEMENT_MODULE_PATHS;\n }\n\n receiveContext(component: Type<any>, injector: Injector) {\n this.injectors.set(component, injector);\n this.componentFactoryResolvers.set(component, injector.get(ComponentFactoryResolver));\n }\n\n getInjector(component: Type<any>): Injector {\n return this.injectors.get(component);\n }\n\n getComponentFactoryResolver(component: Type<any>): ComponentFactoryResolver {\n return this.componentFactoryResolvers.get(component);\n }\n\n getComponentsToLoad() {\n return this.componentsToLoad;\n }\n\n getComponentToLoad(selector: string): Observable<LazyCmpLoadedEvent> {\n // Returns observable that completes when the lazy module has been loaded.\n const registered = this.loadComponent(selector);\n return from(registered);\n }\n\n /**\n * Allows to lazy load a component given its selector.\n * If the component selector has been registered, it's according module\n * will be fetched lazily\n * @param componentTag selector of the component to load\n */\n loadComponent(componentSelector: string): Promise<LazyCmpLoadedEvent> {\n if (this.elementsLoading.has(componentSelector)) {\n return this.elementsLoading.get(componentSelector);\n }\n\n if (this.componentsToLoad.has(componentSelector)) {\n const cmpRegistryEntry = this.componentsToLoad.get(componentSelector);\n const path = cmpRegistryEntry.loadChildren;\n\n const loadPromise = new Promise<LazyCmpLoadedEvent>((resolve, reject) => {\n (path() as Promise<NgModuleFactory<any> | Type<any>>)\n .then(elementModuleOrFactory => {\n /**\n * With View Engine, the NgModule factory is created and provided when loaded.\n * With Ivy, only the NgModule class is provided loaded and must be compiled.\n * This uses the same mechanism as the deprecated `SystemJsNgModuleLoader` in\n * in `packages/core/src/linker/system_js_ng_module_factory_loader.ts`\n * to pass on the NgModuleFactory, or compile the NgModule and return its NgModuleFactory.\n */\n if (elementModuleOrFactory instanceof NgModuleFactory) {\n return elementModuleOrFactory;\n } else {\n try {\n return this.compiler.compileModuleAsync(elementModuleOrFactory);\n } catch (err) {\n // return the error\n reject(err);\n\n // break the promise chain\n throw err;\n }\n }\n })\n .then(moduleFactory => {\n const elementModuleRef = moduleFactory.create(this.injector);\n let componentClass;\n\n if (typeof elementModuleRef.instance.customElementComponent === 'object') {\n componentClass = elementModuleRef.instance.customElementComponent[componentSelector];\n\n if (!componentClass) {\n // tslint:disable-next-line: no-string-throw\n throw `You specified multiple component elements in module ${elementModuleRef} but there was no match for tag\n ${componentSelector} in ${JSON.stringify(elementModuleRef.instance.customElementComponent)}.\n Make sure the selector in the module is aligned with the one specified in the lazy module definition.`;\n }\n } else {\n componentClass = elementModuleRef.instance.customElementComponent;\n }\n\n // Register injector of the lazy module.\n // This is needed to share the entryComponents between the lazy module and the application\n const moduleInjector = elementModuleRef.injector;\n this.receiveContext(componentClass, moduleInjector);\n\n this.loadedComponents.set(componentSelector, componentClass);\n this.elementsLoading.delete(componentSelector);\n this.componentsToLoad.delete(componentSelector);\n\n resolve({\n selector: componentSelector,\n componentClass\n });\n })\n .catch(err => {\n this.elementsLoading.delete(componentSelector);\n return Promise.reject(err);\n });\n });\n\n this.elementsLoading.set(componentSelector, loadPromise);\n return loadPromise;\n\n } else if (this.loadedComponents.has(componentSelector)) {\n // component already loaded\n return new Promise(resolve => {\n resolve({\n selector: componentSelector,\n componentClass: this.loadedComponents.get(componentSelector)\n });\n });\n } else {\n throw new Error(\n `Unrecognized component \"${componentSelector}\". Make sure it is registered in the component registry`\n );\n }\n }\n}","import {\n Component,\n ComponentFactory,\n ComponentRef,\n OnInit,\n Input,\n Output,\n Type,\n ViewChild,\n ViewContainerRef,\n ComponentFactoryResolver,\n OnDestroy,\n EventEmitter,\n ElementRef,\n Injector,\n ReflectiveInjector\n} from '@angular/core';\nimport {NgxElementService} from './ngx-element.service';\nimport {merge, Subscription} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Component({\n selector: 'lib-ngx-element',\n template: `\n <ng-template #container></ng-template>\n `,\n styles: []\n})\nexport class NgxElementComponent implements OnInit, OnDestroy {\n\n private ngElementEventsSubscription: Subscription;\n @Input() selector: string;\n @ViewChild('container', {read: ViewContainerRef}) container;\n\n componentRef: ComponentRef<any>;\n componentToLoad: Type<any>;\n componentFactoryResolver: ComponentFactoryResolver;\n injector: Injector;\n refInjector: ReflectiveInjector;\n\n constructor(\n private ngxElementService: NgxElementService,\n private elementRef: ElementRef\n ) {}\n\n /**\n * Subscribe to event emitters of a lazy loaded and dynamically instantiated Angular component\n * and dispatch them as Custom Events on the NgxElementComponent that is used in a template.\n */\n private setProxiedOutputs(factory: ComponentFactory<any>): void {\n const eventEmitters = factory.outputs.map(({propName, templateName}) => {\n const emitter = (this.componentRef.instance as any)[propName] as EventEmitter<any>;\n return emitter.pipe(map((value: any) => ({name: templateName, value})));\n });\n const outputEvents = merge(...eventEmitters);\n this.ngElementEventsSubscription = outputEvents.subscribe(subscription => {\n const customEvent = document.createEvent('CustomEvent');\n customEvent.initCustomEvent(subscription.name, false, false, subscription.value);\n this.elementRef.nativeElement.dispatchEvent(customEvent);\n });\n }\n\n ngOnInit(): void {\n this.ngxElementService.getComponentToLoad(this.selector).subscribe(event => {\n this.componentToLoad = event.componentClass;\n this.componentFactoryResolver = this.ngxElementService.getComponentFactoryResolver(this.componentToLoad);\n this.injector = this.ngxElementService.getInjector(this.componentToLoad);\n\n const attributes = this.getElementAttributes();\n this.createComponent(attributes);\n });\n }\n\n createComponent(attributes) {\n this.container.clear();\n const factory = this.componentFactoryResolver.resolveComponentFactory(this.componentToLoad);\n\n this.refInjector = ReflectiveInjector.resolveAndCreate(\n [{provide: this.componentToLoad, useValue: this.componentToLoad}], this.injector\n );\n this.componentRef = this.container.createComponent(factory, 0, this.refInjector);\n\n this.setAttributes(attributes);\n this.listenToAttributeChanges();\n this.setProxiedOutputs(factory);\n }\n\n setAttributes(attributes) {\n attributes.forEach(attr => {\n this.componentRef.instance[attr.name] = attr.value;\n });\n }\n\n getElementAttributes() {\n const attrs = this.elementRef.nativeElement.attributes;\n const attributes = [];\n\n for (let attr, i = 0; i < attrs.length; i++) {\n attr = attrs[i];\n\n if (attr.nodeName.match('^data-')) {\n attributes.push({\n name: this.camelCaseAttribute(attr.nodeName),\n value: attr.nodeValue\n });\n }\n }\n\n return attributes;\n }\n\n camelCaseAttribute(attribute: string) {\n const attr = attribute.replace('data-', '');\n const chunks = attr.split('-');\n\n if (chunks.length > 1) {\n return chunks[0] + chunks.slice(1).map(chunk => chunk.replace(/^\\w/, c => c.toUpperCase())).join('');\n }\n\n return attr;\n }\n\n listenToAttributeChanges() {\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (mutation.type === 'attributes') {\n const attributes = this.getElementAttributes();\n this.setAttributes(attributes);\n }\n });\n });\n\n observer.observe(this.elementRef.nativeElement, {\n attributes: true\n });\n }\n\n ngOnDestroy() {\n this.componentRef.destroy();\n this.ngElementEventsSubscription.unsubscribe();\n }\n}","import { NgModule, Injector, ModuleWithProviders } from '@angular/core';\nimport { createCustomElement } from '@angular/elements';\nimport { NgxElementComponent } from './ngx-element.component';\nimport { LAZY_CMPS_PATH_TOKEN } from './tokens';\n\n@NgModule({\n declarations: [NgxElementComponent],\n entryComponents: [NgxElementComponent]\n})\nexport class NgxElementModule {\n\n constructor(private injector: Injector) {\n const ngxElement = createCustomElement(NgxElementComponent, { injector });\n customElements.define('ngx-element', ngxElement);\n }\n\n static forRoot(modulePaths: any[]): ModuleWithProviders<NgxElementModule> {\n return {\n ngModule: NgxElementModule,\n providers: [\n {\n provide: LAZY_CMPS_PATH_TOKEN,\n useValue: modulePaths\n }\n ]\n };\n }\n\n ngDoBootstrap() {}\n}\n","/*\n * Public API Surface of ngx-element\n */\n\nexport * from './lib/ngx-element.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {NgxElementComponent as ɵa} from './lib/ngx-element.component';\nexport {NgxElementService as ɵb} from './lib/ngx-element.service';\nexport {LAZY_CMPS_PATH_TOKEN as ɵc} from './lib/tokens';"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"__symbolic":"module","version":4,"metadata":{"NgxElementModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":5,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵa"}],"entryComponents":[{"__symbolic":"reference","name":"ɵa"}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":11,"character":32}]}],"ngDoBootstrap":[{"__symbolic":"method"}]},"statics":{"forRoot":{"__symbolic":"function","parameters":["modulePaths"],"value":{"ngModule":{"__symbolic":"reference","name":"NgxElementModule"},"providers":[{"provide":{"__symbolic":"reference","name":"ɵc"},"useValue":{"__symbolic":"reference","name":"modulePaths"}}]}}}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":21,"character":1},"arguments":[{"selector":"lib-ngx-element","template":"\n <ng-template #container></ng-template>\n ","styles":[]}]}],"members":{"selector":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":3}}]}],"container":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":32,"character":3},"arguments":["container",{"read":{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":32,"character":33}}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":42,"character":24}]}],"setProxiedOutputs":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"createComponent":[{"__symbolic":"method"}],"setAttributes":[{"__symbolic":"method"}],"getElementAttributes":[{"__symbolic":"method"}],"camelCaseAttribute":[{"__symbolic":"method"}],"listenToAttributeChanges":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":17,"character":5},"arguments":[{"__symbolic":"reference","name":"ɵc"}]}],null,null],"parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Expression form not supported","line":18,"character":17,"module":"./lib/ngx-element.service"}]},{"__symbolic":"reference","module":"@angular/core","name":"Compiler","line":21,"character":22},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":22,"character":22}]}],"receiveContext":[{"__symbolic":"method"}],"getInjector":[{"__symbolic":"method"}],"getComponentFactoryResolver":[{"__symbolic":"method"}],"getComponentsToLoad":[{"__symbolic":"method"}],"getComponentToLoad":[{"__symbolic":"method"}],"loadComponent":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ɵc":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":4,"character":40},"arguments":["ngx-lazy-cmp-registry"]}},"origins":{"NgxElementModule":"./lib/ngx-element.module","ɵa":"./lib/ngx-element.component","ɵb":"./lib/ngx-element.service","ɵc":"./lib/tokens"},"importAs":"@zdigambar/ngx-element"}
|
/package/{esm2015/lib/lazy-component-loaded-event.js → esm2020/lib/lazy-component-loaded-event.mjs}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|