@vcd/sdk 0.13.0 → 15.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.
Files changed (91) hide show
  1. package/README.md +3 -118
  2. package/client/client/api.result.service.d.ts +20 -0
  3. package/client/client/constants.d.ts +10 -0
  4. package/client/client/index.d.ts +7 -0
  5. package/client/client/logging.interceptor.d.ts +14 -0
  6. package/client/client/request.headers.interceptor.d.ts +20 -0
  7. package/client/client/response.normalization.interceptor.d.ts +39 -0
  8. package/client/client/vcd.api.client.d.ts +351 -0
  9. package/client/client/vcd.http.client.d.ts +32 -0
  10. package/client/client/vcd.transfer.client.d.ts +121 -0
  11. package/client/container-hooks/index.d.ts +58 -0
  12. package/client/index.d.ts +2 -0
  13. package/client/openapi.d.ts +76 -0
  14. package/client/query/filter.builder.d.ts +162 -0
  15. package/client/query/index.d.ts +2 -0
  16. package/client/query/query.builder.d.ts +30 -0
  17. package/common/container-hooks.d.ts +2 -2
  18. package/core/plugin.module.d.ts +10 -5
  19. package/esm2020/client/client/api.result.service.mjs +43 -0
  20. package/esm2020/client/client/constants.mjs +13 -0
  21. package/esm2020/client/client/index.mjs +8 -0
  22. package/esm2020/client/client/logging.interceptor.mjs +44 -0
  23. package/esm2020/client/client/request.headers.interceptor.mjs +91 -0
  24. package/esm2020/client/client/response.normalization.interceptor.mjs +59 -0
  25. package/esm2020/client/client/vcd.api.client.mjs +602 -0
  26. package/esm2020/client/client/vcd.http.client.mjs +52 -0
  27. package/esm2020/client/client/vcd.transfer.client.mjs +166 -0
  28. package/esm2020/client/container-hooks/index.mjs +57 -0
  29. package/esm2020/client/index.mjs +3 -0
  30. package/esm2020/client/openapi.mjs +16 -0
  31. package/esm2020/client/query/filter.builder.mjs +195 -0
  32. package/esm2020/client/query/index.mjs +3 -0
  33. package/esm2020/client/query/query.builder.mjs +79 -0
  34. package/esm2020/common/container-hooks.mjs +74 -0
  35. package/esm2020/common/index.mjs +2 -0
  36. package/esm2020/core/index.mjs +2 -0
  37. package/esm2020/core/plugin.module.mjs +18 -0
  38. package/esm2020/main.mjs +45 -0
  39. package/esm2020/public-api.mjs +8 -0
  40. package/esm2020/vcd-sdk.mjs +5 -0
  41. package/fesm2015/vcd-sdk.mjs +1513 -0
  42. package/fesm2015/vcd-sdk.mjs.map +1 -0
  43. package/fesm2020/vcd-sdk.mjs +1508 -0
  44. package/fesm2020/vcd-sdk.mjs.map +1 -0
  45. package/index.d.ts +5 -0
  46. package/main.d.ts +11 -5
  47. package/package.json +30 -39
  48. package/public-api.d.ts +1 -1
  49. package/LICENSE.txt +0 -12
  50. package/bundles/vcd-sdk.umd.js +0 -810
  51. package/bundles/vcd-sdk.umd.js.map +0 -1
  52. package/bundles/vcd-sdk.umd.min.js +0 -16
  53. package/bundles/vcd-sdk.umd.min.js.map +0 -1
  54. package/esm2015/common/container-hooks.js +0 -219
  55. package/esm2015/common/index.js +0 -6
  56. package/esm2015/core/index.js +0 -6
  57. package/esm2015/core/plugin.module.js +0 -53
  58. package/esm2015/i18n/index.js +0 -8
  59. package/esm2015/i18n/translate.pipe.js +0 -92
  60. package/esm2015/i18n/translate.service.js +0 -229
  61. package/esm2015/i18n/translation.loader.js +0 -63
  62. package/esm2015/main.js +0 -37
  63. package/esm2015/public-api.js +0 -12
  64. package/esm2015/vcd-sdk.js +0 -10
  65. package/esm5/common/container-hooks.js +0 -266
  66. package/esm5/common/index.js +0 -6
  67. package/esm5/core/index.js +0 -6
  68. package/esm5/core/plugin.module.js +0 -64
  69. package/esm5/i18n/index.js +0 -8
  70. package/esm5/i18n/translate.pipe.js +0 -108
  71. package/esm5/i18n/translate.service.js +0 -280
  72. package/esm5/i18n/translation.loader.js +0 -68
  73. package/esm5/main.js +0 -41
  74. package/esm5/public-api.js +0 -12
  75. package/esm5/vcd-sdk.js +0 -10
  76. package/fesm2015/vcd-sdk.js +0 -511
  77. package/fesm2015/vcd-sdk.js.map +0 -1
  78. package/fesm5/vcd-sdk.js +0 -620
  79. package/fesm5/vcd-sdk.js.map +0 -1
  80. package/i18n/index.d.ts +0 -3
  81. package/i18n/translate.pipe.d.ts +0 -12
  82. package/i18n/translate.service.d.ts +0 -21
  83. package/i18n/translation.loader.d.ts +0 -11
  84. package/schematics/collection.json +0 -10
  85. package/schematics/ng-add/index.d.ts +0 -3
  86. package/schematics/ng-add/index.js +0 -101
  87. package/schematics/ng-add/index.ts +0 -134
  88. package/schematics/ng-add/schema.d.ts +0 -8
  89. package/schematics/ng-add/schema.json +0 -19
  90. package/vcd-sdk.d.ts +0 -5
  91. package/vcd-sdk.metadata.json +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"vcd-sdk.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","ng://@vcd/sdk/common/container-hooks.ts","ng://@vcd/sdk/core/plugin.module.ts","ng://@vcd/sdk/i18n/translation.loader.ts","ng://@vcd/sdk/i18n/translate.service.ts","ng://@vcd/sdk/i18n/translate.pipe.ts","ng://@vcd/sdk/main.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\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);\r\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); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","/**\n * This is the currently supported - albeit very minimal - public SDK.\n */\nimport {InjectionToken} from '@angular/core';\nimport {Observable} from 'rxjs';\n\n// Bind straight into the hooks provided by the container.\nif (!(window as any).System || !(window as any).System.registry || !(window as any).System.registry.get) {\n throw new Error('SystemJS registry not found');\n}\n\nlet containerHooks: any = (window as any).System.registry.get('@vcd/common');\nif (!containerHooks) {\n containerHooks = (window as any).System.registry.get('@vcd-ui/common');\n}\n\nif (!containerHooks) {\n throw new Error('VCD UI container hooks not present in SystemJS registry');\n}\n\n/**\n * Wire in as a string. Gives the root URL for API access (for example, the load balancer URL\n * or the single-cell URL).\n */\nexport const API_ROOT_URL: InjectionToken<string> = containerHooks.API_ROOT_URL;\n\n/**\n * Wire in as a string. Gives the root URL for the legacy Flex application.\n */\nexport const FLEX_APP_URL: InjectionToken<string> = containerHooks.API_ROOT_URL;\n\n/**\n * Wire in as a string. Gives the current scope of the VCD-UI. As of current, this will be\n * either 'tenant' for the tenant portal, or 'service-provider' for the service-provider portal.\n */\nexport const SESSION_SCOPE: InjectionToken<string> = containerHooks.SESSION_SCOPE;\n\n/**\n * Wire in as a string. Gives the unique name (not the display name) of the current tenant\n * organization that the VCD-UI is being used for.\n */\nexport const SESSION_ORGANIZATION: InjectionToken<string> = containerHooks.SESSION_ORGANIZATION;\n\n/**\n * Wire in as a string. Gives the UUID identifier of the current tenant\n * organization that the VCD-UI is being used for.\n */\nexport const SESSION_ORG_ID: InjectionToken<string> = containerHooks.SESSION_ORG_ID ? containerHooks.SESSION_ORG_ID : '';\n\n/**\n * Wire in as a string. Gives the full root path for module assets (e.g. images, scripts, text files)\n *\n * ATTENTION!\n * Add || new InjectionToken to workaround the Angular security mechanics which prevent use of injection tokens\n * which potentially are not defiend. The same fix can be applied for the rest tokens if needed.\n */\nexport const EXTENSION_ASSET_URL: InjectionToken<string> = containerHooks.EXTENSION_ASSET_URL || new InjectionToken('EXTENSION_ASSET_URL');\n\n/**\n * Wire in as a string. Gives the Angular 2 route that the module is registered under.\n */\nexport const EXTENSION_ROUTE: InjectionToken<string> = containerHooks.EXTENSION_ROUTE;\n\n/**\n * Wire in as a boolean. True if running under the SDK, false if running in production.\n */\nexport const SDK_MODE: InjectionToken<boolean> = containerHooks.SDK_MODE;\n\n/**\n * Payload for registering a navigation menu entry.\n */\nexport interface ExtensionNavRegistration {\n /**\n * The router path to navigate to when selected.\n */\n path: string;\n\n /**\n * i18 key for name of extension, to be used as text for links\n */\n nameCode: string;\n\n /**\n * i18n key for description of extension, to be used on hover for links\n */\n descriptionCode: string;\n}\n\n/**\n * Dispatch this to the redux store to register a navigation menu.\n */\nexport interface ExtensionNavRegistrationAction {\n payload: ExtensionNavRegistration;\n readonly type: string;\n}\n\nexport type ExtensionNavRegistrationActionCtor = new(payload: ExtensionNavRegistration) => ExtensionNavRegistrationAction;\n\nexport const ExtensionNavRegistrationAction: ExtensionNavRegistrationActionCtor = containerHooks.ExtensionNavRegistrationAction;\n\n/**\n * Inject this to access the authentication token.\n */\nexport interface AuthTokenHolderService {\n /**\n * The authentication token.\n */\n token: string;\n}\n\nexport const AuthTokenHolderService: {token: string} = containerHooks.AuthTokenHolderService;\n\n/**\n * This represents a menu item that can be clicked to perform an action on an entity (e.g. VM).\n */\nexport interface EntityActionExtensionMenuItem {\n /**\n * This is a unique URN identifying the action. This is so the component can be notified which action was requested.\n */\n urn: string;\n\n /**\n * This is the label for the menu item. It is not automatically translated.\n */\n text: string;\n\n /**\n * This is the enabled state for the menu item.\n */\n enabled: boolean;\n\n /**\n * This is the busy state for the menu item.\n */\n busy: boolean;\n}\n\n/**\n * This represents a sub-menu that contains other sub-menus or menu actions.\n */\nexport interface EntityActionExtensionSubmenu {\n /**\n * This is the label for the sub-menu. It is not automatically translated.\n */\n text: string;\n\n /**\n * This is an arbitrary, ordered list of EntityActionMenuItem.\n */\n children: EntityActionExtensionMenuItem[];\n}\n\n/**\n * This represents menu information for an entity action.\n */\nexport type EntityActionExtensionMenuEntry = EntityActionExtensionMenuItem | EntityActionExtensionSubmenu;\n\n/**\n * Every component referenced by an entity action extension point must inherit from this.\n */\n// tslint:disable-next-line:class-name\nexport abstract class _EntityActionExtensionComponent {\n /**\n * This returns is an Observable that defines the menu entry for this component. This is actively bound -\n * the component is able to change it in order to have the menu change (for example, to change busy\n * or enabled states).\n */\n abstract getMenuEntry(entityUrn: string): Observable<EntityActionExtensionMenuEntry>;\n\n /**\n * This field is a method that is called if a menu item is clicked while enabled. It will be called with the menu\n * item's URN and the URN of the entity that the action is being called for (e.g. the URN of the VM being edited).\n * It must return a single-shot (e.g. of, fromPromise or .first) Observable on completion. This Observable returns\n * a single value, refreshRequested. If this is true, the entity being edited will be immediately refreshed.\n * @param menuItemUrn the URN of the clicked menu item\n * @param entityUrnThe URN of the entity that the action is being called for\n */\n abstract performAction(menuItemUrn: string, entityUrn: string): Observable<{ refreshRequested: boolean }>;\n}\nexport const EntityActionExtensionComponent: typeof _EntityActionExtensionComponent = containerHooks.EntityActionExtensionComponent;\n\n// tslint:disable-next-line:class-name\nexport abstract class _WizardExtensionComponent<P, R, E> {\n /**\n * Define method which will be executed by the Extension Point Orchestrator,\n * when certain event is triggered.\n * @param payload - the payload of the request triggered by the Core UI.\n * @param response - the response from the request triggered by the Core UI.\n * @param error - the Core UI will reprot any error that may appear during execution.\n */\n abstract performAction(payload: P, response: R, error: E): void;\n}\n\nexport const WizardExtensionComponent: typeof _WizardExtensionComponent = containerHooks.WizardExtensionComponent;\n\nexport interface WizardExtensionState {\n isValid: boolean;\n}\n\n// tslint:disable-next-line:class-name\nexport abstract class _WizardExtensionWithValidationComponent<P, R, E> extends _WizardExtensionComponent<P, R, E> {\n /**\n * Get extension point state.\n */\n abstract getState(): Observable<WizardExtensionState>;\n}\n\n// tslint:disable-next-line:max-line-length\nexport const WizardExtensionWithValidationComponent: typeof _WizardExtensionWithValidationComponent = containerHooks.WizardExtensionWithValidationComponent;\n","import { Store } from '@ngrx/store';\nimport { ExtensionNavRegistration, ExtensionNavRegistrationAction } from '../common';\nimport { TranslateService } from '../i18n';\n\nexport class PluginModule {\n private translate: TranslateService;\n\n constructor(private appStore: Store<any>, translate?: TranslateService) {\n if (translate) {\n this.translate = translate;\n this.translate.prepareTranslations(this.getSupportedLanguages(), this.getDefaultLanguage());\n }\n }\n\n protected registerExtension(extension: ExtensionNavRegistration): void {\n this.appStore.dispatch(new ExtensionNavRegistrationAction(extension));\n }\n\n protected getDefaultLanguage(): string {\n return 'en';\n }\n\n protected getSupportedLanguages(): string[] {\n return ['en'];\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { Inject, Injectable } from '@angular/core';\nimport { EXTENSION_ASSET_URL } from '../common/container-hooks';\nimport { catchError } from 'rxjs/operators';\n\n@Injectable()\nexport class TranslationLoader {\n private static PREFIX = '/i18n/';\n private static SUFFIX = '.json';\n\n constructor(private http: HttpClient, @Inject(EXTENSION_ASSET_URL) private assetUrl: string) { }\n\n public getTranslation(language: string): Observable<any> {\n return this.http.get(`${this.assetUrl}${TranslationLoader.PREFIX}${language}${TranslationLoader.SUFFIX}`);\n }\n\n public getCombinedTranslation(): Observable<any> {\n return this.http.get(`${this.assetUrl}/../i18n${TranslationLoader.SUFFIX}`);\n }\n}\n","// tslint:disable: variable-name\nimport { TranslationLoader } from './translation.loader';\nimport { Observable, Observer, of } from 'rxjs';\nimport { share, take } from 'rxjs/operators';\nimport { Inject, LOCALE_ID, Injectable } from '@angular/core';\n\n@Injectable()\nexport class TranslateService {\n private translation$: Observable<any>;\n private pending = false;\n public translations: any = {};\n\n private _combinedTranslations = true;\n public get combinedTranslations(): boolean {\n return this._combinedTranslations;\n }\n public set combinedTranslations(_combinedTranslations: boolean) {\n this._combinedTranslations = _combinedTranslations;\n }\n\n private _selectedLanguage: string;\n\n private _supportedLanguages: string[] = [];\n public get supportedLanguages(): string[] {\n return this._supportedLanguages;\n }\n public set supportedLanguages(_supportedLanguages: string[]) {\n this._supportedLanguages = _supportedLanguages;\n }\n\n private _defaultLanguage = '';\n public get defaultLanguage(): string {\n return this._defaultLanguage;\n }\n public set defaultLanguage(_defaultLanguage: string) {\n this._defaultLanguage = _defaultLanguage;\n }\n\n constructor(private loader: TranslationLoader) {}\n\n public prepareTranslations(supportedLanguages: string[], defaultLanguage: string): void {\n this._supportedLanguages = supportedLanguages;\n this._defaultLanguage = defaultLanguage;\n\n this._selectedLanguage = this.getBestMatchSupportedLanguage(navigator.language);\n this.getTranslation(this._selectedLanguage);\n }\n\n private getBestMatchSupportedLanguage(requestedLanguage: string): string {\n if (this._supportedLanguages.indexOf(requestedLanguage) > -1) {\n return requestedLanguage;\n }\n\n const altLanguage: string = requestedLanguage.split('-')[0];\n if (altLanguage === requestedLanguage) {\n return this._defaultLanguage;\n }\n\n return (this._supportedLanguages.indexOf(altLanguage) > -1) ? altLanguage : this._defaultLanguage;\n }\n\n public getTranslation(language: string): Observable<any> {\n this.pending = true;\n this.translation$ = this._combinedTranslations ?\n this.loader.getCombinedTranslation() : this.loader.getTranslation(language).pipe(share());\n\n this.translation$.pipe(take(1)).subscribe(result => {\n this.translations = result;\n this.pending = false;\n }, error => {\n this.pending = false;\n });\n\n return this.translation$;\n }\n\n private getParsedResult(key: string, ...args: any[]): string {\n let result = (this._combinedTranslations && this.translations[this._selectedLanguage]) ?\n this.translations[this._selectedLanguage][key] : this.translations[key];\n if (Array.isArray(result)) {\n result = result.join('');\n }\n\n return !result ? `#${key}#` : result.replace(/{([0-9]+)}/g, (_, ...n) => {\n // tslint:disable-next-line: radix\n const idx = parseInt(n[0]);\n if (args && typeof args[idx] !== 'undefined') {\n return args[idx];\n }\n\n return '';\n });\n }\n\n public get(key: string, ...args: any[]): Observable<string | any> {\n if (!this.pending) {\n return of(this.getParsedResult(key, ...args));\n }\n\n // tslint:disable-next-line: deprecation\n return Observable.create((observer: Observer<string>) => {\n const onComplete = (result: string) => {\n observer.next(result);\n observer.complete();\n };\n const onError = (error: any) => {\n observer.error(error);\n };\n this.translation$.subscribe(result => {\n result = this.getParsedResult(key, ...args);\n onComplete(result);\n }, onError);\n });\n }\n}\n","import { Injectable, PipeTransform, Pipe, ChangeDetectorRef } from '@angular/core';\nimport { TranslateService } from './translate.service';\n\n@Injectable()\n@Pipe({\n name: 'translate',\n pure: false\n})\nexport class TranslatePipe implements PipeTransform {\n private value = '';\n private lastKey = '';\n private lastArgs: any[] = [];\n\n constructor(private translate: TranslateService, private changeDetector: ChangeDetectorRef) { }\n\n transform(key: string, ...args: any[]): any {\n if (!key || key.length === 0) {\n return key;\n }\n\n if (key === this.lastKey && args === this.lastArgs) {\n return this.value;\n }\n\n this.lastKey = key;\n this.lastArgs = args;\n this.updateValue(key, args);\n\n return this.value;\n }\n\n private updateValue(key: string, args: any[]): void {\n this.translate.get(key, ...args).subscribe(result => {\n this.value = result;\n this.changeDetector.markForCheck();\n });\n }\n}\n","import {HttpClientModule} from '@angular/common/http';\nimport {NgModule } from '@angular/core';\nimport {CommonModule } from '@angular/common';\n\nimport * as client from '@vcd/angular-client';\nimport * as common from './common';\nimport * as core from './core';\nimport * as i18n from './i18n';\n\nexport {\n common,\n core,\n i18n,\n};\n\n/**\n * Extensions should import this module. They can then wire in SDK components as desired.\n */\n@NgModule({\n imports: [\n HttpClientModule,\n CommonModule,\n ],\n declarations: [i18n.TranslatePipe],\n exports: [i18n.TranslatePipe],\n providers: [\n i18n.TranslateService,\n i18n.TranslationLoader,\n client.RequestHeadersInterceptor,\n client.LoggingInterceptor,\n client.ResponseNormalizationInterceptor,\n client.VcdHttpClient,\n client.VcdApiClient,\n ]\n})\nexport class VcdSdkModule {\n}\n"],"names":["InjectionToken","tslib_1.__extends","Injectable","HttpClient","Inject","share","take","of","Observable","Pipe","ChangeDetectorRef","NgModule","HttpClientModule","CommonModule","i18n.TranslatePipe","i18n.TranslateService","i18n.TranslationLoader","client.RequestHeadersInterceptor","client.LoggingInterceptor","client.ResponseNormalizationInterceptor","client.VcdHttpClient","client.VcdApiClient"],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/common/http"),require("@angular/core"),require("@angular/common"),require("@vcd/angular-client"),require("rxjs"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("@vcd/sdk",["exports","@angular/common/http","@angular/core","@angular/common","@vcd/angular-client","rxjs","rxjs/operators"],t):t(((e=e||self).vcd=e.vcd||{},e.vcd.sdk={}),e.ng.common.http,e.ng.core,e.ng.common,e.angularClient,e.rxjs,e.rxjs.operators)}(this,(function(e,t,n,r,o,i,a){"use strict";
2
- /*! *****************************************************************************
3
- Copyright (c) Microsoft Corporation. All rights reserved.
4
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
5
- this file except in compliance with the License. You may obtain a copy of the
6
- License at http://www.apache.org/licenses/LICENSE-2.0
7
-
8
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
9
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
10
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
11
- MERCHANTABLITY OR NON-INFRINGEMENT.
12
-
13
- See the Apache Version 2.0 License for specific language governing permissions
14
- and limitations under the License.
15
- ***************************************************************************** */var s=function(e,t){return(s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function u(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a}function c(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(u(arguments[t]));return e}if(!window.System||!window.System.registry||!window.System.registry.get)throw new Error("SystemJS registry not found");var p=window.System.registry.get("@vcd/common");if(p||(p=window.System.registry.get("@vcd-ui/common")),!p)throw new Error("VCD UI container hooks not present in SystemJS registry");var l=p.API_ROOT_URL,g=p.API_ROOT_URL,f=p.SESSION_SCOPE,d=p.SESSION_ORGANIZATION,h=p.SESSION_ORG_ID?p.SESSION_ORG_ID:"",_=p.EXTENSION_ASSET_URL||new n.InjectionToken("EXTENSION_ASSET_URL"),y=p.EXTENSION_ROUTE,m=p.SDK_MODE,S=p.ExtensionNavRegistrationAction,E=p.AuthTokenHolderService,O=function(){},b=p.EntityActionExtensionComponent,R=function(){},I=p.WizardExtensionComponent,T=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return function(e,t){function n(){this.constructor=e}s(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}(t,e),t}(R),A=p.WizardExtensionWithValidationComponent,L=Object.freeze({__proto__:null,API_ROOT_URL:l,FLEX_APP_URL:g,SESSION_SCOPE:f,SESSION_ORGANIZATION:d,SESSION_ORG_ID:h,EXTENSION_ASSET_URL:_,EXTENSION_ROUTE:y,SDK_MODE:m,ExtensionNavRegistrationAction:S,AuthTokenHolderService:E,_EntityActionExtensionComponent:O,EntityActionExtensionComponent:b,_WizardExtensionComponent:R,WizardExtensionComponent:I,_WizardExtensionWithValidationComponent:T,WizardExtensionWithValidationComponent:A}),P=function(){function e(e,t){this.appStore=e,t&&(this.translate=t,this.translate.prepareTranslations(this.getSupportedLanguages(),this.getDefaultLanguage()))}return e.prototype.registerExtension=function(e){this.appStore.dispatch(new S(e))},e.prototype.getDefaultLanguage=function(){return"en"},e.prototype.getSupportedLanguages=function(){return["en"]},e}(),N=Object.freeze({__proto__:null,PluginModule:P}),v=function(){function e(e,t){this.http=e,this.assetUrl=t}return e.prototype.getTranslation=function(t){return this.http.get(""+this.assetUrl+e.PREFIX+t+e.SUFFIX)},e.prototype.getCombinedTranslation=function(){return this.http.get(this.assetUrl+"/../i18n"+e.SUFFIX)},e.PREFIX="/i18n/",e.SUFFIX=".json",e.decorators=[{type:n.Injectable}],e.ctorParameters=function(){return[{type:t.HttpClient},{type:String,decorators:[{type:n.Inject,args:[_]}]}]},e}(),j=function(){function e(e){this.loader=e,this.pending=!1,this.translations={},this._combinedTranslations=!0,this._supportedLanguages=[],this._defaultLanguage=""}return Object.defineProperty(e.prototype,"combinedTranslations",{get:function(){return this._combinedTranslations},set:function(e){this._combinedTranslations=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"supportedLanguages",{get:function(){return this._supportedLanguages},set:function(e){this._supportedLanguages=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"defaultLanguage",{get:function(){return this._defaultLanguage},set:function(e){this._defaultLanguage=e},enumerable:!0,configurable:!0}),e.prototype.prepareTranslations=function(e,t){this._supportedLanguages=e,this._defaultLanguage=t,this._selectedLanguage=this.getBestMatchSupportedLanguage(navigator.language),this.getTranslation(this._selectedLanguage)},e.prototype.getBestMatchSupportedLanguage=function(e){if(this._supportedLanguages.indexOf(e)>-1)return e;var t=e.split("-")[0];return t===e?this._defaultLanguage:this._supportedLanguages.indexOf(t)>-1?t:this._defaultLanguage},e.prototype.getTranslation=function(e){var t=this;return this.pending=!0,this.translation$=this._combinedTranslations?this.loader.getCombinedTranslation():this.loader.getTranslation(e).pipe(a.share()),this.translation$.pipe(a.take(1)).subscribe((function(e){t.translations=e,t.pending=!1}),(function(e){t.pending=!1})),this.translation$},e.prototype.getParsedResult=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];var r=this._combinedTranslations&&this.translations[this._selectedLanguage]?this.translations[this._selectedLanguage][e]:this.translations[e];return Array.isArray(r)&&(r=r.join("")),r?r.replace(/{([0-9]+)}/g,(function(e){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];var o=parseInt(n[0]);return t&&void 0!==t[o]?t[o]:""})):"#"+e+"#"},e.prototype.get=function(e){for(var t=this,n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];return this.pending?i.Observable.create((function(r){t.translation$.subscribe((function(o){!function(e){r.next(e),r.complete()}(t.getParsedResult.apply(t,c([e],n)))}),(function(e){r.error(e)}))})):i.of(this.getParsedResult.apply(this,c([e],n)))},e.decorators=[{type:n.Injectable}],e.ctorParameters=function(){return[{type:v}]},e}(),C=function(){function e(e,t){this.translate=e,this.changeDetector=t,this.value="",this.lastKey="",this.lastArgs=[]}return e.prototype.transform=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];return e&&0!==e.length?e===this.lastKey&&t===this.lastArgs?this.value:(this.lastKey=e,this.lastArgs=t,this.updateValue(e,t),this.value):e},e.prototype.updateValue=function(e,t){var n,r=this;(n=this.translate).get.apply(n,c([e],t)).subscribe((function(e){r.value=e,r.changeDetector.markForCheck()}))},e.decorators=[{type:n.Injectable},{type:n.Pipe,args:[{name:"translate",pure:!1}]}],e.ctorParameters=function(){return[{type:j},{type:n.ChangeDetectorRef}]},e}(),x=Object.freeze({__proto__:null,TranslatePipe:C,TranslateService:j,TranslationLoader:v}),U=function(){function e(){}return e.decorators=[{type:n.NgModule,args:[{imports:[t.HttpClientModule,r.CommonModule],declarations:[C],exports:[C],providers:[j,v,o.RequestHeadersInterceptor,o.LoggingInterceptor,o.ResponseNormalizationInterceptor,o.VcdHttpClient,o.VcdApiClient]}]}],e}();Object.defineProperty(e,"ApiResult",{enumerable:!0,get:function(){return o.ApiResult}}),Object.defineProperty(e,"ApiResultService",{enumerable:!0,get:function(){return o.ApiResultService}}),Object.defineProperty(e,"Filter",{enumerable:!0,get:function(){return o.Filter}}),Object.defineProperty(e,"HATEOAS_HEADER",{enumerable:!0,get:function(){return o.HATEOAS_HEADER}}),Object.defineProperty(e,"LinkRelType",{enumerable:!0,get:function(){return o.LinkRelType}}),Object.defineProperty(e,"LoggingInterceptor",{enumerable:!0,get:function(){return o.LoggingInterceptor}}),Object.defineProperty(e,"MAX_CHUNK_RETRY_COUNT",{enumerable:!0,get:function(){return o.MAX_CHUNK_RETRY_COUNT}}),Object.defineProperty(e,"MAX_CHUNK_SIZE",{enumerable:!0,get:function(){return o.MAX_CHUNK_SIZE}}),Object.defineProperty(e,"Query",{enumerable:!0,get:function(){return o.Query}}),Object.defineProperty(e,"RequestHeadersInterceptor",{enumerable:!0,get:function(){return o.RequestHeadersInterceptor}}),Object.defineProperty(e,"ResponseNormalizationInterceptor",{enumerable:!0,get:function(){return o.ResponseNormalizationInterceptor}}),Object.defineProperty(e,"TRANSFER_LINK_REL",{enumerable:!0,get:function(){return o.TRANSFER_LINK_REL}}),Object.defineProperty(e,"TransferError",{enumerable:!0,get:function(){return o.TransferError}}),Object.defineProperty(e,"VcdApiClient",{enumerable:!0,get:function(){return o.VcdApiClient}}),Object.defineProperty(e,"VcdHttpClient",{enumerable:!0,get:function(){return o.VcdHttpClient}}),Object.defineProperty(e,"VcdTransferClient",{enumerable:!0,get:function(){return o.VcdTransferClient}}),Object.defineProperty(e,"client",{enumerable:!0,get:function(){return o.client}}),Object.defineProperty(e,"parseHeaderHateoasLinks",{enumerable:!0,get:function(){return o.parseHeaderHateoasLinks}}),Object.defineProperty(e,"query",{enumerable:!0,get:function(){return o.query}}),e.API_ROOT_URL=l,e.AuthTokenHolderService=E,e.EXTENSION_ASSET_URL=_,e.EXTENSION_ROUTE=y,e.EntityActionExtensionComponent=b,e.ExtensionNavRegistrationAction=S,e.FLEX_APP_URL=g,e.PluginModule=P,e.SDK_MODE=m,e.SESSION_ORGANIZATION=d,e.SESSION_ORG_ID=h,e.SESSION_SCOPE=f,e.VcdSdkModule=U,e.WizardExtensionComponent=I,e.WizardExtensionWithValidationComponent=A,e._EntityActionExtensionComponent=O,e._WizardExtensionComponent=R,e._WizardExtensionWithValidationComponent=T,e.common=L,e.core=N,e.i18n=x,e.ɵa=C,e.ɵb=j,e.ɵc=v,Object.defineProperty(e,"__esModule",{value:!0})}));
16
- //# sourceMappingURL=vcd-sdk.umd.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","ng://@vcd/sdk/common/container-hooks.ts","ng://@vcd/sdk/core/plugin.module.ts","ng://@vcd/sdk/i18n/translation.loader.ts","ng://@vcd/sdk/i18n/translate.service.ts","ng://@vcd/sdk/i18n/translate.pipe.ts","ng://@vcd/sdk/main.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__read","o","n","m","Symbol","iterator","r","e","i","call","ar","next","done","push","value","error","__spread","arguments","length","concat","System","registry","get","Error","containerHooks","API_ROOT_URL","FLEX_APP_URL","SESSION_SCOPE","SESSION_ORGANIZATION","SESSION_ORG_ID","EXTENSION_ASSET_URL","InjectionToken","EXTENSION_ROUTE","SDK_MODE","ExtensionNavRegistrationAction","AuthTokenHolderService","EntityActionExtensionComponent","WizardExtensionComponent","_WizardExtensionWithValidationComponent","__","this","constructor","prototype","create","tslib_1.__extends","_WizardExtensionComponent","WizardExtensionWithValidationComponent","PluginModule","appStore","translate","prepareTranslations","getSupportedLanguages","getDefaultLanguage","registerExtension","extension","dispatch","TranslationLoader","http","assetUrl","getTranslation","language","PREFIX","SUFFIX","getCombinedTranslation","Injectable","HttpClient","Inject","args","TranslateService","loader","pending","translations","_combinedTranslations","_supportedLanguages","_defaultLanguage","defineProperty","supportedLanguages","defaultLanguage","_selectedLanguage","getBestMatchSupportedLanguage","navigator","requestedLanguage","indexOf","altLanguage","split","_this","translation$","pipe","share","take","subscribe","result","getParsedResult","key","_i","isArray","join","replace","_","idx","parseInt","Observable","observer","complete","onComplete","apply","of","TranslatePipe","changeDetector","lastKey","lastArgs","transform","updateValue","_a","markForCheck","Pipe","name","pure","ChangeDetectorRef","VcdSdkModule","NgModule","imports","HttpClientModule","CommonModule","declarations","i18n.TranslatePipe","exports","providers","i18n.TranslateService","i18n.TranslationLoader","client.RequestHeadersInterceptor","client.LoggingInterceptor","client.ResponseNormalizationInterceptor","client.VcdHttpClient","client.VcdApiClient"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\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);\r\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); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","/**\n * This is the currently supported - albeit very minimal - public SDK.\n */\nimport {InjectionToken} from '@angular/core';\nimport {Observable} from 'rxjs';\n\n// Bind straight into the hooks provided by the container.\nif (!(window as any).System || !(window as any).System.registry || !(window as any).System.registry.get) {\n throw new Error('SystemJS registry not found');\n}\n\nlet containerHooks: any = (window as any).System.registry.get('@vcd/common');\nif (!containerHooks) {\n containerHooks = (window as any).System.registry.get('@vcd-ui/common');\n}\n\nif (!containerHooks) {\n throw new Error('VCD UI container hooks not present in SystemJS registry');\n}\n\n/**\n * Wire in as a string. Gives the root URL for API access (for example, the load balancer URL\n * or the single-cell URL).\n */\nexport const API_ROOT_URL: InjectionToken<string> = containerHooks.API_ROOT_URL;\n\n/**\n * Wire in as a string. Gives the root URL for the legacy Flex application.\n */\nexport const FLEX_APP_URL: InjectionToken<string> = containerHooks.API_ROOT_URL;\n\n/**\n * Wire in as a string. Gives the current scope of the VCD-UI. As of current, this will be\n * either 'tenant' for the tenant portal, or 'service-provider' for the service-provider portal.\n */\nexport const SESSION_SCOPE: InjectionToken<string> = containerHooks.SESSION_SCOPE;\n\n/**\n * Wire in as a string. Gives the unique name (not the display name) of the current tenant\n * organization that the VCD-UI is being used for.\n */\nexport const SESSION_ORGANIZATION: InjectionToken<string> = containerHooks.SESSION_ORGANIZATION;\n\n/**\n * Wire in as a string. Gives the UUID identifier of the current tenant\n * organization that the VCD-UI is being used for.\n */\nexport const SESSION_ORG_ID: InjectionToken<string> = containerHooks.SESSION_ORG_ID ? containerHooks.SESSION_ORG_ID : '';\n\n/**\n * Wire in as a string. Gives the full root path for module assets (e.g. images, scripts, text files)\n *\n * ATTENTION!\n * Add || new InjectionToken to workaround the Angular security mechanics which prevent use of injection tokens\n * which potentially are not defiend. The same fix can be applied for the rest tokens if needed.\n */\nexport const EXTENSION_ASSET_URL: InjectionToken<string> = containerHooks.EXTENSION_ASSET_URL || new InjectionToken('EXTENSION_ASSET_URL');\n\n/**\n * Wire in as a string. Gives the Angular 2 route that the module is registered under.\n */\nexport const EXTENSION_ROUTE: InjectionToken<string> = containerHooks.EXTENSION_ROUTE;\n\n/**\n * Wire in as a boolean. True if running under the SDK, false if running in production.\n */\nexport const SDK_MODE: InjectionToken<boolean> = containerHooks.SDK_MODE;\n\n/**\n * Payload for registering a navigation menu entry.\n */\nexport interface ExtensionNavRegistration {\n /**\n * The router path to navigate to when selected.\n */\n path: string;\n\n /**\n * i18 key for name of extension, to be used as text for links\n */\n nameCode: string;\n\n /**\n * i18n key for description of extension, to be used on hover for links\n */\n descriptionCode: string;\n}\n\n/**\n * Dispatch this to the redux store to register a navigation menu.\n */\nexport interface ExtensionNavRegistrationAction {\n payload: ExtensionNavRegistration;\n readonly type: string;\n}\n\nexport type ExtensionNavRegistrationActionCtor = new(payload: ExtensionNavRegistration) => ExtensionNavRegistrationAction;\n\nexport const ExtensionNavRegistrationAction: ExtensionNavRegistrationActionCtor = containerHooks.ExtensionNavRegistrationAction;\n\n/**\n * Inject this to access the authentication token.\n */\nexport interface AuthTokenHolderService {\n /**\n * The authentication token.\n */\n token: string;\n}\n\nexport const AuthTokenHolderService: {token: string} = containerHooks.AuthTokenHolderService;\n\n/**\n * This represents a menu item that can be clicked to perform an action on an entity (e.g. VM).\n */\nexport interface EntityActionExtensionMenuItem {\n /**\n * This is a unique URN identifying the action. This is so the component can be notified which action was requested.\n */\n urn: string;\n\n /**\n * This is the label for the menu item. It is not automatically translated.\n */\n text: string;\n\n /**\n * This is the enabled state for the menu item.\n */\n enabled: boolean;\n\n /**\n * This is the busy state for the menu item.\n */\n busy: boolean;\n}\n\n/**\n * This represents a sub-menu that contains other sub-menus or menu actions.\n */\nexport interface EntityActionExtensionSubmenu {\n /**\n * This is the label for the sub-menu. It is not automatically translated.\n */\n text: string;\n\n /**\n * This is an arbitrary, ordered list of EntityActionMenuItem.\n */\n children: EntityActionExtensionMenuItem[];\n}\n\n/**\n * This represents menu information for an entity action.\n */\nexport type EntityActionExtensionMenuEntry = EntityActionExtensionMenuItem | EntityActionExtensionSubmenu;\n\n/**\n * Every component referenced by an entity action extension point must inherit from this.\n */\n// tslint:disable-next-line:class-name\nexport abstract class _EntityActionExtensionComponent {\n /**\n * This returns is an Observable that defines the menu entry for this component. This is actively bound -\n * the component is able to change it in order to have the menu change (for example, to change busy\n * or enabled states).\n */\n abstract getMenuEntry(entityUrn: string): Observable<EntityActionExtensionMenuEntry>;\n\n /**\n * This field is a method that is called if a menu item is clicked while enabled. It will be called with the menu\n * item's URN and the URN of the entity that the action is being called for (e.g. the URN of the VM being edited).\n * It must return a single-shot (e.g. of, fromPromise or .first) Observable on completion. This Observable returns\n * a single value, refreshRequested. If this is true, the entity being edited will be immediately refreshed.\n * @param menuItemUrn the URN of the clicked menu item\n * @param entityUrnThe URN of the entity that the action is being called for\n */\n abstract performAction(menuItemUrn: string, entityUrn: string): Observable<{ refreshRequested: boolean }>;\n}\nexport const EntityActionExtensionComponent: typeof _EntityActionExtensionComponent = containerHooks.EntityActionExtensionComponent;\n\n// tslint:disable-next-line:class-name\nexport abstract class _WizardExtensionComponent<P, R, E> {\n /**\n * Define method which will be executed by the Extension Point Orchestrator,\n * when certain event is triggered.\n * @param payload - the payload of the request triggered by the Core UI.\n * @param response - the response from the request triggered by the Core UI.\n * @param error - the Core UI will reprot any error that may appear during execution.\n */\n abstract performAction(payload: P, response: R, error: E): void;\n}\n\nexport const WizardExtensionComponent: typeof _WizardExtensionComponent = containerHooks.WizardExtensionComponent;\n\nexport interface WizardExtensionState {\n isValid: boolean;\n}\n\n// tslint:disable-next-line:class-name\nexport abstract class _WizardExtensionWithValidationComponent<P, R, E> extends _WizardExtensionComponent<P, R, E> {\n /**\n * Get extension point state.\n */\n abstract getState(): Observable<WizardExtensionState>;\n}\n\n// tslint:disable-next-line:max-line-length\nexport const WizardExtensionWithValidationComponent: typeof _WizardExtensionWithValidationComponent = containerHooks.WizardExtensionWithValidationComponent;\n","import { Store } from '@ngrx/store';\nimport { ExtensionNavRegistration, ExtensionNavRegistrationAction } from '../common';\nimport { TranslateService } from '../i18n';\n\nexport class PluginModule {\n private translate: TranslateService;\n\n constructor(private appStore: Store<any>, translate?: TranslateService) {\n if (translate) {\n this.translate = translate;\n this.translate.prepareTranslations(this.getSupportedLanguages(), this.getDefaultLanguage());\n }\n }\n\n protected registerExtension(extension: ExtensionNavRegistration): void {\n this.appStore.dispatch(new ExtensionNavRegistrationAction(extension));\n }\n\n protected getDefaultLanguage(): string {\n return 'en';\n }\n\n protected getSupportedLanguages(): string[] {\n return ['en'];\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { Inject, Injectable } from '@angular/core';\nimport { EXTENSION_ASSET_URL } from '../common/container-hooks';\nimport { catchError } from 'rxjs/operators';\n\n@Injectable()\nexport class TranslationLoader {\n private static PREFIX = '/i18n/';\n private static SUFFIX = '.json';\n\n constructor(private http: HttpClient, @Inject(EXTENSION_ASSET_URL) private assetUrl: string) { }\n\n public getTranslation(language: string): Observable<any> {\n return this.http.get(`${this.assetUrl}${TranslationLoader.PREFIX}${language}${TranslationLoader.SUFFIX}`);\n }\n\n public getCombinedTranslation(): Observable<any> {\n return this.http.get(`${this.assetUrl}/../i18n${TranslationLoader.SUFFIX}`);\n }\n}\n","// tslint:disable: variable-name\nimport { TranslationLoader } from './translation.loader';\nimport { Observable, Observer, of } from 'rxjs';\nimport { share, take } from 'rxjs/operators';\nimport { Inject, LOCALE_ID, Injectable } from '@angular/core';\n\n@Injectable()\nexport class TranslateService {\n private translation$: Observable<any>;\n private pending = false;\n public translations: any = {};\n\n private _combinedTranslations = true;\n public get combinedTranslations(): boolean {\n return this._combinedTranslations;\n }\n public set combinedTranslations(_combinedTranslations: boolean) {\n this._combinedTranslations = _combinedTranslations;\n }\n\n private _selectedLanguage: string;\n\n private _supportedLanguages: string[] = [];\n public get supportedLanguages(): string[] {\n return this._supportedLanguages;\n }\n public set supportedLanguages(_supportedLanguages: string[]) {\n this._supportedLanguages = _supportedLanguages;\n }\n\n private _defaultLanguage = '';\n public get defaultLanguage(): string {\n return this._defaultLanguage;\n }\n public set defaultLanguage(_defaultLanguage: string) {\n this._defaultLanguage = _defaultLanguage;\n }\n\n constructor(private loader: TranslationLoader) {}\n\n public prepareTranslations(supportedLanguages: string[], defaultLanguage: string): void {\n this._supportedLanguages = supportedLanguages;\n this._defaultLanguage = defaultLanguage;\n\n this._selectedLanguage = this.getBestMatchSupportedLanguage(navigator.language);\n this.getTranslation(this._selectedLanguage);\n }\n\n private getBestMatchSupportedLanguage(requestedLanguage: string): string {\n if (this._supportedLanguages.indexOf(requestedLanguage) > -1) {\n return requestedLanguage;\n }\n\n const altLanguage: string = requestedLanguage.split('-')[0];\n if (altLanguage === requestedLanguage) {\n return this._defaultLanguage;\n }\n\n return (this._supportedLanguages.indexOf(altLanguage) > -1) ? altLanguage : this._defaultLanguage;\n }\n\n public getTranslation(language: string): Observable<any> {\n this.pending = true;\n this.translation$ = this._combinedTranslations ?\n this.loader.getCombinedTranslation() : this.loader.getTranslation(language).pipe(share());\n\n this.translation$.pipe(take(1)).subscribe(result => {\n this.translations = result;\n this.pending = false;\n }, error => {\n this.pending = false;\n });\n\n return this.translation$;\n }\n\n private getParsedResult(key: string, ...args: any[]): string {\n let result = (this._combinedTranslations && this.translations[this._selectedLanguage]) ?\n this.translations[this._selectedLanguage][key] : this.translations[key];\n if (Array.isArray(result)) {\n result = result.join('');\n }\n\n return !result ? `#${key}#` : result.replace(/{([0-9]+)}/g, (_, ...n) => {\n // tslint:disable-next-line: radix\n const idx = parseInt(n[0]);\n if (args && typeof args[idx] !== 'undefined') {\n return args[idx];\n }\n\n return '';\n });\n }\n\n public get(key: string, ...args: any[]): Observable<string | any> {\n if (!this.pending) {\n return of(this.getParsedResult(key, ...args));\n }\n\n // tslint:disable-next-line: deprecation\n return Observable.create((observer: Observer<string>) => {\n const onComplete = (result: string) => {\n observer.next(result);\n observer.complete();\n };\n const onError = (error: any) => {\n observer.error(error);\n };\n this.translation$.subscribe(result => {\n result = this.getParsedResult(key, ...args);\n onComplete(result);\n }, onError);\n });\n }\n}\n","import { Injectable, PipeTransform, Pipe, ChangeDetectorRef } from '@angular/core';\nimport { TranslateService } from './translate.service';\n\n@Injectable()\n@Pipe({\n name: 'translate',\n pure: false\n})\nexport class TranslatePipe implements PipeTransform {\n private value = '';\n private lastKey = '';\n private lastArgs: any[] = [];\n\n constructor(private translate: TranslateService, private changeDetector: ChangeDetectorRef) { }\n\n transform(key: string, ...args: any[]): any {\n if (!key || key.length === 0) {\n return key;\n }\n\n if (key === this.lastKey && args === this.lastArgs) {\n return this.value;\n }\n\n this.lastKey = key;\n this.lastArgs = args;\n this.updateValue(key, args);\n\n return this.value;\n }\n\n private updateValue(key: string, args: any[]): void {\n this.translate.get(key, ...args).subscribe(result => {\n this.value = result;\n this.changeDetector.markForCheck();\n });\n }\n}\n","import {HttpClientModule} from '@angular/common/http';\nimport {NgModule } from '@angular/core';\nimport {CommonModule } from '@angular/common';\n\nimport * as client from '@vcd/angular-client';\nimport * as common from './common';\nimport * as core from './core';\nimport * as i18n from './i18n';\n\nexport {\n common,\n core,\n i18n,\n};\n\n/**\n * Extensions should import this module. They can then wire in SDK components as desired.\n */\n@NgModule({\n imports: [\n HttpClientModule,\n CommonModule,\n ],\n declarations: [i18n.TranslatePipe],\n exports: [i18n.TranslatePipe],\n providers: [\n i18n.TranslateService,\n i18n.TranslationLoader,\n client.RequestHeadersInterceptor,\n client.LoggingInterceptor,\n client.ResponseNormalizationInterceptor,\n client.VcdHttpClient,\n client.VcdApiClient,\n ]\n})\nexport class VcdSdkModule {\n}\n"]}
@@ -1,219 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- /**
6
- * This is the currently supported - albeit very minimal - public SDK.
7
- */
8
- import { InjectionToken } from '@angular/core';
9
- // Bind straight into the hooks provided by the container.
10
- if (!((/** @type {?} */ (window))).System || !((/** @type {?} */ (window))).System.registry || !((/** @type {?} */ (window))).System.registry.get) {
11
- throw new Error('SystemJS registry not found');
12
- }
13
- /** @type {?} */
14
- let containerHooks = ((/** @type {?} */ (window))).System.registry.get('@vcd/common');
15
- if (!containerHooks) {
16
- containerHooks = ((/** @type {?} */ (window))).System.registry.get('@vcd-ui/common');
17
- }
18
- if (!containerHooks) {
19
- throw new Error('VCD UI container hooks not present in SystemJS registry');
20
- }
21
- /**
22
- * Wire in as a string. Gives the root URL for API access (for example, the load balancer URL
23
- * or the single-cell URL).
24
- * @type {?}
25
- */
26
- export const API_ROOT_URL = containerHooks.API_ROOT_URL;
27
- /**
28
- * Wire in as a string. Gives the root URL for the legacy Flex application.
29
- * @type {?}
30
- */
31
- export const FLEX_APP_URL = containerHooks.API_ROOT_URL;
32
- /**
33
- * Wire in as a string. Gives the current scope of the VCD-UI. As of current, this will be
34
- * either 'tenant' for the tenant portal, or 'service-provider' for the service-provider portal.
35
- * @type {?}
36
- */
37
- export const SESSION_SCOPE = containerHooks.SESSION_SCOPE;
38
- /**
39
- * Wire in as a string. Gives the unique name (not the display name) of the current tenant
40
- * organization that the VCD-UI is being used for.
41
- * @type {?}
42
- */
43
- export const SESSION_ORGANIZATION = containerHooks.SESSION_ORGANIZATION;
44
- /**
45
- * Wire in as a string. Gives the UUID identifier of the current tenant
46
- * organization that the VCD-UI is being used for.
47
- * @type {?}
48
- */
49
- export const SESSION_ORG_ID = containerHooks.SESSION_ORG_ID ? containerHooks.SESSION_ORG_ID : '';
50
- /**
51
- * Wire in as a string. Gives the full root path for module assets (e.g. images, scripts, text files)
52
- *
53
- * ATTENTION!
54
- * Add || new InjectionToken to workaround the Angular security mechanics which prevent use of injection tokens
55
- * which potentially are not defiend. The same fix can be applied for the rest tokens if needed.
56
- * @type {?}
57
- */
58
- export const EXTENSION_ASSET_URL = containerHooks.EXTENSION_ASSET_URL || new InjectionToken('EXTENSION_ASSET_URL');
59
- /**
60
- * Wire in as a string. Gives the Angular 2 route that the module is registered under.
61
- * @type {?}
62
- */
63
- export const EXTENSION_ROUTE = containerHooks.EXTENSION_ROUTE;
64
- /**
65
- * Wire in as a boolean. True if running under the SDK, false if running in production.
66
- * @type {?}
67
- */
68
- export const SDK_MODE = containerHooks.SDK_MODE;
69
- /**
70
- * Payload for registering a navigation menu entry.
71
- * @record
72
- */
73
- export function ExtensionNavRegistration() { }
74
- if (false) {
75
- /**
76
- * The router path to navigate to when selected.
77
- * @type {?}
78
- */
79
- ExtensionNavRegistration.prototype.path;
80
- /**
81
- * i18 key for name of extension, to be used as text for links
82
- * @type {?}
83
- */
84
- ExtensionNavRegistration.prototype.nameCode;
85
- /**
86
- * i18n key for description of extension, to be used on hover for links
87
- * @type {?}
88
- */
89
- ExtensionNavRegistration.prototype.descriptionCode;
90
- }
91
- // WARNING: interface has both a type and a value, skipping emit
92
- /** @type {?} */
93
- export const ExtensionNavRegistrationAction = containerHooks.ExtensionNavRegistrationAction;
94
- // WARNING: interface has both a type and a value, skipping emit
95
- /** @type {?} */
96
- export const AuthTokenHolderService = containerHooks.AuthTokenHolderService;
97
- /**
98
- * This represents a menu item that can be clicked to perform an action on an entity (e.g. VM).
99
- * @record
100
- */
101
- export function EntityActionExtensionMenuItem() { }
102
- if (false) {
103
- /**
104
- * This is a unique URN identifying the action. This is so the component can be notified which action was requested.
105
- * @type {?}
106
- */
107
- EntityActionExtensionMenuItem.prototype.urn;
108
- /**
109
- * This is the label for the menu item. It is not automatically translated.
110
- * @type {?}
111
- */
112
- EntityActionExtensionMenuItem.prototype.text;
113
- /**
114
- * This is the enabled state for the menu item.
115
- * @type {?}
116
- */
117
- EntityActionExtensionMenuItem.prototype.enabled;
118
- /**
119
- * This is the busy state for the menu item.
120
- * @type {?}
121
- */
122
- EntityActionExtensionMenuItem.prototype.busy;
123
- }
124
- /**
125
- * This represents a sub-menu that contains other sub-menus or menu actions.
126
- * @record
127
- */
128
- export function EntityActionExtensionSubmenu() { }
129
- if (false) {
130
- /**
131
- * This is the label for the sub-menu. It is not automatically translated.
132
- * @type {?}
133
- */
134
- EntityActionExtensionSubmenu.prototype.text;
135
- /**
136
- * This is an arbitrary, ordered list of EntityActionMenuItem.
137
- * @type {?}
138
- */
139
- EntityActionExtensionSubmenu.prototype.children;
140
- }
141
- /**
142
- * Every component referenced by an entity action extension point must inherit from this.
143
- * @abstract
144
- */
145
- // tslint:disable-next-line:class-name
146
- export class _EntityActionExtensionComponent {
147
- }
148
- if (false) {
149
- /**
150
- * This returns is an Observable that defines the menu entry for this component. This is actively bound -
151
- * the component is able to change it in order to have the menu change (for example, to change busy
152
- * or enabled states).
153
- * @abstract
154
- * @param {?} entityUrn
155
- * @return {?}
156
- */
157
- _EntityActionExtensionComponent.prototype.getMenuEntry = function (entityUrn) { };
158
- /**
159
- * This field is a method that is called if a menu item is clicked while enabled. It will be called with the menu
160
- * item's URN and the URN of the entity that the action is being called for (e.g. the URN of the VM being edited).
161
- * It must return a single-shot (e.g. of, fromPromise or .first) Observable on completion. This Observable returns
162
- * a single value, refreshRequested. If this is true, the entity being edited will be immediately refreshed.
163
- * @abstract
164
- * @param {?} menuItemUrn the URN of the clicked menu item
165
- * @param {?} entityUrn
166
- * @return {?}
167
- */
168
- _EntityActionExtensionComponent.prototype.performAction = function (menuItemUrn, entityUrn) { };
169
- }
170
- /** @type {?} */
171
- export const EntityActionExtensionComponent = containerHooks.EntityActionExtensionComponent;
172
- // tslint:disable-next-line:class-name
173
- /**
174
- * @abstract
175
- * @template P, R, E
176
- */
177
- export class _WizardExtensionComponent {
178
- }
179
- if (false) {
180
- /**
181
- * Define method which will be executed by the Extension Point Orchestrator,
182
- * when certain event is triggered.
183
- * @abstract
184
- * @param {?} payload - the payload of the request triggered by the Core UI.
185
- * @param {?} response - the response from the request triggered by the Core UI.
186
- * @param {?} error - the Core UI will reprot any error that may appear during execution.
187
- * @return {?}
188
- */
189
- _WizardExtensionComponent.prototype.performAction = function (payload, response, error) { };
190
- }
191
- /** @type {?} */
192
- export const WizardExtensionComponent = containerHooks.WizardExtensionComponent;
193
- /**
194
- * @record
195
- */
196
- export function WizardExtensionState() { }
197
- if (false) {
198
- /** @type {?} */
199
- WizardExtensionState.prototype.isValid;
200
- }
201
- // tslint:disable-next-line:class-name
202
- /**
203
- * @abstract
204
- * @template P, R, E
205
- */
206
- export class _WizardExtensionWithValidationComponent extends _WizardExtensionComponent {
207
- }
208
- if (false) {
209
- /**
210
- * Get extension point state.
211
- * @abstract
212
- * @return {?}
213
- */
214
- _WizardExtensionWithValidationComponent.prototype.getState = function () { };
215
- }
216
- // tslint:disable-next-line:max-line-length
217
- /** @type {?} */
218
- export const WizardExtensionWithValidationComponent = containerHooks.WizardExtensionWithValidationComponent;
219
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLWhvb2tzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHZjZC9zZGsvIiwic291cmNlcyI6WyJjb21tb24vY29udGFpbmVyLWhvb2tzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFHQSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQUk3QyxJQUFJLENBQUMsQ0FBQyxtQkFBQSxNQUFNLEVBQU8sQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsbUJBQUEsTUFBTSxFQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxtQkFBQSxNQUFNLEVBQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFO0lBQ3JHLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztDQUNsRDs7SUFFRyxjQUFjLEdBQVEsQ0FBQyxtQkFBQSxNQUFNLEVBQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQztBQUM1RSxJQUFJLENBQUMsY0FBYyxFQUFFO0lBQ2pCLGNBQWMsR0FBRyxDQUFDLG1CQUFBLE1BQU0sRUFBTyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztDQUMxRTtBQUVELElBQUksQ0FBQyxjQUFjLEVBQUU7SUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5REFBeUQsQ0FBQyxDQUFDO0NBQzlFOzs7Ozs7QUFNRCxNQUFNLE9BQU8sWUFBWSxHQUEyQixjQUFjLENBQUMsWUFBWTs7Ozs7QUFLL0UsTUFBTSxPQUFPLFlBQVksR0FBMkIsY0FBYyxDQUFDLFlBQVk7Ozs7OztBQU0vRSxNQUFNLE9BQU8sYUFBYSxHQUEyQixjQUFjLENBQUMsYUFBYTs7Ozs7O0FBTWpGLE1BQU0sT0FBTyxvQkFBb0IsR0FBMkIsY0FBYyxDQUFDLG9CQUFvQjs7Ozs7O0FBTS9GLE1BQU0sT0FBTyxjQUFjLEdBQTJCLGNBQWMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUU7Ozs7Ozs7OztBQVN4SCxNQUFNLE9BQU8sbUJBQW1CLEdBQTJCLGNBQWMsQ0FBQyxtQkFBbUIsSUFBSSxJQUFJLGNBQWMsQ0FBQyxxQkFBcUIsQ0FBQzs7Ozs7QUFLMUksTUFBTSxPQUFPLGVBQWUsR0FBMkIsY0FBYyxDQUFDLGVBQWU7Ozs7O0FBS3JGLE1BQU0sT0FBTyxRQUFRLEdBQTRCLGNBQWMsQ0FBQyxRQUFROzs7OztBQUt4RSw4Q0FlQzs7Ozs7O0lBWEcsd0NBQWE7Ozs7O0lBS2IsNENBQWlCOzs7OztJQUtqQixtREFBd0I7Ozs7QUFhNUIsTUFBTSxPQUFPLDhCQUE4QixHQUF1QyxjQUFjLENBQUMsOEJBQThCOzs7QUFZL0gsTUFBTSxPQUFPLHNCQUFzQixHQUFvQixjQUFjLENBQUMsc0JBQXNCOzs7OztBQUs1RixtREFvQkM7Ozs7OztJQWhCRyw0Q0FBWTs7Ozs7SUFLWiw2Q0FBYTs7Ozs7SUFLYixnREFBaUI7Ozs7O0lBS2pCLDZDQUFjOzs7Ozs7QUFNbEIsa0RBVUM7Ozs7OztJQU5HLDRDQUFhOzs7OztJQUtiLGdEQUEwQzs7Ozs7OztBQVk5QyxNQUFNLE9BQWdCLCtCQUErQjtDQWlCcEQ7Ozs7Ozs7Ozs7SUFYRyxrRkFBcUY7Ozs7Ozs7Ozs7O0lBVXBGLGdHQUEwRzs7O0FBRS9HLE1BQU0sT0FBTyw4QkFBOEIsR0FBMkMsY0FBYyxDQUFDLDhCQUE4Qjs7Ozs7O0FBR25JLE1BQU0sT0FBZ0IseUJBQXlCO0NBUzlDOzs7Ozs7Ozs7OztJQURHLDRGQUFnRTs7O0FBR3BFLE1BQU0sT0FBTyx3QkFBd0IsR0FBcUMsY0FBYyxDQUFDLHdCQUF3Qjs7OztBQUVqSCwwQ0FFQzs7O0lBREcsdUNBQWlCOzs7Ozs7O0FBSXJCLE1BQU0sT0FBZ0IsdUNBQWlELFNBQVEseUJBQWtDO0NBS2hIOzs7Ozs7O0lBREcsNkVBQXNEOzs7O0FBSTFELE1BQU0sT0FBTyxzQ0FBc0MsR0FBbUQsY0FBYyxDQUFDLHNDQUFzQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhpcyBpcyB0aGUgY3VycmVudGx5IHN1cHBvcnRlZCAtIGFsYmVpdCB2ZXJ5IG1pbmltYWwgLSBwdWJsaWMgU0RLLlxuICovXG5pbXBvcnQge0luamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbi8vIEJpbmQgc3RyYWlnaHQgaW50byB0aGUgaG9va3MgcHJvdmlkZWQgYnkgdGhlIGNvbnRhaW5lci5cbmlmICghKHdpbmRvdyBhcyBhbnkpLlN5c3RlbSB8fCAhKHdpbmRvdyBhcyBhbnkpLlN5c3RlbS5yZWdpc3RyeSB8fCAhKHdpbmRvdyBhcyBhbnkpLlN5c3RlbS5yZWdpc3RyeS5nZXQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1N5c3RlbUpTIHJlZ2lzdHJ5IG5vdCBmb3VuZCcpO1xufVxuXG5sZXQgY29udGFpbmVySG9va3M6IGFueSA9ICh3aW5kb3cgYXMgYW55KS5TeXN0ZW0ucmVnaXN0cnkuZ2V0KCdAdmNkL2NvbW1vbicpO1xuaWYgKCFjb250YWluZXJIb29rcykge1xuICAgIGNvbnRhaW5lckhvb2tzID0gKHdpbmRvdyBhcyBhbnkpLlN5c3RlbS5yZWdpc3RyeS5nZXQoJ0B2Y2QtdWkvY29tbW9uJyk7XG59XG5cbmlmICghY29udGFpbmVySG9va3MpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1ZDRCBVSSBjb250YWluZXIgaG9va3Mgbm90IHByZXNlbnQgaW4gU3lzdGVtSlMgcmVnaXN0cnknKTtcbn1cblxuLyoqXG4gKiBXaXJlIGluIGFzIGEgc3RyaW5nLiAgR2l2ZXMgdGhlIHJvb3QgVVJMIGZvciBBUEkgYWNjZXNzIChmb3IgZXhhbXBsZSwgdGhlIGxvYWQgYmFsYW5jZXIgVVJMXG4gKiBvciB0aGUgc2luZ2xlLWNlbGwgVVJMKS5cbiAqL1xuZXhwb3J0IGNvbnN0IEFQSV9ST09UX1VSTDogSW5qZWN0aW9uVG9rZW48c3RyaW5nPiA9IGNvbnRhaW5lckhvb2tzLkFQSV9ST09UX1VSTDtcblxuLyoqXG4gKiBXaXJlIGluIGFzIGEgc3RyaW5nLiAgR2l2ZXMgdGhlIHJvb3QgVVJMIGZvciB0aGUgbGVnYWN5IEZsZXggYXBwbGljYXRpb24uXG4gKi9cbmV4cG9ydCBjb25zdCBGTEVYX0FQUF9VUkw6IEluamVjdGlvblRva2VuPHN0cmluZz4gPSBjb250YWluZXJIb29rcy5BUElfUk9PVF9VUkw7XG5cbi8qKlxuICogV2lyZSBpbiBhcyBhIHN0cmluZy4gIEdpdmVzIHRoZSBjdXJyZW50IHNjb3BlIG9mIHRoZSBWQ0QtVUkuICBBcyBvZiBjdXJyZW50LCB0aGlzIHdpbGwgYmVcbiAqIGVpdGhlciAndGVuYW50JyBmb3IgdGhlIHRlbmFudCBwb3J0YWwsIG9yICdzZXJ2aWNlLXByb3ZpZGVyJyBmb3IgdGhlIHNlcnZpY2UtcHJvdmlkZXIgcG9ydGFsLlxuICovXG5leHBvcnQgY29uc3QgU0VTU0lPTl9TQ09QRTogSW5qZWN0aW9uVG9rZW48c3RyaW5nPiA9IGNvbnRhaW5lckhvb2tzLlNFU1NJT05fU0NPUEU7XG5cbi8qKlxuICogV2lyZSBpbiBhcyBhIHN0cmluZy4gIEdpdmVzIHRoZSB1bmlxdWUgbmFtZSAobm90IHRoZSBkaXNwbGF5IG5hbWUpIG9mIHRoZSBjdXJyZW50IHRlbmFudFxuICogb3JnYW5pemF0aW9uIHRoYXQgdGhlIFZDRC1VSSBpcyBiZWluZyB1c2VkIGZvci5cbiAqL1xuZXhwb3J0IGNvbnN0IFNFU1NJT05fT1JHQU5JWkFUSU9OOiBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+ID0gY29udGFpbmVySG9va3MuU0VTU0lPTl9PUkdBTklaQVRJT047XG5cbi8qKlxuICogV2lyZSBpbiBhcyBhIHN0cmluZy4gIEdpdmVzIHRoZSBVVUlEIGlkZW50aWZpZXIgb2YgdGhlIGN1cnJlbnQgdGVuYW50XG4gKiBvcmdhbml6YXRpb24gdGhhdCB0aGUgVkNELVVJIGlzIGJlaW5nIHVzZWQgZm9yLlxuICovXG5leHBvcnQgY29uc3QgU0VTU0lPTl9PUkdfSUQ6IEluamVjdGlvblRva2VuPHN0cmluZz4gPSBjb250YWluZXJIb29rcy5TRVNTSU9OX09SR19JRCA/IGNvbnRhaW5lckhvb2tzLlNFU1NJT05fT1JHX0lEIDogJyc7XG5cbi8qKlxuICogV2lyZSBpbiBhcyBhIHN0cmluZy4gIEdpdmVzIHRoZSBmdWxsIHJvb3QgcGF0aCBmb3IgbW9kdWxlIGFzc2V0cyAoZS5nLiBpbWFnZXMsIHNjcmlwdHMsIHRleHQgZmlsZXMpXG4gKlxuICogQVRURU5USU9OIVxuICogQWRkIHx8IG5ldyBJbmplY3Rpb25Ub2tlbiB0byB3b3JrYXJvdW5kIHRoZSBBbmd1bGFyIHNlY3VyaXR5IG1lY2hhbmljcyB3aGljaCBwcmV2ZW50IHVzZSBvZiBpbmplY3Rpb24gdG9rZW5zXG4gKiB3aGljaCBwb3RlbnRpYWxseSBhcmUgbm90IGRlZmllbmQuIFRoZSBzYW1lIGZpeCBjYW4gYmUgYXBwbGllZCBmb3IgdGhlIHJlc3QgdG9rZW5zIGlmIG5lZWRlZC5cbiAqL1xuZXhwb3J0IGNvbnN0IEVYVEVOU0lPTl9BU1NFVF9VUkw6IEluamVjdGlvblRva2VuPHN0cmluZz4gPSBjb250YWluZXJIb29rcy5FWFRFTlNJT05fQVNTRVRfVVJMIHx8IG5ldyBJbmplY3Rpb25Ub2tlbignRVhURU5TSU9OX0FTU0VUX1VSTCcpO1xuXG4vKipcbiAqIFdpcmUgaW4gYXMgYSBzdHJpbmcuICBHaXZlcyB0aGUgQW5ndWxhciAyIHJvdXRlIHRoYXQgdGhlIG1vZHVsZSBpcyByZWdpc3RlcmVkIHVuZGVyLlxuICovXG5leHBvcnQgY29uc3QgRVhURU5TSU9OX1JPVVRFOiBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+ID0gY29udGFpbmVySG9va3MuRVhURU5TSU9OX1JPVVRFO1xuXG4vKipcbiAqIFdpcmUgaW4gYXMgYSBib29sZWFuLiAgVHJ1ZSBpZiBydW5uaW5nIHVuZGVyIHRoZSBTREssIGZhbHNlIGlmIHJ1bm5pbmcgaW4gcHJvZHVjdGlvbi5cbiAqL1xuZXhwb3J0IGNvbnN0IFNES19NT0RFOiBJbmplY3Rpb25Ub2tlbjxib29sZWFuPiA9IGNvbnRhaW5lckhvb2tzLlNES19NT0RFO1xuXG4vKipcbiAqIFBheWxvYWQgZm9yIHJlZ2lzdGVyaW5nIGEgbmF2aWdhdGlvbiBtZW51IGVudHJ5LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV4dGVuc2lvbk5hdlJlZ2lzdHJhdGlvbiB7XG4gICAgLyoqXG4gICAgICogVGhlIHJvdXRlciBwYXRoIHRvIG5hdmlnYXRlIHRvIHdoZW4gc2VsZWN0ZWQuXG4gICAgICovXG4gICAgcGF0aDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogaTE4IGtleSBmb3IgbmFtZSBvZiBleHRlbnNpb24sIHRvIGJlIHVzZWQgYXMgdGV4dCBmb3IgbGlua3NcbiAgICAgKi9cbiAgICBuYW1lQ29kZTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogaTE4biBrZXkgZm9yIGRlc2NyaXB0aW9uIG9mIGV4dGVuc2lvbiwgdG8gYmUgdXNlZCBvbiBob3ZlciBmb3IgbGlua3NcbiAgICAgKi9cbiAgICBkZXNjcmlwdGlvbkNvZGU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBEaXNwYXRjaCB0aGlzIHRvIHRoZSByZWR1eCBzdG9yZSB0byByZWdpc3RlciBhIG5hdmlnYXRpb24gbWVudS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFeHRlbnNpb25OYXZSZWdpc3RyYXRpb25BY3Rpb24ge1xuICAgIHBheWxvYWQ6IEV4dGVuc2lvbk5hdlJlZ2lzdHJhdGlvbjtcbiAgICByZWFkb25seSB0eXBlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIEV4dGVuc2lvbk5hdlJlZ2lzdHJhdGlvbkFjdGlvbkN0b3IgPSBuZXcocGF5bG9hZDogRXh0ZW5zaW9uTmF2UmVnaXN0cmF0aW9uKSA9PiBFeHRlbnNpb25OYXZSZWdpc3RyYXRpb25BY3Rpb247XG5cbmV4cG9ydCBjb25zdCBFeHRlbnNpb25OYXZSZWdpc3RyYXRpb25BY3Rpb246IEV4dGVuc2lvbk5hdlJlZ2lzdHJhdGlvbkFjdGlvbkN0b3IgPSBjb250YWluZXJIb29rcy5FeHRlbnNpb25OYXZSZWdpc3RyYXRpb25BY3Rpb247XG5cbi8qKlxuICogSW5qZWN0IHRoaXMgdG8gYWNjZXNzIHRoZSBhdXRoZW50aWNhdGlvbiB0b2tlbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdXRoVG9rZW5Ib2xkZXJTZXJ2aWNlIHtcbiAgICAvKipcbiAgICAgKiBUaGUgYXV0aGVudGljYXRpb24gdG9rZW4uXG4gICAgICovXG4gICAgdG9rZW46IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IEF1dGhUb2tlbkhvbGRlclNlcnZpY2U6IHt0b2tlbjogc3RyaW5nfSA9IGNvbnRhaW5lckhvb2tzLkF1dGhUb2tlbkhvbGRlclNlcnZpY2U7XG5cbi8qKlxuICogVGhpcyByZXByZXNlbnRzIGEgbWVudSBpdGVtIHRoYXQgY2FuIGJlIGNsaWNrZWQgdG8gcGVyZm9ybSBhbiBhY3Rpb24gb24gYW4gZW50aXR5IChlLmcuIFZNKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlBY3Rpb25FeHRlbnNpb25NZW51SXRlbSB7XG4gICAgLyoqXG4gICAgICogVGhpcyBpcyBhIHVuaXF1ZSBVUk4gaWRlbnRpZnlpbmcgdGhlIGFjdGlvbi4gVGhpcyBpcyBzbyB0aGUgY29tcG9uZW50IGNhbiBiZSBub3RpZmllZCB3aGljaCBhY3Rpb24gd2FzIHJlcXVlc3RlZC5cbiAgICAgKi9cbiAgICB1cm46IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoaXMgaXMgdGhlIGxhYmVsIGZvciB0aGUgbWVudSBpdGVtLiBJdCBpcyBub3QgYXV0b21hdGljYWxseSB0cmFuc2xhdGVkLlxuICAgICAqL1xuICAgIHRleHQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoaXMgaXMgdGhlIGVuYWJsZWQgc3RhdGUgZm9yIHRoZSBtZW51IGl0ZW0uXG4gICAgICovXG4gICAgZW5hYmxlZDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFRoaXMgaXMgdGhlIGJ1c3kgc3RhdGUgZm9yIHRoZSBtZW51IGl0ZW0uXG4gICAgICovXG4gICAgYnVzeTogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBUaGlzIHJlcHJlc2VudHMgYSBzdWItbWVudSB0aGF0IGNvbnRhaW5zIG90aGVyIHN1Yi1tZW51cyBvciBtZW51IGFjdGlvbnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5QWN0aW9uRXh0ZW5zaW9uU3VibWVudSB7XG4gICAgLyoqXG4gICAgICogVGhpcyBpcyB0aGUgbGFiZWwgZm9yIHRoZSBzdWItbWVudS4gSXQgaXMgbm90IGF1dG9tYXRpY2FsbHkgdHJhbnNsYXRlZC5cbiAgICAgKi9cbiAgICB0ZXh0OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGlzIGFuIGFyYml0cmFyeSwgb3JkZXJlZCBsaXN0IG9mIEVudGl0eUFjdGlvbk1lbnVJdGVtLlxuICAgICAqL1xuICAgIGNoaWxkcmVuOiBFbnRpdHlBY3Rpb25FeHRlbnNpb25NZW51SXRlbVtdO1xufVxuXG4vKipcbiAqIFRoaXMgcmVwcmVzZW50cyBtZW51IGluZm9ybWF0aW9uIGZvciBhbiBlbnRpdHkgYWN0aW9uLlxuICovXG5leHBvcnQgdHlwZSBFbnRpdHlBY3Rpb25FeHRlbnNpb25NZW51RW50cnkgPSBFbnRpdHlBY3Rpb25FeHRlbnNpb25NZW51SXRlbSB8IEVudGl0eUFjdGlvbkV4dGVuc2lvblN1Ym1lbnU7XG5cbi8qKlxuICogRXZlcnkgY29tcG9uZW50IHJlZmVyZW5jZWQgYnkgYW4gZW50aXR5IGFjdGlvbiBleHRlbnNpb24gcG9pbnQgbXVzdCBpbmhlcml0IGZyb20gdGhpcy5cbiAqL1xuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNsYXNzLW5hbWVcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBfRW50aXR5QWN0aW9uRXh0ZW5zaW9uQ29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiBUaGlzIHJldHVybnMgaXMgYW4gT2JzZXJ2YWJsZSB0aGF0IGRlZmluZXMgdGhlIG1lbnUgZW50cnkgZm9yIHRoaXMgY29tcG9uZW50LiBUaGlzIGlzIGFjdGl2ZWx5IGJvdW5kIC1cbiAgICAgKiB0aGUgY29tcG9uZW50IGlzIGFibGUgdG8gY2hhbmdlIGl0IGluIG9yZGVyIHRvIGhhdmUgdGhlIG1lbnUgY2hhbmdlIChmb3IgZXhhbXBsZSwgdG8gY2hhbmdlIGJ1c3lcbiAgICAgKiBvciBlbmFibGVkIHN0YXRlcykuXG4gICAgICovXG4gICAgYWJzdHJhY3QgZ2V0TWVudUVudHJ5KGVudGl0eVVybjogc3RyaW5nKTogT2JzZXJ2YWJsZTxFbnRpdHlBY3Rpb25FeHRlbnNpb25NZW51RW50cnk+O1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBmaWVsZCBpcyBhIG1ldGhvZCB0aGF0IGlzIGNhbGxlZCBpZiBhIG1lbnUgaXRlbSBpcyBjbGlja2VkIHdoaWxlIGVuYWJsZWQuIEl0IHdpbGwgYmUgY2FsbGVkIHdpdGggdGhlIG1lbnVcbiAgICAgKiBpdGVtJ3MgVVJOIGFuZCB0aGUgVVJOIG9mIHRoZSBlbnRpdHkgdGhhdCB0aGUgYWN0aW9uIGlzIGJlaW5nIGNhbGxlZCBmb3IgKGUuZy4gdGhlIFVSTiBvZiB0aGUgVk0gYmVpbmcgZWRpdGVkKS5cbiAgICAgKiBJdCBtdXN0IHJldHVybiBhIHNpbmdsZS1zaG90IChlLmcuIG9mLCBmcm9tUHJvbWlzZSBvciAuZmlyc3QpIE9ic2VydmFibGUgb24gY29tcGxldGlvbi4gVGhpcyBPYnNlcnZhYmxlIHJldHVybnNcbiAgICAgKiBhIHNpbmdsZSB2YWx1ZSwgcmVmcmVzaFJlcXVlc3RlZC4gSWYgdGhpcyBpcyB0cnVlLCB0aGUgZW50aXR5IGJlaW5nIGVkaXRlZCB3aWxsIGJlIGltbWVkaWF0ZWx5IHJlZnJlc2hlZC5cbiAgICAgKiBAcGFyYW0gbWVudUl0ZW1Vcm4gdGhlIFVSTiBvZiB0aGUgY2xpY2tlZCBtZW51IGl0ZW1cbiAgICAgKiBAcGFyYW0gZW50aXR5VXJuVGhlIFVSTiBvZiB0aGUgZW50aXR5IHRoYXQgdGhlIGFjdGlvbiBpcyBiZWluZyBjYWxsZWQgZm9yXG4gICAgICovXG4gICAgIGFic3RyYWN0IHBlcmZvcm1BY3Rpb24obWVudUl0ZW1Vcm46IHN0cmluZywgZW50aXR5VXJuOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHsgcmVmcmVzaFJlcXVlc3RlZDogYm9vbGVhbiB9Pjtcbn1cbmV4cG9ydCBjb25zdCBFbnRpdHlBY3Rpb25FeHRlbnNpb25Db21wb25lbnQ6IHR5cGVvZiBfRW50aXR5QWN0aW9uRXh0ZW5zaW9uQ29tcG9uZW50ID0gY29udGFpbmVySG9va3MuRW50aXR5QWN0aW9uRXh0ZW5zaW9uQ29tcG9uZW50O1xuXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y2xhc3MtbmFtZVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIF9XaXphcmRFeHRlbnNpb25Db21wb25lbnQ8UCwgUiwgRT4ge1xuICAgIC8qKlxuICAgICAqIERlZmluZSBtZXRob2Qgd2hpY2ggd2lsbCBiZSBleGVjdXRlZCBieSB0aGUgRXh0ZW5zaW9uIFBvaW50IE9yY2hlc3RyYXRvcixcbiAgICAgKiB3aGVuIGNlcnRhaW4gZXZlbnQgaXMgdHJpZ2dlcmVkLlxuICAgICAqIEBwYXJhbSBwYXlsb2FkIC0gdGhlIHBheWxvYWQgb2YgdGhlIHJlcXVlc3QgdHJpZ2dlcmVkIGJ5IHRoZSBDb3JlIFVJLlxuICAgICAqIEBwYXJhbSByZXNwb25zZSAtIHRoZSByZXNwb25zZSBmcm9tIHRoZSByZXF1ZXN0IHRyaWdnZXJlZCBieSB0aGUgQ29yZSBVSS5cbiAgICAgKiBAcGFyYW0gZXJyb3IgLSB0aGUgQ29yZSBVSSB3aWxsIHJlcHJvdCBhbnkgZXJyb3IgdGhhdCBtYXkgYXBwZWFyIGR1cmluZyBleGVjdXRpb24uXG4gICAgICovXG4gICAgYWJzdHJhY3QgcGVyZm9ybUFjdGlvbihwYXlsb2FkOiBQLCByZXNwb25zZTogUiwgZXJyb3I6IEUpOiB2b2lkO1xufVxuXG5leHBvcnQgY29uc3QgV2l6YXJkRXh0ZW5zaW9uQ29tcG9uZW50OiB0eXBlb2YgX1dpemFyZEV4dGVuc2lvbkNvbXBvbmVudCA9IGNvbnRhaW5lckhvb2tzLldpemFyZEV4dGVuc2lvbkNvbXBvbmVudDtcblxuZXhwb3J0IGludGVyZmFjZSBXaXphcmRFeHRlbnNpb25TdGF0ZSB7XG4gICAgaXNWYWxpZDogYm9vbGVhbjtcbn1cblxuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNsYXNzLW5hbWVcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBfV2l6YXJkRXh0ZW5zaW9uV2l0aFZhbGlkYXRpb25Db21wb25lbnQ8UCwgUiwgRT4gZXh0ZW5kcyBfV2l6YXJkRXh0ZW5zaW9uQ29tcG9uZW50PFAsIFIsIEU+IHtcbiAgICAvKipcbiAgICAgKiBHZXQgZXh0ZW5zaW9uIHBvaW50IHN0YXRlLlxuICAgICAqL1xuICAgIGFic3RyYWN0IGdldFN0YXRlKCk6IE9ic2VydmFibGU8V2l6YXJkRXh0ZW5zaW9uU3RhdGU+O1xufVxuXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bWF4LWxpbmUtbGVuZ3RoXG5leHBvcnQgY29uc3QgV2l6YXJkRXh0ZW5zaW9uV2l0aFZhbGlkYXRpb25Db21wb25lbnQ6IHR5cGVvZiBfV2l6YXJkRXh0ZW5zaW9uV2l0aFZhbGlkYXRpb25Db21wb25lbnQgPSBjb250YWluZXJIb29rcy5XaXphcmRFeHRlbnNpb25XaXRoVmFsaWRhdGlvbkNvbXBvbmVudDtcbiJdfQ==
@@ -1,6 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- export { API_ROOT_URL, FLEX_APP_URL, SESSION_SCOPE, SESSION_ORGANIZATION, SESSION_ORG_ID, EXTENSION_ASSET_URL, EXTENSION_ROUTE, SDK_MODE, ExtensionNavRegistrationAction, AuthTokenHolderService, _EntityActionExtensionComponent, EntityActionExtensionComponent, _WizardExtensionComponent, WizardExtensionComponent, _WizardExtensionWithValidationComponent, WizardExtensionWithValidationComponent } from './container-hooks';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdmNkL3Nkay8iLCJzb3VyY2VzIjpbImNvbW1vbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsK1lBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbnRhaW5lci1ob29rcyc7XG4iXX0=
@@ -1,6 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- export { PluginModule } from './plugin.module';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdmNkL3Nkay8iLCJzb3VyY2VzIjpbImNvcmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLDZCQUFjLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wbHVnaW4ubW9kdWxlJztcbiJdfQ==
@@ -1,53 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { ExtensionNavRegistrationAction } from '../common';
6
- export class PluginModule {
7
- /**
8
- * @param {?} appStore
9
- * @param {?=} translate
10
- */
11
- constructor(appStore, translate) {
12
- this.appStore = appStore;
13
- if (translate) {
14
- this.translate = translate;
15
- this.translate.prepareTranslations(this.getSupportedLanguages(), this.getDefaultLanguage());
16
- }
17
- }
18
- /**
19
- * @protected
20
- * @param {?} extension
21
- * @return {?}
22
- */
23
- registerExtension(extension) {
24
- this.appStore.dispatch(new ExtensionNavRegistrationAction(extension));
25
- }
26
- /**
27
- * @protected
28
- * @return {?}
29
- */
30
- getDefaultLanguage() {
31
- return 'en';
32
- }
33
- /**
34
- * @protected
35
- * @return {?}
36
- */
37
- getSupportedLanguages() {
38
- return ['en'];
39
- }
40
- }
41
- if (false) {
42
- /**
43
- * @type {?}
44
- * @private
45
- */
46
- PluginModule.prototype.translate;
47
- /**
48
- * @type {?}
49
- * @private
50
- */
51
- PluginModule.prototype.appStore;
52
- }
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B2Y2Qvc2RrLyIsInNvdXJjZXMiOlsiY29yZS9wbHVnaW4ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxPQUFPLEVBQTRCLDhCQUE4QixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBR3JGLE1BQU0sT0FBTyxZQUFZOzs7OztJQUdyQixZQUFvQixRQUFvQixFQUFFLFNBQTRCO1FBQWxELGFBQVEsR0FBUixRQUFRLENBQVk7UUFDcEMsSUFBSSxTQUFTLEVBQUU7WUFDWCxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztZQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUM7U0FDL0Y7SUFDTCxDQUFDOzs7Ozs7SUFFUyxpQkFBaUIsQ0FBQyxTQUFtQztRQUMzRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLDhCQUE4QixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDMUUsQ0FBQzs7Ozs7SUFFUyxrQkFBa0I7UUFDeEIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQzs7Ozs7SUFFUyxxQkFBcUI7UUFDM0IsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xCLENBQUM7Q0FDSjs7Ozs7O0lBcEJHLGlDQUFvQzs7Ozs7SUFFeEIsZ0NBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBFeHRlbnNpb25OYXZSZWdpc3RyYXRpb24sIEV4dGVuc2lvbk5hdlJlZ2lzdHJhdGlvbkFjdGlvbiB9IGZyb20gJy4uL2NvbW1vbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vaTE4bic7XG5cbmV4cG9ydCBjbGFzcyBQbHVnaW5Nb2R1bGUge1xuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBhcHBTdG9yZTogU3RvcmU8YW55PiwgdHJhbnNsYXRlPzogVHJhbnNsYXRlU2VydmljZSkge1xuICAgICAgICBpZiAodHJhbnNsYXRlKSB7XG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZSA9IHRyYW5zbGF0ZTtcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlLnByZXBhcmVUcmFuc2xhdGlvbnModGhpcy5nZXRTdXBwb3J0ZWRMYW5ndWFnZXMoKSwgdGhpcy5nZXREZWZhdWx0TGFuZ3VhZ2UoKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVnaXN0ZXJFeHRlbnNpb24oZXh0ZW5zaW9uOiBFeHRlbnNpb25OYXZSZWdpc3RyYXRpb24pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hcHBTdG9yZS5kaXNwYXRjaChuZXcgRXh0ZW5zaW9uTmF2UmVnaXN0cmF0aW9uQWN0aW9uKGV4dGVuc2lvbikpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXREZWZhdWx0TGFuZ3VhZ2UoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICdlbic7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldFN1cHBvcnRlZExhbmd1YWdlcygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiBbJ2VuJ107XG4gICAgfVxufVxuIl19
@@ -1,8 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- export { TranslatePipe } from './translate.pipe';
6
- export { TranslateService } from './translate.service';
7
- export { TranslationLoader } from './translation.loader';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdmNkL3Nkay8iLCJzb3VyY2VzIjpbImkxOG4vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLDhCQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGlDQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGtDQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90cmFuc2xhdGUucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3RyYW5zbGF0ZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNsYXRpb24ubG9hZGVyJztcbiJdfQ==
@@ -1,92 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { Injectable, Pipe, ChangeDetectorRef } from '@angular/core';
6
- import { TranslateService } from './translate.service';
7
- export class TranslatePipe {
8
- /**
9
- * @param {?} translate
10
- * @param {?} changeDetector
11
- */
12
- constructor(translate, changeDetector) {
13
- this.translate = translate;
14
- this.changeDetector = changeDetector;
15
- this.value = '';
16
- this.lastKey = '';
17
- this.lastArgs = [];
18
- }
19
- /**
20
- * @param {?} key
21
- * @param {...?} args
22
- * @return {?}
23
- */
24
- transform(key, ...args) {
25
- if (!key || key.length === 0) {
26
- return key;
27
- }
28
- if (key === this.lastKey && args === this.lastArgs) {
29
- return this.value;
30
- }
31
- this.lastKey = key;
32
- this.lastArgs = args;
33
- this.updateValue(key, args);
34
- return this.value;
35
- }
36
- /**
37
- * @private
38
- * @param {?} key
39
- * @param {?} args
40
- * @return {?}
41
- */
42
- updateValue(key, args) {
43
- this.translate.get(key, ...args).subscribe((/**
44
- * @param {?} result
45
- * @return {?}
46
- */
47
- result => {
48
- this.value = result;
49
- this.changeDetector.markForCheck();
50
- }));
51
- }
52
- }
53
- TranslatePipe.decorators = [
54
- { type: Injectable },
55
- { type: Pipe, args: [{
56
- name: 'translate',
57
- pure: false
58
- },] }
59
- ];
60
- /** @nocollapse */
61
- TranslatePipe.ctorParameters = () => [
62
- { type: TranslateService },
63
- { type: ChangeDetectorRef }
64
- ];
65
- if (false) {
66
- /**
67
- * @type {?}
68
- * @private
69
- */
70
- TranslatePipe.prototype.value;
71
- /**
72
- * @type {?}
73
- * @private
74
- */
75
- TranslatePipe.prototype.lastKey;
76
- /**
77
- * @type {?}
78
- * @private
79
- */
80
- TranslatePipe.prototype.lastArgs;
81
- /**
82
- * @type {?}
83
- * @private
84
- */
85
- TranslatePipe.prototype.translate;
86
- /**
87
- * @type {?}
88
- * @private
89
- */
90
- TranslatePipe.prototype.changeDetector;
91
- }
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLnBpcGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdmNkL3Nkay8iLCJzb3VyY2VzIjpbImkxOG4vdHJhbnNsYXRlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWlCLElBQUksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQU92RCxNQUFNLE9BQU8sYUFBYTs7Ozs7SUFLdEIsWUFBb0IsU0FBMkIsRUFBVSxjQUFpQztRQUF0RSxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUpsRixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLGFBQVEsR0FBVSxFQUFFLENBQUM7SUFFaUUsQ0FBQzs7Ozs7O0lBRS9GLFNBQVMsQ0FBQyxHQUFXLEVBQUUsR0FBRyxJQUFXO1FBQ2pDLElBQUksQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDMUIsT0FBTyxHQUFHLENBQUM7U0FDZDtRQUVELElBQUksR0FBRyxLQUFLLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxLQUFLLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDaEQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO1NBQ3JCO1FBRUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFNUIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7Ozs7Ozs7SUFFTyxXQUFXLENBQUMsR0FBVyxFQUFFLElBQVc7UUFDeEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsU0FBUzs7OztRQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2hELElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdkMsQ0FBQyxFQUFDLENBQUM7SUFDUCxDQUFDOzs7WUFqQ0osVUFBVTtZQUNWLElBQUksU0FBQztnQkFDRixJQUFJLEVBQUUsV0FBVztnQkFDakIsSUFBSSxFQUFFLEtBQUs7YUFDZDs7OztZQU5RLGdCQUFnQjtZQURpQixpQkFBaUI7Ozs7Ozs7SUFTdkQsOEJBQW1COzs7OztJQUNuQixnQ0FBcUI7Ozs7O0lBQ3JCLGlDQUE2Qjs7Ozs7SUFFakIsa0NBQW1DOzs7OztJQUFFLHVDQUF5QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFBpcGVUcmFuc2Zvcm0sIFBpcGUsIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi90cmFuc2xhdGUuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbkBQaXBlKHtcbiAgICBuYW1lOiAndHJhbnNsYXRlJyxcbiAgICBwdXJlOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgcHJpdmF0ZSB2YWx1ZSA9ICcnO1xuICAgIHByaXZhdGUgbGFzdEtleSA9ICcnO1xuICAgIHByaXZhdGUgbGFzdEFyZ3M6IGFueVtdID0gW107XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSwgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHsgfVxuXG4gICAgdHJhbnNmb3JtKGtleTogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSk6IGFueSB7XG4gICAgICAgIGlmICgha2V5IHx8IGtleS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiBrZXk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoa2V5ID09PSB0aGlzLmxhc3RLZXkgJiYgYXJncyA9PT0gdGhpcy5sYXN0QXJncykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmxhc3RLZXkgPSBrZXk7XG4gICAgICAgIHRoaXMubGFzdEFyZ3MgPSBhcmdzO1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKGtleSwgYXJncyk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVWYWx1ZShrZXk6IHN0cmluZywgYXJnczogYW55W10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy50cmFuc2xhdGUuZ2V0KGtleSwgLi4uYXJncykuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gcmVzdWx0O1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19