diff --git a/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.js b/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.js index d7fc3d0d03..6c81249cb1 100644 --- a/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.js +++ b/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.js @@ -20,6 +20,20 @@ See the Apache Version 2.0 License for specific language governing permissions and limitations under the License. ***************************************************************************** */ + /* global Reflect, Promise */ + + var extendStatics = function(d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + + function __extends(d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + } var __assign = function() { __assign = Object.assign || function __assign(t) { @@ -30,7 +44,164 @@ return t; }; return __assign.apply(this, arguments); - }; + }; + + function __rest(s, e) { + var t = {}; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; + } + + function __decorate(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + 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; + return c > 3 && r && Object.defineProperty(target, key, r), r; + } + + function __param(paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } + } + + function __metadata(metadataKey, metadataValue) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); + } + + function __awaiter(thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + } + + function __generator(thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + 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; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } + } + + function __exportStar(m, exports) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + + function __values(o) { + var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0; + if (m) return m.call(o); + return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + } + + function __read(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } + catch (error) { e = { error: error }; } + finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } + finally { if (e) throw e.error; } + } + return ar; + } + + function __spread() { + for (var ar = [], i = 0; i < arguments.length; i++) + ar = ar.concat(__read(arguments[i])); + return ar; + } + + function __spreadArrays() { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; + }; + + function __await(v) { + return this instanceof __await ? (this.v = v, this) : new __await(v); + } + + function __asyncGenerator(thisArg, _arguments, generator) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var g = generator.apply(thisArg, _arguments || []), i, q = []; + return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; + 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); }); }; } + function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } + function fulfill(value) { resume("next", value); } + function reject(value) { resume("throw", value); } + function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } + } + + function __asyncDelegator(o) { + var i, p; + return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; + 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; } + } + + function __asyncValues(o) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var m = o[Symbol.asyncIterator], i; + 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); + 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); }); }; } + function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } + } + + function __makeTemplateObject(cooked, raw) { + if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + return cooked; + }; + + function __importStar(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result.default = mod; + return result; + } + + function __importDefault(mod) { + return (mod && mod.__esModule) ? mod : { default: mod }; + } /** * @fileoverview added by tsickle @@ -114,6 +285,37 @@ ]; }; return LoginComponent; }()); + if (false) { + /** @type {?} */ + LoginComponent.prototype.form; + /** @type {?} */ + LoginComponent.prototype.inProgress; + /** + * @type {?} + * @private + */ + LoginComponent.prototype.fb; + /** + * @type {?} + * @private + */ + LoginComponent.prototype.oauthService; + /** + * @type {?} + * @private + */ + LoginComponent.prototype.store; + /** + * @type {?} + * @private + */ + LoginComponent.prototype.toasterService; + /** + * @type {?} + * @private + */ + LoginComponent.prototype.options; + } /** * @fileoverview added by tsickle @@ -168,6 +370,13 @@ /** @nocollapse */ AccountService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function AccountService_Factory() { return new AccountService(core.ɵɵinject(ng_core.RestService)); }, token: AccountService, providedIn: "root" }); return AccountService; }()); + if (false) { + /** + * @type {?} + * @private + */ + AccountService.prototype.rest; + } /** * @fileoverview added by tsickle @@ -239,6 +448,27 @@ ]; }; return RegisterComponent; }()); + if (false) { + /** @type {?} */ + RegisterComponent.prototype.form; + /** @type {?} */ + RegisterComponent.prototype.inProgress; + /** + * @type {?} + * @private + */ + RegisterComponent.prototype.fb; + /** + * @type {?} + * @private + */ + RegisterComponent.prototype.accountService; + /** + * @type {?} + * @private + */ + RegisterComponent.prototype.toasterService; + } /** * @fileoverview added by tsickle @@ -360,6 +590,29 @@ ]; }; return TenantBoxComponent; }()); + if (false) { + /** @type {?} */ + TenantBoxComponent.prototype.tenant; + /** @type {?} */ + TenantBoxComponent.prototype.tenantName; + /** @type {?} */ + TenantBoxComponent.prototype.isModalVisible; + /** + * @type {?} + * @private + */ + TenantBoxComponent.prototype.store; + /** + * @type {?} + * @private + */ + TenantBoxComponent.prototype.toasterService; + /** + * @type {?} + * @private + */ + TenantBoxComponent.prototype.accountService; + } /** * @fileoverview added by tsickle @@ -414,6 +667,11 @@ return AccountModule; }()); + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -429,6 +687,104 @@ }, ])); + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** + * @record + */ + function Options() { } + if (false) { + /** @type {?|undefined} */ + Options.prototype.redirectUrl; + } + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** + * @record + */ + function RegisterRequest() { } + if (false) { + /** @type {?} */ + RegisterRequest.prototype.userName; + /** @type {?} */ + RegisterRequest.prototype.emailAddress; + /** @type {?} */ + RegisterRequest.prototype.password; + /** @type {?|undefined} */ + RegisterRequest.prototype.appName; + } + /** + * @record + */ + function RegisterResponse() { } + if (false) { + /** @type {?} */ + RegisterResponse.prototype.tenantId; + /** @type {?} */ + RegisterResponse.prototype.userName; + /** @type {?} */ + RegisterResponse.prototype.name; + /** @type {?} */ + RegisterResponse.prototype.surname; + /** @type {?} */ + RegisterResponse.prototype.email; + /** @type {?} */ + RegisterResponse.prototype.emailConfirmed; + /** @type {?} */ + RegisterResponse.prototype.phoneNumber; + /** @type {?} */ + RegisterResponse.prototype.phoneNumberConfirmed; + /** @type {?} */ + RegisterResponse.prototype.twoFactorEnabled; + /** @type {?} */ + RegisterResponse.prototype.lockoutEnabled; + /** @type {?} */ + RegisterResponse.prototype.lockoutEnd; + /** @type {?} */ + RegisterResponse.prototype.concurrencyStamp; + /** @type {?} */ + RegisterResponse.prototype.isDeleted; + /** @type {?} */ + RegisterResponse.prototype.deleterId; + /** @type {?} */ + RegisterResponse.prototype.deletionTime; + /** @type {?} */ + RegisterResponse.prototype.lastModificationTime; + /** @type {?} */ + RegisterResponse.prototype.lastModifierId; + /** @type {?} */ + RegisterResponse.prototype.creationTime; + /** @type {?} */ + RegisterResponse.prototype.creatorId; + /** @type {?} */ + RegisterResponse.prototype.id; + } + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** + * @record + */ + function TenantIdResponse() { } + if (false) { + /** @type {?} */ + TenantIdResponse.prototype.success; + /** @type {?} */ + TenantIdResponse.prototype.tenantId; + } + exports.ACCOUNT_OPTIONS = ACCOUNT_OPTIONS; exports.ACCOUNT_ROUTES = ACCOUNT_ROUTES; exports.AccountModule = AccountModule; diff --git a/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.js.map b/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.js.map index d315aa736d..3734ddaf50 100644 --- a/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.js.map +++ b/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.account.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.account/lib/components/login/login.component.ts","ng://@abp/ng.account/lib/services/account.service.ts","ng://@abp/ng.account/lib/components/register/register.component.ts","ng://@abp/ng.account/lib/account-routing.module.ts","ng://@abp/ng.account/lib/components/tenant-box/tenant-box.component.ts","ng://@abp/ng.account/lib/tokens/options.token.ts","ng://@abp/ng.account/lib/account.module.ts","ng://@abp/ng.account/lib/constants/routes.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","import { GetAppConfiguration, ConfigState } from '@abp/ng.core';\nimport { Component, Inject, Optional } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { Options } from '../../models/options';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { catchError, finalize, switchMap, tap } from 'rxjs/operators';\nimport snq from 'snq';\n\nconst { maxLength, minLength, required } = Validators;\n\n@Component({\n selector: 'abp-login',\n templateUrl: './login.component.html',\n})\nexport class LoginComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n @Optional() @Inject('ACCOUNT_OPTIONS') private options: Options,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n remember: [false],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage);\n\n this.inProgress = true;\n from(\n this.oauthService.fetchTokenUsingPasswordFlow(this.form.get('username').value, this.form.get('password').value),\n )\n .pipe(\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => {\n const redirectUrl = snq(() => window.history.state).redirectUrl || (this.options || {}).redirectUrl || '/';\n this.store.dispatch(new Navigate([redirectUrl]));\n }),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { RegisterResponse, RegisterRequest, TenantIdResponse } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccountService {\n constructor(private rest: RestService) {}\n\n findTenant(tenantName: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/abp/multi-tenancy/find-tenant/${tenantName}`,\n };\n\n return this.rest.request(request);\n }\n\n register(body: RegisterRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/account/register`,\n body,\n };\n\n return this.rest.request(request, { throwErr: true });\n }\n}\n","import { ToasterService } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { throwError } from 'rxjs';\nimport { catchError, finalize, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { RegisterRequest } from '../../models';\nimport { AccountService } from '../../services/account.service';\nconst { maxLength, minLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-register',\n templateUrl: './register.component.html',\n})\nexport class RegisterComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(private fb: FormBuilder, private accountService: AccountService, private toasterService: ToasterService) {\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n email: ['', [required, email]],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.inProgress = true;\n\n const newUser = {\n userName: this.form.get('username').value,\n password: this.form.get('password').value,\n emailAddress: this.form.get('email').value,\n appName: 'angular',\n } as RegisterRequest;\n\n this.accountService\n .register(newUser)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { DynamicLayoutComponent } from '@abp/ng.core';\n\nconst routes: Routes = [\n { path: '', pathMatch: 'full', redirectTo: 'login' },\n {\n path: '',\n component: DynamicLayoutComponent,\n children: [{ path: 'login', component: LoginComponent }, { path: 'register', component: RegisterComponent }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AccountRoutingModule {}\n","import { ABP, SetTenant, SessionState } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AccountService } from '../../services/account.service';\n\n@Component({\n selector: 'abp-tenant-box',\n templateUrl: './tenant-box.component.html',\n})\nexport class TenantBoxComponent implements OnInit {\n constructor(private store: Store, private toasterService: ToasterService, private accountService: AccountService) {}\n\n tenant = {} as ABP.BasicItem;\n\n tenantName: string;\n\n isModalVisible: boolean;\n\n ngOnInit() {\n this.tenant = this.store.selectSnapshot(SessionState.getTenant) || ({} as ABP.BasicItem);\n this.tenantName = this.tenant.name || '';\n }\n\n onSwitch() {\n this.isModalVisible = true;\n }\n\n save() {\n if (this.tenant.name) {\n this.accountService\n .findTenant(this.tenant.name)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description, 'AbpUi::DefaultErrorMessage'),\n 'AbpUi::Error',\n );\n return throwError(err);\n }),\n )\n .subscribe(({ success, tenantId }) => {\n if (success) {\n this.tenant = {\n id: tenantId,\n name: this.tenant.name,\n };\n this.tenantName = this.tenant.name;\n this.isModalVisible = false;\n } else {\n this.toasterService.error(`AbpUiMultiTenancy::GivenTenantIsNotAvailable`, 'AbpUi::Error', {\n messageLocalizationParams: [this.tenant.name],\n });\n this.tenant = {} as ABP.BasicItem;\n }\n this.store.dispatch(new SetTenant(success ? this.tenant : null));\n });\n } else {\n this.store.dispatch(new SetTenant(null));\n this.tenantName = null;\n this.isModalVisible = false;\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Options } from '../models/options';\n\nexport function optionsFactory(options: Options) {\n return {\n redirectUrl: '/',\n ...options,\n };\n}\n\nexport const ACCOUNT_OPTIONS = new InjectionToken('ACCOUNT_OPTIONS');\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { AccountRoutingModule } from './account-routing.module';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { TenantBoxComponent } from './components/tenant-box/tenant-box.component';\nimport { Options } from './models/options';\nimport { ACCOUNT_OPTIONS, optionsFactory } from './tokens/options.token';\nimport { TableModule } from 'primeng/table';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\n\n@NgModule({\n declarations: [LoginComponent, RegisterComponent, TenantBoxComponent],\n imports: [CoreModule, AccountRoutingModule, ThemeSharedModule, TableModule, NgbDropdownModule, NgxValidateCoreModule],\n exports: [],\n})\nexport class AccountModule {\n static forRoot(options = {} as Options): ModuleWithProviders {\n return {\n ngModule: AccountModule,\n providers: [\n { provide: ACCOUNT_OPTIONS, useValue: options },\n {\n provide: 'ACCOUNT_OPTIONS',\n useFactory: optionsFactory,\n deps: [ACCOUNT_OPTIONS],\n },\n ],\n };\n }\n}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const ACCOUNT_ROUTES = [\n {\n name: 'Account',\n path: 'account',\n invisible: true,\n layout: eLayoutType.application,\n children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }],\n },\n] as ABP.FullRoute[];\n"],"names":["ConfigState","from","switchMap","GetAppConfiguration","tap","Navigate","catchError","throwError","finalize","Component","FormBuilder","OAuthService","Store","ToasterService","Optional","Inject","Injectable","RestService","maxLength","minLength","required","take","DynamicLayoutComponent","NgModule","RouterModule","SessionState","SetTenant","InjectionToken","CoreModule","ThemeSharedModule","TableModule","NgbDropdownModule","NgxValidateCoreModule"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.account.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.account/lib/components/login/login.component.ts","ng://@abp/ng.account/lib/services/account.service.ts","ng://@abp/ng.account/lib/components/register/register.component.ts","ng://@abp/ng.account/lib/account-routing.module.ts","ng://@abp/ng.account/lib/components/tenant-box/tenant-box.component.ts","ng://@abp/ng.account/lib/tokens/options.token.ts","ng://@abp/ng.account/lib/account.module.ts","ng://@abp/ng.account/lib/constants/routes.ts","ng://@abp/ng.account/lib/models/options.ts","ng://@abp/ng.account/lib/models/user.ts","ng://@abp/ng.account/lib/models/tenant.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","import { GetAppConfiguration, ConfigState } from '@abp/ng.core';\nimport { Component, Inject, Optional } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { Options } from '../../models/options';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { catchError, finalize, switchMap, tap } from 'rxjs/operators';\nimport snq from 'snq';\n\nconst { maxLength, minLength, required } = Validators;\n\n@Component({\n selector: 'abp-login',\n templateUrl: './login.component.html',\n})\nexport class LoginComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n @Optional() @Inject('ACCOUNT_OPTIONS') private options: Options,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n remember: [false],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage);\n\n this.inProgress = true;\n from(\n this.oauthService.fetchTokenUsingPasswordFlow(this.form.get('username').value, this.form.get('password').value),\n )\n .pipe(\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => {\n const redirectUrl = snq(() => window.history.state).redirectUrl || (this.options || {}).redirectUrl || '/';\n this.store.dispatch(new Navigate([redirectUrl]));\n }),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { RegisterResponse, RegisterRequest, TenantIdResponse } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccountService {\n constructor(private rest: RestService) {}\n\n findTenant(tenantName: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/abp/multi-tenancy/find-tenant/${tenantName}`,\n };\n\n return this.rest.request(request);\n }\n\n register(body: RegisterRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/account/register`,\n body,\n };\n\n return this.rest.request(request, { throwErr: true });\n }\n}\n","import { ToasterService } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { throwError } from 'rxjs';\nimport { catchError, finalize, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { RegisterRequest } from '../../models';\nimport { AccountService } from '../../services/account.service';\nconst { maxLength, minLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-register',\n templateUrl: './register.component.html',\n})\nexport class RegisterComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(private fb: FormBuilder, private accountService: AccountService, private toasterService: ToasterService) {\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n email: ['', [required, email]],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.inProgress = true;\n\n const newUser = {\n userName: this.form.get('username').value,\n password: this.form.get('password').value,\n emailAddress: this.form.get('email').value,\n appName: 'angular',\n } as RegisterRequest;\n\n this.accountService\n .register(newUser)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { DynamicLayoutComponent } from '@abp/ng.core';\n\nconst routes: Routes = [\n { path: '', pathMatch: 'full', redirectTo: 'login' },\n {\n path: '',\n component: DynamicLayoutComponent,\n children: [{ path: 'login', component: LoginComponent }, { path: 'register', component: RegisterComponent }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AccountRoutingModule {}\n","import { ABP, SetTenant, SessionState } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AccountService } from '../../services/account.service';\n\n@Component({\n selector: 'abp-tenant-box',\n templateUrl: './tenant-box.component.html',\n})\nexport class TenantBoxComponent implements OnInit {\n constructor(private store: Store, private toasterService: ToasterService, private accountService: AccountService) {}\n\n tenant = {} as ABP.BasicItem;\n\n tenantName: string;\n\n isModalVisible: boolean;\n\n ngOnInit() {\n this.tenant = this.store.selectSnapshot(SessionState.getTenant) || ({} as ABP.BasicItem);\n this.tenantName = this.tenant.name || '';\n }\n\n onSwitch() {\n this.isModalVisible = true;\n }\n\n save() {\n if (this.tenant.name) {\n this.accountService\n .findTenant(this.tenant.name)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description, 'AbpUi::DefaultErrorMessage'),\n 'AbpUi::Error',\n );\n return throwError(err);\n }),\n )\n .subscribe(({ success, tenantId }) => {\n if (success) {\n this.tenant = {\n id: tenantId,\n name: this.tenant.name,\n };\n this.tenantName = this.tenant.name;\n this.isModalVisible = false;\n } else {\n this.toasterService.error(`AbpUiMultiTenancy::GivenTenantIsNotAvailable`, 'AbpUi::Error', {\n messageLocalizationParams: [this.tenant.name],\n });\n this.tenant = {} as ABP.BasicItem;\n }\n this.store.dispatch(new SetTenant(success ? this.tenant : null));\n });\n } else {\n this.store.dispatch(new SetTenant(null));\n this.tenantName = null;\n this.isModalVisible = false;\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Options } from '../models/options';\n\nexport function optionsFactory(options: Options) {\n return {\n redirectUrl: '/',\n ...options,\n };\n}\n\nexport const ACCOUNT_OPTIONS = new InjectionToken('ACCOUNT_OPTIONS');\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { AccountRoutingModule } from './account-routing.module';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { TenantBoxComponent } from './components/tenant-box/tenant-box.component';\nimport { Options } from './models/options';\nimport { ACCOUNT_OPTIONS, optionsFactory } from './tokens/options.token';\nimport { TableModule } from 'primeng/table';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\n\n@NgModule({\n declarations: [LoginComponent, RegisterComponent, TenantBoxComponent],\n imports: [CoreModule, AccountRoutingModule, ThemeSharedModule, TableModule, NgbDropdownModule, NgxValidateCoreModule],\n exports: [],\n})\nexport class AccountModule {\n static forRoot(options = {} as Options): ModuleWithProviders {\n return {\n ngModule: AccountModule,\n providers: [\n { provide: ACCOUNT_OPTIONS, useValue: options },\n {\n provide: 'ACCOUNT_OPTIONS',\n useFactory: optionsFactory,\n deps: [ACCOUNT_OPTIONS],\n },\n ],\n };\n }\n}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const ACCOUNT_ROUTES = [\n {\n name: 'Account',\n path: 'account',\n invisible: true,\n layout: eLayoutType.application,\n children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }],\n },\n] as ABP.FullRoute[];\n","export interface Options {\n redirectUrl?: string;\n}\n","export interface RegisterRequest {\n userName: string;\n emailAddress: string;\n password: string;\n appName?: string;\n}\n\nexport interface RegisterResponse {\n tenantId: string;\n userName: string;\n name: string;\n surname: string;\n email: string;\n emailConfirmed: boolean;\n phoneNumber: string;\n phoneNumberConfirmed: boolean;\n twoFactorEnabled: boolean;\n lockoutEnabled: boolean;\n lockoutEnd: string;\n concurrencyStamp: string;\n isDeleted: boolean;\n deleterId: string;\n deletionTime: string;\n lastModificationTime: string;\n lastModifierId: string;\n creationTime: string;\n creatorId: string;\n id: string;\n}\n","export interface TenantIdResponse {\n success: boolean;\n tenantId: string;\n}\n"],"names":["ConfigState","from","switchMap","GetAppConfiguration","tap","Navigate","catchError","throwError","finalize","Component","FormBuilder","OAuthService","Store","ToasterService","Optional","Inject","Injectable","RestService","maxLength","minLength","required","take","DynamicLayoutComponent","NgModule","RouterModule","SessionState","SetTenant","InjectionToken","CoreModule","ThemeSharedModule","TableModule","NgbDropdownModule","NgxValidateCoreModule"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.min.js b/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.min.js index 054f1803cd..199f8b1a5a 100644 --- a/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.min.js +++ b/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.min.js @@ -1,2 +1,2 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@abp/ng.core"),require("@angular/core"),require("@angular/router"),require("@angular/forms"),require("@ngxs/router-plugin"),require("@ngxs/store"),require("angular-oauth2-oidc"),require("rxjs"),require("@abp/ng.theme.shared"),require("rxjs/operators"),require("snq"),require("primeng/table"),require("@ng-bootstrap/ng-bootstrap"),require("@ngx-validate/core")):"function"==typeof define&&define.amd?define("@abp/ng.account",["exports","@abp/ng.core","@angular/core","@angular/router","@angular/forms","@ngxs/router-plugin","@ngxs/store","angular-oauth2-oidc","rxjs","@abp/ng.theme.shared","rxjs/operators","snq","primeng/table","@ng-bootstrap/ng-bootstrap","@ngx-validate/core"],t):t(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng.account={}),e.ng_core,e.ng.core,e.ng.router,e.ng.forms,e.routerPlugin,e.store,e.angularOauth2Oidc,e.rxjs,e.ng_theme_shared,e.rxjs.operators,e.snq,e.table,e.ngBootstrap,e.core$1)}(this,function(e,t,n,r,o,a,i,s,c,u,p,l,d,m,b){"use strict";l=l&&l.hasOwnProperty("default")?l.default:l;var g=function(){return(g=Object.assign||function(e){for(var t,n=1,r=arguments.length;n\n
\n \n\n \n
\n\n'}]}],e.ctorParameters=function(){return[{type:o.FormBuilder},{type:s.OAuthService},{type:i.Store},{type:u.ToasterService},{type:void 0,decorators:[{type:n.Optional},{type:n.Inject,args:["ACCOUNT_OPTIONS"]}]}]},e}(),y=function(){function e(e){this.rest=e}return e.prototype.findTenant=function(e){var t={method:"GET",url:"/api/abp/multi-tenancy/find-tenant/"+e};return this.rest.request(t)},e.prototype.register=function(e){var t={method:"POST",url:"/api/account/register",body:e};return this.rest.request(t,{throwErr:!0})},e.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:t.RestService}]},e.ngInjectableDef=n.ɵɵdefineInjectable({factory:function(){return new e(n.ɵɵinject(t.RestService))},token:e,providedIn:"root"}),e}(),S=o.Validators.maxLength,A=(o.Validators.minLength,o.Validators.required),w=o.Validators.email,T=function(){function e(e,t,n){this.fb=e,this.accountService=t,this.toasterService=n,this.form=this.fb.group({username:["",[A,S(255)]],password:["",[A,S(32)]],email:["",[A,w]]})}return e.prototype.onSubmit=function(){var e=this;if(!this.form.invalid){this.inProgress=!0;var t={userName:this.form.get("username").value,password:this.form.get("password").value,emailAddress:this.form.get("email").value,appName:"angular"};this.accountService.register(t).pipe(p.take(1),p.catchError(function(t){return e.toasterService.error(l(function(){return t.error.error_description})||l(function(){return t.error.error.message},"AbpAccount::DefaultErrorMessage"),"Error",{life:7e3}),c.throwError(t)}),p.finalize(function(){return e.inProgress=!1})).subscribe()}},e.decorators=[{type:n.Component,args:[{selector:"abp-register",template:'
\n
\n \n\n \n
\n
\n'}]}],e.ctorParameters=function(){return[{type:o.FormBuilder},{type:y},{type:u.ToasterService}]},e}(),x=[{path:"",pathMatch:"full",redirectTo:"login"},{path:"",component:t.DynamicLayoutComponent,children:[{path:"login",component:v},{path:"register",component:T}]}],L=function(){function e(){}return e.decorators=[{type:n.NgModule,args:[{imports:[r.RouterModule.forChild(x)],exports:[r.RouterModule]}]}],e}(),M=function(){function e(e,t,n){this.store=e,this.toasterService=t,this.accountService=n,this.tenant={}}return e.prototype.ngOnInit=function(){this.tenant=this.store.selectSnapshot(t.SessionState.getTenant)||{},this.tenantName=this.tenant.name||""},e.prototype.onSwitch=function(){this.isModalVisible=!0},e.prototype.save=function(){var e=this;this.tenant.name?this.accountService.findTenant(this.tenant.name).pipe(p.take(1),p.catchError(function(t){return e.toasterService.error(l(function(){return t.error.error_description},"AbpUi::DefaultErrorMessage"),"AbpUi::Error"),c.throwError(t)})).subscribe(function(n){var r=n.success,o=n.tenantId;r?(e.tenant={id:o,name:e.tenant.name},e.tenantName=e.tenant.name,e.isModalVisible=!1):(e.toasterService.error("AbpUiMultiTenancy::GivenTenantIsNotAvailable","AbpUi::Error",{messageLocalizationParams:[e.tenant.name]}),e.tenant={}),e.store.dispatch(new t.SetTenant(r?e.tenant:null))}):(this.store.dispatch(new t.SetTenant(null)),this.tenantName=null,this.isModalVisible=!1)},e.decorators=[{type:n.Component,args:[{selector:"abp-tenant-box",template:'\n {{ \'AbpUiMultiTenancy::Tenant\' | abpLocalization }}: \n \n {{ tenantName || (\'AbpUiMultiTenancy::NotSelected\' | abpLocalization) }}\n \n ({{\n \'AbpUiMultiTenancy::Switch\' | abpLocalization\n }})\n\n\n\n \n
Switch Tenant
\n
\n \n
\n
\n
\n \n \n
\n

{{ \'AbpUiMultiTenancy::SwitchTenantHint\' | abpLocalization }}

\n
\n
\n
\n \n \n \n \n
\n'}]}],e.ctorParameters=function(){return[{type:i.Store},{type:u.ToasterService},{type:y}]},e}();function N(e){return g({redirectUrl:"/"},e)}var C=new n.InjectionToken("ACCOUNT_OPTIONS"),O=function(){function e(){}return e.forRoot=function(t){return void 0===t&&(t={}),{ngModule:e,providers:[{provide:C,useValue:t},{provide:"ACCOUNT_OPTIONS",useFactory:N,deps:[C]}]}},e.decorators=[{type:n.NgModule,args:[{declarations:[v,T,M],imports:[t.CoreModule,L,u.ThemeSharedModule,d.TableModule,m.NgbDropdownModule,b.NgxValidateCoreModule],exports:[]}]}],e}();e.ACCOUNT_OPTIONS=C,e.ACCOUNT_ROUTES=[{name:"Account",path:"account",invisible:!0,layout:"application",children:[{path:"login",name:"Login",order:1},{path:"register",name:"Register",order:2}]}],e.AccountModule=O,e.LoginComponent=v,e.RegisterComponent=T,e.optionsFactory=N,e.ɵa=v,e.ɵc=T,e.ɵd=y,e.ɵe=M,e.ɵf=L,e.ɵg=N,e.ɵh=C,Object.defineProperty(e,"__esModule",{value:!0})}); +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@abp/ng.core"),require("@angular/core"),require("@angular/router"),require("@angular/forms"),require("@ngxs/router-plugin"),require("@ngxs/store"),require("angular-oauth2-oidc"),require("rxjs"),require("@abp/ng.theme.shared"),require("rxjs/operators"),require("snq"),require("primeng/table"),require("@ng-bootstrap/ng-bootstrap"),require("@ngx-validate/core")):"function"==typeof define&&define.amd?define("@abp/ng.account",["exports","@abp/ng.core","@angular/core","@angular/router","@angular/forms","@ngxs/router-plugin","@ngxs/store","angular-oauth2-oidc","rxjs","@abp/ng.theme.shared","rxjs/operators","snq","primeng/table","@ng-bootstrap/ng-bootstrap","@ngx-validate/core"],t):t(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng.account={}),e.ng_core,e.ng.core,e.ng.router,e.ng.forms,e.routerPlugin,e.store,e.angularOauth2Oidc,e.rxjs,e.ng_theme_shared,e.rxjs.operators,e.snq,e.table,e.ngBootstrap,e.core$1)}(this,function(e,t,n,r,o,a,i,s,c,u,p,l,d,m,b){"use strict";l=l&&l.hasOwnProperty("default")?l.default:l;var g=function(){return(g=Object.assign||function(e){for(var t,n=1,r=arguments.length;n\n
\n\n'}]}],e.ctorParameters=function(){return[{type:o.FormBuilder},{type:s.OAuthService},{type:i.Store},{type:u.ToasterService},{type:void 0,decorators:[{type:n.Optional},{type:n.Inject,args:["ACCOUNT_OPTIONS"]}]}]},e}();var y=function(){function e(e){this.rest=e}return e.prototype.findTenant=function(e){var t={method:"GET",url:"/api/abp/multi-tenancy/find-tenant/"+e};return this.rest.request(t)},e.prototype.register=function(e){var t={method:"POST",url:"/api/account/register",body:e};return this.rest.request(t,{throwErr:!0})},e.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:t.RestService}]},e.ngInjectableDef=n.ɵɵdefineInjectable({factory:function(){return new e(n.ɵɵinject(t.RestService))},token:e,providedIn:"root"}),e}();var S=o.Validators.maxLength,A=(o.Validators.minLength,o.Validators.required),w=o.Validators.email,T=function(){function e(e,t,n){this.fb=e,this.accountService=t,this.toasterService=n,this.form=this.fb.group({username:["",[A,S(255)]],password:["",[A,S(32)]],email:["",[A,w]]})}return e.prototype.onSubmit=function(){var e=this;if(!this.form.invalid){this.inProgress=!0;var t={userName:this.form.get("username").value,password:this.form.get("password").value,emailAddress:this.form.get("email").value,appName:"angular"};this.accountService.register(t).pipe(p.take(1),p.catchError(function(t){return e.toasterService.error(l(function(){return t.error.error_description})||l(function(){return t.error.error.message},"AbpAccount::DefaultErrorMessage"),"Error",{life:7e3}),c.throwError(t)}),p.finalize(function(){return e.inProgress=!1})).subscribe()}},e.decorators=[{type:n.Component,args:[{selector:"abp-register",template:'
\n
\n \n\n \n
\n
\n'}]}],e.ctorParameters=function(){return[{type:o.FormBuilder},{type:y},{type:u.ToasterService}]},e}();var x=[{path:"",pathMatch:"full",redirectTo:"login"},{path:"",component:t.DynamicLayoutComponent,children:[{path:"login",component:v},{path:"register",component:T}]}],L=function(){function e(){}return e.decorators=[{type:n.NgModule,args:[{imports:[r.RouterModule.forChild(x)],exports:[r.RouterModule]}]}],e}(),M=function(){function e(e,t,n){this.store=e,this.toasterService=t,this.accountService=n,this.tenant={}}return e.prototype.ngOnInit=function(){this.tenant=this.store.selectSnapshot(t.SessionState.getTenant)||{},this.tenantName=this.tenant.name||""},e.prototype.onSwitch=function(){this.isModalVisible=!0},e.prototype.save=function(){var e=this;this.tenant.name?this.accountService.findTenant(this.tenant.name).pipe(p.take(1),p.catchError(function(t){return e.toasterService.error(l(function(){return t.error.error_description},"AbpUi::DefaultErrorMessage"),"AbpUi::Error"),c.throwError(t)})).subscribe(function(n){var r=n.success,o=n.tenantId;r?(e.tenant={id:o,name:e.tenant.name},e.tenantName=e.tenant.name,e.isModalVisible=!1):(e.toasterService.error("AbpUiMultiTenancy::GivenTenantIsNotAvailable","AbpUi::Error",{messageLocalizationParams:[e.tenant.name]}),e.tenant={}),e.store.dispatch(new t.SetTenant(r?e.tenant:null))}):(this.store.dispatch(new t.SetTenant(null)),this.tenantName=null,this.isModalVisible=!1)},e.decorators=[{type:n.Component,args:[{selector:"abp-tenant-box",template:'\n {{ \'AbpUiMultiTenancy::Tenant\' | abpLocalization }}: \n \n {{ tenantName || (\'AbpUiMultiTenancy::NotSelected\' | abpLocalization) }}\n \n ({{\n \'AbpUiMultiTenancy::Switch\' | abpLocalization\n }})\n\n\n\n \n
Switch Tenant
\n
\n \n
\n
\n
\n \n \n
\n

{{ \'AbpUiMultiTenancy::SwitchTenantHint\' | abpLocalization }}

\n
\n
\n
\n \n \n \n \n
\n'}]}],e.ctorParameters=function(){return[{type:i.Store},{type:u.ToasterService},{type:y}]},e}();function N(e){return g({redirectUrl:"/"},e)}var C=new n.InjectionToken("ACCOUNT_OPTIONS"),O=function(){function e(){}return e.forRoot=function(t){return void 0===t&&(t={}),{ngModule:e,providers:[{provide:C,useValue:t},{provide:"ACCOUNT_OPTIONS",useFactory:N,deps:[C]}]}},e.decorators=[{type:n.NgModule,args:[{declarations:[v,T,M],imports:[t.CoreModule,L,u.ThemeSharedModule,d.TableModule,m.NgbDropdownModule,b.NgxValidateCoreModule],exports:[]}]}],e}();e.ACCOUNT_OPTIONS=C,e.ACCOUNT_ROUTES=[{name:"Account",path:"account",invisible:!0,layout:"application",children:[{path:"login",name:"Login",order:1},{path:"register",name:"Register",order:2}]}],e.AccountModule=O,e.LoginComponent=v,e.RegisterComponent=T,e.optionsFactory=N,e.ɵa=v,e.ɵc=T,e.ɵd=y,e.ɵe=M,e.ɵf=L,e.ɵg=N,e.ɵh=C,Object.defineProperty(e,"__esModule",{value:!0})}); //# sourceMappingURL=abp-ng.account.umd.min.js.map \ No newline at end of file diff --git a/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.min.js.map b/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.min.js.map index 78c1bbc034..677331cae6 100644 --- a/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.min.js.map +++ b/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.account/lib/components/login/login.component.ts","ng://@abp/ng.account/lib/services/account.service.ts","ng://@abp/ng.account/lib/components/register/register.component.ts","ng://@abp/ng.account/lib/account-routing.module.ts","ng://@abp/ng.account/lib/components/tenant-box/tenant-box.component.ts","ng://@abp/ng.account/lib/tokens/options.token.ts","ng://@abp/ng.account/lib/account.module.ts","ng://@abp/ng.account/lib/constants/routes.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","maxLength","forms","Validators","required","minLength","LoginComponent","fb","oauthService","store","toasterService","options","configure","selectSnapshot","ConfigState","getOne","oAuthConfig","loadDiscoveryDocument","form","group","username","password","remember","onSubmit","_this","invalid","setStorage","value","localStorage","sessionStorage","inProgress","from","fetchTokenUsingPasswordFlow","get","pipe","switchMap","dispatch","GetAppConfiguration","tap","redirectUrl","snq","window","history","state","Navigate","catchError","err","error","error_description","message","life","throwError","finalize","subscribe","Component","args","selector","template","FormBuilder","OAuthService","Store","ToasterService","Optional","type","Inject","AccountService","rest","findTenant","tenantName","request","method","url","register","body","throwErr","Injectable","providedIn","RestService","email","RegisterComponent","accountService","newUser","userName","emailAddress","appName","take","routes","path","pathMatch","redirectTo","component","DynamicLayoutComponent","children","AccountRoutingModule","NgModule","imports","RouterModule","forChild","exports","TenantBoxComponent","tenant","ngOnInit","SessionState","getTenant","name","onSwitch","isModalVisible","save","_a","success","tenantId","id","messageLocalizationParams","SetTenant","optionsFactory","ACCOUNT_OPTIONS","InjectionToken","AccountModule","forRoot","ngModule","providers","provide","useValue","useFactory","deps","declarations","CoreModule","ThemeSharedModule","TableModule","NgbDropdownModule","NgxValidateCoreModule","invisible","layout","order"],"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","import { GetAppConfiguration, ConfigState } from '@abp/ng.core';\nimport { Component, Inject, Optional } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { Options } from '../../models/options';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { catchError, finalize, switchMap, tap } from 'rxjs/operators';\nimport snq from 'snq';\n\nconst { maxLength, minLength, required } = Validators;\n\n@Component({\n selector: 'abp-login',\n templateUrl: './login.component.html',\n})\nexport class LoginComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n @Optional() @Inject('ACCOUNT_OPTIONS') private options: Options,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n remember: [false],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage);\n\n this.inProgress = true;\n from(\n this.oauthService.fetchTokenUsingPasswordFlow(this.form.get('username').value, this.form.get('password').value),\n )\n .pipe(\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => {\n const redirectUrl = snq(() => window.history.state).redirectUrl || (this.options || {}).redirectUrl || '/';\n this.store.dispatch(new Navigate([redirectUrl]));\n }),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { RegisterResponse, RegisterRequest, TenantIdResponse } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccountService {\n constructor(private rest: RestService) {}\n\n findTenant(tenantName: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/abp/multi-tenancy/find-tenant/${tenantName}`,\n };\n\n return this.rest.request(request);\n }\n\n register(body: RegisterRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/account/register`,\n body,\n };\n\n return this.rest.request(request, { throwErr: true });\n }\n}\n","import { ToasterService } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { throwError } from 'rxjs';\nimport { catchError, finalize, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { RegisterRequest } from '../../models';\nimport { AccountService } from '../../services/account.service';\nconst { maxLength, minLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-register',\n templateUrl: './register.component.html',\n})\nexport class RegisterComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(private fb: FormBuilder, private accountService: AccountService, private toasterService: ToasterService) {\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n email: ['', [required, email]],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.inProgress = true;\n\n const newUser = {\n userName: this.form.get('username').value,\n password: this.form.get('password').value,\n emailAddress: this.form.get('email').value,\n appName: 'angular',\n } as RegisterRequest;\n\n this.accountService\n .register(newUser)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { DynamicLayoutComponent } from '@abp/ng.core';\n\nconst routes: Routes = [\n { path: '', pathMatch: 'full', redirectTo: 'login' },\n {\n path: '',\n component: DynamicLayoutComponent,\n children: [{ path: 'login', component: LoginComponent }, { path: 'register', component: RegisterComponent }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AccountRoutingModule {}\n","import { ABP, SetTenant, SessionState } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AccountService } from '../../services/account.service';\n\n@Component({\n selector: 'abp-tenant-box',\n templateUrl: './tenant-box.component.html',\n})\nexport class TenantBoxComponent implements OnInit {\n constructor(private store: Store, private toasterService: ToasterService, private accountService: AccountService) {}\n\n tenant = {} as ABP.BasicItem;\n\n tenantName: string;\n\n isModalVisible: boolean;\n\n ngOnInit() {\n this.tenant = this.store.selectSnapshot(SessionState.getTenant) || ({} as ABP.BasicItem);\n this.tenantName = this.tenant.name || '';\n }\n\n onSwitch() {\n this.isModalVisible = true;\n }\n\n save() {\n if (this.tenant.name) {\n this.accountService\n .findTenant(this.tenant.name)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description, 'AbpUi::DefaultErrorMessage'),\n 'AbpUi::Error',\n );\n return throwError(err);\n }),\n )\n .subscribe(({ success, tenantId }) => {\n if (success) {\n this.tenant = {\n id: tenantId,\n name: this.tenant.name,\n };\n this.tenantName = this.tenant.name;\n this.isModalVisible = false;\n } else {\n this.toasterService.error(`AbpUiMultiTenancy::GivenTenantIsNotAvailable`, 'AbpUi::Error', {\n messageLocalizationParams: [this.tenant.name],\n });\n this.tenant = {} as ABP.BasicItem;\n }\n this.store.dispatch(new SetTenant(success ? this.tenant : null));\n });\n } else {\n this.store.dispatch(new SetTenant(null));\n this.tenantName = null;\n this.isModalVisible = false;\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Options } from '../models/options';\n\nexport function optionsFactory(options: Options) {\n return {\n redirectUrl: '/',\n ...options,\n };\n}\n\nexport const ACCOUNT_OPTIONS = new InjectionToken('ACCOUNT_OPTIONS');\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { AccountRoutingModule } from './account-routing.module';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { TenantBoxComponent } from './components/tenant-box/tenant-box.component';\nimport { Options } from './models/options';\nimport { ACCOUNT_OPTIONS, optionsFactory } from './tokens/options.token';\nimport { TableModule } from 'primeng/table';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\n\n@NgModule({\n declarations: [LoginComponent, RegisterComponent, TenantBoxComponent],\n imports: [CoreModule, AccountRoutingModule, ThemeSharedModule, TableModule, NgbDropdownModule, NgxValidateCoreModule],\n exports: [],\n})\nexport class AccountModule {\n static forRoot(options = {} as Options): ModuleWithProviders {\n return {\n ngModule: AccountModule,\n providers: [\n { provide: ACCOUNT_OPTIONS, useValue: options },\n {\n provide: 'ACCOUNT_OPTIONS',\n useFactory: optionsFactory,\n deps: [ACCOUNT_OPTIONS],\n },\n ],\n };\n }\n}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const ACCOUNT_ROUTES = [\n {\n name: 'Account',\n path: 'account',\n invisible: true,\n layout: eLayoutType.application,\n children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }],\n },\n] as ABP.FullRoute[];\n"]} \ No newline at end of file +{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.account/lib/components/login/login.component.ts","ng://@abp/ng.account/lib/services/account.service.ts","ng://@abp/ng.account/lib/components/register/register.component.ts","ng://@abp/ng.account/lib/account-routing.module.ts","ng://@abp/ng.account/lib/components/tenant-box/tenant-box.component.ts","ng://@abp/ng.account/lib/tokens/options.token.ts","ng://@abp/ng.account/lib/account.module.ts","ng://@abp/ng.account/lib/constants/routes.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","maxLength","forms","Validators","required","minLength","LoginComponent","fb","oauthService","store","toasterService","options","configure","selectSnapshot","ConfigState","getOne","oAuthConfig","loadDiscoveryDocument","form","group","username","password","remember","onSubmit","_this","invalid","setStorage","value","localStorage","sessionStorage","inProgress","from","fetchTokenUsingPasswordFlow","get","pipe","switchMap","dispatch","GetAppConfiguration","tap","redirectUrl","snq","window","history","state","Navigate","catchError","err","error","error_description","message","life","throwError","finalize","subscribe","Component","args","selector","template","FormBuilder","OAuthService","Store","ToasterService","Optional","type","Inject","AccountService","rest","findTenant","tenantName","request","method","url","register","body","throwErr","Injectable","providedIn","RestService","email","RegisterComponent","accountService","newUser","userName","emailAddress","appName","take","routes","path","pathMatch","redirectTo","component","DynamicLayoutComponent","children","AccountRoutingModule","NgModule","imports","RouterModule","forChild","exports","TenantBoxComponent","tenant","ngOnInit","SessionState","getTenant","name","onSwitch","isModalVisible","save","_a","success","tenantId","id","messageLocalizationParams","SetTenant","optionsFactory","ACCOUNT_OPTIONS","InjectionToken","AccountModule","forRoot","ngModule","providers","provide","useValue","useFactory","deps","declarations","CoreModule","ThemeSharedModule","TableModule","NgbDropdownModule","NgxValidateCoreModule","invisible","layout","order"],"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","import { GetAppConfiguration, ConfigState } from '@abp/ng.core';\nimport { Component, Inject, Optional } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { Options } from '../../models/options';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { catchError, finalize, switchMap, tap } from 'rxjs/operators';\nimport snq from 'snq';\n\nconst { maxLength, minLength, required } = Validators;\n\n@Component({\n selector: 'abp-login',\n templateUrl: './login.component.html',\n})\nexport class LoginComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n @Optional() @Inject('ACCOUNT_OPTIONS') private options: Options,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n remember: [false],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage);\n\n this.inProgress = true;\n from(\n this.oauthService.fetchTokenUsingPasswordFlow(this.form.get('username').value, this.form.get('password').value),\n )\n .pipe(\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => {\n const redirectUrl = snq(() => window.history.state).redirectUrl || (this.options || {}).redirectUrl || '/';\n this.store.dispatch(new Navigate([redirectUrl]));\n }),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { RegisterResponse, RegisterRequest, TenantIdResponse } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccountService {\n constructor(private rest: RestService) {}\n\n findTenant(tenantName: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/abp/multi-tenancy/find-tenant/${tenantName}`,\n };\n\n return this.rest.request(request);\n }\n\n register(body: RegisterRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/account/register`,\n body,\n };\n\n return this.rest.request(request, { throwErr: true });\n }\n}\n","import { ToasterService } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { throwError } from 'rxjs';\nimport { catchError, finalize, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { RegisterRequest } from '../../models';\nimport { AccountService } from '../../services/account.service';\nconst { maxLength, minLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-register',\n templateUrl: './register.component.html',\n})\nexport class RegisterComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(private fb: FormBuilder, private accountService: AccountService, private toasterService: ToasterService) {\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n email: ['', [required, email]],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.inProgress = true;\n\n const newUser = {\n userName: this.form.get('username').value,\n password: this.form.get('password').value,\n emailAddress: this.form.get('email').value,\n appName: 'angular',\n } as RegisterRequest;\n\n this.accountService\n .register(newUser)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { DynamicLayoutComponent } from '@abp/ng.core';\n\nconst routes: Routes = [\n { path: '', pathMatch: 'full', redirectTo: 'login' },\n {\n path: '',\n component: DynamicLayoutComponent,\n children: [{ path: 'login', component: LoginComponent }, { path: 'register', component: RegisterComponent }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AccountRoutingModule {}\n","import { ABP, SetTenant, SessionState } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AccountService } from '../../services/account.service';\n\n@Component({\n selector: 'abp-tenant-box',\n templateUrl: './tenant-box.component.html',\n})\nexport class TenantBoxComponent implements OnInit {\n constructor(private store: Store, private toasterService: ToasterService, private accountService: AccountService) {}\n\n tenant = {} as ABP.BasicItem;\n\n tenantName: string;\n\n isModalVisible: boolean;\n\n ngOnInit() {\n this.tenant = this.store.selectSnapshot(SessionState.getTenant) || ({} as ABP.BasicItem);\n this.tenantName = this.tenant.name || '';\n }\n\n onSwitch() {\n this.isModalVisible = true;\n }\n\n save() {\n if (this.tenant.name) {\n this.accountService\n .findTenant(this.tenant.name)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description, 'AbpUi::DefaultErrorMessage'),\n 'AbpUi::Error',\n );\n return throwError(err);\n }),\n )\n .subscribe(({ success, tenantId }) => {\n if (success) {\n this.tenant = {\n id: tenantId,\n name: this.tenant.name,\n };\n this.tenantName = this.tenant.name;\n this.isModalVisible = false;\n } else {\n this.toasterService.error(`AbpUiMultiTenancy::GivenTenantIsNotAvailable`, 'AbpUi::Error', {\n messageLocalizationParams: [this.tenant.name],\n });\n this.tenant = {} as ABP.BasicItem;\n }\n this.store.dispatch(new SetTenant(success ? this.tenant : null));\n });\n } else {\n this.store.dispatch(new SetTenant(null));\n this.tenantName = null;\n this.isModalVisible = false;\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Options } from '../models/options';\n\nexport function optionsFactory(options: Options) {\n return {\n redirectUrl: '/',\n ...options,\n };\n}\n\nexport const ACCOUNT_OPTIONS = new InjectionToken('ACCOUNT_OPTIONS');\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { AccountRoutingModule } from './account-routing.module';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { TenantBoxComponent } from './components/tenant-box/tenant-box.component';\nimport { Options } from './models/options';\nimport { ACCOUNT_OPTIONS, optionsFactory } from './tokens/options.token';\nimport { TableModule } from 'primeng/table';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\n\n@NgModule({\n declarations: [LoginComponent, RegisterComponent, TenantBoxComponent],\n imports: [CoreModule, AccountRoutingModule, ThemeSharedModule, TableModule, NgbDropdownModule, NgxValidateCoreModule],\n exports: [],\n})\nexport class AccountModule {\n static forRoot(options = {} as Options): ModuleWithProviders {\n return {\n ngModule: AccountModule,\n providers: [\n { provide: ACCOUNT_OPTIONS, useValue: options },\n {\n provide: 'ACCOUNT_OPTIONS',\n useFactory: optionsFactory,\n deps: [ACCOUNT_OPTIONS],\n },\n ],\n };\n }\n}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const ACCOUNT_ROUTES = [\n {\n name: 'Account',\n path: 'account',\n invisible: true,\n layout: eLayoutType.application,\n children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }],\n },\n] as ABP.FullRoute[];\n"]} \ No newline at end of file diff --git a/npm/ng-packs/dist/account/fesm2015/abp-ng.account.js b/npm/ng-packs/dist/account/fesm2015/abp-ng.account.js index 09b2b102e0..649b54a06b 100644 --- a/npm/ng-packs/dist/account/fesm2015/abp-ng.account.js +++ b/npm/ng-packs/dist/account/fesm2015/abp-ng.account.js @@ -1,7 +1,7 @@ import { ConfigState, GetAppConfiguration, RestService, DynamicLayoutComponent, SessionState, SetTenant, CoreModule } from '@abp/ng.core'; import { Component, Optional, Inject, Injectable, ɵɵdefineInjectable, ɵɵinject, NgModule, InjectionToken } from '@angular/core'; import { RouterModule } from '@angular/router'; -import { FormBuilder, Validators } from '@angular/forms'; +import { Validators, FormBuilder } from '@angular/forms'; import { Navigate } from '@ngxs/router-plugin'; import { Store } from '@ngxs/store'; import { OAuthService } from 'angular-oauth2-oidc'; @@ -97,6 +97,37 @@ LoginComponent.ctorParameters = () => [ { type: ToasterService }, { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: ['ACCOUNT_OPTIONS',] }] } ]; +if (false) { + /** @type {?} */ + LoginComponent.prototype.form; + /** @type {?} */ + LoginComponent.prototype.inProgress; + /** + * @type {?} + * @private + */ + LoginComponent.prototype.fb; + /** + * @type {?} + * @private + */ + LoginComponent.prototype.oauthService; + /** + * @type {?} + * @private + */ + LoginComponent.prototype.store; + /** + * @type {?} + * @private + */ + LoginComponent.prototype.toasterService; + /** + * @type {?} + * @private + */ + LoginComponent.prototype.options; +} /** * @fileoverview added by tsickle @@ -145,6 +176,13 @@ AccountService.ctorParameters = () => [ { type: RestService } ]; /** @nocollapse */ AccountService.ngInjectableDef = ɵɵdefineInjectable({ factory: function AccountService_Factory() { return new AccountService(ɵɵinject(RestService)); }, token: AccountService, providedIn: "root" }); +if (false) { + /** + * @type {?} + * @private + */ + AccountService.prototype.rest; +} /** * @fileoverview added by tsickle @@ -216,6 +254,27 @@ RegisterComponent.ctorParameters = () => [ { type: AccountService }, { type: ToasterService } ]; +if (false) { + /** @type {?} */ + RegisterComponent.prototype.form; + /** @type {?} */ + RegisterComponent.prototype.inProgress; + /** + * @type {?} + * @private + */ + RegisterComponent.prototype.fb; + /** + * @type {?} + * @private + */ + RegisterComponent.prototype.accountService; + /** + * @type {?} + * @private + */ + RegisterComponent.prototype.toasterService; +} /** * @fileoverview added by tsickle @@ -327,6 +386,29 @@ TenantBoxComponent.ctorParameters = () => [ { type: ToasterService }, { type: AccountService } ]; +if (false) { + /** @type {?} */ + TenantBoxComponent.prototype.tenant; + /** @type {?} */ + TenantBoxComponent.prototype.tenantName; + /** @type {?} */ + TenantBoxComponent.prototype.isModalVisible; + /** + * @type {?} + * @private + */ + TenantBoxComponent.prototype.store; + /** + * @type {?} + * @private + */ + TenantBoxComponent.prototype.toasterService; + /** + * @type {?} + * @private + */ + TenantBoxComponent.prototype.accountService; +} /** * @fileoverview added by tsickle @@ -373,6 +455,11 @@ AccountModule.decorators = [ },] } ]; +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -388,5 +475,118 @@ const ACCOUNT_ROUTES = (/** @type {?} */ ([ }, ])); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +/** + * @record + */ +function Options() { } +if (false) { + /** @type {?|undefined} */ + Options.prototype.redirectUrl; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +/** + * @record + */ +function RegisterRequest() { } +if (false) { + /** @type {?} */ + RegisterRequest.prototype.userName; + /** @type {?} */ + RegisterRequest.prototype.emailAddress; + /** @type {?} */ + RegisterRequest.prototype.password; + /** @type {?|undefined} */ + RegisterRequest.prototype.appName; +} +/** + * @record + */ +function RegisterResponse() { } +if (false) { + /** @type {?} */ + RegisterResponse.prototype.tenantId; + /** @type {?} */ + RegisterResponse.prototype.userName; + /** @type {?} */ + RegisterResponse.prototype.name; + /** @type {?} */ + RegisterResponse.prototype.surname; + /** @type {?} */ + RegisterResponse.prototype.email; + /** @type {?} */ + RegisterResponse.prototype.emailConfirmed; + /** @type {?} */ + RegisterResponse.prototype.phoneNumber; + /** @type {?} */ + RegisterResponse.prototype.phoneNumberConfirmed; + /** @type {?} */ + RegisterResponse.prototype.twoFactorEnabled; + /** @type {?} */ + RegisterResponse.prototype.lockoutEnabled; + /** @type {?} */ + RegisterResponse.prototype.lockoutEnd; + /** @type {?} */ + RegisterResponse.prototype.concurrencyStamp; + /** @type {?} */ + RegisterResponse.prototype.isDeleted; + /** @type {?} */ + RegisterResponse.prototype.deleterId; + /** @type {?} */ + RegisterResponse.prototype.deletionTime; + /** @type {?} */ + RegisterResponse.prototype.lastModificationTime; + /** @type {?} */ + RegisterResponse.prototype.lastModifierId; + /** @type {?} */ + RegisterResponse.prototype.creationTime; + /** @type {?} */ + RegisterResponse.prototype.creatorId; + /** @type {?} */ + RegisterResponse.prototype.id; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +/** + * @record + */ +function TenantIdResponse() { } +if (false) { + /** @type {?} */ + TenantIdResponse.prototype.success; + /** @type {?} */ + TenantIdResponse.prototype.tenantId; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + export { ACCOUNT_OPTIONS, ACCOUNT_ROUTES, AccountModule, LoginComponent, RegisterComponent, optionsFactory, LoginComponent as ɵa, RegisterComponent as ɵc, AccountService as ɵd, TenantBoxComponent as ɵe, AccountRoutingModule as ɵf, optionsFactory as ɵg, ACCOUNT_OPTIONS as ɵh }; //# sourceMappingURL=abp-ng.account.js.map diff --git a/npm/ng-packs/dist/account/fesm2015/abp-ng.account.js.map b/npm/ng-packs/dist/account/fesm2015/abp-ng.account.js.map index e7782aa16d..d0841e616b 100644 --- a/npm/ng-packs/dist/account/fesm2015/abp-ng.account.js.map +++ b/npm/ng-packs/dist/account/fesm2015/abp-ng.account.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.account.js","sources":["ng://@abp/ng.account/lib/components/login/login.component.ts","ng://@abp/ng.account/lib/services/account.service.ts","ng://@abp/ng.account/lib/components/register/register.component.ts","ng://@abp/ng.account/lib/account-routing.module.ts","ng://@abp/ng.account/lib/components/tenant-box/tenant-box.component.ts","ng://@abp/ng.account/lib/tokens/options.token.ts","ng://@abp/ng.account/lib/account.module.ts","ng://@abp/ng.account/lib/constants/routes.ts"],"sourcesContent":["import { GetAppConfiguration, ConfigState } from '@abp/ng.core';\nimport { Component, Inject, Optional } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { Options } from '../../models/options';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { catchError, finalize, switchMap, tap } from 'rxjs/operators';\nimport snq from 'snq';\n\nconst { maxLength, minLength, required } = Validators;\n\n@Component({\n selector: 'abp-login',\n templateUrl: './login.component.html',\n})\nexport class LoginComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n @Optional() @Inject('ACCOUNT_OPTIONS') private options: Options,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n remember: [false],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage);\n\n this.inProgress = true;\n from(\n this.oauthService.fetchTokenUsingPasswordFlow(this.form.get('username').value, this.form.get('password').value),\n )\n .pipe(\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => {\n const redirectUrl = snq(() => window.history.state).redirectUrl || (this.options || {}).redirectUrl || '/';\n this.store.dispatch(new Navigate([redirectUrl]));\n }),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { RegisterResponse, RegisterRequest, TenantIdResponse } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccountService {\n constructor(private rest: RestService) {}\n\n findTenant(tenantName: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/abp/multi-tenancy/find-tenant/${tenantName}`,\n };\n\n return this.rest.request(request);\n }\n\n register(body: RegisterRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/account/register`,\n body,\n };\n\n return this.rest.request(request, { throwErr: true });\n }\n}\n","import { ToasterService } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { throwError } from 'rxjs';\nimport { catchError, finalize, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { RegisterRequest } from '../../models';\nimport { AccountService } from '../../services/account.service';\nconst { maxLength, minLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-register',\n templateUrl: './register.component.html',\n})\nexport class RegisterComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(private fb: FormBuilder, private accountService: AccountService, private toasterService: ToasterService) {\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n email: ['', [required, email]],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.inProgress = true;\n\n const newUser = {\n userName: this.form.get('username').value,\n password: this.form.get('password').value,\n emailAddress: this.form.get('email').value,\n appName: 'angular',\n } as RegisterRequest;\n\n this.accountService\n .register(newUser)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { DynamicLayoutComponent } from '@abp/ng.core';\n\nconst routes: Routes = [\n { path: '', pathMatch: 'full', redirectTo: 'login' },\n {\n path: '',\n component: DynamicLayoutComponent,\n children: [{ path: 'login', component: LoginComponent }, { path: 'register', component: RegisterComponent }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AccountRoutingModule {}\n","import { ABP, SetTenant, SessionState } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AccountService } from '../../services/account.service';\n\n@Component({\n selector: 'abp-tenant-box',\n templateUrl: './tenant-box.component.html',\n})\nexport class TenantBoxComponent implements OnInit {\n constructor(private store: Store, private toasterService: ToasterService, private accountService: AccountService) {}\n\n tenant = {} as ABP.BasicItem;\n\n tenantName: string;\n\n isModalVisible: boolean;\n\n ngOnInit() {\n this.tenant = this.store.selectSnapshot(SessionState.getTenant) || ({} as ABP.BasicItem);\n this.tenantName = this.tenant.name || '';\n }\n\n onSwitch() {\n this.isModalVisible = true;\n }\n\n save() {\n if (this.tenant.name) {\n this.accountService\n .findTenant(this.tenant.name)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description, 'AbpUi::DefaultErrorMessage'),\n 'AbpUi::Error',\n );\n return throwError(err);\n }),\n )\n .subscribe(({ success, tenantId }) => {\n if (success) {\n this.tenant = {\n id: tenantId,\n name: this.tenant.name,\n };\n this.tenantName = this.tenant.name;\n this.isModalVisible = false;\n } else {\n this.toasterService.error(`AbpUiMultiTenancy::GivenTenantIsNotAvailable`, 'AbpUi::Error', {\n messageLocalizationParams: [this.tenant.name],\n });\n this.tenant = {} as ABP.BasicItem;\n }\n this.store.dispatch(new SetTenant(success ? this.tenant : null));\n });\n } else {\n this.store.dispatch(new SetTenant(null));\n this.tenantName = null;\n this.isModalVisible = false;\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Options } from '../models/options';\n\nexport function optionsFactory(options: Options) {\n return {\n redirectUrl: '/',\n ...options,\n };\n}\n\nexport const ACCOUNT_OPTIONS = new InjectionToken('ACCOUNT_OPTIONS');\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { AccountRoutingModule } from './account-routing.module';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { TenantBoxComponent } from './components/tenant-box/tenant-box.component';\nimport { Options } from './models/options';\nimport { ACCOUNT_OPTIONS, optionsFactory } from './tokens/options.token';\nimport { TableModule } from 'primeng/table';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\n\n@NgModule({\n declarations: [LoginComponent, RegisterComponent, TenantBoxComponent],\n imports: [CoreModule, AccountRoutingModule, ThemeSharedModule, TableModule, NgbDropdownModule, NgxValidateCoreModule],\n exports: [],\n})\nexport class AccountModule {\n static forRoot(options = {} as Options): ModuleWithProviders {\n return {\n ngModule: AccountModule,\n providers: [\n { provide: ACCOUNT_OPTIONS, useValue: options },\n {\n provide: 'ACCOUNT_OPTIONS',\n useFactory: optionsFactory,\n deps: [ACCOUNT_OPTIONS],\n },\n ],\n };\n }\n}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const ACCOUNT_ROUTES = [\n {\n name: 'Account',\n path: 'account',\n invisible: true,\n layout: eLayoutType.application,\n children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }],\n },\n] as ABP.FullRoute[];\n"],"names":["maxLength","minLength","required"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.account.js","sources":["ng://@abp/ng.account/lib/components/login/login.component.ts","ng://@abp/ng.account/lib/services/account.service.ts","ng://@abp/ng.account/lib/components/register/register.component.ts","ng://@abp/ng.account/lib/account-routing.module.ts","ng://@abp/ng.account/lib/components/tenant-box/tenant-box.component.ts","ng://@abp/ng.account/lib/tokens/options.token.ts","ng://@abp/ng.account/lib/account.module.ts","ng://@abp/ng.account/lib/constants/routes.ts","ng://@abp/ng.account/lib/models/options.ts","ng://@abp/ng.account/lib/models/user.ts","ng://@abp/ng.account/lib/models/tenant.ts"],"sourcesContent":["import { GetAppConfiguration, ConfigState } from '@abp/ng.core';\nimport { Component, Inject, Optional } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { Options } from '../../models/options';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { catchError, finalize, switchMap, tap } from 'rxjs/operators';\nimport snq from 'snq';\n\nconst { maxLength, minLength, required } = Validators;\n\n@Component({\n selector: 'abp-login',\n templateUrl: './login.component.html',\n})\nexport class LoginComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n @Optional() @Inject('ACCOUNT_OPTIONS') private options: Options,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n remember: [false],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage);\n\n this.inProgress = true;\n from(\n this.oauthService.fetchTokenUsingPasswordFlow(this.form.get('username').value, this.form.get('password').value),\n )\n .pipe(\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => {\n const redirectUrl = snq(() => window.history.state).redirectUrl || (this.options || {}).redirectUrl || '/';\n this.store.dispatch(new Navigate([redirectUrl]));\n }),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { RegisterResponse, RegisterRequest, TenantIdResponse } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccountService {\n constructor(private rest: RestService) {}\n\n findTenant(tenantName: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/abp/multi-tenancy/find-tenant/${tenantName}`,\n };\n\n return this.rest.request(request);\n }\n\n register(body: RegisterRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/account/register`,\n body,\n };\n\n return this.rest.request(request, { throwErr: true });\n }\n}\n","import { ToasterService } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { throwError } from 'rxjs';\nimport { catchError, finalize, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { RegisterRequest } from '../../models';\nimport { AccountService } from '../../services/account.service';\nconst { maxLength, minLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-register',\n templateUrl: './register.component.html',\n})\nexport class RegisterComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(private fb: FormBuilder, private accountService: AccountService, private toasterService: ToasterService) {\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n email: ['', [required, email]],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.inProgress = true;\n\n const newUser = {\n userName: this.form.get('username').value,\n password: this.form.get('password').value,\n emailAddress: this.form.get('email').value,\n appName: 'angular',\n } as RegisterRequest;\n\n this.accountService\n .register(newUser)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { DynamicLayoutComponent } from '@abp/ng.core';\n\nconst routes: Routes = [\n { path: '', pathMatch: 'full', redirectTo: 'login' },\n {\n path: '',\n component: DynamicLayoutComponent,\n children: [{ path: 'login', component: LoginComponent }, { path: 'register', component: RegisterComponent }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AccountRoutingModule {}\n","import { ABP, SetTenant, SessionState } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AccountService } from '../../services/account.service';\n\n@Component({\n selector: 'abp-tenant-box',\n templateUrl: './tenant-box.component.html',\n})\nexport class TenantBoxComponent implements OnInit {\n constructor(private store: Store, private toasterService: ToasterService, private accountService: AccountService) {}\n\n tenant = {} as ABP.BasicItem;\n\n tenantName: string;\n\n isModalVisible: boolean;\n\n ngOnInit() {\n this.tenant = this.store.selectSnapshot(SessionState.getTenant) || ({} as ABP.BasicItem);\n this.tenantName = this.tenant.name || '';\n }\n\n onSwitch() {\n this.isModalVisible = true;\n }\n\n save() {\n if (this.tenant.name) {\n this.accountService\n .findTenant(this.tenant.name)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description, 'AbpUi::DefaultErrorMessage'),\n 'AbpUi::Error',\n );\n return throwError(err);\n }),\n )\n .subscribe(({ success, tenantId }) => {\n if (success) {\n this.tenant = {\n id: tenantId,\n name: this.tenant.name,\n };\n this.tenantName = this.tenant.name;\n this.isModalVisible = false;\n } else {\n this.toasterService.error(`AbpUiMultiTenancy::GivenTenantIsNotAvailable`, 'AbpUi::Error', {\n messageLocalizationParams: [this.tenant.name],\n });\n this.tenant = {} as ABP.BasicItem;\n }\n this.store.dispatch(new SetTenant(success ? this.tenant : null));\n });\n } else {\n this.store.dispatch(new SetTenant(null));\n this.tenantName = null;\n this.isModalVisible = false;\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Options } from '../models/options';\n\nexport function optionsFactory(options: Options) {\n return {\n redirectUrl: '/',\n ...options,\n };\n}\n\nexport const ACCOUNT_OPTIONS = new InjectionToken('ACCOUNT_OPTIONS');\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { AccountRoutingModule } from './account-routing.module';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { TenantBoxComponent } from './components/tenant-box/tenant-box.component';\nimport { Options } from './models/options';\nimport { ACCOUNT_OPTIONS, optionsFactory } from './tokens/options.token';\nimport { TableModule } from 'primeng/table';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\n\n@NgModule({\n declarations: [LoginComponent, RegisterComponent, TenantBoxComponent],\n imports: [CoreModule, AccountRoutingModule, ThemeSharedModule, TableModule, NgbDropdownModule, NgxValidateCoreModule],\n exports: [],\n})\nexport class AccountModule {\n static forRoot(options = {} as Options): ModuleWithProviders {\n return {\n ngModule: AccountModule,\n providers: [\n { provide: ACCOUNT_OPTIONS, useValue: options },\n {\n provide: 'ACCOUNT_OPTIONS',\n useFactory: optionsFactory,\n deps: [ACCOUNT_OPTIONS],\n },\n ],\n };\n }\n}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const ACCOUNT_ROUTES = [\n {\n name: 'Account',\n path: 'account',\n invisible: true,\n layout: eLayoutType.application,\n children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }],\n },\n] as ABP.FullRoute[];\n","export interface Options {\n redirectUrl?: string;\n}\n","export interface RegisterRequest {\n userName: string;\n emailAddress: string;\n password: string;\n appName?: string;\n}\n\nexport interface RegisterResponse {\n tenantId: string;\n userName: string;\n name: string;\n surname: string;\n email: string;\n emailConfirmed: boolean;\n phoneNumber: string;\n phoneNumberConfirmed: boolean;\n twoFactorEnabled: boolean;\n lockoutEnabled: boolean;\n lockoutEnd: string;\n concurrencyStamp: string;\n isDeleted: boolean;\n deleterId: string;\n deletionTime: string;\n lastModificationTime: string;\n lastModifierId: string;\n creationTime: string;\n creatorId: string;\n id: string;\n}\n","export interface TenantIdResponse {\n success: boolean;\n tenantId: string;\n}\n"],"names":["maxLength","minLength","required"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/account/fesm5/abp-ng.account.js b/npm/ng-packs/dist/account/fesm5/abp-ng.account.js index 26e1002571..1ee3bcc97a 100644 --- a/npm/ng-packs/dist/account/fesm5/abp-ng.account.js +++ b/npm/ng-packs/dist/account/fesm5/abp-ng.account.js @@ -1,4 +1,4 @@ -import { GetAppConfiguration, ConfigState, RestService, DynamicLayoutComponent, SessionState, SetTenant, CoreModule } from '@abp/ng.core'; +import { ConfigState, GetAppConfiguration, RestService, DynamicLayoutComponent, SessionState, SetTenant, CoreModule } from '@abp/ng.core'; import { Component, Optional, Inject, Injectable, ɵɵdefineInjectable, ɵɵinject, NgModule, InjectionToken } from '@angular/core'; import { RouterModule } from '@angular/router'; import { Validators, FormBuilder } from '@angular/forms'; @@ -96,6 +96,37 @@ var LoginComponent = /** @class */ (function () { ]; }; return LoginComponent; }()); +if (false) { + /** @type {?} */ + LoginComponent.prototype.form; + /** @type {?} */ + LoginComponent.prototype.inProgress; + /** + * @type {?} + * @private + */ + LoginComponent.prototype.fb; + /** + * @type {?} + * @private + */ + LoginComponent.prototype.oauthService; + /** + * @type {?} + * @private + */ + LoginComponent.prototype.store; + /** + * @type {?} + * @private + */ + LoginComponent.prototype.toasterService; + /** + * @type {?} + * @private + */ + LoginComponent.prototype.options; +} /** * @fileoverview added by tsickle @@ -150,6 +181,13 @@ var AccountService = /** @class */ (function () { /** @nocollapse */ AccountService.ngInjectableDef = ɵɵdefineInjectable({ factory: function AccountService_Factory() { return new AccountService(ɵɵinject(RestService)); }, token: AccountService, providedIn: "root" }); return AccountService; }()); +if (false) { + /** + * @type {?} + * @private + */ + AccountService.prototype.rest; +} /** * @fileoverview added by tsickle @@ -221,6 +259,27 @@ var RegisterComponent = /** @class */ (function () { ]; }; return RegisterComponent; }()); +if (false) { + /** @type {?} */ + RegisterComponent.prototype.form; + /** @type {?} */ + RegisterComponent.prototype.inProgress; + /** + * @type {?} + * @private + */ + RegisterComponent.prototype.fb; + /** + * @type {?} + * @private + */ + RegisterComponent.prototype.accountService; + /** + * @type {?} + * @private + */ + RegisterComponent.prototype.toasterService; +} /** * @fileoverview added by tsickle @@ -342,6 +401,29 @@ var TenantBoxComponent = /** @class */ (function () { ]; }; return TenantBoxComponent; }()); +if (false) { + /** @type {?} */ + TenantBoxComponent.prototype.tenant; + /** @type {?} */ + TenantBoxComponent.prototype.tenantName; + /** @type {?} */ + TenantBoxComponent.prototype.isModalVisible; + /** + * @type {?} + * @private + */ + TenantBoxComponent.prototype.store; + /** + * @type {?} + * @private + */ + TenantBoxComponent.prototype.toasterService; + /** + * @type {?} + * @private + */ + TenantBoxComponent.prototype.accountService; +} /** * @fileoverview added by tsickle @@ -396,6 +478,11 @@ var AccountModule = /** @class */ (function () { return AccountModule; }()); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -411,5 +498,118 @@ var ACCOUNT_ROUTES = (/** @type {?} */ ([ }, ])); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +/** + * @record + */ +function Options() { } +if (false) { + /** @type {?|undefined} */ + Options.prototype.redirectUrl; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +/** + * @record + */ +function RegisterRequest() { } +if (false) { + /** @type {?} */ + RegisterRequest.prototype.userName; + /** @type {?} */ + RegisterRequest.prototype.emailAddress; + /** @type {?} */ + RegisterRequest.prototype.password; + /** @type {?|undefined} */ + RegisterRequest.prototype.appName; +} +/** + * @record + */ +function RegisterResponse() { } +if (false) { + /** @type {?} */ + RegisterResponse.prototype.tenantId; + /** @type {?} */ + RegisterResponse.prototype.userName; + /** @type {?} */ + RegisterResponse.prototype.name; + /** @type {?} */ + RegisterResponse.prototype.surname; + /** @type {?} */ + RegisterResponse.prototype.email; + /** @type {?} */ + RegisterResponse.prototype.emailConfirmed; + /** @type {?} */ + RegisterResponse.prototype.phoneNumber; + /** @type {?} */ + RegisterResponse.prototype.phoneNumberConfirmed; + /** @type {?} */ + RegisterResponse.prototype.twoFactorEnabled; + /** @type {?} */ + RegisterResponse.prototype.lockoutEnabled; + /** @type {?} */ + RegisterResponse.prototype.lockoutEnd; + /** @type {?} */ + RegisterResponse.prototype.concurrencyStamp; + /** @type {?} */ + RegisterResponse.prototype.isDeleted; + /** @type {?} */ + RegisterResponse.prototype.deleterId; + /** @type {?} */ + RegisterResponse.prototype.deletionTime; + /** @type {?} */ + RegisterResponse.prototype.lastModificationTime; + /** @type {?} */ + RegisterResponse.prototype.lastModifierId; + /** @type {?} */ + RegisterResponse.prototype.creationTime; + /** @type {?} */ + RegisterResponse.prototype.creatorId; + /** @type {?} */ + RegisterResponse.prototype.id; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +/** + * @record + */ +function TenantIdResponse() { } +if (false) { + /** @type {?} */ + TenantIdResponse.prototype.success; + /** @type {?} */ + TenantIdResponse.prototype.tenantId; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + export { ACCOUNT_OPTIONS, ACCOUNT_ROUTES, AccountModule, LoginComponent, RegisterComponent, optionsFactory, LoginComponent as ɵa, RegisterComponent as ɵc, AccountService as ɵd, TenantBoxComponent as ɵe, AccountRoutingModule as ɵf, optionsFactory as ɵg, ACCOUNT_OPTIONS as ɵh }; //# sourceMappingURL=abp-ng.account.js.map diff --git a/npm/ng-packs/dist/account/fesm5/abp-ng.account.js.map b/npm/ng-packs/dist/account/fesm5/abp-ng.account.js.map index 4fc1912c40..02d35b5926 100644 --- a/npm/ng-packs/dist/account/fesm5/abp-ng.account.js.map +++ b/npm/ng-packs/dist/account/fesm5/abp-ng.account.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.account.js","sources":["ng://@abp/ng.account/lib/components/login/login.component.ts","ng://@abp/ng.account/lib/services/account.service.ts","ng://@abp/ng.account/lib/components/register/register.component.ts","ng://@abp/ng.account/lib/account-routing.module.ts","ng://@abp/ng.account/lib/components/tenant-box/tenant-box.component.ts","ng://@abp/ng.account/lib/tokens/options.token.ts","ng://@abp/ng.account/lib/account.module.ts","ng://@abp/ng.account/lib/constants/routes.ts"],"sourcesContent":["import { GetAppConfiguration, ConfigState } from '@abp/ng.core';\nimport { Component, Inject, Optional } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { Options } from '../../models/options';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { catchError, finalize, switchMap, tap } from 'rxjs/operators';\nimport snq from 'snq';\n\nconst { maxLength, minLength, required } = Validators;\n\n@Component({\n selector: 'abp-login',\n templateUrl: './login.component.html',\n})\nexport class LoginComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n @Optional() @Inject('ACCOUNT_OPTIONS') private options: Options,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n remember: [false],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage);\n\n this.inProgress = true;\n from(\n this.oauthService.fetchTokenUsingPasswordFlow(this.form.get('username').value, this.form.get('password').value),\n )\n .pipe(\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => {\n const redirectUrl = snq(() => window.history.state).redirectUrl || (this.options || {}).redirectUrl || '/';\n this.store.dispatch(new Navigate([redirectUrl]));\n }),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { RegisterResponse, RegisterRequest, TenantIdResponse } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccountService {\n constructor(private rest: RestService) {}\n\n findTenant(tenantName: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/abp/multi-tenancy/find-tenant/${tenantName}`,\n };\n\n return this.rest.request(request);\n }\n\n register(body: RegisterRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/account/register`,\n body,\n };\n\n return this.rest.request(request, { throwErr: true });\n }\n}\n","import { ToasterService } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { throwError } from 'rxjs';\nimport { catchError, finalize, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { RegisterRequest } from '../../models';\nimport { AccountService } from '../../services/account.service';\nconst { maxLength, minLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-register',\n templateUrl: './register.component.html',\n})\nexport class RegisterComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(private fb: FormBuilder, private accountService: AccountService, private toasterService: ToasterService) {\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n email: ['', [required, email]],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.inProgress = true;\n\n const newUser = {\n userName: this.form.get('username').value,\n password: this.form.get('password').value,\n emailAddress: this.form.get('email').value,\n appName: 'angular',\n } as RegisterRequest;\n\n this.accountService\n .register(newUser)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { DynamicLayoutComponent } from '@abp/ng.core';\n\nconst routes: Routes = [\n { path: '', pathMatch: 'full', redirectTo: 'login' },\n {\n path: '',\n component: DynamicLayoutComponent,\n children: [{ path: 'login', component: LoginComponent }, { path: 'register', component: RegisterComponent }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AccountRoutingModule {}\n","import { ABP, SetTenant, SessionState } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AccountService } from '../../services/account.service';\n\n@Component({\n selector: 'abp-tenant-box',\n templateUrl: './tenant-box.component.html',\n})\nexport class TenantBoxComponent implements OnInit {\n constructor(private store: Store, private toasterService: ToasterService, private accountService: AccountService) {}\n\n tenant = {} as ABP.BasicItem;\n\n tenantName: string;\n\n isModalVisible: boolean;\n\n ngOnInit() {\n this.tenant = this.store.selectSnapshot(SessionState.getTenant) || ({} as ABP.BasicItem);\n this.tenantName = this.tenant.name || '';\n }\n\n onSwitch() {\n this.isModalVisible = true;\n }\n\n save() {\n if (this.tenant.name) {\n this.accountService\n .findTenant(this.tenant.name)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description, 'AbpUi::DefaultErrorMessage'),\n 'AbpUi::Error',\n );\n return throwError(err);\n }),\n )\n .subscribe(({ success, tenantId }) => {\n if (success) {\n this.tenant = {\n id: tenantId,\n name: this.tenant.name,\n };\n this.tenantName = this.tenant.name;\n this.isModalVisible = false;\n } else {\n this.toasterService.error(`AbpUiMultiTenancy::GivenTenantIsNotAvailable`, 'AbpUi::Error', {\n messageLocalizationParams: [this.tenant.name],\n });\n this.tenant = {} as ABP.BasicItem;\n }\n this.store.dispatch(new SetTenant(success ? this.tenant : null));\n });\n } else {\n this.store.dispatch(new SetTenant(null));\n this.tenantName = null;\n this.isModalVisible = false;\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Options } from '../models/options';\n\nexport function optionsFactory(options: Options) {\n return {\n redirectUrl: '/',\n ...options,\n };\n}\n\nexport const ACCOUNT_OPTIONS = new InjectionToken('ACCOUNT_OPTIONS');\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { AccountRoutingModule } from './account-routing.module';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { TenantBoxComponent } from './components/tenant-box/tenant-box.component';\nimport { Options } from './models/options';\nimport { ACCOUNT_OPTIONS, optionsFactory } from './tokens/options.token';\nimport { TableModule } from 'primeng/table';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\n\n@NgModule({\n declarations: [LoginComponent, RegisterComponent, TenantBoxComponent],\n imports: [CoreModule, AccountRoutingModule, ThemeSharedModule, TableModule, NgbDropdownModule, NgxValidateCoreModule],\n exports: [],\n})\nexport class AccountModule {\n static forRoot(options = {} as Options): ModuleWithProviders {\n return {\n ngModule: AccountModule,\n providers: [\n { provide: ACCOUNT_OPTIONS, useValue: options },\n {\n provide: 'ACCOUNT_OPTIONS',\n useFactory: optionsFactory,\n deps: [ACCOUNT_OPTIONS],\n },\n ],\n };\n }\n}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const ACCOUNT_ROUTES = [\n {\n name: 'Account',\n path: 'account',\n invisible: true,\n layout: eLayoutType.application,\n children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }],\n },\n] as ABP.FullRoute[];\n"],"names":["maxLength","minLength","required"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.account.js","sources":["ng://@abp/ng.account/lib/components/login/login.component.ts","ng://@abp/ng.account/lib/services/account.service.ts","ng://@abp/ng.account/lib/components/register/register.component.ts","ng://@abp/ng.account/lib/account-routing.module.ts","ng://@abp/ng.account/lib/components/tenant-box/tenant-box.component.ts","ng://@abp/ng.account/lib/tokens/options.token.ts","ng://@abp/ng.account/lib/account.module.ts","ng://@abp/ng.account/lib/constants/routes.ts","ng://@abp/ng.account/lib/models/options.ts","ng://@abp/ng.account/lib/models/user.ts","ng://@abp/ng.account/lib/models/tenant.ts"],"sourcesContent":["import { GetAppConfiguration, ConfigState } from '@abp/ng.core';\nimport { Component, Inject, Optional } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { Options } from '../../models/options';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { catchError, finalize, switchMap, tap } from 'rxjs/operators';\nimport snq from 'snq';\n\nconst { maxLength, minLength, required } = Validators;\n\n@Component({\n selector: 'abp-login',\n templateUrl: './login.component.html',\n})\nexport class LoginComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n @Optional() @Inject('ACCOUNT_OPTIONS') private options: Options,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n remember: [false],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage);\n\n this.inProgress = true;\n from(\n this.oauthService.fetchTokenUsingPasswordFlow(this.form.get('username').value, this.form.get('password').value),\n )\n .pipe(\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => {\n const redirectUrl = snq(() => window.history.state).redirectUrl || (this.options || {}).redirectUrl || '/';\n this.store.dispatch(new Navigate([redirectUrl]));\n }),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { RegisterResponse, RegisterRequest, TenantIdResponse } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccountService {\n constructor(private rest: RestService) {}\n\n findTenant(tenantName: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/abp/multi-tenancy/find-tenant/${tenantName}`,\n };\n\n return this.rest.request(request);\n }\n\n register(body: RegisterRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/account/register`,\n body,\n };\n\n return this.rest.request(request, { throwErr: true });\n }\n}\n","import { ToasterService } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { throwError } from 'rxjs';\nimport { catchError, finalize, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { RegisterRequest } from '../../models';\nimport { AccountService } from '../../services/account.service';\nconst { maxLength, minLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-register',\n templateUrl: './register.component.html',\n})\nexport class RegisterComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(private fb: FormBuilder, private accountService: AccountService, private toasterService: ToasterService) {\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n email: ['', [required, email]],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.inProgress = true;\n\n const newUser = {\n userName: this.form.get('username').value,\n password: this.form.get('password').value,\n emailAddress: this.form.get('email').value,\n appName: 'angular',\n } as RegisterRequest;\n\n this.accountService\n .register(newUser)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { DynamicLayoutComponent } from '@abp/ng.core';\n\nconst routes: Routes = [\n { path: '', pathMatch: 'full', redirectTo: 'login' },\n {\n path: '',\n component: DynamicLayoutComponent,\n children: [{ path: 'login', component: LoginComponent }, { path: 'register', component: RegisterComponent }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AccountRoutingModule {}\n","import { ABP, SetTenant, SessionState } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AccountService } from '../../services/account.service';\n\n@Component({\n selector: 'abp-tenant-box',\n templateUrl: './tenant-box.component.html',\n})\nexport class TenantBoxComponent implements OnInit {\n constructor(private store: Store, private toasterService: ToasterService, private accountService: AccountService) {}\n\n tenant = {} as ABP.BasicItem;\n\n tenantName: string;\n\n isModalVisible: boolean;\n\n ngOnInit() {\n this.tenant = this.store.selectSnapshot(SessionState.getTenant) || ({} as ABP.BasicItem);\n this.tenantName = this.tenant.name || '';\n }\n\n onSwitch() {\n this.isModalVisible = true;\n }\n\n save() {\n if (this.tenant.name) {\n this.accountService\n .findTenant(this.tenant.name)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description, 'AbpUi::DefaultErrorMessage'),\n 'AbpUi::Error',\n );\n return throwError(err);\n }),\n )\n .subscribe(({ success, tenantId }) => {\n if (success) {\n this.tenant = {\n id: tenantId,\n name: this.tenant.name,\n };\n this.tenantName = this.tenant.name;\n this.isModalVisible = false;\n } else {\n this.toasterService.error(`AbpUiMultiTenancy::GivenTenantIsNotAvailable`, 'AbpUi::Error', {\n messageLocalizationParams: [this.tenant.name],\n });\n this.tenant = {} as ABP.BasicItem;\n }\n this.store.dispatch(new SetTenant(success ? this.tenant : null));\n });\n } else {\n this.store.dispatch(new SetTenant(null));\n this.tenantName = null;\n this.isModalVisible = false;\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Options } from '../models/options';\n\nexport function optionsFactory(options: Options) {\n return {\n redirectUrl: '/',\n ...options,\n };\n}\n\nexport const ACCOUNT_OPTIONS = new InjectionToken('ACCOUNT_OPTIONS');\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { AccountRoutingModule } from './account-routing.module';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { TenantBoxComponent } from './components/tenant-box/tenant-box.component';\nimport { Options } from './models/options';\nimport { ACCOUNT_OPTIONS, optionsFactory } from './tokens/options.token';\nimport { TableModule } from 'primeng/table';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\n\n@NgModule({\n declarations: [LoginComponent, RegisterComponent, TenantBoxComponent],\n imports: [CoreModule, AccountRoutingModule, ThemeSharedModule, TableModule, NgbDropdownModule, NgxValidateCoreModule],\n exports: [],\n})\nexport class AccountModule {\n static forRoot(options = {} as Options): ModuleWithProviders {\n return {\n ngModule: AccountModule,\n providers: [\n { provide: ACCOUNT_OPTIONS, useValue: options },\n {\n provide: 'ACCOUNT_OPTIONS',\n useFactory: optionsFactory,\n deps: [ACCOUNT_OPTIONS],\n },\n ],\n };\n }\n}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const ACCOUNT_ROUTES = [\n {\n name: 'Account',\n path: 'account',\n invisible: true,\n layout: eLayoutType.application,\n children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }],\n },\n] as ABP.FullRoute[];\n","export interface Options {\n redirectUrl?: string;\n}\n","export interface RegisterRequest {\n userName: string;\n emailAddress: string;\n password: string;\n appName?: string;\n}\n\nexport interface RegisterResponse {\n tenantId: string;\n userName: string;\n name: string;\n surname: string;\n email: string;\n emailConfirmed: boolean;\n phoneNumber: string;\n phoneNumberConfirmed: boolean;\n twoFactorEnabled: boolean;\n lockoutEnabled: boolean;\n lockoutEnd: string;\n concurrencyStamp: string;\n isDeleted: boolean;\n deleterId: string;\n deletionTime: string;\n lastModificationTime: string;\n lastModifierId: string;\n creationTime: string;\n creatorId: string;\n id: string;\n}\n","export interface TenantIdResponse {\n success: boolean;\n tenantId: string;\n}\n"],"names":["maxLength","minLength","required"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/account/lib/tokens/options.token.d.ts b/npm/ng-packs/dist/account/lib/tokens/options.token.d.ts index e1248cb387..ca9146b0bc 100644 --- a/npm/ng-packs/dist/account/lib/tokens/options.token.d.ts +++ b/npm/ng-packs/dist/account/lib/tokens/options.token.d.ts @@ -3,4 +3,4 @@ import { Options } from '../models/options'; export declare function optionsFactory(options: Options): { redirectUrl: string; }; -export declare const ACCOUNT_OPTIONS: InjectionToken<{}>; +export declare const ACCOUNT_OPTIONS: InjectionToken; diff --git a/npm/ng-packs/dist/core/abp-ng.core.metadata.json b/npm/ng-packs/dist/core/abp-ng.core.metadata.json index d4615f5526..ce8fc47ef7 100644 --- a/npm/ng-packs/dist/core/abp-ng.core.metadata.json +++ b/npm/ng-packs/dist/core/abp-ng.core.metadata.json @@ -1 +1 @@ -{"__symbolic":"module","version":4,"exports":[{"from":"./lib/generator-utils"},{"from":"./lib/initial-utils"},{"from":"./lib/route-utils"},{"from":"./lib/rxjs-utils"},{"from":"./lib/profile.service"},{"from":"./lib/rest.service"}],"metadata":{"CoreModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":25,"character":1},"arguments":[{"imports":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"NgxsModule","line":27,"character":4},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵl"}]]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/storage-plugin","name":"NgxsStoragePluginModule","line":28,"character":4},"member":"forRoot"},"arguments":[{"key":"SessionState"}]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/router-plugin","name":"NgxsRouterPluginModule","line":29,"character":4},"member":"forRoot"}},{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":30,"character":4},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":31,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":32,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":33,"character":4},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":34,"character":4}],"declarations":[{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","name":"ɵs"},{"__symbolic":"reference","name":"ɵt"},{"__symbolic":"reference","name":"ɵu"},{"__symbolic":"reference","name":"ɵv"},{"__symbolic":"reference","name":"ɵw"},{"__symbolic":"reference","name":"ɵx"},{"__symbolic":"reference","name":"ɵy"}],"exports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":48,"character":4},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":49,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":50,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":51,"character":4},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":52,"character":4},{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","name":"ɵs"},{"__symbolic":"reference","name":"ɵt"},{"__symbolic":"reference","name":"ɵu"},{"__symbolic":"reference","name":"ɵv"},{"__symbolic":"reference","name":"ɵw"},{"__symbolic":"reference","name":"ɵx"},{"__symbolic":"reference","name":"ɵu"},{"__symbolic":"reference","name":"ɵy"}],"providers":[{"__symbolic":"reference","name":"ɵu"}],"entryComponents":[{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"ɵq"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["options"],"defaults":[{}],"value":{"ngModule":{"__symbolic":"reference","name":"CoreModule"},"providers":[{"provide":{"__symbolic":"reference","module":"@ngxs/store","name":"NGXS_PLUGINS","line":73,"character":19},"useClass":{"__symbolic":"reference","name":"ɵba"},"multi":true},{"provide":{"__symbolic":"reference","name":"ɵz"},"useValue":{"__symbolic":"reference","name":"options"}},{"provide":{"__symbolic":"reference","module":"@angular/common/http","name":"HTTP_INTERCEPTORS","line":82,"character":19},"useClass":{"__symbolic":"reference","name":"ɵbb"},"multi":true},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"APP_INITIALIZER","line":87,"character":19},"multi":true,"deps":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":89,"character":17}],"useFactory":{"__symbolic":"reference","name":"ɵbc"}}]}}}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":6,"character":1},"arguments":[{"name":"ProfileState","defaults":{}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵb"}]}],"profileGet":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":18,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵd"}]}]}],"profileUpdate":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":29,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵe"}]}]}],"changePassword":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":40,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵf"}]}]}]},"statics":{"getProfile":{"__symbolic":"function","parameters":["profile"],"value":{"__symbolic":"reference","name":"profile"}}}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"}]}],"get":[{"__symbolic":"method"}],"update":[{"__symbolic":"method"}],"changePassword":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":9,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":13,"character":28},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":13,"character":55}]}],"handleError":[{"__symbolic":"method"}],"request":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵd":{"__symbolic":"class","members":{},"statics":{"type":"[Profile] Get"}},"ɵe":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵg"},"member":"Response"}]}]},"statics":{"type":"[Profile] Update"}},"ɵf":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵg"},"member":"ChangePasswordRequest"}]}]},"statics":{"type":"[Profile] Change Password"}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":4,"character":1},"arguments":[{"name":"SessionState","defaults":{}}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"setLanguage":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":21,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵi"}]}]}],"setTenantId":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":28,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵj"}]}]}]},"statics":{"getLanguage":{"__symbolic":"function","parameters":["language"],"value":{"__symbolic":"reference","name":"language"}},"getTenant":{"__symbolic":"function","parameters":["tenant"],"value":{"__symbolic":"reference","name":"tenant"}}}},"ɵi":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Session] Set Language"}},"ɵj":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵk"},"member":"BasicItem"}]}]},"statics":{"type":"[Session] Set Tenant"}},"ɵl":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":11,"character":1},"arguments":[{"name":"ConfigState","defaults":{}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵm"},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":161,"character":95}]}],"addData":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":163,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵo"}]}]}],"patchRoute":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":179,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵn"}]}]}]},"statics":{"getAll":{"__symbolic":"function","parameters":["state"],"value":{"__symbolic":"reference","name":"state"}},"getApplicationInfo":{"__symbolic":"function","parameters":["state"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"state"},"member":"environment"},"member":"application"},"right":{}}}}},"ɵm":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"}]}],"getConfiguration":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵn":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"error","message":"Could not resolve type","line":4,"character":52,"context":{"typeName":"Partial"},"module":"./lib/actions/config.actions"}]}]},"statics":{"type":"[Config] Patch Route By Name"}},"ɵo":{"__symbolic":"class","members":{},"statics":{"type":"[Config] Get App Configuration"}},"ɵp":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"abp-router-outlet","template":"\n \n "}]}],"members":{}},"ɵq":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"abp-dynamic-layout","template":"\n \n\n \n \n "}]}],"members":{"requirements$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":20,"character":3},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵr"},"member":"getOne"},"arguments":["requirements"]}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":25,"character":30},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":25,"character":53}]}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ɵs":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[autofocus]"}]}],"members":{"delay":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":6,"character":3},"arguments":["autofocus"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":9,"character":29}]}],"ngAfterViewInit":[{"__symbolic":"method"}]}},"ɵt":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[abpEllipsis]"}]}],"members":{"witdh":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":6,"character":3},"arguments":["abpEllipsis"]}]}],"title":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":9,"character":3},"arguments":["title"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"enabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3},"arguments":["abpEllipsisEnabled"]}]}],"class":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":16,"character":3},"arguments":["class.abp-ellipsis"]}]}],"maxWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":21,"character":3},"arguments":["style.max-width"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":26,"character":29},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":26,"character":63}]}],"ngAfterContentInit":[{"__symbolic":"method"}]}},"ɵu":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":6,"character":1},"arguments":[{"name":"abpLocalization","pure":false}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":15,"character":29}]}],"transform":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ɵv":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":5,"character":1},"arguments":[{"selector":"[abpPermission]"}]}],"members":{"condition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3},"arguments":["abpPermission"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":11,"character":15}}],null,null],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":11,"character":41},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":11,"character":71},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":11,"character":97}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ɵw":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":4,"character":1},"arguments":[{"selector":"[abpVisibility]"}]}],"members":{"focusedElement":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3},"arguments":["abpVisibility"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":13,"character":15}}],null],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":13,"character":41},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":13,"character":71}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"disconnect":[{"__symbolic":"method"}]}},"ɵx":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":5,"character":1},"arguments":[{"selector":"[input.debounce]"}]}],"members":{"debounce":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"debounceEvent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":11,"character":3},"arguments":["input.debounce"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":13,"character":32},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":13,"character":55}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵy":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":4,"character":1},"arguments":[{"selector":"[click.stop]"}]}],"members":{"stopPropEvent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":8,"character":3},"arguments":["click.stop"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":10,"character":32},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":10,"character":55}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵz":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":7,"character":46},"arguments":["NGXS_CONFIG_PLUGIN_OPTIONS"]},"ɵba":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":9,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":13,"character":15},"arguments":[{"__symbolic":"reference","name":"ɵz"}]}],null],"parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵk"},"member":"Root"},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":13,"character":93}]}],"handle":[{"__symbolic":"method"}]}},"ɵbb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":8,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"angular-oauth2-oidc","name":"OAuthService","line":10,"character":36},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":10,"character":65}]}],"intercept":[{"__symbolic":"method"}]}},"ɵbc":{"__symbolic":"function"}},"origins":{"CoreModule":"./lib/core.module","ɵa":"./lib/states/profile.state","ɵb":"./lib/services/profile.service","ɵc":"./lib/services/rest.service","ɵd":"./lib/actions/profile.actions","ɵe":"./lib/actions/profile.actions","ɵf":"./lib/actions/profile.actions","ɵg":"./lib/models","ɵh":"./lib/states/session.state","ɵi":"./lib/actions/session.actions","ɵj":"./lib/actions/session.actions","ɵk":"./lib/models","ɵl":"./lib/states/config.state","ɵm":"./lib/services/application-configuration.service","ɵn":"./lib/actions/config.actions","ɵo":"./lib/actions/config.actions","ɵp":"./lib/components/router-outlet.component","ɵq":"./lib/components/dynamic-layout.component","ɵr":"./lib/states","ɵs":"./lib/directives/autofocus.directive","ɵt":"./lib/directives/ellipsis.directive","ɵu":"./lib/pipes/localization.pipe","ɵv":"./lib/directives/permission.directive","ɵw":"./lib/directives/visibility.directive","ɵx":"./lib/directives/debounce.directive","ɵy":"./lib/directives/stop-propagation.directive","ɵz":"./lib/plugins/config.plugin","ɵba":"./lib/plugins/config.plugin","ɵbb":"./lib/interceptors/api.interceptor","ɵbc":"./lib/utils/initial-utils"},"importAs":"@abp/ng.core"} \ No newline at end of file +{"__symbolic":"module","version":4,"exports":[{"from":"./lib/generator-utils"},{"from":"./lib/initial-utils"},{"from":"./lib/route-utils"},{"from":"./lib/rxjs-utils"},{"from":"./lib/profile.service"},{"from":"./lib/rest.service"}],"metadata":{"CoreModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":25,"character":1},"arguments":[{"imports":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"NgxsModule","line":27,"character":4},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵl"}]]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/storage-plugin","name":"NgxsStoragePluginModule","line":28,"character":4},"member":"forRoot"},"arguments":[{"key":"SessionState"}]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/router-plugin","name":"NgxsRouterPluginModule","line":29,"character":4},"member":"forRoot"}},{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":30,"character":4},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":31,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":32,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":33,"character":4},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":34,"character":4}],"declarations":[{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","name":"ɵs"},{"__symbolic":"reference","name":"ɵt"},{"__symbolic":"reference","name":"ɵu"},{"__symbolic":"reference","name":"ɵv"},{"__symbolic":"reference","name":"ɵw"},{"__symbolic":"reference","name":"ɵx"},{"__symbolic":"reference","name":"ɵy"}],"exports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":48,"character":4},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":49,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":50,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":51,"character":4},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":52,"character":4},{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","name":"ɵs"},{"__symbolic":"reference","name":"ɵt"},{"__symbolic":"reference","name":"ɵu"},{"__symbolic":"reference","name":"ɵv"},{"__symbolic":"reference","name":"ɵw"},{"__symbolic":"reference","name":"ɵx"},{"__symbolic":"reference","name":"ɵu"},{"__symbolic":"reference","name":"ɵy"}],"providers":[{"__symbolic":"reference","name":"ɵu"}],"entryComponents":[{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"ɵq"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["options"],"defaults":[{}],"value":{"ngModule":{"__symbolic":"reference","name":"CoreModule"},"providers":[{"provide":{"__symbolic":"reference","module":"@ngxs/store","name":"NGXS_PLUGINS","line":73,"character":19},"useClass":{"__symbolic":"reference","name":"ɵba"},"multi":true},{"provide":{"__symbolic":"reference","name":"ɵz"},"useValue":{"__symbolic":"reference","name":"options"}},{"provide":{"__symbolic":"reference","module":"@angular/common/http","name":"HTTP_INTERCEPTORS","line":82,"character":19},"useClass":{"__symbolic":"reference","name":"ɵbb"},"multi":true},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"APP_INITIALIZER","line":87,"character":19},"multi":true,"deps":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":89,"character":17}],"useFactory":{"__symbolic":"reference","name":"ɵbc"}}]}}}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":6,"character":1},"arguments":[{"name":"ProfileState","defaults":{}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵb"}]}],"profileGet":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":18,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵd"}]}]}],"profileUpdate":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":29,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵe"}]}]}],"changePassword":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":40,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵf"}]}]}]},"statics":{"getProfile":{"__symbolic":"function","parameters":["profile"],"value":{"__symbolic":"reference","name":"profile"}}}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"}]}],"get":[{"__symbolic":"method"}],"update":[{"__symbolic":"method"}],"changePassword":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":9,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":13,"character":28},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":13,"character":55}]}],"handleError":[{"__symbolic":"method"}],"request":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵd":{"__symbolic":"class","members":{},"statics":{"type":"[Profile] Get"}},"ɵe":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵg"},"member":"Response"}]}]},"statics":{"type":"[Profile] Update"}},"ɵf":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵg"},"member":"ChangePasswordRequest"}]}]},"statics":{"type":"[Profile] Change Password"}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":4,"character":1},"arguments":[{"name":"SessionState","defaults":{}}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"setLanguage":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":21,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵi"}]}]}],"setTenantId":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":28,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵj"}]}]}]},"statics":{"getLanguage":{"__symbolic":"function","parameters":["language"],"value":{"__symbolic":"reference","name":"language"}},"getTenant":{"__symbolic":"function","parameters":["tenant"],"value":{"__symbolic":"reference","name":"tenant"}}}},"ɵi":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Session] Set Language"}},"ɵj":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵk"},"member":"BasicItem"}]}]},"statics":{"type":"[Session] Set Tenant"}},"ɵl":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":11,"character":1},"arguments":[{"name":"ConfigState","defaults":{}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵm"},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":161,"character":95}]}],"addData":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":163,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵo"}]}]}],"patchRoute":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":179,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵn"}]}]}]},"statics":{"getAll":{"__symbolic":"function","parameters":["state"],"value":{"__symbolic":"reference","name":"state"}},"getApplicationInfo":{"__symbolic":"function","parameters":["state"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"state"},"member":"environment"},"member":"application"},"right":{}}}}},"ɵm":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"}]}],"getConfiguration":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵn":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"error","message":"Could not resolve type","line":4,"character":52,"context":{"typeName":"Partial"},"module":"./lib/actions/config.actions"}]}]},"statics":{"type":"[Config] Patch Route By Name"}},"ɵo":{"__symbolic":"class","members":{},"statics":{"type":"[Config] Get App Configuration"}},"ɵp":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"abp-router-outlet","template":"\n \n "}]}],"members":{}},"ɵq":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"abp-dynamic-layout","template":"\n \n\n \n \n "}]}],"members":{"requirements$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":20,"character":3},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵr"},"member":"getOne"},"arguments":["requirements"]}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":25,"character":30},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":25,"character":53}]}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ɵs":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[autofocus]"}]}],"members":{"delay":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":6,"character":3},"arguments":["autofocus"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":9,"character":29}]}],"ngAfterViewInit":[{"__symbolic":"method"}]}},"ɵt":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[abpEllipsis]"}]}],"members":{"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":6,"character":3},"arguments":["abpEllipsis"]}]}],"title":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":9,"character":3},"arguments":["title"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"enabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3},"arguments":["abpEllipsisEnabled"]}]}],"class":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":16,"character":3},"arguments":["class.abp-ellipsis"]}]}],"maxWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":21,"character":3},"arguments":["style.max-width"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":26,"character":29},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":26,"character":63}]}],"ngAfterContentInit":[{"__symbolic":"method"}]}},"ɵu":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":6,"character":1},"arguments":[{"name":"abpLocalization","pure":false}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":15,"character":29}]}],"transform":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ɵv":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":5,"character":1},"arguments":[{"selector":"[abpPermission]"}]}],"members":{"condition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3},"arguments":["abpPermission"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":11,"character":15}}],null,null],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":11,"character":41},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":11,"character":71},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":11,"character":97}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ɵw":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":4,"character":1},"arguments":[{"selector":"[abpVisibility]"}]}],"members":{"focusedElement":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3},"arguments":["abpVisibility"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":13,"character":15}}],null],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":13,"character":41},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":13,"character":71}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"disconnect":[{"__symbolic":"method"}]}},"ɵx":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":5,"character":1},"arguments":[{"selector":"[input.debounce]"}]}],"members":{"debounce":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"debounceEvent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":11,"character":3},"arguments":["input.debounce"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":13,"character":32},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":13,"character":55}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵy":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":4,"character":1},"arguments":[{"selector":"[click.stop]"}]}],"members":{"stopPropEvent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":8,"character":3},"arguments":["click.stop"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":10,"character":32},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":10,"character":55}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵz":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":7,"character":46},"arguments":["NGXS_CONFIG_PLUGIN_OPTIONS"]},"ɵba":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":9,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":13,"character":15},"arguments":[{"__symbolic":"reference","name":"ɵz"}]}],null],"parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵk"},"member":"Root"},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":13,"character":93}]}],"handle":[{"__symbolic":"method"}]}},"ɵbb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":8,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"angular-oauth2-oidc","name":"OAuthService","line":10,"character":36},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":10,"character":65}]}],"intercept":[{"__symbolic":"method"}]}},"ɵbc":{"__symbolic":"function"}},"origins":{"CoreModule":"./lib/core.module","ɵa":"./lib/states/profile.state","ɵb":"./lib/services/profile.service","ɵc":"./lib/services/rest.service","ɵd":"./lib/actions/profile.actions","ɵe":"./lib/actions/profile.actions","ɵf":"./lib/actions/profile.actions","ɵg":"./lib/models","ɵh":"./lib/states/session.state","ɵi":"./lib/actions/session.actions","ɵj":"./lib/actions/session.actions","ɵk":"./lib/models","ɵl":"./lib/states/config.state","ɵm":"./lib/services/application-configuration.service","ɵn":"./lib/actions/config.actions","ɵo":"./lib/actions/config.actions","ɵp":"./lib/components/router-outlet.component","ɵq":"./lib/components/dynamic-layout.component","ɵr":"./lib/states","ɵs":"./lib/directives/autofocus.directive","ɵt":"./lib/directives/ellipsis.directive","ɵu":"./lib/pipes/localization.pipe","ɵv":"./lib/directives/permission.directive","ɵw":"./lib/directives/visibility.directive","ɵx":"./lib/directives/debounce.directive","ɵy":"./lib/directives/stop-propagation.directive","ɵz":"./lib/plugins/config.plugin","ɵba":"./lib/plugins/config.plugin","ɵbb":"./lib/interceptors/api.interceptor","ɵbc":"./lib/utils/initial-utils"},"importAs":"@abp/ng.core"} \ No newline at end of file diff --git a/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.js b/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.js index 252b53180d..5fe2c79b69 100644 --- a/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.js +++ b/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.js @@ -20,6 +20,20 @@ See the Apache Version 2.0 License for specific language governing permissions and limitations under the License. ***************************************************************************** */ + /* global Reflect, Promise */ + + var extendStatics = function(d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + + function __extends(d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + } var __assign = function() { __assign = Object.assign || function __assign(t) { @@ -51,10 +65,66 @@ return c > 3 && r && Object.defineProperty(target, key, r), r; } + function __param(paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } + } + function __metadata(metadataKey, metadataValue) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); } + function __awaiter(thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + } + + function __generator(thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + 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; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } + } + + function __exportStar(m, exports) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + + function __values(o) { + var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0; + if (m) return m.call(o); + return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + } + function __read(o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; @@ -76,6 +146,61 @@ for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); return ar; + } + + function __spreadArrays() { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; + }; + + function __await(v) { + return this instanceof __await ? (this.v = v, this) : new __await(v); + } + + function __asyncGenerator(thisArg, _arguments, generator) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var g = generator.apply(thisArg, _arguments || []), i, q = []; + return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; + 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); }); }; } + function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } + function fulfill(value) { resume("next", value); } + function reject(value) { resume("throw", value); } + function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } + } + + function __asyncDelegator(o) { + var i, p; + return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; + 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; } + } + + function __asyncValues(o) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var m = o[Symbol.asyncIterator], i; + 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); + 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); }); }; } + function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } + } + + function __makeTemplateObject(cooked, raw) { + if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + return cooked; + }; + + function __importStar(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result.default = mod; + return result; + } + + function __importDefault(mod) { + return (mod && mod.__esModule) ? mod : { default: mod }; } /** @@ -90,12 +215,24 @@ PatchRouteByName.type = '[Config] Patch Route By Name'; return PatchRouteByName; }()); + if (false) { + /** @type {?} */ + PatchRouteByName.type; + /** @type {?} */ + PatchRouteByName.prototype.name; + /** @type {?} */ + PatchRouteByName.prototype.newValue; + } var GetAppConfiguration = /** @class */ (function () { function GetAppConfiguration() { } GetAppConfiguration.type = '[Config] Get App Configuration'; return GetAppConfiguration; }()); + if (false) { + /** @type {?} */ + GetAppConfiguration.type; + } /** * @fileoverview added by tsickle @@ -108,6 +245,12 @@ StartLoader.type = '[Loader] Start'; return StartLoader; }()); + if (false) { + /** @type {?} */ + StartLoader.type; + /** @type {?} */ + StartLoader.prototype.payload; + } var StopLoader = /** @class */ (function () { function StopLoader(payload) { this.payload = payload; @@ -115,6 +258,12 @@ StopLoader.type = '[Loader] Stop'; return StopLoader; }()); + if (false) { + /** @type {?} */ + StopLoader.type; + /** @type {?} */ + StopLoader.prototype.payload; + } /** * @fileoverview added by tsickle @@ -126,6 +275,10 @@ GetProfile.type = '[Profile] Get'; return GetProfile; }()); + if (false) { + /** @type {?} */ + GetProfile.type; + } var UpdateProfile = /** @class */ (function () { function UpdateProfile(payload) { this.payload = payload; @@ -133,6 +286,12 @@ UpdateProfile.type = '[Profile] Update'; return UpdateProfile; }()); + if (false) { + /** @type {?} */ + UpdateProfile.type; + /** @type {?} */ + UpdateProfile.prototype.payload; + } var ChangePassword = /** @class */ (function () { function ChangePassword(payload) { this.payload = payload; @@ -140,6 +299,12 @@ ChangePassword.type = '[Profile] Change Password'; return ChangePassword; }()); + if (false) { + /** @type {?} */ + ChangePassword.type; + /** @type {?} */ + ChangePassword.prototype.payload; + } /** * @fileoverview added by tsickle @@ -152,6 +317,12 @@ RestOccurError.type = '[Rest] Error'; return RestOccurError; }()); + if (false) { + /** @type {?} */ + RestOccurError.type; + /** @type {?} */ + RestOccurError.prototype.payload; + } /** * @fileoverview added by tsickle @@ -164,6 +335,12 @@ SetLanguage.type = '[Session] Set Language'; return SetLanguage; }()); + if (false) { + /** @type {?} */ + SetLanguage.type; + /** @type {?} */ + SetLanguage.prototype.payload; + } var SetTenant = /** @class */ (function () { function SetTenant(payload) { this.payload = payload; @@ -171,6 +348,17 @@ SetTenant.type = '[Session] Set Tenant'; return SetTenant; }()); + if (false) { + /** @type {?} */ + SetTenant.type; + /** @type {?} */ + SetTenant.prototype.payload; + } + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ /** * @fileoverview added by tsickle @@ -239,6 +427,18 @@ /** @nocollapse */ RestService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function RestService_Factory() { return new RestService(core.ɵɵinject(http.HttpClient), core.ɵɵinject(store.Store)); }, token: RestService, providedIn: "root" }); return RestService; }()); + if (false) { + /** + * @type {?} + * @private + */ + RestService.prototype.http; + /** + * @type {?} + * @private + */ + RestService.prototype.store; + } /** * @fileoverview added by tsickle @@ -311,6 +511,13 @@ /** @nocollapse */ ProfileService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function ProfileService_Factory() { return new ProfileService(core.ɵɵinject(RestService)); }, token: ProfileService, providedIn: "root" }); return ProfileService; }()); + if (false) { + /** + * @type {?} + * @private + */ + ProfileService.prototype.rest; + } /** * @fileoverview added by tsickle @@ -422,6 +629,13 @@ ], ProfileState); return ProfileState; }()); + if (false) { + /** + * @type {?} + * @private + */ + ProfileState.prototype.profileService; + } /** * @fileoverview added by tsickle @@ -457,6 +671,13 @@ /** @nocollapse */ ApplicationConfigurationService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function ApplicationConfigurationService_Factory() { return new ApplicationConfigurationService(core.ɵɵinject(RestService)); }, token: ApplicationConfigurationService, providedIn: "root" }); return ApplicationConfigurationService; }()); + if (false) { + /** + * @type {?} + * @private + */ + ApplicationConfigurationService.prototype.rest; + } /** * @fileoverview added by tsickle @@ -988,6 +1209,18 @@ ], ConfigState); return ConfigState; }()); + if (false) { + /** + * @type {?} + * @private + */ + ConfigState.prototype.appConfigurationService; + /** + * @type {?} + * @private + */ + ConfigState.prototype.store; + } /** * @param {?} routes * @param {?} name @@ -1027,6 +1260,11 @@ return organizeRoutes(routes); } + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1107,6 +1345,11 @@ }); }); + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1165,6 +1408,22 @@ ], DynamicLayoutComponent.prototype, "requirements$", void 0); return DynamicLayoutComponent; }()); + if (false) { + /** @type {?} */ + DynamicLayoutComponent.prototype.requirements$; + /** @type {?} */ + DynamicLayoutComponent.prototype.layout; + /** + * @type {?} + * @private + */ + DynamicLayoutComponent.prototype.router; + /** + * @type {?} + * @private + */ + DynamicLayoutComponent.prototype.store; + } /** * @param {?} segments * @param {?} routes @@ -1221,6 +1480,11 @@ return RouterOutletComponent; }()); + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1257,6 +1521,15 @@ }; return AutofocusDirective; }()); + if (false) { + /** @type {?} */ + AutofocusDirective.prototype.delay; + /** + * @type {?} + * @private + */ + AutofocusDirective.prototype.elRef; + } /** * @fileoverview added by tsickle @@ -1283,7 +1556,7 @@ * @return {?} */ function () { - return this.enabled ? this.witdh || '160px' : undefined; + return this.enabled ? this.width || '170px' : undefined; }, enumerable: true, configurable: true @@ -1319,7 +1592,7 @@ { type: core.ElementRef } ]; }; EllipsisDirective.propDecorators = { - witdh: [{ type: core.Input, args: ['abpEllipsis',] }], + width: [{ type: core.Input, args: ['abpEllipsis',] }], title: [{ type: core.HostBinding, args: ['title',] }, { type: core.Input }], enabled: [{ type: core.Input, args: ['abpEllipsisEnabled',] }], class: [{ type: core.HostBinding, args: ['class.abp-ellipsis',] }], @@ -1327,6 +1600,24 @@ }; return EllipsisDirective; }()); + if (false) { + /** @type {?} */ + EllipsisDirective.prototype.width; + /** @type {?} */ + EllipsisDirective.prototype.title; + /** @type {?} */ + EllipsisDirective.prototype.enabled; + /** + * @type {?} + * @private + */ + EllipsisDirective.prototype.cdRef; + /** + * @type {?} + * @private + */ + EllipsisDirective.prototype.elRef; + } /** * @fileoverview added by tsickle @@ -1384,6 +1675,25 @@ }; return PermissionDirective; }()); + if (false) { + /** @type {?} */ + PermissionDirective.prototype.condition; + /** + * @type {?} + * @private + */ + PermissionDirective.prototype.elRef; + /** + * @type {?} + * @private + */ + PermissionDirective.prototype.renderer; + /** + * @type {?} + * @private + */ + PermissionDirective.prototype.store; + } /** * @fileoverview added by tsickle @@ -1472,6 +1782,43 @@ }; return VisibilityDirective; }()); + if (false) { + /** @type {?} */ + VisibilityDirective.prototype.focusedElement; + /** @type {?} */ + VisibilityDirective.prototype.completed$; + /** + * @type {?} + * @private + */ + VisibilityDirective.prototype.elRef; + /** + * @type {?} + * @private + */ + VisibilityDirective.prototype.renderer; + } + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @enum {string} */ + var eLayoutType = { + account: 'account', + application: 'application', + empty: 'empty', + }; + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ /** * @fileoverview added by tsickle @@ -1514,6 +1861,18 @@ /** @nocollapse */ AuthGuard.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function AuthGuard_Factory() { return new AuthGuard(core.ɵɵinject(angularOauth2Oidc.OAuthService), core.ɵɵinject(store.Store)); }, token: AuthGuard, providedIn: "root" }); return AuthGuard; }()); + if (false) { + /** + * @type {?} + * @private + */ + AuthGuard.prototype.oauthService; + /** + * @type {?} + * @private + */ + AuthGuard.prototype.store; + } /** * @fileoverview added by tsickle @@ -1549,6 +1908,18 @@ /** @nocollapse */ PermissionGuard.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function PermissionGuard_Factory() { return new PermissionGuard(core.ɵɵinject(store.Store)); }, token: PermissionGuard, providedIn: "root" }); return PermissionGuard; }()); + if (false) { + /** + * @type {?} + * @private + */ + PermissionGuard.prototype.store; + } + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ /** * @fileoverview added by tsickle @@ -1608,6 +1979,272 @@ ]; }; return ApiInterceptor; }()); + if (false) { + /** + * @type {?} + * @private + */ + ApiInterceptor.prototype.oAuthService; + /** + * @type {?} + * @private + */ + ApiInterceptor.prototype.store; + } + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var ApplicationConfiguration; + (function (ApplicationConfiguration) { + /** + * @record + */ + function Response() { } + ApplicationConfiguration.Response = Response; + if (false) { + /** @type {?} */ + Response.prototype.localization; + /** @type {?} */ + Response.prototype.auth; + /** @type {?} */ + Response.prototype.setting; + /** @type {?} */ + Response.prototype.currentUser; + /** @type {?} */ + Response.prototype.features; + } + /** + * @record + */ + function Localization() { } + ApplicationConfiguration.Localization = Localization; + if (false) { + /** @type {?} */ + Localization.prototype.values; + /** @type {?} */ + Localization.prototype.languages; + } + /** + * @record + */ + function LocalizationValue() { } + ApplicationConfiguration.LocalizationValue = LocalizationValue; + /** + * @record + */ + function Language() { } + ApplicationConfiguration.Language = Language; + if (false) { + /** @type {?} */ + Language.prototype.cultureName; + /** @type {?} */ + Language.prototype.uiCultureName; + /** @type {?} */ + Language.prototype.displayName; + /** @type {?} */ + Language.prototype.flagIcon; + } + /** + * @record + */ + function Auth() { } + ApplicationConfiguration.Auth = Auth; + if (false) { + /** @type {?} */ + Auth.prototype.policies; + /** @type {?} */ + Auth.prototype.grantedPolicies; + } + /** + * @record + */ + function Policy() { } + ApplicationConfiguration.Policy = Policy; + /** + * @record + */ + function Setting() { } + ApplicationConfiguration.Setting = Setting; + if (false) { + /** @type {?} */ + Setting.prototype.values; + } + /** + * @record + */ + function CurrentUser() { } + ApplicationConfiguration.CurrentUser = CurrentUser; + if (false) { + /** @type {?} */ + CurrentUser.prototype.isAuthenticated; + /** @type {?} */ + CurrentUser.prototype.id; + /** @type {?} */ + CurrentUser.prototype.tenantId; + /** @type {?} */ + CurrentUser.prototype.userName; + } + /** + * @record + */ + function Features() { } + ApplicationConfiguration.Features = Features; + if (false) { + /** @type {?} */ + Features.prototype.values; + } + })(ApplicationConfiguration || (ApplicationConfiguration = {})); + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var ABP; + (function (ABP) { + /** + * @record + */ + function Root() { } + ABP.Root = Root; + if (false) { + /** @type {?} */ + Root.prototype.environment; + /** @type {?} */ + Root.prototype.requirements; + } + /** + * @record + * @template T + */ + function PagedItemsResponse() { } + ABP.PagedItemsResponse = PagedItemsResponse; + if (false) { + /** @type {?} */ + PagedItemsResponse.prototype.items; + } + /** + * @record + */ + function PageQueryParams() { } + ABP.PageQueryParams = PageQueryParams; + if (false) { + /** @type {?|undefined} */ + PageQueryParams.prototype.filter; + /** @type {?|undefined} */ + PageQueryParams.prototype.sorting; + /** @type {?|undefined} */ + PageQueryParams.prototype.skipCount; + /** @type {?|undefined} */ + PageQueryParams.prototype.maxResultCount; + } + /** + * @record + */ + function Route() { } + ABP.Route = Route; + if (false) { + /** @type {?|undefined} */ + Route.prototype.children; + /** @type {?|undefined} */ + Route.prototype.invisible; + /** @type {?|undefined} */ + Route.prototype.layout; + /** @type {?} */ + Route.prototype.name; + /** @type {?|undefined} */ + Route.prototype.order; + /** @type {?|undefined} */ + Route.prototype.parentName; + /** @type {?} */ + Route.prototype.path; + /** @type {?|undefined} */ + Route.prototype.requiredPolicy; + /** @type {?|undefined} */ + Route.prototype.iconClass; + } + /** + * @record + */ + function FullRoute() { } + ABP.FullRoute = FullRoute; + if (false) { + /** @type {?|undefined} */ + FullRoute.prototype.url; + /** @type {?|undefined} */ + FullRoute.prototype.wrapper; + } + /** + * @record + */ + function BasicItem() { } + ABP.BasicItem = BasicItem; + if (false) { + /** @type {?} */ + BasicItem.prototype.id; + /** @type {?} */ + BasicItem.prototype.name; + } + })(ABP || (ABP = {})); + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var Config; + (function (Config) { + /** + * @record + */ + function State() { } + Config.State = State; + /** + * @record + */ + function Environment() { } + Config.Environment = Environment; + if (false) { + /** @type {?} */ + Environment.prototype.application; + /** @type {?} */ + Environment.prototype.production; + /** @type {?} */ + Environment.prototype.oAuthConfig; + /** @type {?} */ + Environment.prototype.apis; + } + /** + * @record + */ + function Application() { } + Config.Application = Application; + if (false) { + /** @type {?} */ + Application.prototype.name; + /** @type {?|undefined} */ + Application.prototype.logoUrl; + } + /** + * @record + */ + function Apis() { } + Config.Apis = Apis; + /** + * @record + */ + function Requirements() { } + Config.Requirements = Requirements; + if (false) { + /** @type {?} */ + Requirements.prototype.layouts; + } + })(Config || (Config = {})); /** * @fileoverview added by tsickle @@ -1620,14 +2257,107 @@ */ function Config() { } Rest.Config = Config; + if (false) { + /** @type {?|undefined} */ + Config.prototype.throwErr; + /** @type {?|undefined} */ + Config.prototype.observe; + } /** * @record * @template T */ function Request() { } Rest.Request = Request; + if (false) { + /** @type {?|undefined} */ + Request.prototype.body; + /** @type {?|undefined} */ + Request.prototype.headers; + /** @type {?} */ + Request.prototype.method; + /** @type {?|undefined} */ + Request.prototype.params; + /** @type {?|undefined} */ + Request.prototype.reportProgress; + /** @type {?|undefined} */ + Request.prototype.responseType; + /** @type {?} */ + Request.prototype.url; + /** @type {?|undefined} */ + Request.prototype.withCredentials; + } })(exports.Rest || (exports.Rest = {})); + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var Session; + (function (Session) { + /** + * @record + */ + function State() { } + Session.State = State; + if (false) { + /** @type {?} */ + State.prototype.language; + /** @type {?} */ + State.prototype.tenant; + } + })(Session || (Session = {})); + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var Profile; + (function (Profile) { + /** + * @record + */ + function State() { } + Profile.State = State; + if (false) { + /** @type {?} */ + State.prototype.profile; + } + /** + * @record + */ + function Response() { } + Profile.Response = Response; + if (false) { + /** @type {?} */ + Response.prototype.userName; + /** @type {?} */ + Response.prototype.email; + /** @type {?} */ + Response.prototype.name; + /** @type {?} */ + Response.prototype.surname; + /** @type {?} */ + Response.prototype.phoneNumber; + } + /** + * @record + */ + function ChangePasswordRequest() { } + Profile.ChangePasswordRequest = ChangePasswordRequest; + if (false) { + /** @type {?} */ + ChangePasswordRequest.prototype.currentPassword; + /** @type {?} */ + ChangePasswordRequest.prototype.newPassword; + } + })(Profile || (Profile = {})); + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1676,6 +2406,23 @@ ]; }; return ConfigPlugin; }()); + if (false) { + /** + * @type {?} + * @private + */ + ConfigPlugin.prototype.initialized; + /** + * @type {?} + * @private + */ + ConfigPlugin.prototype.options; + /** + * @type {?} + * @private + */ + ConfigPlugin.prototype.router; + } /** * @param {?=} routes * @param {?=} wrappers @@ -1777,6 +2524,11 @@ }))); })); } + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1839,6 +2591,13 @@ /** @nocollapse */ ConfigService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function ConfigService_Factory() { return new ConfigService(core.ɵɵinject(store.Store)); }, token: ConfigService, providedIn: "root" }); return ConfigService; }()); + if (false) { + /** + * @type {?} + * @private + */ + ConfigService.prototype.store; + } /** * @fileoverview added by tsickle @@ -1917,6 +2676,10 @@ /** @nocollapse */ LazyLoadService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function LazyLoadService_Factory() { return new LazyLoadService(); }, token: LazyLoadService, providedIn: "root" }); return LazyLoadService; }()); + if (false) { + /** @type {?} */ + LazyLoadService.prototype.loadedLibraries; + } /** * @fileoverview added by tsickle @@ -1970,6 +2733,18 @@ /** @nocollapse */ LocalizationService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function LocalizationService_Factory() { return new LocalizationService(core.ɵɵinject(store.Store)); }, token: LocalizationService, providedIn: "root" }); return LocalizationService; }()); + if (false) { + /** + * @type {?} + * @private + */ + LocalizationService.prototype.store; + } + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ /** * @fileoverview added by tsickle @@ -1994,6 +2769,11 @@ /** @type {?} */ var CONFIG = new core.InjectionToken('CONFIG'); + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -2056,6 +2836,17 @@ ]; }; return LocalizationPipe; }()); + if (false) { + /** @type {?} */ + LocalizationPipe.prototype.initialized; + /** @type {?} */ + LocalizationPipe.prototype.value; + /** + * @type {?} + * @private + */ + LocalizationPipe.prototype.store; + } /** * @fileoverview added by tsickle @@ -2102,6 +2893,22 @@ }; return InputEventDebounceDirective; }()); + if (false) { + /** @type {?} */ + InputEventDebounceDirective.prototype.debounce; + /** @type {?} */ + InputEventDebounceDirective.prototype.debounceEvent; + /** + * @type {?} + * @private + */ + InputEventDebounceDirective.prototype.renderer; + /** + * @type {?} + * @private + */ + InputEventDebounceDirective.prototype.el; + } /** * @fileoverview added by tsickle @@ -2147,6 +2954,20 @@ }; return ClickEventStopPropagationDirective; }()); + if (false) { + /** @type {?} */ + ClickEventStopPropagationDirective.prototype.stopPropEvent; + /** + * @type {?} + * @private + */ + ClickEventStopPropagationDirective.prototype.renderer; + /** + * @type {?} + * @private + */ + ClickEventStopPropagationDirective.prototype.el; + } /** * @fileoverview added by tsickle diff --git a/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.js.map b/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.js.map index bd1f848a72..601c478e2e 100644 --- a/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.js.map +++ b/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.core.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.core/lib/actions/config.actions.ts","ng://@abp/ng.core/lib/actions/loader.actions.ts","ng://@abp/ng.core/lib/actions/profile.actions.ts","ng://@abp/ng.core/lib/actions/rest.actions.ts","ng://@abp/ng.core/lib/actions/session.actions.ts","ng://@abp/ng.core/lib/services/rest.service.ts","ng://@abp/ng.core/lib/services/profile.service.ts","ng://@abp/ng.core/lib/states/profile.state.ts","ng://@abp/ng.core/lib/services/application-configuration.service.ts","ng://@abp/ng.core/lib/states/session.state.ts","ng://@abp/ng.core/lib/utils/route-utils.ts","ng://@abp/ng.core/lib/states/config.state.ts","ng://@abp/ng.core/lib/utils/generator-utils.ts","ng://@abp/ng.core/lib/utils/initial-utils.ts","ng://@abp/ng.core/lib/utils/rxjs-utils.ts","ng://@abp/ng.core/lib/components/dynamic-layout.component.ts","ng://@abp/ng.core/lib/components/router-outlet.component.ts","ng://@abp/ng.core/lib/directives/autofocus.directive.ts","ng://@abp/ng.core/lib/directives/ellipsis.directive.ts","ng://@abp/ng.core/lib/directives/permission.directive.ts","ng://@abp/ng.core/lib/directives/visibility.directive.ts","ng://@abp/ng.core/lib/guards/auth.guard.ts","ng://@abp/ng.core/lib/guards/permission.guard.ts","ng://@abp/ng.core/lib/interceptors/api.interceptor.ts","ng://@abp/ng.core/lib/models/rest.ts","ng://@abp/ng.core/lib/plugins/config.plugin.ts","ng://@abp/ng.core/lib/services/config.service.ts","ng://@abp/ng.core/lib/services/lazy-load.service.ts","ng://@abp/ng.core/lib/services/localization.service.ts","ng://@abp/ng.core/lib/tokens/common.token.ts","ng://@abp/ng.core/lib/pipes/localization.pipe.ts","ng://@abp/ng.core/lib/directives/debounce.directive.ts","ng://@abp/ng.core/lib/directives/stop-propagation.directive.ts","ng://@abp/ng.core/lib/core.module.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","import { ABP } from '../models';\n\nexport class PatchRouteByName {\n static readonly type = '[Config] Patch Route By Name';\n constructor(public name: string, public newValue: Partial) {}\n}\n\nexport class GetAppConfiguration {\n static readonly type = '[Config] Get App Configuration';\n}\n","import { HttpRequest } from '@angular/common/http';\n\nexport class StartLoader {\n static readonly type = '[Loader] Start';\n constructor(public payload: HttpRequest) {}\n}\n\nexport class StopLoader {\n static readonly type = '[Loader] Stop';\n constructor(public payload: HttpRequest) {}\n}\n","import { Profile } from '../models';\n\nexport class GetProfile {\n static readonly type = '[Profile] Get';\n}\n\nexport class UpdateProfile {\n static readonly type = '[Profile] Update';\n constructor(public payload: Profile.Response) {}\n}\n\nexport class ChangePassword {\n static readonly type = '[Profile] Change Password';\n constructor(public payload: Profile.ChangePasswordRequest) {}\n}\n","import { HttpErrorResponse } from '@angular/common/http';\n\nexport class RestOccurError {\n static readonly type = '[Rest] Error';\n constructor(public payload: HttpErrorResponse | any) {}\n}\n","import { ABP } from '../models';\n\nexport class SetLanguage {\n static readonly type = '[Session] Set Language';\n constructor(public payload: string) {}\n}\nexport class SetTenant {\n static readonly type = '[Session] Set Tenant';\n constructor(public payload: ABP.BasicItem) {}\n}\n","import { HttpClient, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { NEVER, Observable, throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport { Rest } from '../models/rest';\nimport { ConfigState } from '../states';\nimport { RestOccurError } from '../actions';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RestService {\n constructor(private http: HttpClient, private store: Store) {}\n\n handleError(err: any): Observable {\n this.store.dispatch(new RestOccurError(err));\n console.error(err);\n return NEVER;\n }\n\n request(request: HttpRequest | Rest.Request, config: Rest.Config = {}, api?: string): Observable {\n const { observe = Rest.Observe.Body, throwErr } = config;\n const url = api || this.store.selectSnapshot(ConfigState.getApiUrl()) + request.url;\n const { method, ...options } = request;\n return this.http.request(method, url, { observe, ...options } as any).pipe(\n observe === Rest.Observe.Body ? take(1) : null,\n catchError(err => {\n if (throwErr) {\n return throwError(err);\n }\n\n return this.handleError(err);\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService } from './rest.service';\nimport { Profile, Rest } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProfileService {\n constructor(private rest: RestService) {}\n\n get(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/my-profile',\n };\n\n return this.rest.request(request);\n }\n\n update(body: Profile.Response): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/identity/my-profile',\n body,\n };\n\n return this.rest.request(request);\n }\n\n changePassword(body: Profile.ChangePasswordRequest, throwErr: boolean = false): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/my-profile/change-password',\n body,\n };\n\n return this.rest.request(request, { throwErr });\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetProfile, ChangePassword, UpdateProfile } from '../actions/profile.actions';\nimport { Profile } from '../models/profile';\nimport { ProfileService } from '../services/profile.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'ProfileState',\n defaults: {} as Profile.State,\n})\nexport class ProfileState {\n @Selector()\n static getProfile({ profile }: Profile.State): Profile.Response {\n return profile;\n }\n\n constructor(private profileService: ProfileService) {}\n\n @Action(GetProfile)\n profileGet({ patchState }: StateContext) {\n return this.profileService.get().pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(UpdateProfile)\n profileUpdate({ patchState }: StateContext, { payload }: UpdateProfile) {\n return this.profileService.update(payload).pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(ChangePassword)\n changePassword(_, { payload }: ChangePassword) {\n return this.profileService.changePassword(payload, true);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ApplicationConfiguration, Rest } from '../models';\nimport { RestService } from './rest.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApplicationConfigurationService {\n constructor(private rest: RestService) {}\n\n getConfiguration(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/application-configuration',\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { SetLanguage, SetTenant } from '../actions/session.actions';\nimport { ABP, Session } from '../models';\n\n@State({\n name: 'SessionState',\n defaults: {} as Session.State,\n})\nexport class SessionState {\n @Selector()\n static getLanguage({ language }: Session.State): string {\n return language;\n }\n\n @Selector()\n static getTenant({ tenant }: Session.State): ABP.BasicItem {\n return tenant;\n }\n\n constructor() {}\n\n @Action(SetLanguage)\n setLanguage({ patchState }: StateContext, { payload }: SetLanguage) {\n patchState({\n language: payload,\n });\n }\n\n @Action(SetTenant)\n setTenantId({ patchState }: StateContext, { payload }: SetTenant) {\n patchState({\n tenant: payload,\n });\n }\n}\n","import { ABP } from '../models';\n\nexport function organizeRoutes(\n routes: ABP.FullRoute[],\n wrappers: ABP.FullRoute[] = [],\n parentNameArr = [] as ABP.FullRoute[],\n parentName: string = null,\n): ABP.FullRoute[] {\n const filter = route => {\n if (route.children && route.children.length) {\n route.children = organizeRoutes(route.children, wrappers, parentNameArr, route.name);\n }\n\n if (route.parentName && route.parentName !== parentName) {\n parentNameArr.push(route);\n return false;\n }\n\n return true;\n };\n\n if (parentName) {\n // recursive block\n return routes.filter(filter);\n }\n\n const filteredRoutes = routes.filter(filter);\n\n if (parentNameArr.length) {\n return sortRoutes(setChildRoute([...filteredRoutes, ...wrappers], parentNameArr));\n }\n\n return filteredRoutes;\n}\n\nexport function setChildRoute(routes: ABP.FullRoute[], parentNameArr: ABP.FullRoute[]): ABP.FullRoute[] {\n return routes.map(route => {\n if (route.children && route.children.length) {\n route.children = setChildRoute(route.children, parentNameArr);\n }\n\n const foundedChildren = parentNameArr.filter(parent => parent.parentName === route.name);\n if (foundedChildren && foundedChildren.length) {\n route.children = [...(route.children || []), ...foundedChildren];\n }\n\n return route;\n });\n}\n\nexport function sortRoutes(routes: ABP.FullRoute[] = []): ABP.FullRoute[] {\n if (!routes.length) return [];\n return routes\n .sort((a, b) => a.order - b.order)\n .map(route => {\n if (route.children && route.children.length) {\n route.children = sortRoutes(route.children);\n }\n\n return route;\n });\n}\n","import { State, Selector, createSelector, Action, StateContext, Store } from '@ngxs/store';\nimport { Config, ABP } from '../models';\nimport { GetAppConfiguration, PatchRouteByName } from '../actions/config.actions';\nimport { ApplicationConfigurationService } from '../services/application-configuration.service';\nimport { tap, switchMap } from 'rxjs/operators';\nimport snq from 'snq';\nimport { SetLanguage } from '../actions';\nimport { SessionState } from './session.state';\nimport { of } from 'rxjs';\nimport { setChildRoute, sortRoutes, organizeRoutes } from '../utils/route-utils';\n\n@State({\n name: 'ConfigState',\n defaults: {} as Config.State,\n})\nexport class ConfigState {\n @Selector()\n static getAll(state: Config.State) {\n return state;\n }\n\n @Selector()\n static getApplicationInfo(state: Config.State) {\n return state.environment.application || {};\n }\n\n static getOne(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return state[key];\n },\n );\n\n return selector;\n }\n\n static getDeep(keys: string[] | string) {\n if (typeof keys === 'string') {\n keys = keys.split('.');\n }\n\n if (!Array.isArray(keys)) {\n throw new Error('The argument must be a dot string or an string array.');\n }\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return (keys as string[]).reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state);\n },\n );\n\n return selector;\n }\n\n static getApiUrl(key?: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): string {\n return state.environment.apis[key || 'default'].url;\n },\n );\n\n return selector;\n }\n\n static getSetting(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return snq(() => state.setting.values[key]);\n },\n );\n\n return selector;\n }\n\n static getGrantedPolicy(condition: string = '') {\n const keys = condition\n .replace(/\\(|\\)|\\!|\\s/g, '')\n .split(/\\|\\||&&/)\n .filter(key => key);\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): boolean {\n if (!keys.length) return true;\n\n const getPolicy = key => snq(() => state.auth.grantedPolicies[key], false);\n if (keys.length > 1) {\n keys.forEach(key => {\n const value = getPolicy(key);\n condition = condition.replace(key, value);\n });\n\n // tslint:disable-next-line: no-eval\n return eval(`!!${condition}`);\n }\n\n return getPolicy(condition);\n },\n );\n\n return selector;\n }\n\n static getCopy(key: string, ...interpolateParams: string[]) {\n if (!key) key = '';\n\n const keys = key.split('::') as string[];\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n if (!state.localization) return key;\n\n const { defaultResourceName } = state.environment.localization;\n if (keys[0] === '') {\n if (!defaultResourceName) {\n throw new Error(\n `Please check your environment. May you forget set defaultResourceName? \n Here is the example:\n { production: false,\n localization: {\n defaultResourceName: 'MyProjectName'\n }\n }`,\n );\n }\n\n keys[0] = snq(() => defaultResourceName);\n }\n\n let copy = keys.reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state.localization.values);\n\n interpolateParams = interpolateParams.filter(params => params != null);\n if (copy && interpolateParams && interpolateParams.length) {\n interpolateParams.forEach(param => {\n copy = copy.replace(/[\\'\\\"]?\\{[\\d]+\\}[\\'\\\"]?/, param);\n });\n }\n\n return copy || key;\n },\n );\n\n return selector;\n }\n\n constructor(private appConfigurationService: ApplicationConfigurationService, private store: Store) {}\n\n @Action(GetAppConfiguration)\n addData({ patchState, dispatch }: StateContext) {\n return this.appConfigurationService.getConfiguration().pipe(\n tap(configuration =>\n patchState({\n ...configuration,\n }),\n ),\n switchMap(configuration =>\n this.store.selectSnapshot(SessionState.getLanguage)\n ? of(null)\n : dispatch(new SetLanguage(snq(() => configuration.setting.values['Abp.Localization.DefaultLanguage']))),\n ),\n );\n }\n\n @Action(PatchRouteByName)\n patchRoute({ patchState, getState }: StateContext, { name, newValue }: PatchRouteByName) {\n let routes: ABP.FullRoute[] = getState().routes;\n\n const index = routes.findIndex(route => route.name === name);\n\n routes = patchRouteDeep(routes, name, newValue);\n\n return patchState({\n routes,\n });\n }\n}\n\nfunction patchRouteDeep(\n routes: ABP.FullRoute[],\n name: string,\n newValue: Partial,\n parentUrl: string = null,\n): ABP.FullRoute[] {\n routes = routes.map(route => {\n if (route.name === name) {\n if (newValue.path) {\n newValue.url = `${parentUrl}/${newValue.path}`;\n }\n\n if (newValue.children && newValue.children.length) {\n newValue.children = newValue.children.map(child => ({\n ...child,\n url: `${parentUrl}/${route.path}/${child.path}`,\n }));\n }\n\n return { ...route, ...newValue };\n } else if (route.children && route.children.length) {\n route.children = patchRouteDeep(route.children, name, newValue, (parentUrl || '/') + route.path);\n }\n\n return route;\n });\n\n if (parentUrl) {\n // recursive block\n return routes;\n }\n\n return organizeRoutes(routes);\n}\n","export function uuid(a?: any): string {\n return a\n ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16)\n : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);\n}\n","import { Injector } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { GetAppConfiguration } from '../actions/config.actions';\n\nexport function getInitialData(injector: Injector) {\n const fn = function() {\n const store: Store = injector.get(Store);\n\n return store.dispatch(new GetAppConfiguration()).toPromise();\n };\n\n return fn;\n}\n","import { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n\nexport const takeUntilDestroy = (componentInstance, destroyMethodName = 'ngOnDestroy') => (\n source: Observable,\n) => {\n const originalDestroy = componentInstance[destroyMethodName];\n if (isFunction(originalDestroy) === false) {\n throw new Error(\n `${componentInstance.constructor.name} is using untilDestroyed but doesn't implement ${destroyMethodName}`,\n );\n }\n if (!componentInstance['__takeUntilDestroy']) {\n componentInstance['__takeUntilDestroy'] = new Subject();\n\n componentInstance[destroyMethodName] = function() {\n isFunction(originalDestroy) && originalDestroy.apply(this, arguments);\n componentInstance['__takeUntilDestroy'].next(true);\n componentInstance['__takeUntilDestroy'].complete();\n };\n }\n return source.pipe(takeUntil(componentInstance['__takeUntilDestroy']));\n};\n","import { Component, OnDestroy, Type } from '@angular/core';\nimport { NavigationEnd, Router, UrlSegment } from '@angular/router';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { eLayoutType } from '../enums';\nimport { ABP, Config } from '../models';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport snq from 'snq';\n\n@Component({\n selector: 'abp-dynamic-layout',\n template: `\n \n\n \n \n `,\n})\nexport class DynamicLayoutComponent implements OnDestroy {\n @Select(ConfigState.getOne('requirements'))\n requirements$: Observable;\n\n layout: Type;\n\n constructor(private router: Router, private store: Store) {\n this.router.events.pipe(takeUntilDestroy(this)).subscribe(event => {\n if (event instanceof NavigationEnd) {\n const { segments } = this.router.parseUrl(event.url).root.children.primary;\n const {\n requirements: { layouts },\n routes,\n } = this.store.selectSnapshot(ConfigState.getAll);\n\n const layout = findLayout(segments, routes);\n\n this.layout = layouts.filter(l => !!l).find(l => snq(() => l.type.toLowerCase().indexOf(layout), -1) > -1);\n }\n });\n }\n\n ngOnDestroy() {}\n}\n\nfunction findLayout(segments: UrlSegment[], routes: ABP.FullRoute[]): eLayoutType {\n let layout = eLayoutType.empty;\n\n const route = routes\n .reduce((acc, val) => (val.wrapper ? [...acc, ...val.children] : [...acc, val]), [])\n .find(r => r.path === segments[0].path);\n\n if (route) {\n if (route.layout) {\n layout = route.layout;\n }\n\n if (route.children && route.children.length && segments.length > 1) {\n const child = route.children.find(c => c.path === segments[1].path);\n\n if (child.layout) {\n layout = child.layout;\n }\n }\n }\n\n return layout;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-router-outlet',\n template: `\n \n `,\n})\nexport class RouterOutletComponent {}\n","import { Directive, ElementRef, Input, AfterViewInit } from '@angular/core';\n\n@Directive({\n selector: '[autofocus]',\n})\nexport class AutofocusDirective implements AfterViewInit {\n @Input('autofocus')\n delay: number = 0;\n\n constructor(private elRef: ElementRef) {}\n\n ngAfterViewInit(): void {\n setTimeout(() => this.elRef.nativeElement.focus(), this.delay);\n }\n}\n","import { AfterContentInit, ChangeDetectorRef, Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[abpEllipsis]',\n})\nexport class EllipsisDirective implements AfterContentInit {\n @Input('abpEllipsis')\n witdh: string;\n\n @HostBinding('title')\n @Input()\n title: string;\n\n @Input('abpEllipsisEnabled')\n enabled = true;\n\n @HostBinding('class.abp-ellipsis')\n get class() {\n return this.enabled;\n }\n\n @HostBinding('style.max-width')\n get maxWidth() {\n return this.enabled ? this.witdh || '160px' : undefined;\n }\n\n constructor(private cdRef: ChangeDetectorRef, private elRef: ElementRef) {}\n\n ngAfterContentInit() {\n setTimeout(() => {\n const title = this.title;\n this.title = title || (this.elRef.nativeElement as HTMLElement).innerText;\n\n if (this.title !== title) {\n this.cdRef.detectChanges();\n }\n }, 0);\n }\n}\n","import { Directive, ElementRef, Input, OnDestroy, OnInit, Optional, Renderer2 } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\n\n@Directive({\n selector: '[abpPermission]',\n})\nexport class PermissionDirective implements OnInit, OnDestroy {\n @Input('abpPermission') condition: string;\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2, private store: Store) {}\n\n ngOnInit() {\n if (this.condition) {\n this.store\n .select(ConfigState.getGrantedPolicy(this.condition))\n .pipe(takeUntilDestroy(this))\n .subscribe(isGranted => {\n if (!isGranted) {\n this.renderer.removeChild(\n (this.elRef.nativeElement as HTMLElement).parentElement,\n this.elRef.nativeElement,\n );\n }\n });\n }\n }\n\n ngOnDestroy(): void {}\n}\n","import { Directive, Input, Optional, ElementRef, Renderer2, AfterViewInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport snq from 'snq';\n\n@Directive({\n selector: '[abpVisibility]',\n})\nexport class VisibilityDirective implements AfterViewInit {\n @Input('abpVisibility')\n focusedElement: HTMLElement;\n\n completed$ = new Subject();\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2) {}\n\n ngAfterViewInit() {\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (!mutation.target) return;\n\n const htmlNodes = snq(\n () => Array.from(mutation.target.childNodes).filter(node => node instanceof HTMLElement),\n [],\n );\n\n if (!htmlNodes.length) {\n this.renderer.removeChild(this.elRef.nativeElement.parentElement, this.elRef.nativeElement);\n this.disconnect();\n } else {\n setTimeout(() => {\n this.disconnect();\n }, 0);\n }\n });\n });\n\n observer.observe(this.focusedElement, {\n childList: true,\n });\n\n this.completed$.subscribe(() => observer.disconnect());\n }\n\n disconnect() {\n this.completed$.next();\n this.completed$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Observable } from 'rxjs';\nimport { Navigate } from '@ngxs/router-plugin';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuard implements CanActivate {\n constructor(private oauthService: OAuthService, private store: Store) {}\n canActivate(_: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean | UrlTree {\n const hasValidAccessToken = this.oauthService.hasValidAccessToken();\n if (hasValidAccessToken) {\n return hasValidAccessToken;\n }\n\n this.store.dispatch(new Navigate(['/account/login'], null, { state: { redirectUrl: state.url } }));\n\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionGuard implements CanActivate {\n constructor(private store: Store) {}\n\n canActivate({ data }: ActivatedRouteSnapshot): Observable {\n const resource = data.requiredPolicy as string;\n return this.store.select(ConfigState.getGrantedPolicy(resource));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Store } from '@ngxs/store';\nimport { SessionState } from '../states';\nimport { StartLoader, StopLoader } from '../actions/loader.actions';\nimport { finalize } from 'rxjs/operators';\n\n@Injectable()\nexport class ApiInterceptor implements HttpInterceptor {\n constructor(private oAuthService: OAuthService, private store: Store) {}\n\n intercept(request: HttpRequest, next: HttpHandler) {\n this.store.dispatch(new StartLoader(request));\n\n const headers = {} as any;\n\n const token = this.oAuthService.getAccessToken();\n if (!request.headers.has('Authorization') && token) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n const lang = this.store.selectSnapshot(SessionState.getLanguage);\n if (!request.headers.has('Accept-Language') && lang) {\n headers['Accept-Language'] = lang;\n }\n\n const tenant = this.store.selectSnapshot(SessionState.getTenant);\n if (!request.headers.has('__tenant') && tenant) {\n headers['__tenant'] = tenant.id;\n }\n\n return next\n .handle(\n request.clone({\n setHeaders: headers,\n }),\n )\n .pipe(finalize(() => this.store.dispatch(new StopLoader(request))));\n }\n}\n","import { HttpHeaders, HttpParams } from '@angular/common/http';\n\nexport namespace Rest {\n export interface Config {\n throwErr?: boolean;\n observe?: Observe;\n }\n\n export const enum Observe {\n Body = 'body',\n Events = 'events',\n Response = 'response',\n }\n\n export const enum ResponseType {\n ArrayBuffer = 'arraybuffer',\n Blob = 'blob',\n JSON = 'json',\n Text = 'text',\n }\n\n export interface Request {\n body?: T;\n headers?:\n | HttpHeaders\n | {\n [header: string]: string | string[];\n };\n method: string;\n params?:\n | HttpParams\n | {\n [param: string]: any;\n };\n reportProgress?: boolean;\n responseType?: ResponseType;\n url: string;\n withCredentials?: boolean;\n }\n}\n","import { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { Router, Routes } from '@angular/router';\nimport { actionMatcher, InitState, NgxsNextPluginFn, NgxsPlugin, setValue, UpdateState } from '@ngxs/store';\nimport snq from 'snq';\nimport { ABP } from '../models';\nimport { organizeRoutes } from '../utils/route-utils';\n\nexport const NGXS_CONFIG_PLUGIN_OPTIONS = new InjectionToken('NGXS_CONFIG_PLUGIN_OPTIONS');\n\n@Injectable()\nexport class ConfigPlugin implements NgxsPlugin {\n private initialized: boolean = false;\n\n constructor(@Inject(NGXS_CONFIG_PLUGIN_OPTIONS) private options: ABP.Root, private router: Router) {}\n\n handle(state: any, event: any, next: NgxsNextPluginFn) {\n const matches = actionMatcher(event);\n const isInitAction = matches(InitState) || matches(UpdateState);\n\n // const layouts = snq(() => this.options.requirements.layouts.filter(layout => layout instanceof Type), []);\n if (isInitAction && !this.initialized) {\n let { routes, wrappers } = transformRoutes(this.router.config);\n routes = organizeRoutes(routes, wrappers);\n\n state = setValue(state, 'ConfigState', {\n ...(state.ConfigState && { ...state.ConfigState }),\n ...this.options,\n routes,\n });\n\n this.initialized = true;\n }\n\n return next(state, event);\n }\n}\n\nfunction transformRoutes(routes: Routes = [], wrappers: ABP.FullRoute[] = []): any {\n const abpRoutes: ABP.FullRoute[] = routes\n .filter(route => {\n return snq(() => route.data.routes.find(r => r.path === route.path), false);\n })\n .reduce((acc, val) => [...acc, ...val.data.routes], []);\n\n wrappers = abpRoutes.filter(ar => ar.wrapper);\n const transformed = [] as ABP.FullRoute[];\n routes\n .filter(route => (route.data || {}).routes && (route.component || route.loadChildren))\n .forEach(route => {\n const abpPackage = abpRoutes.find(\n abp => abp.path.toLowerCase() === route.path.toLowerCase() && snq(() => route.data.routes.length, false),\n );\n const { length } = transformed;\n\n if (abpPackage) {\n transformed.push(abpPackage);\n }\n\n if (transformed.length === length) {\n transformed.push({\n path: route.path,\n name: snq(() => route.data.routes.name, route.path),\n children: route.data.routes.children || [],\n } as ABP.FullRoute);\n }\n });\n\n return { routes: setUrls(transformed), wrappers };\n}\n\nfunction setUrls(routes: ABP.FullRoute[], parentUrl?: string): ABP.FullRoute[] {\n if (parentUrl) {\n // this if block using for only recursive call\n\n return routes.map(route => ({\n ...route,\n url: `${parentUrl}/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `${parentUrl}/${route.path}`),\n }),\n }));\n }\n\n return routes.map(route => ({\n ...route,\n url: `/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `/${route.path}`),\n }),\n }));\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigService {\n constructor(private store: Store) {}\n\n getAll() {\n return this.store.selectSnapshot(ConfigState.getAll);\n }\n\n getOne(key: string) {\n return this.store.selectSnapshot(ConfigState.getOne(key));\n }\n\n getDeep(keys: string[] | string) {\n return this.store.selectSnapshot(ConfigState.getDeep(keys));\n }\n\n getSetting(key: string) {\n return this.store.selectSnapshot(ConfigState.getSetting(key));\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { uuid } from '../utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LazyLoadService {\n loadedLibraries: { [url: string]: ReplaySubject } = {};\n\n load(\n url: string,\n type: 'script' | 'style',\n content: string = '',\n targetQuery: string = 'body',\n position: InsertPosition = 'afterend',\n ): Observable {\n if (!url && !content) return;\n const key = url ? url.slice(url.lastIndexOf('/') + 1) : uuid();\n\n if (this.loadedLibraries[key]) {\n return this.loadedLibraries[key].asObservable();\n }\n\n this.loadedLibraries[key] = new ReplaySubject();\n\n let library;\n if (type === 'script') {\n library = document.createElement('script');\n library.type = 'text/javascript';\n if (url) {\n (library as HTMLScriptElement).src = url;\n }\n\n (library as HTMLScriptElement).text = content;\n } else if (url) {\n library = document.createElement('link');\n library.type = 'text/css';\n (library as HTMLLinkElement).rel = 'stylesheet';\n\n if (url) {\n (library as HTMLLinkElement).href = url;\n }\n } else {\n library = document.createElement('style');\n (library as HTMLStyleElement).textContent = content;\n }\n\n library.onload = () => {\n this.loadedLibraries[key].next();\n this.loadedLibraries[key].complete();\n };\n\n document.querySelector(targetQuery).insertAdjacentElement(position, library);\n\n return this.loadedLibraries[key].asObservable();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { Observable } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class LocalizationService {\n constructor(private store: Store) {}\n\n get(keys: string, ...interpolateParams: string[]): Observable {\n return this.store.select(ConfigState.getCopy(keys, ...interpolateParams));\n }\n\n instant(keys: string, ...interpolateParams: string[]): string {\n return this.store.selectSnapshot(ConfigState.getCopy(keys, ...interpolateParams));\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Config } from '../models';\n\nexport function environmentFactory(environment: Config.Environment) {\n return {\n ...environment,\n };\n}\n\nexport function configFactory(config: Config.Requirements) {\n return {\n ...config,\n };\n}\n\nexport const ENVIRONMENT = new InjectionToken('ENVIRONMENT');\n\nexport const CONFIG = new InjectionToken('CONFIG');\n","import { Pipe, PipeTransform, OnDestroy } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n@Pipe({\n name: 'abpLocalization',\n pure: false, // required to update the value\n})\nexport class LocalizationPipe implements PipeTransform, OnDestroy {\n initialized: boolean = false;\n\n value: string;\n\n constructor(private store: Store) {}\n\n transform(value: string, ...interpolateParams: string[]): string {\n if (!this.initialized) {\n this.initialized = true;\n\n this.store\n .select(\n ConfigState.getCopy(\n value,\n ...interpolateParams.reduce((acc, val) => (Array.isArray(val) ? [...acc, ...val] : [...acc, val]), []),\n ),\n )\n .pipe(\n takeUntilDestroy(this),\n distinctUntilChanged(),\n )\n .subscribe(copy => (this.value = copy));\n }\n\n return this.value;\n }\n\n ngOnDestroy() {}\n}\n","import { Directive, Output, Renderer2, ElementRef, OnInit, EventEmitter, Input } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[input.debounce]',\n})\nexport class InputEventDebounceDirective implements OnInit {\n @Input() debounce: number = 300;\n\n @Output('input.debounce') debounceEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'input')\n .pipe(\n debounceTime(this.debounce),\n takeUntilDestroy(this),\n )\n .subscribe((event: Event) => {\n this.debounceEvent.emit(event);\n });\n }\n}\n","import { Directive, ElementRef, EventEmitter, OnInit, Output, Renderer2 } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[click.stop]',\n})\nexport class ClickEventStopPropagationDirective implements OnInit {\n @Output('click.stop') stopPropEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'click')\n .pipe(takeUntilDestroy(this))\n .subscribe((event: MouseEvent) => {\n event.stopPropagation();\n this.stopPropEvent.emit(event);\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { NgxsRouterPluginModule } from '@ngxs/router-plugin';\nimport { NgxsStoragePluginModule } from '@ngxs/storage-plugin';\nimport { NgxsModule, NGXS_PLUGINS } from '@ngxs/store';\nimport { DynamicLayoutComponent } from './components/dynamic-layout.component';\nimport { RouterOutletComponent } from './components/router-outlet.component';\nimport { PermissionDirective } from './directives/permission.directive';\nimport { VisibilityDirective } from './directives/visibility.directive';\nimport { ApiInterceptor } from './interceptors/api.interceptor';\nimport { ABP } from './models/common';\nimport { LocalizationPipe } from './pipes/localization.pipe';\nimport { ConfigPlugin, NGXS_CONFIG_PLUGIN_OPTIONS } from './plugins/config.plugin';\nimport { ConfigState } from './states/config.state';\nimport { ProfileState } from './states/profile.state';\nimport { SessionState } from './states/session.state';\nimport { getInitialData } from './utils/initial-utils';\nimport { EllipsisDirective } from './directives/ellipsis.directive';\nimport { AutofocusDirective } from './directives/autofocus.directive';\nimport { InputEventDebounceDirective } from './directives/debounce.directive';\nimport { ClickEventStopPropagationDirective } from './directives/stop-propagation.directive';\n\n@NgModule({\n imports: [\n NgxsModule.forFeature([ProfileState, SessionState, ConfigState]),\n NgxsStoragePluginModule.forRoot({ key: 'SessionState' }),\n NgxsRouterPluginModule.forRoot(),\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n ],\n declarations: [\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n ClickEventStopPropagationDirective,\n ],\n exports: [\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n LocalizationPipe,\n ClickEventStopPropagationDirective,\n ],\n providers: [LocalizationPipe],\n entryComponents: [RouterOutletComponent, DynamicLayoutComponent],\n})\nexport class CoreModule {\n static forRoot(options = {} as ABP.Root): ModuleWithProviders {\n return {\n ngModule: CoreModule,\n providers: [\n {\n provide: NGXS_PLUGINS,\n useClass: ConfigPlugin,\n multi: true,\n },\n {\n provide: NGXS_CONFIG_PLUGIN_OPTIONS,\n useValue: options,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ApiInterceptor,\n multi: true,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector],\n useFactory: getInitialData,\n },\n ],\n };\n }\n}\n"],"names":["NEVER","take","catchError","throwError","Injectable","HttpClient","Store","tap","tslib_1.__decorate","Action","Selector","State","createSelector","switchMap","of","store","Subject","takeUntil","router","NavigationEnd","Component","Router","Select","Observable","Directive","ElementRef","Input","ChangeDetectorRef","HostBinding","Optional","Renderer2","Navigate","OAuthService","finalize","Rest","InjectionToken","actionMatcher","InitState","UpdateState","setValue","Inject","ReplaySubject","distinctUntilChanged","Pipe","EventEmitter","fromEvent","debounceTime","takeUntilDestroy","Output","NGXS_PLUGINS","HTTP_INTERCEPTORS","APP_INITIALIZER","Injector","NgModule","NgxsModule","NgxsStoragePluginModule","NgxsRouterPluginModule","CommonModule","HttpClientModule","FormsModule","ReactiveFormsModule","RouterModule"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.core.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.core/lib/actions/config.actions.ts","ng://@abp/ng.core/lib/actions/loader.actions.ts","ng://@abp/ng.core/lib/actions/profile.actions.ts","ng://@abp/ng.core/lib/actions/rest.actions.ts","ng://@abp/ng.core/lib/actions/session.actions.ts","ng://@abp/ng.core/lib/services/rest.service.ts","ng://@abp/ng.core/lib/services/profile.service.ts","ng://@abp/ng.core/lib/states/profile.state.ts","ng://@abp/ng.core/lib/services/application-configuration.service.ts","ng://@abp/ng.core/lib/states/session.state.ts","ng://@abp/ng.core/lib/utils/route-utils.ts","ng://@abp/ng.core/lib/states/config.state.ts","ng://@abp/ng.core/lib/utils/generator-utils.ts","ng://@abp/ng.core/lib/utils/initial-utils.ts","ng://@abp/ng.core/lib/utils/rxjs-utils.ts","ng://@abp/ng.core/lib/components/dynamic-layout.component.ts","ng://@abp/ng.core/lib/components/router-outlet.component.ts","ng://@abp/ng.core/lib/directives/autofocus.directive.ts","ng://@abp/ng.core/lib/directives/ellipsis.directive.ts","ng://@abp/ng.core/lib/directives/permission.directive.ts","ng://@abp/ng.core/lib/directives/visibility.directive.ts","ng://@abp/ng.core/lib/enums/common.ts","ng://@abp/ng.core/lib/guards/auth.guard.ts","ng://@abp/ng.core/lib/guards/permission.guard.ts","ng://@abp/ng.core/lib/interceptors/api.interceptor.ts","ng://@abp/ng.core/lib/models/application-configuration.ts","ng://@abp/ng.core/lib/models/common.ts","ng://@abp/ng.core/lib/models/config.ts","ng://@abp/ng.core/lib/models/rest.ts","ng://@abp/ng.core/lib/models/session.ts","ng://@abp/ng.core/lib/models/profile.ts","ng://@abp/ng.core/lib/plugins/config.plugin.ts","ng://@abp/ng.core/lib/services/config.service.ts","ng://@abp/ng.core/lib/services/lazy-load.service.ts","ng://@abp/ng.core/lib/services/localization.service.ts","ng://@abp/ng.core/lib/tokens/common.token.ts","ng://@abp/ng.core/lib/pipes/localization.pipe.ts","ng://@abp/ng.core/lib/directives/debounce.directive.ts","ng://@abp/ng.core/lib/directives/stop-propagation.directive.ts","ng://@abp/ng.core/lib/core.module.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","import { ABP } from '../models';\n\nexport class PatchRouteByName {\n static readonly type = '[Config] Patch Route By Name';\n constructor(public name: string, public newValue: Partial) {}\n}\n\nexport class GetAppConfiguration {\n static readonly type = '[Config] Get App Configuration';\n}\n","import { HttpRequest } from '@angular/common/http';\n\nexport class StartLoader {\n static readonly type = '[Loader] Start';\n constructor(public payload: HttpRequest) {}\n}\n\nexport class StopLoader {\n static readonly type = '[Loader] Stop';\n constructor(public payload: HttpRequest) {}\n}\n","import { Profile } from '../models';\n\nexport class GetProfile {\n static readonly type = '[Profile] Get';\n}\n\nexport class UpdateProfile {\n static readonly type = '[Profile] Update';\n constructor(public payload: Profile.Response) {}\n}\n\nexport class ChangePassword {\n static readonly type = '[Profile] Change Password';\n constructor(public payload: Profile.ChangePasswordRequest) {}\n}\n","import { HttpErrorResponse } from '@angular/common/http';\n\nexport class RestOccurError {\n static readonly type = '[Rest] Error';\n constructor(public payload: HttpErrorResponse | any) {}\n}\n","import { ABP } from '../models';\n\nexport class SetLanguage {\n static readonly type = '[Session] Set Language';\n constructor(public payload: string) {}\n}\nexport class SetTenant {\n static readonly type = '[Session] Set Tenant';\n constructor(public payload: ABP.BasicItem) {}\n}\n","import { HttpClient, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { NEVER, Observable, throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport { Rest } from '../models/rest';\nimport { ConfigState } from '../states';\nimport { RestOccurError } from '../actions';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RestService {\n constructor(private http: HttpClient, private store: Store) {}\n\n handleError(err: any): Observable {\n this.store.dispatch(new RestOccurError(err));\n console.error(err);\n return NEVER;\n }\n\n request(request: HttpRequest | Rest.Request, config: Rest.Config = {}, api?: string): Observable {\n const { observe = Rest.Observe.Body, throwErr } = config;\n const url = api || this.store.selectSnapshot(ConfigState.getApiUrl()) + request.url;\n const { method, ...options } = request;\n return this.http.request(method, url, { observe, ...options } as any).pipe(\n observe === Rest.Observe.Body ? take(1) : null,\n catchError(err => {\n if (throwErr) {\n return throwError(err);\n }\n\n return this.handleError(err);\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService } from './rest.service';\nimport { Profile, Rest } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProfileService {\n constructor(private rest: RestService) {}\n\n get(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/my-profile',\n };\n\n return this.rest.request(request);\n }\n\n update(body: Profile.Response): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/identity/my-profile',\n body,\n };\n\n return this.rest.request(request);\n }\n\n changePassword(body: Profile.ChangePasswordRequest, throwErr: boolean = false): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/my-profile/change-password',\n body,\n };\n\n return this.rest.request(request, { throwErr });\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetProfile, ChangePassword, UpdateProfile } from '../actions/profile.actions';\nimport { Profile } from '../models/profile';\nimport { ProfileService } from '../services/profile.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'ProfileState',\n defaults: {} as Profile.State,\n})\nexport class ProfileState {\n @Selector()\n static getProfile({ profile }: Profile.State): Profile.Response {\n return profile;\n }\n\n constructor(private profileService: ProfileService) {}\n\n @Action(GetProfile)\n profileGet({ patchState }: StateContext) {\n return this.profileService.get().pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(UpdateProfile)\n profileUpdate({ patchState }: StateContext, { payload }: UpdateProfile) {\n return this.profileService.update(payload).pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(ChangePassword)\n changePassword(_, { payload }: ChangePassword) {\n return this.profileService.changePassword(payload, true);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ApplicationConfiguration, Rest } from '../models';\nimport { RestService } from './rest.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApplicationConfigurationService {\n constructor(private rest: RestService) {}\n\n getConfiguration(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/application-configuration',\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { SetLanguage, SetTenant } from '../actions/session.actions';\nimport { ABP, Session } from '../models';\n\n@State({\n name: 'SessionState',\n defaults: {} as Session.State,\n})\nexport class SessionState {\n @Selector()\n static getLanguage({ language }: Session.State): string {\n return language;\n }\n\n @Selector()\n static getTenant({ tenant }: Session.State): ABP.BasicItem {\n return tenant;\n }\n\n constructor() {}\n\n @Action(SetLanguage)\n setLanguage({ patchState }: StateContext, { payload }: SetLanguage) {\n patchState({\n language: payload,\n });\n }\n\n @Action(SetTenant)\n setTenantId({ patchState }: StateContext, { payload }: SetTenant) {\n patchState({\n tenant: payload,\n });\n }\n}\n","import { ABP } from '../models';\n\nexport function organizeRoutes(\n routes: ABP.FullRoute[],\n wrappers: ABP.FullRoute[] = [],\n parentNameArr = [] as ABP.FullRoute[],\n parentName: string = null,\n): ABP.FullRoute[] {\n const filter = route => {\n if (route.children && route.children.length) {\n route.children = organizeRoutes(route.children, wrappers, parentNameArr, route.name);\n }\n\n if (route.parentName && route.parentName !== parentName) {\n parentNameArr.push(route);\n return false;\n }\n\n return true;\n };\n\n if (parentName) {\n // recursive block\n return routes.filter(filter);\n }\n\n const filteredRoutes = routes.filter(filter);\n\n if (parentNameArr.length) {\n return sortRoutes(setChildRoute([...filteredRoutes, ...wrappers], parentNameArr));\n }\n\n return filteredRoutes;\n}\n\nexport function setChildRoute(routes: ABP.FullRoute[], parentNameArr: ABP.FullRoute[]): ABP.FullRoute[] {\n return routes.map(route => {\n if (route.children && route.children.length) {\n route.children = setChildRoute(route.children, parentNameArr);\n }\n\n const foundedChildren = parentNameArr.filter(parent => parent.parentName === route.name);\n if (foundedChildren && foundedChildren.length) {\n route.children = [...(route.children || []), ...foundedChildren];\n }\n\n return route;\n });\n}\n\nexport function sortRoutes(routes: ABP.FullRoute[] = []): ABP.FullRoute[] {\n if (!routes.length) return [];\n return routes\n .sort((a, b) => a.order - b.order)\n .map(route => {\n if (route.children && route.children.length) {\n route.children = sortRoutes(route.children);\n }\n\n return route;\n });\n}\n","import { State, Selector, createSelector, Action, StateContext, Store } from '@ngxs/store';\nimport { Config, ABP } from '../models';\nimport { GetAppConfiguration, PatchRouteByName } from '../actions/config.actions';\nimport { ApplicationConfigurationService } from '../services/application-configuration.service';\nimport { tap, switchMap } from 'rxjs/operators';\nimport snq from 'snq';\nimport { SetLanguage } from '../actions';\nimport { SessionState } from './session.state';\nimport { of } from 'rxjs';\nimport { setChildRoute, sortRoutes, organizeRoutes } from '../utils/route-utils';\n\n@State({\n name: 'ConfigState',\n defaults: {} as Config.State,\n})\nexport class ConfigState {\n @Selector()\n static getAll(state: Config.State) {\n return state;\n }\n\n @Selector()\n static getApplicationInfo(state: Config.State) {\n return state.environment.application || {};\n }\n\n static getOne(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return state[key];\n },\n );\n\n return selector;\n }\n\n static getDeep(keys: string[] | string) {\n if (typeof keys === 'string') {\n keys = keys.split('.');\n }\n\n if (!Array.isArray(keys)) {\n throw new Error('The argument must be a dot string or an string array.');\n }\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return (keys as string[]).reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state);\n },\n );\n\n return selector;\n }\n\n static getApiUrl(key?: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): string {\n return state.environment.apis[key || 'default'].url;\n },\n );\n\n return selector;\n }\n\n static getSetting(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return snq(() => state.setting.values[key]);\n },\n );\n\n return selector;\n }\n\n static getGrantedPolicy(condition: string = '') {\n const keys = condition\n .replace(/\\(|\\)|\\!|\\s/g, '')\n .split(/\\|\\||&&/)\n .filter(key => key);\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): boolean {\n if (!keys.length) return true;\n\n const getPolicy = key => snq(() => state.auth.grantedPolicies[key], false);\n if (keys.length > 1) {\n keys.forEach(key => {\n const value = getPolicy(key);\n condition = condition.replace(key, value);\n });\n\n // tslint:disable-next-line: no-eval\n return eval(`!!${condition}`);\n }\n\n return getPolicy(condition);\n },\n );\n\n return selector;\n }\n\n static getCopy(key: string, ...interpolateParams: string[]) {\n if (!key) key = '';\n\n const keys = key.split('::') as string[];\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n if (!state.localization) return key;\n\n const { defaultResourceName } = state.environment.localization;\n if (keys[0] === '') {\n if (!defaultResourceName) {\n throw new Error(\n `Please check your environment. May you forget set defaultResourceName? \n Here is the example:\n { production: false,\n localization: {\n defaultResourceName: 'MyProjectName'\n }\n }`,\n );\n }\n\n keys[0] = snq(() => defaultResourceName);\n }\n\n let copy = keys.reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state.localization.values);\n\n interpolateParams = interpolateParams.filter(params => params != null);\n if (copy && interpolateParams && interpolateParams.length) {\n interpolateParams.forEach(param => {\n copy = copy.replace(/[\\'\\\"]?\\{[\\d]+\\}[\\'\\\"]?/, param);\n });\n }\n\n return copy || key;\n },\n );\n\n return selector;\n }\n\n constructor(private appConfigurationService: ApplicationConfigurationService, private store: Store) {}\n\n @Action(GetAppConfiguration)\n addData({ patchState, dispatch }: StateContext) {\n return this.appConfigurationService.getConfiguration().pipe(\n tap(configuration =>\n patchState({\n ...configuration,\n }),\n ),\n switchMap(configuration =>\n this.store.selectSnapshot(SessionState.getLanguage)\n ? of(null)\n : dispatch(new SetLanguage(snq(() => configuration.setting.values['Abp.Localization.DefaultLanguage']))),\n ),\n );\n }\n\n @Action(PatchRouteByName)\n patchRoute({ patchState, getState }: StateContext, { name, newValue }: PatchRouteByName) {\n let routes: ABP.FullRoute[] = getState().routes;\n\n const index = routes.findIndex(route => route.name === name);\n\n routes = patchRouteDeep(routes, name, newValue);\n\n return patchState({\n routes,\n });\n }\n}\n\nfunction patchRouteDeep(\n routes: ABP.FullRoute[],\n name: string,\n newValue: Partial,\n parentUrl: string = null,\n): ABP.FullRoute[] {\n routes = routes.map(route => {\n if (route.name === name) {\n if (newValue.path) {\n newValue.url = `${parentUrl}/${newValue.path}`;\n }\n\n if (newValue.children && newValue.children.length) {\n newValue.children = newValue.children.map(child => ({\n ...child,\n url: `${parentUrl}/${route.path}/${child.path}`,\n }));\n }\n\n return { ...route, ...newValue };\n } else if (route.children && route.children.length) {\n route.children = patchRouteDeep(route.children, name, newValue, (parentUrl || '/') + route.path);\n }\n\n return route;\n });\n\n if (parentUrl) {\n // recursive block\n return routes;\n }\n\n return organizeRoutes(routes);\n}\n","export function uuid(a?: any): string {\n return a\n ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16)\n : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);\n}\n","import { Injector } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { GetAppConfiguration } from '../actions/config.actions';\n\nexport function getInitialData(injector: Injector) {\n const fn = function() {\n const store: Store = injector.get(Store);\n\n return store.dispatch(new GetAppConfiguration()).toPromise();\n };\n\n return fn;\n}\n","import { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n\nexport const takeUntilDestroy = (componentInstance, destroyMethodName = 'ngOnDestroy') => (\n source: Observable,\n) => {\n const originalDestroy = componentInstance[destroyMethodName];\n if (isFunction(originalDestroy) === false) {\n throw new Error(\n `${componentInstance.constructor.name} is using untilDestroyed but doesn't implement ${destroyMethodName}`,\n );\n }\n if (!componentInstance['__takeUntilDestroy']) {\n componentInstance['__takeUntilDestroy'] = new Subject();\n\n componentInstance[destroyMethodName] = function() {\n isFunction(originalDestroy) && originalDestroy.apply(this, arguments);\n componentInstance['__takeUntilDestroy'].next(true);\n componentInstance['__takeUntilDestroy'].complete();\n };\n }\n return source.pipe(takeUntil(componentInstance['__takeUntilDestroy']));\n};\n","import { Component, OnDestroy, Type } from '@angular/core';\nimport { NavigationEnd, Router, UrlSegment } from '@angular/router';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { eLayoutType } from '../enums';\nimport { ABP, Config } from '../models';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport snq from 'snq';\n\n@Component({\n selector: 'abp-dynamic-layout',\n template: `\n \n\n \n \n `,\n})\nexport class DynamicLayoutComponent implements OnDestroy {\n @Select(ConfigState.getOne('requirements'))\n requirements$: Observable;\n\n layout: Type;\n\n constructor(private router: Router, private store: Store) {\n this.router.events.pipe(takeUntilDestroy(this)).subscribe(event => {\n if (event instanceof NavigationEnd) {\n const { segments } = this.router.parseUrl(event.url).root.children.primary;\n const {\n requirements: { layouts },\n routes,\n } = this.store.selectSnapshot(ConfigState.getAll);\n\n const layout = findLayout(segments, routes);\n\n this.layout = layouts.filter(l => !!l).find(l => snq(() => l.type.toLowerCase().indexOf(layout), -1) > -1);\n }\n });\n }\n\n ngOnDestroy() {}\n}\n\nfunction findLayout(segments: UrlSegment[], routes: ABP.FullRoute[]): eLayoutType {\n let layout = eLayoutType.empty;\n\n const route = routes\n .reduce((acc, val) => (val.wrapper ? [...acc, ...val.children] : [...acc, val]), [])\n .find(r => r.path === segments[0].path);\n\n if (route) {\n if (route.layout) {\n layout = route.layout;\n }\n\n if (route.children && route.children.length && segments.length > 1) {\n const child = route.children.find(c => c.path === segments[1].path);\n\n if (child.layout) {\n layout = child.layout;\n }\n }\n }\n\n return layout;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-router-outlet',\n template: `\n \n `,\n})\nexport class RouterOutletComponent {}\n","import { Directive, ElementRef, Input, AfterViewInit } from '@angular/core';\n\n@Directive({\n selector: '[autofocus]',\n})\nexport class AutofocusDirective implements AfterViewInit {\n @Input('autofocus')\n delay: number = 0;\n\n constructor(private elRef: ElementRef) {}\n\n ngAfterViewInit(): void {\n setTimeout(() => this.elRef.nativeElement.focus(), this.delay);\n }\n}\n","import { AfterContentInit, ChangeDetectorRef, Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[abpEllipsis]',\n})\nexport class EllipsisDirective implements AfterContentInit {\n @Input('abpEllipsis')\n width: string;\n\n @HostBinding('title')\n @Input()\n title: string;\n\n @Input('abpEllipsisEnabled')\n enabled = true;\n\n @HostBinding('class.abp-ellipsis')\n get class() {\n return this.enabled;\n }\n\n @HostBinding('style.max-width')\n get maxWidth() {\n return this.enabled ? this.width || '170px' : undefined;\n }\n\n constructor(private cdRef: ChangeDetectorRef, private elRef: ElementRef) {}\n\n ngAfterContentInit() {\n setTimeout(() => {\n const title = this.title;\n this.title = title || (this.elRef.nativeElement as HTMLElement).innerText;\n\n if (this.title !== title) {\n this.cdRef.detectChanges();\n }\n }, 0);\n }\n}\n","import { Directive, ElementRef, Input, OnDestroy, OnInit, Optional, Renderer2 } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\n\n@Directive({\n selector: '[abpPermission]',\n})\nexport class PermissionDirective implements OnInit, OnDestroy {\n @Input('abpPermission') condition: string;\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2, private store: Store) {}\n\n ngOnInit() {\n if (this.condition) {\n this.store\n .select(ConfigState.getGrantedPolicy(this.condition))\n .pipe(takeUntilDestroy(this))\n .subscribe(isGranted => {\n if (!isGranted) {\n this.renderer.removeChild(\n (this.elRef.nativeElement as HTMLElement).parentElement,\n this.elRef.nativeElement,\n );\n }\n });\n }\n }\n\n ngOnDestroy(): void {}\n}\n","import { Directive, Input, Optional, ElementRef, Renderer2, AfterViewInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport snq from 'snq';\n\n@Directive({\n selector: '[abpVisibility]',\n})\nexport class VisibilityDirective implements AfterViewInit {\n @Input('abpVisibility')\n focusedElement: HTMLElement;\n\n completed$ = new Subject();\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2) {}\n\n ngAfterViewInit() {\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (!mutation.target) return;\n\n const htmlNodes = snq(\n () => Array.from(mutation.target.childNodes).filter(node => node instanceof HTMLElement),\n [],\n );\n\n if (!htmlNodes.length) {\n this.renderer.removeChild(this.elRef.nativeElement.parentElement, this.elRef.nativeElement);\n this.disconnect();\n } else {\n setTimeout(() => {\n this.disconnect();\n }, 0);\n }\n });\n });\n\n observer.observe(this.focusedElement, {\n childList: true,\n });\n\n this.completed$.subscribe(() => observer.disconnect());\n }\n\n disconnect() {\n this.completed$.next();\n this.completed$.complete();\n }\n}\n","export const enum eLayoutType {\n account = 'account',\n application = 'application',\n empty = 'empty',\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Observable } from 'rxjs';\nimport { Navigate } from '@ngxs/router-plugin';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuard implements CanActivate {\n constructor(private oauthService: OAuthService, private store: Store) {}\n canActivate(_: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean | UrlTree {\n const hasValidAccessToken = this.oauthService.hasValidAccessToken();\n if (hasValidAccessToken) {\n return hasValidAccessToken;\n }\n\n this.store.dispatch(new Navigate(['/account/login'], null, { state: { redirectUrl: state.url } }));\n\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionGuard implements CanActivate {\n constructor(private store: Store) {}\n\n canActivate({ data }: ActivatedRouteSnapshot): Observable {\n const resource = data.requiredPolicy as string;\n return this.store.select(ConfigState.getGrantedPolicy(resource));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Store } from '@ngxs/store';\nimport { SessionState } from '../states';\nimport { StartLoader, StopLoader } from '../actions/loader.actions';\nimport { finalize } from 'rxjs/operators';\n\n@Injectable()\nexport class ApiInterceptor implements HttpInterceptor {\n constructor(private oAuthService: OAuthService, private store: Store) {}\n\n intercept(request: HttpRequest, next: HttpHandler) {\n this.store.dispatch(new StartLoader(request));\n\n const headers = {} as any;\n\n const token = this.oAuthService.getAccessToken();\n if (!request.headers.has('Authorization') && token) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n const lang = this.store.selectSnapshot(SessionState.getLanguage);\n if (!request.headers.has('Accept-Language') && lang) {\n headers['Accept-Language'] = lang;\n }\n\n const tenant = this.store.selectSnapshot(SessionState.getTenant);\n if (!request.headers.has('__tenant') && tenant) {\n headers['__tenant'] = tenant.id;\n }\n\n return next\n .handle(\n request.clone({\n setHeaders: headers,\n }),\n )\n .pipe(finalize(() => this.store.dispatch(new StopLoader(request))));\n }\n}\n","export namespace ApplicationConfiguration {\n export interface Response {\n localization: Localization;\n auth: Auth;\n setting: Setting;\n currentUser: CurrentUser;\n features: Features;\n }\n\n export interface Localization {\n values: LocalizationValue;\n languages: Language[];\n }\n\n export interface LocalizationValue {\n [key: string]: { [key: string]: string };\n }\n\n export interface Language {\n cultureName: string;\n uiCultureName: string;\n displayName: string;\n flagIcon: string;\n }\n\n export interface Auth {\n policies: Policy;\n grantedPolicies: Policy;\n }\n\n export interface Policy {\n [key: string]: boolean;\n }\n\n export interface Setting {\n values: { [key: string]: 'Abp.Localization.DefaultLanguage' };\n }\n\n export interface CurrentUser {\n isAuthenticated: boolean;\n id: string;\n tenantId: string;\n userName: string;\n }\n\n export interface Features {\n values: Setting;\n }\n}\n","import { Config } from './config';\nimport { eLayoutType } from '../enums';\n\nexport namespace ABP {\n export interface Root {\n environment: Partial;\n requirements: Config.Requirements;\n }\n\n export type PagedResponse = {\n totalCount: number;\n } & PagedItemsResponse;\n\n export interface PagedItemsResponse {\n items: T[];\n }\n\n export interface PageQueryParams {\n filter?: string;\n sorting?: string;\n skipCount?: number;\n maxResultCount?: number;\n }\n\n export interface Route {\n children?: Route[];\n invisible?: boolean;\n layout?: eLayoutType;\n name: string;\n order?: number;\n parentName?: string;\n path: string;\n requiredPolicy?: string;\n iconClass?: string;\n }\n\n export interface FullRoute extends Route {\n url?: string;\n wrapper?: boolean;\n }\n\n export interface BasicItem {\n id: string;\n name: string;\n }\n}\n","import { AuthConfig } from 'angular-oauth2-oidc';\nimport { Type } from '@angular/core';\n\nexport namespace Config {\n export interface State {\n [key: string]: any;\n }\n\n export interface Environment {\n application: Application;\n production: boolean;\n oAuthConfig: AuthConfig;\n apis: Apis;\n }\n\n export interface Application {\n name: string;\n logoUrl?: string;\n }\n\n export interface Apis {\n [key: string]: { [key: string]: string };\n }\n\n export interface Requirements {\n layouts: Type[];\n }\n}\n","import { HttpHeaders, HttpParams } from '@angular/common/http';\n\nexport namespace Rest {\n export interface Config {\n throwErr?: boolean;\n observe?: Observe;\n }\n\n export const enum Observe {\n Body = 'body',\n Events = 'events',\n Response = 'response',\n }\n\n export const enum ResponseType {\n ArrayBuffer = 'arraybuffer',\n Blob = 'blob',\n JSON = 'json',\n Text = 'text',\n }\n\n export interface Request {\n body?: T;\n headers?:\n | HttpHeaders\n | {\n [header: string]: string | string[];\n };\n method: string;\n params?:\n | HttpParams\n | {\n [param: string]: any;\n };\n reportProgress?: boolean;\n responseType?: ResponseType;\n url: string;\n withCredentials?: boolean;\n }\n}\n","import { ABP } from '../models';\n\nexport namespace Session {\n export interface State {\n language: string;\n tenant: ABP.BasicItem;\n }\n}\n","export namespace Profile {\n export interface State {\n profile: Response;\n }\n\n export interface Response {\n userName: string;\n email: string;\n name: string;\n surname: string;\n phoneNumber: string;\n }\n\n export interface ChangePasswordRequest {\n currentPassword: string;\n newPassword: string;\n }\n}\n","import { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { Router, Routes } from '@angular/router';\nimport { actionMatcher, InitState, NgxsNextPluginFn, NgxsPlugin, setValue, UpdateState } from '@ngxs/store';\nimport snq from 'snq';\nimport { ABP } from '../models';\nimport { organizeRoutes } from '../utils/route-utils';\n\nexport const NGXS_CONFIG_PLUGIN_OPTIONS = new InjectionToken('NGXS_CONFIG_PLUGIN_OPTIONS');\n\n@Injectable()\nexport class ConfigPlugin implements NgxsPlugin {\n private initialized: boolean = false;\n\n constructor(@Inject(NGXS_CONFIG_PLUGIN_OPTIONS) private options: ABP.Root, private router: Router) {}\n\n handle(state: any, event: any, next: NgxsNextPluginFn) {\n const matches = actionMatcher(event);\n const isInitAction = matches(InitState) || matches(UpdateState);\n\n // const layouts = snq(() => this.options.requirements.layouts.filter(layout => layout instanceof Type), []);\n if (isInitAction && !this.initialized) {\n let { routes, wrappers } = transformRoutes(this.router.config);\n routes = organizeRoutes(routes, wrappers);\n\n state = setValue(state, 'ConfigState', {\n ...(state.ConfigState && { ...state.ConfigState }),\n ...this.options,\n routes,\n });\n\n this.initialized = true;\n }\n\n return next(state, event);\n }\n}\n\nfunction transformRoutes(routes: Routes = [], wrappers: ABP.FullRoute[] = []): any {\n const abpRoutes: ABP.FullRoute[] = routes\n .filter(route => {\n return snq(() => route.data.routes.find(r => r.path === route.path), false);\n })\n .reduce((acc, val) => [...acc, ...val.data.routes], []);\n\n wrappers = abpRoutes.filter(ar => ar.wrapper);\n const transformed = [] as ABP.FullRoute[];\n routes\n .filter(route => (route.data || {}).routes && (route.component || route.loadChildren))\n .forEach(route => {\n const abpPackage = abpRoutes.find(\n abp => abp.path.toLowerCase() === route.path.toLowerCase() && snq(() => route.data.routes.length, false),\n );\n const { length } = transformed;\n\n if (abpPackage) {\n transformed.push(abpPackage);\n }\n\n if (transformed.length === length) {\n transformed.push({\n path: route.path,\n name: snq(() => route.data.routes.name, route.path),\n children: route.data.routes.children || [],\n } as ABP.FullRoute);\n }\n });\n\n return { routes: setUrls(transformed), wrappers };\n}\n\nfunction setUrls(routes: ABP.FullRoute[], parentUrl?: string): ABP.FullRoute[] {\n if (parentUrl) {\n // this if block using for only recursive call\n\n return routes.map(route => ({\n ...route,\n url: `${parentUrl}/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `${parentUrl}/${route.path}`),\n }),\n }));\n }\n\n return routes.map(route => ({\n ...route,\n url: `/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `/${route.path}`),\n }),\n }));\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigService {\n constructor(private store: Store) {}\n\n getAll() {\n return this.store.selectSnapshot(ConfigState.getAll);\n }\n\n getOne(key: string) {\n return this.store.selectSnapshot(ConfigState.getOne(key));\n }\n\n getDeep(keys: string[] | string) {\n return this.store.selectSnapshot(ConfigState.getDeep(keys));\n }\n\n getSetting(key: string) {\n return this.store.selectSnapshot(ConfigState.getSetting(key));\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { uuid } from '../utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LazyLoadService {\n loadedLibraries: { [url: string]: ReplaySubject } = {};\n\n load(\n url: string,\n type: 'script' | 'style',\n content: string = '',\n targetQuery: string = 'body',\n position: InsertPosition = 'afterend',\n ): Observable {\n if (!url && !content) return;\n const key = url ? url.slice(url.lastIndexOf('/') + 1) : uuid();\n\n if (this.loadedLibraries[key]) {\n return this.loadedLibraries[key].asObservable();\n }\n\n this.loadedLibraries[key] = new ReplaySubject();\n\n let library;\n if (type === 'script') {\n library = document.createElement('script');\n library.type = 'text/javascript';\n if (url) {\n (library as HTMLScriptElement).src = url;\n }\n\n (library as HTMLScriptElement).text = content;\n } else if (url) {\n library = document.createElement('link');\n library.type = 'text/css';\n (library as HTMLLinkElement).rel = 'stylesheet';\n\n if (url) {\n (library as HTMLLinkElement).href = url;\n }\n } else {\n library = document.createElement('style');\n (library as HTMLStyleElement).textContent = content;\n }\n\n library.onload = () => {\n this.loadedLibraries[key].next();\n this.loadedLibraries[key].complete();\n };\n\n document.querySelector(targetQuery).insertAdjacentElement(position, library);\n\n return this.loadedLibraries[key].asObservable();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { Observable } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class LocalizationService {\n constructor(private store: Store) {}\n\n get(keys: string, ...interpolateParams: string[]): Observable {\n return this.store.select(ConfigState.getCopy(keys, ...interpolateParams));\n }\n\n instant(keys: string, ...interpolateParams: string[]): string {\n return this.store.selectSnapshot(ConfigState.getCopy(keys, ...interpolateParams));\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Config } from '../models';\n\nexport function environmentFactory(environment: Config.Environment) {\n return {\n ...environment,\n };\n}\n\nexport function configFactory(config: Config.Requirements) {\n return {\n ...config,\n };\n}\n\nexport const ENVIRONMENT = new InjectionToken('ENVIRONMENT');\n\nexport const CONFIG = new InjectionToken('CONFIG');\n","import { Pipe, PipeTransform, OnDestroy } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n@Pipe({\n name: 'abpLocalization',\n pure: false, // required to update the value\n})\nexport class LocalizationPipe implements PipeTransform, OnDestroy {\n initialized: boolean = false;\n\n value: string;\n\n constructor(private store: Store) {}\n\n transform(value: string, ...interpolateParams: string[]): string {\n if (!this.initialized) {\n this.initialized = true;\n\n this.store\n .select(\n ConfigState.getCopy(\n value,\n ...interpolateParams.reduce((acc, val) => (Array.isArray(val) ? [...acc, ...val] : [...acc, val]), []),\n ),\n )\n .pipe(\n takeUntilDestroy(this),\n distinctUntilChanged(),\n )\n .subscribe(copy => (this.value = copy));\n }\n\n return this.value;\n }\n\n ngOnDestroy() {}\n}\n","import { Directive, Output, Renderer2, ElementRef, OnInit, EventEmitter, Input } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[input.debounce]',\n})\nexport class InputEventDebounceDirective implements OnInit {\n @Input() debounce: number = 300;\n\n @Output('input.debounce') debounceEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'input')\n .pipe(\n debounceTime(this.debounce),\n takeUntilDestroy(this),\n )\n .subscribe((event: Event) => {\n this.debounceEvent.emit(event);\n });\n }\n}\n","import { Directive, ElementRef, EventEmitter, OnInit, Output, Renderer2 } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[click.stop]',\n})\nexport class ClickEventStopPropagationDirective implements OnInit {\n @Output('click.stop') stopPropEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'click')\n .pipe(takeUntilDestroy(this))\n .subscribe((event: MouseEvent) => {\n event.stopPropagation();\n this.stopPropEvent.emit(event);\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { NgxsRouterPluginModule } from '@ngxs/router-plugin';\nimport { NgxsStoragePluginModule } from '@ngxs/storage-plugin';\nimport { NgxsModule, NGXS_PLUGINS } from '@ngxs/store';\nimport { DynamicLayoutComponent } from './components/dynamic-layout.component';\nimport { RouterOutletComponent } from './components/router-outlet.component';\nimport { PermissionDirective } from './directives/permission.directive';\nimport { VisibilityDirective } from './directives/visibility.directive';\nimport { ApiInterceptor } from './interceptors/api.interceptor';\nimport { ABP } from './models/common';\nimport { LocalizationPipe } from './pipes/localization.pipe';\nimport { ConfigPlugin, NGXS_CONFIG_PLUGIN_OPTIONS } from './plugins/config.plugin';\nimport { ConfigState } from './states/config.state';\nimport { ProfileState } from './states/profile.state';\nimport { SessionState } from './states/session.state';\nimport { getInitialData } from './utils/initial-utils';\nimport { EllipsisDirective } from './directives/ellipsis.directive';\nimport { AutofocusDirective } from './directives/autofocus.directive';\nimport { InputEventDebounceDirective } from './directives/debounce.directive';\nimport { ClickEventStopPropagationDirective } from './directives/stop-propagation.directive';\n\n@NgModule({\n imports: [\n NgxsModule.forFeature([ProfileState, SessionState, ConfigState]),\n NgxsStoragePluginModule.forRoot({ key: 'SessionState' }),\n NgxsRouterPluginModule.forRoot(),\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n ],\n declarations: [\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n ClickEventStopPropagationDirective,\n ],\n exports: [\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n LocalizationPipe,\n ClickEventStopPropagationDirective,\n ],\n providers: [LocalizationPipe],\n entryComponents: [RouterOutletComponent, DynamicLayoutComponent],\n})\nexport class CoreModule {\n static forRoot(options = {} as ABP.Root): ModuleWithProviders {\n return {\n ngModule: CoreModule,\n providers: [\n {\n provide: NGXS_PLUGINS,\n useClass: ConfigPlugin,\n multi: true,\n },\n {\n provide: NGXS_CONFIG_PLUGIN_OPTIONS,\n useValue: options,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ApiInterceptor,\n multi: true,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector],\n useFactory: getInitialData,\n },\n ],\n };\n }\n}\n"],"names":["NEVER","take","catchError","throwError","Injectable","HttpClient","Store","tap","tslib_1.__decorate","Action","Selector","State","createSelector","switchMap","of","store","Subject","takeUntil","router","NavigationEnd","Component","Router","Select","Observable","Directive","ElementRef","Input","ChangeDetectorRef","HostBinding","Optional","Renderer2","Navigate","OAuthService","finalize","Rest","InjectionToken","actionMatcher","InitState","UpdateState","setValue","Inject","ReplaySubject","distinctUntilChanged","Pipe","EventEmitter","fromEvent","debounceTime","takeUntilDestroy","Output","NGXS_PLUGINS","HTTP_INTERCEPTORS","APP_INITIALIZER","Injector","NgModule","NgxsModule","NgxsStoragePluginModule","NgxsRouterPluginModule","CommonModule","HttpClientModule","FormsModule","ReactiveFormsModule","RouterModule"],"mappings":";;;;;;;;IAAA;IACA;IACA;IACA;IACA;;IAEA;IACA;IACA;IACA;;IAEA;IACA;IACA;IACA;;IAEA,IAAI,aAAa,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE;IACnC,IAAI,aAAa,GAAG,MAAM,CAAC,cAAc;IACzC,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;IACpF,QAAQ,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,IAAI,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;;AAEF,IAAO,SAAS,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE;IAChC,IAAI,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,IAAI,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;IAC3C,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;;AAED,IAAO,IAAI,QAAQ,GAAG,WAAW;IACjC,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC,EAAE;IACrD,QAAQ,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;IAC7D,YAAY,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC7B,YAAY,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,SAAS;IACT,QAAQ,OAAO,CAAC,CAAC;IACjB,MAAK;IACL,IAAI,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,EAAC;;AAED,IAAO,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;IAC7B,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACf,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACvF,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;IACvE,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;IAChF,YAAY,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,SAAS;IACT,IAAI,OAAO,CAAC,CAAC;IACb,CAAC;;AAED,IAAO,SAAS,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;IAC1D,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IACjI,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACnI,SAAS,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACtJ,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;;AAED,IAAO,SAAS,OAAO,CAAC,UAAU,EAAE,SAAS,EAAE;IAC/C,IAAI,OAAO,UAAU,MAAM,EAAE,GAAG,EAAE,EAAE,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE;IACzE,CAAC;;AAED,IAAO,SAAS,UAAU,CAAC,WAAW,EAAE,aAAa,EAAE;IACvD,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACnI,CAAC;;AAED,IAAO,SAAS,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE;IAC7D,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM,EAAE;IAC/D,QAAQ,SAAS,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;IACnG,QAAQ,SAAS,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;IACtG,QAAQ,SAAS,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;IACvJ,QAAQ,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9E,KAAK,CAAC,CAAC;IACP,CAAC;;AAED,IAAO,SAAS,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE;IAC3C,IAAI,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACrH,IAAI,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,MAAM,KAAK,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7J,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,OAAO,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;IACtE,IAAI,SAAS,IAAI,CAAC,EAAE,EAAE;IACtB,QAAQ,IAAI,CAAC,EAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;IACtE,QAAQ,OAAO,CAAC,EAAE,IAAI;IACtB,YAAY,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACzK,YAAY,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACpD,YAAY,QAAQ,EAAE,CAAC,CAAC,CAAC;IACzB,gBAAgB,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM;IAC9C,gBAAgB,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACxE,gBAAgB,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;IACjE,gBAAgB,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS;IACjE,gBAAgB;IAChB,oBAAoB,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE;IAChI,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;IAC1G,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACzF,oBAAoB,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE;IACvF,oBAAoB,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;IAC1C,oBAAoB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS;IAC3C,aAAa;IACb,YAAY,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACvC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;IAClE,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACzF,KAAK;IACL,CAAC;;AAED,IAAO,SAAS,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE;IACzC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;;AAED,IAAO,SAAS,QAAQ,CAAC,CAAC,EAAE;IAC5B,IAAI,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACtE,IAAI,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,OAAO;IACX,QAAQ,IAAI,EAAE,YAAY;IAC1B,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;IAC/C,YAAY,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IACpD,SAAS;IACT,KAAK,CAAC;IACN,CAAC;;AAED,IAAO,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;IAC7B,IAAI,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/D,IAAI,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACrB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,IAAI;IACR,QAAQ,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACnF,KAAK;IACL,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;IAC3C,YAAY;IACZ,QAAQ,IAAI;IACZ,YAAY,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7D,SAAS;IACT,gBAAgB,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE;IACzC,KAAK;IACL,IAAI,OAAO,EAAE,CAAC;IACd,CAAC;;AAED,IAAO,SAAS,QAAQ,GAAG;IAC3B,IAAI,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;IACtD,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,OAAO,EAAE,CAAC;IACd,CAAC;;AAED,IAAO,SAAS,cAAc,GAAG;IACjC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACxF,IAAI,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;IACpD,QAAQ,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;IACzE,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,OAAO,CAAC,CAAC;IACb,CAAC,CAAC;;AAEF,IAAO,SAAS,OAAO,CAAC,CAAC,EAAE;IAC3B,IAAI,OAAO,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;;AAED,IAAO,SAAS,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE;IACjE,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;IAC3F,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;IAClE,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1H,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IAC9I,IAAI,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;IACtF,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;IAC5H,IAAI,SAAS,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;IACtD,IAAI,SAAS,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE;IACtD,IAAI,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACtF,CAAC;;AAED,IAAO,SAAS,gBAAgB,CAAC,CAAC,EAAE;IACpC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAChJ,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;IACnJ,CAAC;;AAED,IAAO,SAAS,aAAa,CAAC,CAAC,EAAE;IACjC,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;IAC3F,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACvC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACrN,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IACpK,IAAI,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE;IAChI,CAAC;;AAED,IAAO,SAAS,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAE;IAClD,IAAI,IAAI,MAAM,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE;IACnH,IAAI,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;;AAEF,IAAO,SAAS,YAAY,CAAC,GAAG,EAAE;IAClC,IAAI,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,OAAO,GAAG,CAAC;IAC1C,IAAI,IAAI,MAAM,GAAG,EAAE,CAAC;IACpB,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACnG,IAAI,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;IACzB,IAAI,OAAO,MAAM,CAAC;IAClB,CAAC;;AAED,IAAO,SAAS,eAAe,CAAC,GAAG,EAAE;IACrC,IAAI,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC5D,CAAC;;;;;;ACjMD;QAEE,0BAAmB,IAAY,EAAS,QAA4B;YAAjD,SAAI,GAAJ,IAAI,CAAQ;YAAS,aAAQ,GAAR,QAAQ,CAAoB;SAAI;QADxD,qBAAI,GAAG,8BAA8B,CAAC;QAExD,uBAAC;KAHD,IAGC;;;QAFC,sBAAsD;;QAC1C,gCAAmB;;QAAE,oCAAmC;;AAGtE;QAAA;SAEC;QADiB,wBAAI,GAAG,gCAAgC,CAAC;QAC1D,0BAAC;KAFD,IAEC;;;QADC,yBAAwD;;;;;;;ACN1D;QAEE,qBAAmB,OAAyB;YAAzB,YAAO,GAAP,OAAO,CAAkB;SAAI;QADhC,gBAAI,GAAG,gBAAgB,CAAC;QAE1C,kBAAC;KAHD,IAGC;;;QAFC,iBAAwC;;QAC5B,8BAAgC;;AAG9C;QAEE,oBAAmB,OAAyB;YAAzB,YAAO,GAAP,OAAO,CAAkB;SAAI;QADhC,eAAI,GAAG,eAAe,CAAC;QAEzC,iBAAC;KAHD,IAGC;;;QAFC,gBAAuC;;QAC3B,6BAAgC;;;;;;;ACP9C;QAAA;SAEC;QADiB,eAAI,GAAG,eAAe,CAAC;QACzC,iBAAC;KAFD,IAEC;;;QADC,gBAAuC;;AAGzC;QAEE,uBAAmB,OAAyB;YAAzB,YAAO,GAAP,OAAO,CAAkB;SAAI;QADhC,kBAAI,GAAG,kBAAkB,CAAC;QAE5C,oBAAC;KAHD,IAGC;;;QAFC,mBAA0C;;QAC9B,gCAAgC;;AAG9C;QAEE,wBAAmB,OAAsC;YAAtC,YAAO,GAAP,OAAO,CAA+B;SAAI;QAD7C,mBAAI,GAAG,2BAA2B,CAAC;QAErD,qBAAC;KAHD,IAGC;;;QAFC,oBAAmD;;QACvC,iCAA6C;;;;;;;ACX3D;QAEE,wBAAmB,OAAgC;YAAhC,YAAO,GAAP,OAAO,CAAyB;SAAI;QADvC,mBAAI,GAAG,cAAc,CAAC;QAExC,qBAAC;KAHD,IAGC;;;QAFC,oBAAsC;;QAC1B,iCAAuC;;;;;;;ACFrD;QAEE,qBAAmB,OAAe;YAAf,YAAO,GAAP,OAAO,CAAQ;SAAI;QADtB,gBAAI,GAAG,wBAAwB,CAAC;QAElD,kBAAC;KAHD,IAGC;;;QAFC,iBAAgD;;QACpC,8BAAsB;;AAEpC;QAEE,mBAAmB,OAAsB;YAAtB,YAAO,GAAP,OAAO,CAAe;SAAI;QAD7B,cAAI,GAAG,sBAAsB,CAAC;QAEhD,gBAAC;KAHD,IAGC;;;QAFC,eAA8C;;QAClC,4BAA6B;;;;;;;;;;;;;QCKzC,qBAAoB,IAAgB,EAAU,KAAY;YAAtC,SAAI,GAAJ,IAAI,CAAY;YAAU,UAAK,GAAL,KAAK,CAAO;SAAI;;;;;QAE9D,iCAAW;;;;QAAX,UAAY,GAAQ;YAClB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7C,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnB,OAAOA,UAAK,CAAC;SACd;;;;;;;;QAED,6BAAO;;;;;;;QAAP,UAAc,OAAyC,EAAE,MAAwB,EAAE,GAAY;YAA/F,iBAcC;YAdwD,uBAAA,EAAA,WAAwB;YACvE,IAAA,mBAA2B,EAA3B,gDAA2B,EAAE,0BAAQ;;gBACvC,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,OAAO,CAAC,GAAG;YAC3E,IAAA,uBAAM,EAAE,qCAAU;YAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAI,MAAM,EAAE,GAAG,gCAAI,OAAO,SAAA,IAAK,OAAO,IAAU,CAAC,IAAI,CAC3E,OAAO,yBAAyBC,cAAI,CAAC,CAAC,CAAC,GAAG,IAAI,EAC9CC,oBAAU;;;;YAAC,UAAA,GAAG;gBACZ,IAAI,QAAQ,EAAE;oBACZ,OAAOC,eAAU,CAAC,GAAG,CAAC,CAAC;iBACxB;gBAED,OAAO,KAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;aAC9B,EAAC,CACH,CAAC;SACH;;oBA1BFC,eAAU,SAAC;wBACV,UAAU,EAAE,MAAM;qBACnB;;;;oBAXQC,eAAU;oBAEVC,WAAK;;;0BAFd;KASA,IA2BC;;;;;;QAvBa,2BAAwB;;;;;QAAE,4BAAoB;;;;;;;ACb5D;QASE,wBAAoB,IAAiB;YAAjB,SAAI,GAAJ,IAAI,CAAa;SAAI;;;;QAEzC,4BAAG;;;QAAH;;gBACQ,OAAO,GAAuB;gBAClC,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,0BAA0B;aAChC;YAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAyB,OAAO,CAAC,CAAC;SAC3D;;;;;QAED,+BAAM;;;;QAAN,UAAO,IAAsB;;gBACrB,OAAO,GAAmC;gBAC9C,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,0BAA0B;gBAC/B,IAAI,MAAA;aACL;YAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAqC,OAAO,CAAC,CAAC;SACvE;;;;;;QAED,uCAAc;;;;;QAAd,UAAe,IAAmC,EAAE,QAAyB;YAAzB,yBAAA,EAAA,gBAAyB;;gBACrE,OAAO,GAAgD;gBAC3D,MAAM,EAAE,MAAM;gBACd,GAAG,EAAE,0CAA0C;gBAC/C,IAAI,MAAA;aACL;YAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAsC,OAAO,EAAE,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAC;SACtF;;oBAjCFF,eAAU,SAAC;wBACV,UAAU,EAAE,MAAM;qBACnB;;;;oBALQ,WAAW;;;6BAFpB;KAKA,IAkCC;;;;;;QA9Ba,8BAAyB;;;;;;;;QCOrC,sBAAoB,cAA8B;YAA9B,mBAAc,GAAd,cAAc,CAAgB;SAAI;;;;;QAJ/C,uBAAU;;;;QAAjB,UAAkB,EAA0B;gBAAxB,oBAAO;YACzB,OAAO,OAAO,CAAC;SAChB;;;;;QAKD,iCAAU;;;;QAAV,UAAW,EAA2C;gBAAzC,0BAAU;YACrB,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CACnCG,aAAG;;;;YAAC,UAAA,OAAO;gBACT,OAAA,UAAU,CAAC;oBACT,OAAO,SAAA;iBACR,CAAC;aAAA,EACH,CACF,CAAC;SACH;;;;;;QAGD,oCAAa;;;;;QAAb,UAAc,EAA2C,EAAE,EAA0B;gBAArE,0BAAU;gBAAmC,oBAAO;YAClE,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAC7CA,aAAG;;;;YAAC,UAAA,OAAO;gBACT,OAAA,UAAU,CAAC;oBACT,OAAO,SAAA;iBACR,CAAC;aAAA,EACH,CACF,CAAC;SACH;;;;;;QAGD,qCAAc;;;;;QAAd,UAAe,CAAC,EAAE,EAA2B;gBAAzB,oBAAO;YACzB,OAAO,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;SAC1D;QAxBDC;YADCC,YAAM,CAAC,UAAU,CAAC;;;;sDASlB;QAGDD;YADCC,YAAM,CAAC,aAAa,CAAC;;qDACkD,aAAa;;yDAQpF;QAGDD;YADCC,YAAM,CAAC,cAAc,CAAC;;qDACQ,cAAc;;0DAE5C;QA/BDD;YADCE,cAAQ,EAAE;;;;4CAGV;QAJU,YAAY;YAJxBC,WAAK,CAAgB;gBACpB,IAAI,EAAE,cAAc;gBACpB,QAAQ,qBAAE,EAAE,EAAiB;aAC9B,CAAC;6CAOoC,cAAc;WANvC,YAAY,CAkCxB;QAAD,mBAAC;KAAA,IAAA;;;;;;QA5Ba,sCAAsC;;;;;;;AChBpD;QASE,yCAAoB,IAAiB;YAAjB,SAAI,GAAJ,IAAI,CAAa;SAAI;;;;QAEzC,0DAAgB;;;QAAhB;;gBACQ,OAAO,GAAuB;gBAClC,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,oCAAoC;aAC1C;YAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAA0C,OAAO,CAAC,CAAC;SAC5E;;oBAbFP,eAAU,SAAC;wBACV,UAAU,EAAE,MAAM;qBACnB;;;;oBAJQ,WAAW;;;8CAHpB;KAKA,IAcC;;;;;;QAVa,+CAAyB;;;;;;;;QCUrC;SAAgB;;;;;QATT,wBAAW;;;;QAAlB,UAAmB,EAA2B;gBAAzB,sBAAQ;YAC3B,OAAO,QAAQ,CAAC;SACjB;;;;;QAGM,sBAAS;;;;QAAhB,UAAiB,EAAyB;gBAAvB,kBAAM;YACvB,OAAO,MAAM,CAAC;SACf;;;;;;QAKD,kCAAW;;;;;QAAX,UAAY,EAA2C,EAAE,EAAwB;gBAAnE,0BAAU;gBAAmC,oBAAO;YAChE,UAAU,CAAC;gBACT,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;SACJ;;;;;;QAGD,kCAAW;;;;;QAAX,UAAY,EAA2C,EAAE,EAAsB;gBAAjE,0BAAU;gBAAmC,oBAAO;YAChE,UAAU,CAAC;gBACT,MAAM,EAAE,OAAO;aAChB,CAAC,CAAC;SACJ;QAXDI;YADCC,YAAM,CAAC,WAAW,CAAC;;qDACkD,WAAW;;uDAIhF;QAGDD;YADCC,YAAM,CAAC,SAAS,CAAC;;qDACoD,SAAS;;uDAI9E;QAvBDD;YADCE,cAAQ,EAAE;;;;6CAGV;QAGDF;YADCE,cAAQ,EAAE;;;;2CAGV;QATU,YAAY;YAJxBC,WAAK,CAAgB;gBACpB,IAAI,EAAE,cAAc;gBACpB,QAAQ,qBAAE,EAAE,EAAiB;aAC9B,CAAC;;WACW,YAAY,CA0BxB;QAAD,mBAAC;KAAA;;;;;;;;;;;;;IChCD,SAAgB,cAAc,CAC5B,MAAuB,EACvB,QAA8B,EAC9B,aAAqC,EACrC,UAAyB;QAFzB,yBAAA,EAAA,aAA8B;QAC9B,8BAAA,EAAA,mCAAgB,EAAE,EAAmB;QACrC,2BAAA,EAAA,iBAAyB;;YAEnB,MAAM;;;;QAAG,UAAA,KAAK;YAClB,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE;gBAC3C,KAAK,CAAC,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;aACtF;YAED,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,KAAK,UAAU,EAAE;gBACvD,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC1B,OAAO,KAAK,CAAC;aACd;YAED,OAAO,IAAI,CAAC;SACb,CAAA;QAED,IAAI,UAAU,EAAE;;YAEd,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SAC9B;;YAEK,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;QAE5C,IAAI,aAAa,CAAC,MAAM,EAAE;YACxB,OAAO,UAAU,CAAC,aAAa,UAAK,cAAc,EAAK,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC;SACnF;QAED,OAAO,cAAc,CAAC;KACvB;;;;;;IAED,SAAgB,aAAa,CAAC,MAAuB,EAAE,aAA8B;QACnF,OAAO,MAAM,CAAC,GAAG;;;;QAAC,UAAA,KAAK;YACrB,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE;gBAC3C,KAAK,CAAC,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;aAC/D;;gBAEK,eAAe,GAAG,aAAa,CAAC,MAAM;;;;YAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,UAAU,KAAK,KAAK,CAAC,IAAI,GAAA,EAAC;YACxF,IAAI,eAAe,IAAI,eAAe,CAAC,MAAM,EAAE;gBAC7C,KAAK,CAAC,QAAQ,aAAQ,KAAK,CAAC,QAAQ,IAAI,EAAE,GAAM,eAAe,CAAC,CAAC;aAClE;YAED,OAAO,KAAK,CAAC;SACd,EAAC,CAAC;KACJ;;;;;IAED,SAAgB,UAAU,CAAC,MAA4B;QAA5B,uBAAA,EAAA,WAA4B;QACrD,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAC9B,OAAO,MAAM;aACV,IAAI;;;;;QAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAA,EAAC;aACjC,GAAG;;;;QAAC,UAAA,KAAK;YACR,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE;gBAC3C,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aAC7C;YAED,OAAO,KAAK,CAAC;SACd,EAAC,CAAC;KACN;;;;;;;QCoGC,qBAAoB,uBAAwD,EAAU,KAAY;YAA9E,4BAAuB,GAAvB,uBAAuB,CAAiC;YAAU,UAAK,GAAL,KAAK,CAAO;SAAI;wBAlJ3F,WAAW;;;;;QAEf,kBAAM;;;;QAAb,UAAc,KAAmB;YAC/B,OAAO,KAAK,CAAC;SACd;;;;;QAGM,8BAAkB;;;;QAAzB,UAA0B,KAAmB;YAC3C,OAAO,KAAK,CAAC,WAAW,CAAC,WAAW,IAAI,EAAE,CAAC;SAC5C;;;;;QAEM,kBAAM;;;;QAAb,UAAc,GAAW;;gBACjB,QAAQ,GAAGC,oBAAc,CAC7B,CAAC,aAAW,CAAC;;;;YACb,UAAS,KAAmB;gBAC1B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;aACnB,EACF;YAED,OAAO,QAAQ,CAAC;SACjB;;;;;QAEM,mBAAO;;;;QAAd,UAAe,IAAuB;YACpC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBAC5B,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aACxB;YAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACxB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;aAC1E;;gBAEK,QAAQ,GAAGA,oBAAc,CAC7B,CAAC,aAAW,CAAC;;;;YACb,UAAS,KAAmB;gBAC1B,OAAO,oBAAC,IAAI,IAAc,MAAM;;;;;gBAAC,UAAC,GAAG,EAAE,GAAG;oBACxC,IAAI,GAAG,EAAE;wBACP,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;qBACjB;oBAED,OAAO,SAAS,CAAC;iBAClB,GAAE,KAAK,CAAC,CAAC;aACX,EACF;YAED,OAAO,QAAQ,CAAC;SACjB;;;;;QAEM,qBAAS;;;;QAAhB,UAAiB,GAAY;;gBACrB,QAAQ,GAAGA,oBAAc,CAC7B,CAAC,aAAW,CAAC;;;;YACb,UAAS,KAAmB;gBAC1B,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,SAAS,CAAC,CAAC,GAAG,CAAC;aACrD,EACF;YAED,OAAO,QAAQ,CAAC;SACjB;;;;;QAEM,sBAAU;;;;QAAjB,UAAkB,GAAW;;gBACrB,QAAQ,GAAGA,oBAAc,CAC7B,CAAC,aAAW,CAAC;;;;YACb,UAAS,KAAmB;gBAC1B,OAAO,GAAG;;;gBAAC,cAAM,OAAA,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,GAAA,EAAC,CAAC;aAC7C,EACF;YAED,OAAO,QAAQ,CAAC;SACjB;;;;;QAEM,4BAAgB;;;;QAAvB,UAAwB,SAAsB;YAAtB,0BAAA,EAAA,cAAsB;;gBACtC,IAAI,GAAG,SAAS;iBACnB,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;iBAC3B,KAAK,CAAC,SAAS,CAAC;iBAChB,MAAM;;;;YAAC,UAAA,GAAG,IAAI,OAAA,GAAG,GAAA,EAAC;;gBAEf,QAAQ,GAAGA,oBAAc,CAC7B,CAAC,aAAW,CAAC;;;;YACb,UAAS,KAAmB;gBAC1B,IAAI,CAAC,IAAI,CAAC,MAAM;oBAAE,OAAO,IAAI,CAAC;;oBAExB,SAAS;;;;gBAAG,UAAA,GAAG,IAAI,OAAA,GAAG;;;gBAAC,cAAM,OAAA,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAA,GAAE,KAAK,CAAC,GAAA,CAAA;gBAC1E,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;oBACnB,IAAI,CAAC,OAAO;;;;oBAAC,UAAA,GAAG;;4BACR,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC;wBAC5B,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;qBAC3C,EAAC,CAAC;;oBAGH,OAAO,IAAI,CAAC,OAAK,SAAW,CAAC,CAAC;iBAC/B;gBAED,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC;aAC7B,EACF;YAED,OAAO,QAAQ,CAAC;SACjB;;;;;;QAEM,mBAAO;;;;;QAAd,UAAe,GAAW;YAAE,2BAA8B;iBAA9B,UAA8B,EAA9B,qBAA8B,EAA9B,IAA8B;gBAA9B,0CAA8B;;YACxD,IAAI,CAAC,GAAG;gBAAE,GAAG,GAAG,EAAE,CAAC;;gBAEb,IAAI,sBAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAY;;gBAClC,QAAQ,GAAGA,oBAAc,CAC7B,CAAC,aAAW,CAAC;;;;YACb,UAAS,KAAmB;gBAC1B,IAAI,CAAC,KAAK,CAAC,YAAY;oBAAE,OAAO,GAAG,CAAC;gBAE5B,IAAA,wEAAmB;gBAC3B,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;oBAClB,IAAI,CAAC,mBAAmB,EAAE;wBACxB,MAAM,IAAI,KAAK,CACb,oRAMG,CACJ,CAAC;qBACH;oBAED,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG;;;oBAAC,cAAM,OAAA,mBAAmB,GAAA,EAAC,CAAC;iBAC1C;;oBAEG,IAAI,GAAG,IAAI,CAAC,MAAM;;;;;gBAAC,UAAC,GAAG,EAAE,GAAG;oBAC9B,IAAI,GAAG,EAAE;wBACP,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;qBACjB;oBAED,OAAO,SAAS,CAAC;iBAClB,GAAE,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC;gBAE7B,iBAAiB,GAAG,iBAAiB,CAAC,MAAM;;;;gBAAC,UAAA,MAAM,IAAI,OAAA,MAAM,IAAI,IAAI,GAAA,EAAC,CAAC;gBACvE,IAAI,IAAI,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,EAAE;oBACzD,iBAAiB,CAAC,OAAO;;;;oBAAC,UAAA,KAAK;wBAC7B,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;qBACvD,EAAC,CAAC;iBACJ;gBAED,OAAO,IAAI,IAAI,GAAG,CAAC;aACpB,EACF;YAED,OAAO,QAAQ,CAAC;SACjB;;;;;QAKD,6BAAO;;;;QAAP,UAAQ,EAAoD;YAD5D,iBAcC;gBAbS,0BAAU,EAAE,sBAAQ;YAC5B,OAAO,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,EAAE,CAAC,IAAI,CACzDL,aAAG;;;;YAAC,UAAA,aAAa;gBACf,OAAA,UAAU,cACL,aAAa,EAChB;aAAA,EACH,EACDM,mBAAS;;;;YAAC,UAAA,aAAa;gBACrB,OAAA,KAAI,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,WAAW,CAAC;sBAC/CC,OAAE,CAAC,IAAI,CAAC;sBACR,QAAQ,CAAC,IAAI,WAAW,CAAC,GAAG;;;oBAAC,cAAM,OAAA,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,kCAAkC,CAAC,GAAA,EAAC,CAAC,CAAC;aAAA,EAC3G,CACF,CAAC;SACH;;;;;;QAGD,gCAAU;;;;;QAAV,UAAW,EAAoD,EAAE,EAAoC;gBAAxF,0BAAU,EAAE,sBAAQ;gBAAkC,cAAI,EAAE,sBAAQ;;gBAC3E,MAAM,GAAoB,QAAQ,EAAE,CAAC,MAAM;;gBAEzC,KAAK,GAAG,MAAM,CAAC,SAAS;;;;YAAC,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,IAAI,KAAK,IAAI,GAAA,EAAC;YAE5D,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAEhD,OAAO,UAAU,CAAC;gBAChB,MAAM,QAAA;aACP,CAAC,CAAC;SACJ;;QA1BDN;YADCC,YAAM,CAAC,mBAAmB,CAAC;;;;kDAc3B;QAGDD;YADCC,YAAM,CAAC,gBAAgB,CAAC;;qDAC4D,gBAAgB;;qDAUpG;QA7KDD;YADCE,cAAQ,EAAE;;;;uCAGV;QAGDF;YADCE,cAAQ,EAAE;;;;mDAGV;QATU,WAAW;YAJvBC,WAAK,CAAe;gBACnB,IAAI,EAAE,aAAa;gBACnB,QAAQ,qBAAE,EAAE,EAAgB;aAC7B,CAAC;6CAmJ6C,+BAA+B,EAAiBL,WAAK;WAlJvF,WAAW,CAgLvB;QAAD,kBAAC;KAAA,IAAA;;;;;;QA9Ba,8CAAgE;;;;;QAAE,4BAAoB;;;;;;;;;IAgCpG,SAAS,cAAc,CACrB,MAAuB,EACvB,IAAY,EACZ,QAAgC,EAChC,SAAwB;QAAxB,0BAAA,EAAA,gBAAwB;QAExB,MAAM,GAAG,MAAM,CAAC,GAAG;;;;QAAC,UAAA,KAAK;YACvB,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE;gBACvB,IAAI,QAAQ,CAAC,IAAI,EAAE;oBACjB,QAAQ,CAAC,GAAG,GAAM,SAAS,SAAI,QAAQ,CAAC,IAAM,CAAC;iBAChD;gBAED,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE;oBACjD,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG;;;;oBAAC,UAAA,KAAK,IAAI,qBAC9C,KAAK,IACR,GAAG,EAAK,SAAS,SAAI,KAAK,CAAC,IAAI,SAAI,KAAK,CAAC,IAAM,OAC/C,EAAC,CAAC;iBACL;gBAED,oBAAY,KAAK,EAAK,QAAQ,EAAG;aAClC;iBAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE;gBAClD,KAAK,CAAC,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,SAAS,IAAI,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;aAClG;YAED,OAAO,KAAK,CAAC;SACd,EAAC,CAAC;QAEH,IAAI,SAAS,EAAE;;YAEb,OAAO,MAAM,CAAC;SACf;QAED,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;KAC/B;;;;;;;;;;;;;;;IClOD,SAAgB,IAAI,CAAC,CAAO;QAC1B,OAAO,CAAC;cACJ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC;cACpD,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;KACrE;;;;;;ICHD;;;;IAGA,SAAgB,cAAc,CAAC,QAAkB;;YACzC,EAAE;;;QAAG;;gBACHS,OAAK,GAAU,QAAQ,CAAC,GAAG,CAACT,WAAK,CAAC;YAExC,OAAOS,OAAK,CAAC,QAAQ,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;SAC9D,CAAA;QAED,OAAO,EAAE,CAAC;KACX;;;;;;ICZD;;;;IAGA,SAAS,UAAU,CAAC,KAAK;QACvB,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC;KACpC;;AAED,QAAa,gBAAgB;;;;;IAAG,UAAC,iBAAiB,EAAE,iBAAiC;QAAjC,kCAAA,EAAA,iCAAiC;;;;;;QAAK,UACxF,MAAqB;;gBAEf,eAAe,GAAG,iBAAiB,CAAC,iBAAiB,CAAC;YAC5D,IAAI,UAAU,CAAC,eAAe,CAAC,KAAK,KAAK,EAAE;gBACzC,MAAM,IAAI,KAAK,CACV,iBAAiB,CAAC,WAAW,CAAC,IAAI,uDAAkD,iBAAmB,CAC3G,CAAC;aACH;YACD,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,EAAE;gBAC5C,iBAAiB,CAAC,oBAAoB,CAAC,GAAG,IAAIC,YAAO,EAAE,CAAC;gBAExD,iBAAiB,CAAC,iBAAiB,CAAC;;;gBAAG;oBACrC,UAAU,CAAC,eAAe,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;oBACtE,iBAAiB,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACnD,iBAAiB,CAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE,CAAC;iBACpD,CAAA,CAAC;aACH;YACD,OAAO,MAAM,CAAC,IAAI,CAACC,mBAAS,CAAI,iBAAiB,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;SAC3E;KAAA,CAAA;;;;;;;;;;;;QCDC,gCAAoBC,QAAc,EAAU,KAAY;YAAxD,iBAcC;YAdmB,WAAM,GAANA,QAAM,CAAQ;YAAU,UAAK,GAAL,KAAK,CAAO;YACtD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;;;;YAAC,UAAA,KAAK;gBAC7D,IAAI,KAAK,YAAYC,oBAAa,EAAE;oBAC1B,IAAA,0EAAQ;oBACV,IAAA,mDAG2C,EAF/B,iCAAO,EACvB,kBAC+C;;wBAE3C,QAAM,GAAG,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC;oBAE3C,KAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM;;;;oBAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,CAAC,GAAA,EAAC,CAAC,IAAI;;;;oBAAC,UAAA,CAAC,IAAI,OAAA,GAAG;;;oBAAC,cAAM,OAAA,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,QAAM,CAAC,GAAA,GAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAA,EAAC,CAAC;iBAC5G;aACF,EAAC,CAAC;SACJ;;;;QAED,4CAAW;;;QAAX,eAAgB;;oBA/BjBC,cAAS,SAAC;wBACT,QAAQ,EAAE,oBAAoB;wBAC9B,QAAQ,EAAE,oSAKT;qBACF;;;;oBAjBuBC,aAAM;oBACbf,WAAK;;QAmBpBE;YADCc,YAAM,CAAC,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;sCAC5BC,eAAU;qEAAsB;QAqBjD,6BAAC;KAhCD,IAgCC;;;QAtBC,+CAC+C;;QAE/C,wCAAkB;;;;;QAEN,wCAAsB;;;;;QAAE,uCAAoB;;;;;;;IAmB1D,SAAS,UAAU,CAAC,QAAsB,EAAE,MAAuB;;YAC7D,MAAM;;YAEJ,KAAK,GAAG,MAAM;aACjB,MAAM;;;;;QAAC,UAAC,GAAG,EAAE,GAAG,IAAK,QAAC,GAAG,CAAC,OAAO,YAAO,GAAG,EAAK,GAAG,CAAC,QAAQ,aAAQ,GAAG,GAAE,GAAG,EAAC,IAAC,GAAE,EAAE,CAAC;aACnF,IAAI;;;;QAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAA,EAAC;QAEzC,IAAI,KAAK,EAAE;YACT,IAAI,KAAK,CAAC,MAAM,EAAE;gBAChB,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;aACvB;YAED,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;;oBAC5D,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI;;;;gBAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAA,EAAC;gBAEnE,IAAI,KAAK,CAAC,MAAM,EAAE;oBAChB,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;iBACvB;aACF;SACF;QAED,OAAO,MAAM,CAAC;KACf;;;;;;AClED;QAEA;SAMqC;;oBANpCH,cAAS,SAAC;wBACT,QAAQ,EAAE,mBAAmB;wBAC7B,QAAQ,EAAE,2CAET;qBACF;;QACmC,4BAAC;KANrC;;;;;;;;;;;ACFA;QASE,4BAAoB,KAAiB;YAAjB,UAAK,GAAL,KAAK,CAAY;YAFrC,UAAK,GAAW,CAAC,CAAC;SAEuB;;;;QAEzC,4CAAe;;;QAAf;YAAA,iBAEC;YADC,UAAU;;;YAAC,cAAM,OAAA,KAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,GAAA,GAAE,IAAI,CAAC,KAAK,CAAC,CAAC;SAChE;;oBAXFI,cAAS,SAAC;wBACT,QAAQ,EAAE,aAAa;qBACxB;;;;oBAJmBC,eAAU;;;4BAM3BC,UAAK,SAAC,WAAW;;QAQpB,yBAAC;KAZD,IAYC;;;QARC,mCACkB;;;;;QAEN,mCAAyB;;;;;;;ACTvC;QA0BE,2BAAoB,KAAwB,EAAU,KAAiB;YAAnD,UAAK,GAAL,KAAK,CAAmB;YAAU,UAAK,GAAL,KAAK,CAAY;YAZvE,YAAO,GAAG,IAAI,CAAC;SAY4D;QAV3E,sBACI,oCAAK;;;;YADT;gBAEE,OAAO,IAAI,CAAC,OAAO,CAAC;aACrB;;;WAAA;QAED,sBACI,uCAAQ;;;;YADZ;gBAEE,OAAO,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,IAAI,OAAO,GAAG,SAAS,CAAC;aACzD;;;WAAA;;;;QAID,8CAAkB;;;QAAlB;YAAA,iBASC;YARC,UAAU;;;YAAC;;oBACH,KAAK,GAAG,KAAI,CAAC,KAAK;gBACxB,KAAI,CAAC,KAAK,GAAG,KAAK,IAAI,oBAAC,KAAI,CAAC,KAAK,CAAC,aAAa,IAAiB,SAAS,CAAC;gBAE1E,IAAI,KAAI,CAAC,KAAK,KAAK,KAAK,EAAE;oBACxB,KAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;iBAC5B;aACF,GAAE,CAAC,CAAC,CAAC;SACP;;oBAnCFF,cAAS,SAAC;wBACT,QAAQ,EAAE,eAAe;qBAC1B;;;;oBAJ0BG,sBAAiB;oBAAaF,eAAU;;;4BAMhEC,UAAK,SAAC,aAAa;4BAGnBE,gBAAW,SAAC,OAAO,cACnBF,UAAK;8BAGLA,UAAK,SAAC,oBAAoB;4BAG1BE,gBAAW,SAAC,oBAAoB;+BAKhCA,gBAAW,SAAC,iBAAiB;;QAiBhC,wBAAC;KApCD,IAoCC;;;QAhCC,kCACc;;QAEd,kCAEc;;QAEd,oCACe;;;;;QAYH,kCAAgC;;;;;QAAE,kCAAyB;;;;;;;AC1BzE;QAWE,6BAAgC,KAAiB,EAAU,QAAmB,EAAU,KAAY;YAApE,UAAK,GAAL,KAAK,CAAY;YAAU,aAAQ,GAAR,QAAQ,CAAW;YAAU,UAAK,GAAL,KAAK,CAAO;SAAI;;;;QAExG,sCAAQ;;;QAAR;YAAA,iBAcC;YAbC,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,IAAI,CAAC,KAAK;qBACP,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;qBACpD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;qBAC5B,SAAS;;;;gBAAC,UAAA,SAAS;oBAClB,IAAI,CAAC,SAAS,EAAE;wBACd,KAAI,CAAC,QAAQ,CAAC,WAAW,CACvB,oBAAC,KAAI,CAAC,KAAK,CAAC,aAAa,IAAiB,aAAa,EACvD,KAAI,CAAC,KAAK,CAAC,aAAa,CACzB,CAAC;qBACH;iBACF,EAAC,CAAC;aACN;SACF;;;;QAED,yCAAW;;;QAAX,eAAsB;;oBAxBvBJ,cAAS,SAAC;wBACT,QAAQ,EAAE,iBAAiB;qBAC5B;;;;oBAPmBC,eAAU,uBAWfI,aAAQ;oBAX6CC,cAAS;oBACpExB,WAAK;;;gCAQXoB,UAAK,SAAC,eAAe;;QAqBxB,0BAAC;KAzBD,IAyBC;;;QArBC,wCAA0C;;;;;QAE9B,oCAAqC;;;;;QAAE,uCAA2B;;;;;QAAE,oCAAoB;;;;;;;ACXtG;QAaE,6BAAgC,KAAiB,EAAU,QAAmB;YAA9C,UAAK,GAAL,KAAK,CAAY;YAAU,aAAQ,GAAR,QAAQ,CAAW;YAF9E,eAAU,GAAG,IAAIV,YAAO,EAAW,CAAC;SAE8C;;;;QAElF,6CAAe;;;QAAf;YAAA,iBA0BC;;gBAzBO,QAAQ,GAAG,IAAI,gBAAgB;;;;YAAC,UAAA,SAAS;gBAC7C,SAAS,CAAC,OAAO;;;;gBAAC,UAAA,QAAQ;oBACxB,IAAI,CAAC,QAAQ,CAAC,MAAM;wBAAE,OAAO;;wBAEvB,SAAS,GAAG,GAAG;;;oBACnB,cAAM,OAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM;;;;oBAAC,UAAA,IAAI,IAAI,OAAA,IAAI,YAAY,WAAW,GAAA,EAAC,GAAA,GACxF,EAAE,CACH;oBAED,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;wBACrB,KAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAI,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,EAAE,KAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;wBAC5F,KAAI,CAAC,UAAU,EAAE,CAAC;qBACnB;yBAAM;wBACL,UAAU;;;wBAAC;4BACT,KAAI,CAAC,UAAU,EAAE,CAAC;yBACnB,GAAE,CAAC,CAAC,CAAC;qBACP;iBACF,EAAC,CAAC;aACJ,EAAC;YAEF,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE;gBACpC,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;YAEH,IAAI,CAAC,UAAU,CAAC,SAAS;;;YAAC,cAAM,OAAA,QAAQ,CAAC,UAAU,EAAE,GAAA,EAAC,CAAC;SACxD;;;;QAED,wCAAU;;;QAAV;YACE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;SAC5B;;oBA1CFQ,cAAS,SAAC;wBACT,QAAQ,EAAE,iBAAiB;qBAC5B;;;;oBANoCC,eAAU,uBAahCI,aAAQ;oBAb0BC,cAAS;;;qCAQvDJ,UAAK,SAAC,eAAe;;QAuCxB,0BAAC;KA3CD,IA2CC;;;QAvCC,6CAC4B;;QAE5B,yCAAoC;;;;;QAExB,oCAAqC;;;;;QAAE,uCAA2B;;;;;;;;;;;;;;QCZ9E,SAAU,SAAS;QACnB,aAAc,aAAa;QAC3B,OAAQ,OAAO;;;;;;;;;;;;ACHjB;QAWE,mBAAoB,YAA0B,EAAU,KAAY;YAAhD,iBAAY,GAAZ,YAAY,CAAc;YAAU,UAAK,GAAL,KAAK,CAAO;SAAI;;;;;;QACxE,+BAAW;;;;;QAAX,UAAY,CAAyB,EAAE,KAA0B;;gBACzD,mBAAmB,GAAG,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE;YACnE,IAAI,mBAAmB,EAAE;gBACvB,OAAO,mBAAmB,CAAC;aAC5B;YAED,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAIK,qBAAQ,CAAC,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;YAEnG,OAAO,KAAK,CAAC;SACd;;oBAdF3B,eAAU,SAAC;wBACV,UAAU,EAAE,MAAM;qBACnB;;;;oBANQ4B,8BAAY;oBADZ1B,WAAK;;;wBAFd;KAOA,IAeC;;;;;;QAXa,iCAAkC;;;;;QAAE,0BAAoB;;;;;;;ACXtE;QAUE,yBAAoB,KAAY;YAAZ,UAAK,GAAL,KAAK,CAAO;SAAI;;;;;QAEpC,qCAAW;;;;QAAX,UAAY,EAAgC;gBAA9B,cAAI;;gBACV,QAAQ,sBAAG,IAAI,CAAC,cAAc,EAAU;YAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;SAClE;;oBATFF,eAAU,SAAC;wBACV,UAAU,EAAE,MAAM;qBACnB;;;;oBANQE,WAAK;;;8BAFd;KAMA,IAUC;;;;;;QANa,gCAAoB;;;;;;;;;;;;ACVlC;QAUE,wBAAoB,YAA0B,EAAU,KAAY;YAAhD,iBAAY,GAAZ,YAAY,CAAc;YAAU,UAAK,GAAL,KAAK,CAAO;SAAI;;;;;;QAExE,kCAAS;;;;;QAAT,UAAU,OAAyB,EAAE,IAAiB;YAAtD,iBA2BC;YA1BC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;;gBAExC,OAAO,sBAAG,EAAE,EAAO;;gBAEnB,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE;YAChD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,KAAK,EAAE;gBAClD,OAAO,CAAC,eAAe,CAAC,GAAG,YAAU,KAAO,CAAC;aAC9C;;gBAEK,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,WAAW,CAAC;YAChE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,IAAI,EAAE;gBACnD,OAAO,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC;aACnC;;gBAEK,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,SAAS,CAAC;YAChE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,MAAM,EAAE;gBAC9C,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC;aACjC;YAED,OAAO,IAAI;iBACR,MAAM,CACL,OAAO,CAAC,KAAK,CAAC;gBACZ,UAAU,EAAE,OAAO;aACpB,CAAC,CACH;iBACA,IAAI,CAAC2B,kBAAQ;;;YAAC,cAAM,OAAA,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC,GAAA,EAAC,CAAC,CAAC;SACvE;;oBA/BF7B,eAAU;;;;oBANF4B,8BAAY;oBACZ1B,WAAK;;QAqCd,qBAAC;KAhCD,IAgCC;;;;;;QA9Ba,sCAAkC;;;;;QAAE,+BAAoB;;;;;;;;;;;;ICVtE,IAAiB,wBAAwB,CAgDxC;IAhDD,WAAiB,wBAAwB;;;;QACvC,uBAMC;;;;YALC,gCAA2B;;YAC3B,wBAAW;;YACX,2BAAiB;;YACjB,+BAAyB;;YACzB,4BAAmB;;;;;QAGrB,2BAGC;;;;YAFC,8BAA0B;;YAC1B,iCAAsB;;;;;QAGxB,gCAEC;;;;;QAED,uBAKC;;;;YAJC,+BAAoB;;YACpB,iCAAsB;;YACtB,+BAAoB;;YACpB,4BAAiB;;;;;QAGnB,mBAGC;;;;YAFC,wBAAiB;;YACjB,+BAAwB;;;;;QAG1B,qBAEC;;;;;QAED,sBAEC;;;;YADC,yBAA8D;;;;;QAGhE,0BAKC;;;;YAJC,sCAAyB;;YACzB,yBAAW;;YACX,+BAAiB;;YACjB,+BAAiB;;;;;QAGnB,uBAEC;;;;YADC,0BAAgB;;KAEnB,EAhDgB,wBAAwB,KAAxB,wBAAwB,QAgDxC;;;;;;IC7CD,IAAiB,GAAG,CA0CnB;IA1CD,WAAiB,GAAG;;;;QAClB,mBAGC;;;;YAFC,2BAAyC;;YACzC,4BAAkC;;;;;;QAOpC,iCAEC;;;;YADC,mCAAW;;;;;QAGb,8BAKC;;;;YAJC,iCAAgB;;YAChB,kCAAiB;;YACjB,oCAAmB;;YACnB,yCAAwB;;;;;QAG1B,oBAUC;;;;YATC,yBAAmB;;YACnB,0BAAoB;;YACpB,uBAAqB;;YACrB,qBAAa;;YACb,sBAAe;;YACf,2BAAoB;;YACpB,qBAAa;;YACb,+BAAwB;;YACxB,0BAAmB;;;;;QAGrB,wBAGC;;;;YAFC,wBAAa;;YACb,4BAAkB;;;;;QAGpB,wBAGC;;;;YAFC,uBAAW;;YACX,yBAAa;;KAEhB,EA1CgB,GAAG,KAAH,GAAG,QA0CnB;;;;;;IC1CD,IAAiB,MAAM,CAwBtB;IAxBD,WAAiB,MAAM;;;;QACrB,oBAEC;;;;;QAED,0BAKC;;;;YAJC,kCAAyB;;YACzB,iCAAoB;;YACpB,kCAAwB;;YACxB,2BAAW;;;;;QAGb,0BAGC;;;;YAFC,2BAAa;;YACb,8BAAiB;;;;;QAGnB,mBAEC;;;;;QAED,2BAEC;;;;YADC,+BAAqB;;KAExB,EAxBgB,MAAM,KAAN,MAAM,QAwBtB;;;;;;ACzBD,AAqCC;IArCD,WAAiB,IAAI;;;;QACnB,qBAGC;;;;YAFC,0BAAmB;;YACnB,yBAAkB;;;;;;QAgBpB,sBAiBC;;;;YAhBC,uBAAS;;YACT,0BAIM;;YACN,yBAAe;;YACf,yBAIM;;YACN,iCAAyB;;YACzB,+BAA4B;;YAC5B,sBAAY;;YACZ,kCAA0B;;KAE7B,EArCgB4B,YAAI,KAAJA,YAAI,QAqCpB;;;;;;ICrCD,IAAiB,OAAO,CAKvB;IALD,WAAiB,OAAO;;;;QACtB,oBAGC;;;;YAFC,yBAAiB;;YACjB,uBAAsB;;KAEzB,EALgB,OAAO,KAAP,OAAO,QAKvB;;;;;;ICPD,IAAiB,OAAO,CAiBvB;IAjBD,WAAiB,OAAO;;;;QACtB,oBAEC;;;;YADC,wBAAkB;;;;;QAGpB,uBAMC;;;;YALC,4BAAiB;;YACjB,yBAAc;;YACd,wBAAa;;YACb,2BAAgB;;YAChB,+BAAoB;;;;;QAGtB,oCAGC;;;;YAFC,gDAAwB;;YACxB,4CAAoB;;KAEvB,EAjBgB,OAAO,KAAP,OAAO,QAiBvB;;;;;;;;;;;;ACVD,QAAa,0BAA0B,GAAG,IAAIC,mBAAc,CAAC,4BAA4B,CAAC;AAE1F;QAIE,sBAAwD,OAAiB,EAAU,MAAc;YAAzC,YAAO,GAAP,OAAO,CAAU;YAAU,WAAM,GAAN,MAAM,CAAQ;YAFzF,gBAAW,GAAY,KAAK,CAAC;SAEgE;;;;;;;QAErG,6BAAM;;;;;;QAAN,UAAO,KAAU,EAAE,KAAU,EAAE,IAAsB;;gBAC7C,OAAO,GAAGC,mBAAa,CAAC,KAAK,CAAC;;gBAC9B,YAAY,GAAG,OAAO,CAACC,eAAS,CAAC,IAAI,OAAO,CAACC,iBAAW,CAAC;;YAG/D,IAAI,YAAY,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACjC,IAAA,wCAA0D,EAAxD,kBAAM,EAAE,sBAAgD;gBAC9D,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAE1C,KAAK,GAAGC,cAAQ,CAAC,KAAK,EAAE,aAAa,gBAC/B,KAAK,CAAC,WAAW,iBAAS,KAAK,CAAC,WAAW,CAAE,GAC9C,IAAI,CAAC,OAAO,IACf,MAAM,QAAA,IACN,CAAC;gBAEH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aACzB;YAED,OAAO,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;SAC3B;;oBAzBFnC,eAAU;;;;oDAIIoC,WAAM,SAAC,0BAA0B;oBAZvCnB,aAAM;;QAkCf,mBAAC;KA1BD,IA0BC;;;;;;QAxBC,mCAAqC;;;;;QAEzB,+BAA6D;;;;;QAAE,8BAAsB;;;;;;;IAwBnG,SAAS,eAAe,CAAC,MAAmB,EAAE,QAA8B;QAAnD,uBAAA,EAAA,WAAmB;QAAE,yBAAA,EAAA,aAA8B;;YACpE,SAAS,GAAoB,MAAM;aACtC,MAAM;;;;QAAC,UAAA,KAAK;YACX,OAAO,GAAG;;;YAAC,cAAM,OAAA,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI;;;;YAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,GAAA,EAAC,GAAA,GAAE,KAAK,CAAC,CAAC;SAC7E,EAAC;aACD,MAAM;;;;;QAAC,UAAC,GAAG,EAAE,GAAG,IAAK,gBAAI,GAAG,EAAK,GAAG,CAAC,IAAI,CAAC,MAAM,IAAC,GAAE,EAAE,CAAC;QAEzD,QAAQ,GAAG,SAAS,CAAC,MAAM;;;;QAAC,UAAA,EAAE,IAAI,OAAA,EAAE,CAAC,OAAO,GAAA,EAAC,CAAC;;YACxC,WAAW,sBAAG,EAAE,EAAmB;QACzC,MAAM;aACH,MAAM;;;;QAAC,UAAA,KAAK,IAAI,OAAA,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,YAAY,CAAC,GAAA,EAAC;aACrF,OAAO;;;;QAAC,UAAA,KAAK;;gBACN,UAAU,GAAG,SAAS,CAAC,IAAI;;;;YAC/B,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG;;;YAAC,cAAM,OAAA,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAA,GAAE,KAAK,CAAC,GAAA,EACzG;YACO,IAAA,2BAAM;YAEd,IAAI,UAAU,EAAE;gBACd,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAC9B;YAED,IAAI,WAAW,CAAC,MAAM,KAAK,MAAM,EAAE;gBACjC,WAAW,CAAC,IAAI,oBAAC;oBACf,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,IAAI,EAAE,GAAG;;;oBAAC,cAAM,OAAA,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAA,GAAE,KAAK,CAAC,IAAI,CAAC;oBACnD,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE;iBAC3C,GAAkB,CAAC;aACrB;SACF,EAAC,CAAC;QAEL,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,QAAQ,UAAA,EAAE,CAAC;KACnD;;;;;;IAED,SAAS,OAAO,CAAC,MAAuB,EAAE,SAAkB;QAC1D,IAAI,SAAS,EAAE;;YAGb,OAAO,MAAM,CAAC,GAAG;;;;YAAC,UAAA,KAAK,IAAI,qBACtB,KAAK,IACR,GAAG,EAAK,SAAS,SAAI,KAAK,CAAC,IAAM,KAC7B,KAAK,CAAC,QAAQ;gBAChB,KAAK,CAAC,QAAQ,CAAC,MAAM,IAAI;gBACvB,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAK,SAAS,SAAI,KAAK,CAAC,IAAM,CAAC;aAChE,MACH,EAAC,CAAC;SACL;QAED,OAAO,MAAM,CAAC,GAAG;;;;QAAC,UAAA,KAAK,IAAI,qBACtB,KAAK,IACR,GAAG,EAAE,MAAI,KAAK,CAAC,IAAM,KACjB,KAAK,CAAC,QAAQ;YAChB,KAAK,CAAC,QAAQ,CAAC,MAAM,IAAI;YACvB,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAI,KAAK,CAAC,IAAM,CAAC;SACpD,MACH,EAAC,CAAC;KACL;;;;;;;;;;;AC5FD;QAQE,uBAAoB,KAAY;YAAZ,UAAK,GAAL,KAAK,CAAO;SAAI;;;;QAEpC,8BAAM;;;QAAN;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;SACtD;;;;;QAED,8BAAM;;;;QAAN,UAAO,GAAW;YAChB,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;SAC3D;;;;;QAED,+BAAO;;;;QAAP,UAAQ,IAAuB;YAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;SAC7D;;;;;QAED,kCAAU;;;;QAAV,UAAW,GAAW;YACpB,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;SAC/D;;oBApBFjB,eAAU,SAAC;wBACV,UAAU,EAAE,MAAM;qBACnB;;;;oBALQE,WAAK;;;4BADd;KAIA,IAqBC;;;;;;QAjBa,8BAAoB;;;;;;;ACRlC;QAIA;YAIE,oBAAe,GAA2C,EAAE,CAAC;SAiD9D;;;;;;;;;QA/CC,8BAAI;;;;;;;;QAAJ,UACE,GAAW,EACX,IAAwB,EACxB,OAAoB,EACpB,WAA4B,EAC5B,QAAqC;YALvC,iBA8CC;YA3CC,wBAAA,EAAA,YAAoB;YACpB,4BAAA,EAAA,oBAA4B;YAC5B,yBAAA,EAAA,qBAAqC;YAErC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO;gBAAE,OAAO;;gBACvB,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE;YAE9D,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE;gBAC7B,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;aACjD;YAED,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,IAAImC,kBAAa,EAAE,CAAC;;gBAE5C,OAAO;YACX,IAAI,IAAI,KAAK,QAAQ,EAAE;gBACrB,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAC3C,OAAO,CAAC,IAAI,GAAG,iBAAiB,CAAC;gBACjC,IAAI,GAAG,EAAE;oBACP,oBAAC,OAAO,IAAuB,GAAG,GAAG,GAAG,CAAC;iBAC1C;gBAED,oBAAC,OAAO,IAAuB,IAAI,GAAG,OAAO,CAAC;aAC/C;iBAAM,IAAI,GAAG,EAAE;gBACd,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBACzC,OAAO,CAAC,IAAI,GAAG,UAAU,CAAC;gBAC1B,oBAAC,OAAO,IAAqB,GAAG,GAAG,YAAY,CAAC;gBAEhD,IAAI,GAAG,EAAE;oBACP,oBAAC,OAAO,IAAqB,IAAI,GAAG,GAAG,CAAC;iBACzC;aACF;iBAAM;gBACL,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBAC1C,oBAAC,OAAO,IAAsB,WAAW,GAAG,OAAO,CAAC;aACrD;YAED,OAAO,CAAC,MAAM;;;YAAG;gBACf,KAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBACjC,KAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;aACtC,CAAA,CAAC;YAEF,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAE7E,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;SACjD;;oBApDFrC,eAAU,SAAC;wBACV,UAAU,EAAE,MAAM;qBACnB;;;8BAND;KAIA,IAqDC;;;QAjDC,0CAA6D;;;;;;;;QCD7D,6BAAoB,KAAY;YAAZ,UAAK,GAAL,KAAK,CAAO;SAAI;;;;;;QAEpC,iCAAG;;;;;QAAH,UAAI,IAAY;YAAE,2BAA8B;iBAA9B,UAA8B,EAA9B,qBAA8B,EAA9B,IAA8B;gBAA9B,0CAA8B;;YAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,OAAnB,WAAW,YAAS,IAAI,GAAK,iBAAiB,GAAE,CAAC;SAC3E;;;;;;QAED,qCAAO;;;;;QAAP,UAAQ,IAAY;YAAE,2BAA8B;iBAA9B,UAA8B,EAA9B,qBAA8B,EAA9B,IAA8B;gBAA9B,0CAA8B;;YAClD,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,OAAnB,WAAW,YAAS,IAAI,GAAK,iBAAiB,GAAE,CAAC;SACnF;;oBAVFA,eAAU,SAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;;oBAJzBE,WAAK;;;kCADd;KAKA,IAWC;;;;;;QATa,oCAAoB;;;;;;;;;;;;;;;;ICJlC,SAAgB,kBAAkB,CAAC,WAA+B;QAChE,oBACK,WAAW,EACd;KACH;;;;;IAED,SAAgB,aAAa,CAAC,MAA2B;QACvD,oBACK,MAAM,EACT;KACH;;AAED,QAAa,WAAW,GAAG,IAAI6B,mBAAc,CAAC,aAAa,CAAC;;AAE5D,QAAa,MAAM,GAAG,IAAIA,mBAAc,CAAC,QAAQ,CAAC;;;;;;;;;;;;QCFhD,0BAAoB,KAAY;YAAZ,UAAK,GAAL,KAAK,CAAO;YAJhC,gBAAW,GAAY,KAAK,CAAC;SAIO;;;;;;QAEpC,oCAAS;;;;;QAAT,UAAU,KAAa;YAAvB,iBAmBC;YAnBwB,2BAA8B;iBAA9B,UAA8B,EAA9B,qBAA8B,EAA9B,IAA8B;gBAA9B,0CAA8B;;YACrD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBAExB,IAAI,CAAC,KAAK;qBACP,MAAM,CACL,WAAW,CAAC,OAAO,OAAnB,WAAW,YACT,KAAK,GACF,iBAAiB,CAAC,MAAM;;;;;gBAAC,UAAC,GAAG,EAAE,GAAG,IAAK,QAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,YAAO,GAAG,EAAK,GAAG,aAAQ,GAAG,GAAE,GAAG,EAAC,IAAC,GAAE,EAAE,CAAC,GAEzG;qBACA,IAAI,CACH,gBAAgB,CAAC,IAAI,CAAC,EACtBO,8BAAoB,EAAE,CACvB;qBACA,SAAS;;;;gBAAC,UAAA,IAAI,IAAI,QAAC,KAAI,CAAC,KAAK,GAAG,IAAI,IAAC,EAAC,CAAC;aAC3C;YAED,OAAO,IAAI,CAAC,KAAK,CAAC;SACnB;;;;QAED,sCAAW;;;QAAX,eAAgB;;oBAhCjBC,SAAI,SAAC;wBACJ,IAAI,EAAE,iBAAiB;wBACvB,IAAI,EAAE,KAAK;qBACZ;;;;oBARQrC,WAAK;;QAsCd,uBAAC;KAjCD,IAiCC;;;QA5BC,uCAA6B;;QAE7B,iCAAc;;;;;QAEF,iCAAoB;;;;;;;ACflC;QAaE,qCAAoB,QAAmB,EAAU,EAAc;YAA3C,aAAQ,GAAR,QAAQ,CAAW;YAAU,OAAE,GAAF,EAAE,CAAY;YAJtD,aAAQ,GAAW,GAAG,CAAC;YAEN,kBAAa,GAAG,IAAIsC,iBAAY,EAAS,CAAC;SAED;;;;QAEnE,8CAAQ;;;QAAR;YAAA,iBASC;YARCC,cAAS,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC;iBACtC,IAAI,CACHC,sBAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,EAC3BC,uBAAgB,CAAC,IAAI,CAAC,CACvB;iBACA,SAAS;;;;YAAC,UAAC,KAAY;gBACtB,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAChC,EAAC,CAAC;SACN;;oBAnBFvB,cAAS,SAAC;wBACT,QAAQ,EAAE,kBAAkB;qBAC7B;;;;oBAP2BM,cAAS;oBAAEL,eAAU;;;+BAS9CC,UAAK;oCAELsB,WAAM,SAAC,gBAAgB;;QAc1B,kCAAC;KApBD,IAoBC;;;QAhBC,+CAAgC;;QAEhC,oDAAoE;;;;;QAExD,+CAA2B;;;;;QAAE,yCAAsB;;;;;;;ACbjE;QAUE,4CAAoB,QAAmB,EAAU,EAAc;YAA3C,aAAQ,GAAR,QAAQ,CAAW;YAAU,OAAE,GAAF,EAAE,CAAY;YAFzC,kBAAa,GAAG,IAAIJ,iBAAY,EAAc,CAAC;SAEF;;;;QAEnE,qDAAQ;;;QAAR;YAAA,iBAOC;YANCC,cAAS,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC;iBACtC,IAAI,CAACE,uBAAgB,CAAC,IAAI,CAAC,CAAC;iBAC5B,SAAS;;;;YAAC,UAAC,KAAiB;gBAC3B,KAAK,CAAC,eAAe,EAAE,CAAC;gBACxB,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAChC,EAAC,CAAC;SACN;;oBAfFvB,cAAS,SAAC;wBACT,QAAQ,EAAE,cAAc;qBACzB;;;;oBAN6DM,cAAS;oBAAnDL,eAAU;;;oCAQ3BuB,WAAM,SAAC,YAAY;;QAYtB,yCAAC;KAhBD,IAgBC;;;QAZC,2DAAqE;;;;;QAEzD,sDAA2B;;;;;QAAE,gDAAsB;;;;;;;ACVjE;QAyBA;SAsEC;;;;;QA3BQ,kBAAO;;;;QAAd,UAAe,OAAwB;YAAxB,wBAAA,EAAA,6BAAU,EAAE,EAAY;YACrC,OAAO;gBACL,QAAQ,EAAE,UAAU;gBACpB,SAAS,EAAE;oBACT;wBACE,OAAO,EAAEC,kBAAY;wBACrB,QAAQ,EAAE,YAAY;wBACtB,KAAK,EAAE,IAAI;qBACZ;oBACD;wBACE,OAAO,EAAE,0BAA0B;wBACnC,QAAQ,EAAE,OAAO;qBAClB;oBACD;wBACE,OAAO,EAAEC,sBAAiB;wBAC1B,QAAQ,EAAE,cAAc;wBACxB,KAAK,EAAE,IAAI;qBACZ;oBACD;wBACE,OAAO,EAAEC,oBAAe;wBACxB,KAAK,EAAE,IAAI;wBACX,IAAI,EAAE,CAACC,aAAQ,CAAC;wBAChB,UAAU,EAAE,cAAc;qBAC3B;iBACF;aACF,CAAC;SACH;;oBArEFC,aAAQ,SAAC;wBACR,OAAO,EAAE;4BACPC,gBAAU,CAAC,UAAU,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;4BAChEC,qCAAuB,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC;4BACxDC,mCAAsB,CAAC,OAAO,EAAE;4BAChCC,mBAAY;4BACZC,qBAAgB;4BAChBC,iBAAW;4BACXC,yBAAmB;4BACnBC,mBAAY;yBACb;wBACD,YAAY,EAAE;4BACZ,qBAAqB;4BACrB,sBAAsB;4BACtB,kBAAkB;4BAClB,iBAAiB;4BACjB,gBAAgB;4BAChB,mBAAmB;4BACnB,mBAAmB;4BACnB,2BAA2B;4BAC3B,kCAAkC;yBACnC;wBACD,OAAO,EAAE;4BACPJ,mBAAY;4BACZC,qBAAgB;4BAChBC,iBAAW;4BACXC,yBAAmB;4BACnBC,mBAAY;4BACZ,qBAAqB;4BACrB,sBAAsB;4BACtB,kBAAkB;4BAClB,iBAAiB;4BACjB,gBAAgB;4BAChB,mBAAmB;4BACnB,mBAAmB;4BACnB,2BAA2B;4BAC3B,gBAAgB;4BAChB,kCAAkC;yBACnC;wBACD,SAAS,EAAE,CAAC,gBAAgB,CAAC;wBAC7B,eAAe,EAAE,CAAC,qBAAqB,EAAE,sBAAsB,CAAC;qBACjE;;QA6BD,iBAAC;KAtED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.min.js b/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.min.js index f26638bdec..cd86ce8998 100644 --- a/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.min.js +++ b/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.min.js @@ -1,2 +1,2 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/router"),require("@ngxs/store"),require("rxjs"),require("@angular/common/http"),require("rxjs/operators"),require("snq"),require("angular-oauth2-oidc"),require("@ngxs/router-plugin"),require("@angular/common"),require("@angular/forms"),require("@ngxs/storage-plugin"),require("@ngx-validate/core")):"function"==typeof define&&define.amd?define("@abp/ng.core",["exports","@angular/core","@angular/router","@ngxs/store","rxjs","@angular/common/http","rxjs/operators","snq","angular-oauth2-oidc","@ngxs/router-plugin","@angular/common","@angular/forms","@ngxs/storage-plugin","@ngx-validate/core"],t):t(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng.core={}),e.ng.core,e.ng.router,e.store,e.rxjs,e.ng.common.http,e.rxjs.operators,e.snq,e.angularOauth2Oidc,e.routerPlugin,e.ng.common,e.ng.forms,e.storagePlugin,e.core$1)}(this,function(exports,core,router,store,rxjs,http,operators,snq,angularOauth2Oidc,routerPlugin,common,forms,storagePlugin,core$1){"use strict";snq=snq&&snq.hasOwnProperty("default")?snq.default:snq;var __assign=function(){return(__assign=Object.assign||function(e){for(var t,r=1,n=arguments.length;r=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,r,a):o(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a}function __metadata(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function __read(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,i=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a}function __spread(){for(var e=[],t=0;t1?(keys.forEach(function(e){var t=getPolicy(e);condition=condition.replace(e,t)}),eval("!!"+condition)):getPolicy(condition)});return selector},ConfigState.getCopy=function(e){for(var t=[],r=1;r>e/4).toString(16):(""+1e7+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,uuid)}function getInitialData(e){return function(){return e.get(store.Store).dispatch(new GetAppConfiguration).toPromise()}}function isFunction(e){return"function"==typeof e}var takeUntilDestroy=function(e,t){return void 0===t&&(t="ngOnDestroy"),function(r){var n=e[t];if(!1===isFunction(n))throw new Error(e.constructor.name+" is using untilDestroyed but doesn't implement "+t);return e.__takeUntilDestroy||(e.__takeUntilDestroy=new rxjs.Subject,e[t]=function(){isFunction(n)&&n.apply(this,arguments),e.__takeUntilDestroy.next(!0),e.__takeUntilDestroy.complete()}),r.pipe(operators.takeUntil(e.__takeUntilDestroy))}},DynamicLayoutComponent=function(){function e(e,t){var r=this;this.router=e,this.store=t,this.router.events.pipe(takeUntilDestroy(this)).subscribe(function(e){if(e instanceof router.NavigationEnd){var t=r.router.parseUrl(e.url).root.children.primary.segments,n=r.store.selectSnapshot(ConfigState.getAll),o=n.requirements.layouts,i=findLayout(t,n.routes);r.layout=o.filter(function(e){return!!e}).find(function(e){return snq(function(){return e.type.toLowerCase().indexOf(i)},-1)>-1})}})}return e.prototype.ngOnDestroy=function(){},e.decorators=[{type:core.Component,args:[{selector:"abp-dynamic-layout",template:'\n \n\n \n \n '}]}],e.ctorParameters=function(){return[{type:router.Router},{type:store.Store}]},__decorate([store.Select(ConfigState.getOne("requirements")),__metadata("design:type",rxjs.Observable)],e.prototype,"requirements$",void 0),e}();function findLayout(e,t){var r="empty",n=t.reduce(function(e,t){return t.wrapper?__spread(e,t.children):__spread(e,[t])},[]).find(function(t){return t.path===e[0].path});if(n&&(n.layout&&(r=n.layout),n.children&&n.children.length&&e.length>1)){var o=n.children.find(function(t){return t.path===e[1].path});o.layout&&(r=o.layout)}return r}var RouterOutletComponent=function(){function e(){}return e.decorators=[{type:core.Component,args:[{selector:"abp-router-outlet",template:"\n \n "}]}],e}(),AutofocusDirective=function(){function e(e){this.elRef=e,this.delay=0}return e.prototype.ngAfterViewInit=function(){var e=this;setTimeout(function(){return e.elRef.nativeElement.focus()},this.delay)},e.decorators=[{type:core.Directive,args:[{selector:"[autofocus]"}]}],e.ctorParameters=function(){return[{type:core.ElementRef}]},e.propDecorators={delay:[{type:core.Input,args:["autofocus"]}]},e}(),EllipsisDirective=function(){function e(e,t){this.cdRef=e,this.elRef=t,this.enabled=!0}return Object.defineProperty(e.prototype,"class",{get:function(){return this.enabled},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"maxWidth",{get:function(){return this.enabled?this.witdh||"160px":void 0},enumerable:!0,configurable:!0}),e.prototype.ngAfterContentInit=function(){var e=this;setTimeout(function(){var t=e.title;e.title=t||e.elRef.nativeElement.innerText,e.title!==t&&e.cdRef.detectChanges()},0)},e.decorators=[{type:core.Directive,args:[{selector:"[abpEllipsis]"}]}],e.ctorParameters=function(){return[{type:core.ChangeDetectorRef},{type:core.ElementRef}]},e.propDecorators={witdh:[{type:core.Input,args:["abpEllipsis"]}],title:[{type:core.HostBinding,args:["title"]},{type:core.Input}],enabled:[{type:core.Input,args:["abpEllipsisEnabled"]}],class:[{type:core.HostBinding,args:["class.abp-ellipsis"]}],maxWidth:[{type:core.HostBinding,args:["style.max-width"]}]},e}(),PermissionDirective=function(){function e(e,t,r){this.elRef=e,this.renderer=t,this.store=r}return e.prototype.ngOnInit=function(){var e=this;this.condition&&this.store.select(ConfigState.getGrantedPolicy(this.condition)).pipe(takeUntilDestroy(this)).subscribe(function(t){t||e.renderer.removeChild(e.elRef.nativeElement.parentElement,e.elRef.nativeElement)})},e.prototype.ngOnDestroy=function(){},e.decorators=[{type:core.Directive,args:[{selector:"[abpPermission]"}]}],e.ctorParameters=function(){return[{type:core.ElementRef,decorators:[{type:core.Optional}]},{type:core.Renderer2},{type:store.Store}]},e.propDecorators={condition:[{type:core.Input,args:["abpPermission"]}]},e}(),VisibilityDirective=function(){function e(e,t){this.elRef=e,this.renderer=t,this.completed$=new rxjs.Subject}return e.prototype.ngAfterViewInit=function(){var e=this,t=new MutationObserver(function(t){t.forEach(function(t){t.target&&(snq(function(){return Array.from(t.target.childNodes).filter(function(e){return e instanceof HTMLElement})},[]).length?setTimeout(function(){e.disconnect()},0):(e.renderer.removeChild(e.elRef.nativeElement.parentElement,e.elRef.nativeElement),e.disconnect()))})});t.observe(this.focusedElement,{childList:!0}),this.completed$.subscribe(function(){return t.disconnect()})},e.prototype.disconnect=function(){this.completed$.next(),this.completed$.complete()},e.decorators=[{type:core.Directive,args:[{selector:"[abpVisibility]"}]}],e.ctorParameters=function(){return[{type:core.ElementRef,decorators:[{type:core.Optional}]},{type:core.Renderer2}]},e.propDecorators={focusedElement:[{type:core.Input,args:["abpVisibility"]}]},e}(),AuthGuard=function(){function e(e,t){this.oauthService=e,this.store=t}return e.prototype.canActivate=function(e,t){var r=this.oauthService.hasValidAccessToken();return r||(this.store.dispatch(new routerPlugin.Navigate(["/account/login"],null,{state:{redirectUrl:t.url}})),!1)},e.decorators=[{type:core.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:angularOauth2Oidc.OAuthService},{type:store.Store}]},e.ngInjectableDef=core.ɵɵdefineInjectable({factory:function(){return new e(core.ɵɵinject(angularOauth2Oidc.OAuthService),core.ɵɵinject(store.Store))},token:e,providedIn:"root"}),e}(),PermissionGuard=function(){function e(e){this.store=e}return e.prototype.canActivate=function(e){var t=e.data.requiredPolicy;return this.store.select(ConfigState.getGrantedPolicy(t))},e.decorators=[{type:core.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:store.Store}]},e.ngInjectableDef=core.ɵɵdefineInjectable({factory:function(){return new e(core.ɵɵinject(store.Store))},token:e,providedIn:"root"}),e}(),ApiInterceptor=function(){function e(e,t){this.oAuthService=e,this.store=t}return e.prototype.intercept=function(e,t){var r=this;this.store.dispatch(new StartLoader(e));var n={},o=this.oAuthService.getAccessToken();!e.headers.has("Authorization")&&o&&(n.Authorization="Bearer "+o);var i=this.store.selectSnapshot(SessionState.getLanguage);!e.headers.has("Accept-Language")&&i&&(n["Accept-Language"]=i);var a=this.store.selectSnapshot(SessionState.getTenant);return!e.headers.has("__tenant")&&a&&(n.__tenant=a.id),t.handle(e.clone({setHeaders:n})).pipe(operators.finalize(function(){return r.store.dispatch(new StopLoader(e))}))},e.decorators=[{type:core.Injectable}],e.ctorParameters=function(){return[{type:angularOauth2Oidc.OAuthService},{type:store.Store}]},e}(),Rest;Rest=exports.Rest||(exports.Rest={}),Rest.Config=function(){},Rest.Request=function(){};var NGXS_CONFIG_PLUGIN_OPTIONS=new core.InjectionToken("NGXS_CONFIG_PLUGIN_OPTIONS"),ConfigPlugin=function(){function e(e,t){this.options=e,this.router=t,this.initialized=!1}return e.prototype.handle=function(e,t,r){var n=store.actionMatcher(t);if((n(store.InitState)||n(store.UpdateState))&&!this.initialized){var o=transformRoutes(this.router.config),i=o.routes;i=organizeRoutes(i,o.wrappers),e=store.setValue(e,"ConfigState",__assign({},e.ConfigState&&__assign({},e.ConfigState),this.options,{routes:i})),this.initialized=!0}return r(e,t)},e.decorators=[{type:core.Injectable}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:core.Inject,args:[NGXS_CONFIG_PLUGIN_OPTIONS]}]},{type:router.Router}]},e}();function transformRoutes(e,t){void 0===e&&(e=[]),void 0===t&&(t=[]);var r=e.filter(function(e){return snq(function(){return e.data.routes.find(function(t){return t.path===e.path})},!1)}).reduce(function(e,t){return __spread(e,t.data.routes)},[]);t=r.filter(function(e){return e.wrapper});var n=[];return e.filter(function(e){return(e.data||{}).routes&&(e.component||e.loadChildren)}).forEach(function(e){var t=r.find(function(t){return t.path.toLowerCase()===e.path.toLowerCase()&&snq(function(){return e.data.routes.length},!1)}),o=n.length;t&&n.push(t),n.length===o&&n.push({path:e.path,name:snq(function(){return e.data.routes.name},e.path),children:e.data.routes.children||[]})}),{routes:setUrls(n),wrappers:t}}function setUrls(e,t){return t?e.map(function(e){return __assign({},e,{url:t+"/"+e.path},e.children&&e.children.length&&{children:setUrls(e.children,t+"/"+e.path)})}):e.map(function(e){return __assign({},e,{url:"/"+e.path},e.children&&e.children.length&&{children:setUrls(e.children,"/"+e.path)})})}var ConfigService=function(){function e(e){this.store=e}return e.prototype.getAll=function(){return this.store.selectSnapshot(ConfigState.getAll)},e.prototype.getOne=function(e){return this.store.selectSnapshot(ConfigState.getOne(e))},e.prototype.getDeep=function(e){return this.store.selectSnapshot(ConfigState.getDeep(e))},e.prototype.getSetting=function(e){return this.store.selectSnapshot(ConfigState.getSetting(e))},e.decorators=[{type:core.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:store.Store}]},e.ngInjectableDef=core.ɵɵdefineInjectable({factory:function(){return new e(core.ɵɵinject(store.Store))},token:e,providedIn:"root"}),e}(),LazyLoadService=function(){function e(){this.loadedLibraries={}}return e.prototype.load=function(e,t,r,n,o){var i=this;if(void 0===r&&(r=""),void 0===n&&(n="body"),void 0===o&&(o="afterend"),e||r){var a,s=e?e.slice(e.lastIndexOf("/")+1):uuid();return this.loadedLibraries[s]?this.loadedLibraries[s].asObservable():(this.loadedLibraries[s]=new rxjs.ReplaySubject,"script"===t?((a=document.createElement("script")).type="text/javascript",e&&(a.src=e),a.text=r):e?((a=document.createElement("link")).type="text/css",a.rel="stylesheet",e&&(a.href=e)):(a=document.createElement("style")).textContent=r,a.onload=function(){i.loadedLibraries[s].next(),i.loadedLibraries[s].complete()},document.querySelector(n).insertAdjacentElement(o,a),this.loadedLibraries[s].asObservable())}},e.decorators=[{type:core.Injectable,args:[{providedIn:"root"}]}],e.ngInjectableDef=core.ɵɵdefineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}(),LocalizationService=function(){function e(e){this.store=e}return e.prototype.get=function(e){for(var t=[],r=1;r=0;c--)(o=t[c])&&(a=(i<3?o(a):i>3?o(e,r,a):o(e,r))||a);return i>3&&a&&Object.defineProperty(e,r,a),a}function __param(t,e){return function(r,n){e(r,n,t)}}function __metadata(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}function __awaiter(t,e,r,n){return new(r||(r=Promise))(function(o,i){function a(t){try{u(n.next(t))}catch(t){i(t)}}function c(t){try{u(n.throw(t))}catch(t){i(t)}}function u(t){t.done?o(t.value):new r(function(e){e(t.value)}).then(a,c)}u((n=n.apply(t,e||[])).next())})}function __generator(t,e){var r,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function c(i){return function(c){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,n=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===i[0]||2===i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}}}function __read(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a}function __spread(){for(var t=[],e=0;e1||c(t,e)})})}function c(t,e){try{(r=o[t](e)).value instanceof __await?Promise.resolve(r.value.v).then(u,s):p(i[0][2],r)}catch(t){p(i[0][3],t)}var r}function u(t){c("next",t)}function s(t){c("throw",t)}function p(t,e){t(e),i.shift(),i.length&&c(i[0][0],i[0][1])}}function __asyncDelegator(t){var e,r;return e={},n("next"),n("throw",function(t){throw t}),n("return"),e[Symbol.iterator]=function(){return this},e;function n(n,o){e[n]=t[n]?function(e){return(r=!r)?{value:__await(t[n](e)),done:"return"===n}:o?o(e):e}:o}}function __asyncValues(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,r=t[Symbol.asyncIterator];return r?r.call(t):(t="function"==typeof __values?__values(t):t[Symbol.iterator](),e={},n("next"),n("throw"),n("return"),e[Symbol.asyncIterator]=function(){return this},e);function n(r){e[r]=t[r]&&function(e){return new Promise(function(n,o){(function(t,e,r,n){Promise.resolve(n).then(function(e){t({value:e,done:r})},e)})(n,o,(e=t[r](e)).done,e.value)})}}}function __makeTemplateObject(t,e){return Object.defineProperty?Object.defineProperty(t,"raw",{value:e}):t.raw=e,t}function __importStar(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}function __importDefault(t){return t&&t.__esModule?t:{default:t}}var PatchRouteByName=function(){function t(t,e){this.name=t,this.newValue=e}return t.type="[Config] Patch Route By Name",t}();var GetAppConfiguration=function(){function t(){}return t.type="[Config] Get App Configuration",t}();var StartLoader=function(){function t(t){this.payload=t}return t.type="[Loader] Start",t}();var StopLoader=function(){function t(t){this.payload=t}return t.type="[Loader] Stop",t}();var GetProfile=function(){function t(){}return t.type="[Profile] Get",t}();var UpdateProfile=function(){function t(t){this.payload=t}return t.type="[Profile] Update",t}();var ChangePassword=function(){function t(t){this.payload=t}return t.type="[Profile] Change Password",t}();var RestOccurError=function(){function t(t){this.payload=t}return t.type="[Rest] Error",t}();var SetLanguage=function(){function t(t){this.payload=t}return t.type="[Session] Set Language",t}();var SetTenant=function(){function t(t){this.payload=t}return t.type="[Session] Set Tenant",t}();var RestService=function(){function t(t,e){this.http=t,this.store=e}return t.prototype.handleError=function(t){return this.store.dispatch(new RestOccurError(t)),console.error(t),rxjs.NEVER},t.prototype.request=function(t,e,r){var n=this;void 0===e&&(e={});var o=e.observe,i=void 0===o?"body":o,a=e.throwErr,c=r||this.store.selectSnapshot(ConfigState.getApiUrl())+t.url,u=t.method,s=__rest(t,["method"]);return this.http.request(u,c,__assign({observe:i},s)).pipe("body"===i?operators.take(1):null,operators.catchError(function(t){return a?rxjs.throwError(t):n.handleError(t)}))},t.decorators=[{type:core.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:http.HttpClient},{type:store.Store}]},t.ngInjectableDef=core.ɵɵdefineInjectable({factory:function(){return new t(core.ɵɵinject(http.HttpClient),core.ɵɵinject(store.Store))},token:t,providedIn:"root"}),t}();var ProfileService=function(){function t(t){this.rest=t}return t.prototype.get=function(){return this.rest.request({method:"GET",url:"/api/identity/my-profile"})},t.prototype.update=function(t){var e={method:"PUT",url:"/api/identity/my-profile",body:t};return this.rest.request(e)},t.prototype.changePassword=function(t,e){void 0===e&&(e=!1);var r={method:"POST",url:"/api/identity/my-profile/change-password",body:t};return this.rest.request(r,{throwErr:e})},t.decorators=[{type:core.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:RestService}]},t.ngInjectableDef=core.ɵɵdefineInjectable({factory:function(){return new t(core.ɵɵinject(RestService))},token:t,providedIn:"root"}),t}();var ProfileState=function(){function t(t){this.profileService=t}return t.getProfile=function(t){return t.profile},t.prototype.profileGet=function(t){var e=t.patchState;return this.profileService.get().pipe(operators.tap(function(t){return e({profile:t})}))},t.prototype.profileUpdate=function(t,e){var r=t.patchState,n=e.payload;return this.profileService.update(n).pipe(operators.tap(function(t){return r({profile:t})}))},t.prototype.changePassword=function(t,e){var r=e.payload;return this.profileService.changePassword(r,!0)},__decorate([store.Action(GetProfile),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],t.prototype,"profileGet",null),__decorate([store.Action(UpdateProfile),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,UpdateProfile]),__metadata("design:returntype",void 0)],t.prototype,"profileUpdate",null),__decorate([store.Action(ChangePassword),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,ChangePassword]),__metadata("design:returntype",void 0)],t.prototype,"changePassword",null),__decorate([store.Selector(),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Object)],t,"getProfile",null),t=__decorate([store.State({name:"ProfileState",defaults:{}}),__metadata("design:paramtypes",[ProfileService])],t)}();var ApplicationConfigurationService=function(){function t(t){this.rest=t}return t.prototype.getConfiguration=function(){return this.rest.request({method:"GET",url:"/api/abp/application-configuration"})},t.decorators=[{type:core.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:RestService}]},t.ngInjectableDef=core.ɵɵdefineInjectable({factory:function(){return new t(core.ɵɵinject(RestService))},token:t,providedIn:"root"}),t}();var SessionState=function(){function t(){}return t.getLanguage=function(t){return t.language},t.getTenant=function(t){return t.tenant},t.prototype.setLanguage=function(t,e){(0,t.patchState)({language:e.payload})},t.prototype.setTenantId=function(t,e){(0,t.patchState)({tenant:e.payload})},__decorate([store.Action(SetLanguage),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,SetLanguage]),__metadata("design:returntype",void 0)],t.prototype,"setLanguage",null),__decorate([store.Action(SetTenant),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,SetTenant]),__metadata("design:returntype",void 0)],t.prototype,"setTenantId",null),__decorate([store.Selector(),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",String)],t,"getLanguage",null),__decorate([store.Selector(),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Object)],t,"getTenant",null),t=__decorate([store.State({name:"SessionState",defaults:{}}),__metadata("design:paramtypes",[])],t)}();function organizeRoutes(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=[]),void 0===n&&(n=null);var o=function(t){return t.children&&t.children.length&&(t.children=organizeRoutes(t.children,e,r,t.name)),!t.parentName||t.parentName===n||(r.push(t),!1)};if(n)return t.filter(o);var i=t.filter(o);return r.length?sortRoutes(setChildRoute(__spread(i,e),r)):i}function setChildRoute(t,e){return t.map(function(t){t.children&&t.children.length&&(t.children=setChildRoute(t.children,e));var r=e.filter(function(e){return e.parentName===t.name});return r&&r.length&&(t.children=__spread(t.children||[],r)),t})}function sortRoutes(t){return void 0===t&&(t=[]),t.length?t.sort(function(t,e){return t.order-e.order}).map(function(t){return t.children&&t.children.length&&(t.children=sortRoutes(t.children)),t}):[]}var ConfigState=function(){function ConfigState(t,e){this.appConfigurationService=t,this.store=e}var ConfigState_1;return ConfigState_1=ConfigState,ConfigState.getAll=function(t){return t},ConfigState.getApplicationInfo=function(t){return t.environment.application||{}},ConfigState.getOne=function(t){return store.createSelector([ConfigState_1],function(e){return e[t]})},ConfigState.getDeep=function(t){if("string"==typeof t&&(t=t.split(".")),!Array.isArray(t))throw new Error("The argument must be a dot string or an string array.");return store.createSelector([ConfigState_1],function(e){return t.reduce(function(t,e){if(t)return t[e]},e)})},ConfigState.getApiUrl=function(t){return store.createSelector([ConfigState_1],function(e){return e.environment.apis[t||"default"].url})},ConfigState.getSetting=function(t){return store.createSelector([ConfigState_1],function(e){return snq(function(){return e.setting.values[t]})})},ConfigState.getGrantedPolicy=function(condition){void 0===condition&&(condition="");var keys=condition.replace(/\(|\)|\!|\s/g,"").split(/\|\||&&/).filter(function(t){return t}),selector=store.createSelector([ConfigState_1],function(state){if(!keys.length)return!0;var getPolicy=function(t){return snq(function(){return state.auth.grantedPolicies[t]},!1)};return keys.length>1?(keys.forEach(function(t){var e=getPolicy(t);condition=condition.replace(t,e)}),eval("!!"+condition)):getPolicy(condition)});return selector},ConfigState.getCopy=function(t){for(var e=[],r=1;r>t/4).toString(16):(""+1e7+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,uuid)}function getInitialData(t){return function(){return t.get(store.Store).dispatch(new GetAppConfiguration).toPromise()}}function isFunction(t){return"function"==typeof t}var takeUntilDestroy=function(t,e){return void 0===e&&(e="ngOnDestroy"),function(r){var n=t[e];if(!1===isFunction(n))throw new Error(t.constructor.name+" is using untilDestroyed but doesn't implement "+e);return t.__takeUntilDestroy||(t.__takeUntilDestroy=new rxjs.Subject,t[e]=function(){isFunction(n)&&n.apply(this,arguments),t.__takeUntilDestroy.next(!0),t.__takeUntilDestroy.complete()}),r.pipe(operators.takeUntil(t.__takeUntilDestroy))}},DynamicLayoutComponent=function(){function t(t,e){var r=this;this.router=t,this.store=e,this.router.events.pipe(takeUntilDestroy(this)).subscribe(function(t){if(t instanceof router.NavigationEnd){var e=r.router.parseUrl(t.url).root.children.primary.segments,n=r.store.selectSnapshot(ConfigState.getAll),o=n.requirements.layouts,i=findLayout(e,n.routes);r.layout=o.filter(function(t){return!!t}).find(function(t){return snq(function(){return t.type.toLowerCase().indexOf(i)},-1)>-1})}})}return t.prototype.ngOnDestroy=function(){},t.decorators=[{type:core.Component,args:[{selector:"abp-dynamic-layout",template:'\n \n\n \n \n '}]}],t.ctorParameters=function(){return[{type:router.Router},{type:store.Store}]},__decorate([store.Select(ConfigState.getOne("requirements")),__metadata("design:type",rxjs.Observable)],t.prototype,"requirements$",void 0),t}();function findLayout(t,e){var r="empty",n=e.reduce(function(t,e){return e.wrapper?__spread(t,e.children):__spread(t,[e])},[]).find(function(e){return e.path===t[0].path});if(n&&(n.layout&&(r=n.layout),n.children&&n.children.length&&t.length>1)){var o=n.children.find(function(e){return e.path===t[1].path});o.layout&&(r=o.layout)}return r}var RouterOutletComponent=function(){function t(){}return t.decorators=[{type:core.Component,args:[{selector:"abp-router-outlet",template:"\n \n "}]}],t}(),AutofocusDirective=function(){function t(t){this.elRef=t,this.delay=0}return t.prototype.ngAfterViewInit=function(){var t=this;setTimeout(function(){return t.elRef.nativeElement.focus()},this.delay)},t.decorators=[{type:core.Directive,args:[{selector:"[autofocus]"}]}],t.ctorParameters=function(){return[{type:core.ElementRef}]},t.propDecorators={delay:[{type:core.Input,args:["autofocus"]}]},t}();var EllipsisDirective=function(){function t(t,e){this.cdRef=t,this.elRef=e,this.enabled=!0}return Object.defineProperty(t.prototype,"class",{get:function(){return this.enabled},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"maxWidth",{get:function(){return this.enabled?this.width||"170px":void 0},enumerable:!0,configurable:!0}),t.prototype.ngAfterContentInit=function(){var t=this;setTimeout(function(){var e=t.title;t.title=e||t.elRef.nativeElement.innerText,t.title!==e&&t.cdRef.detectChanges()},0)},t.decorators=[{type:core.Directive,args:[{selector:"[abpEllipsis]"}]}],t.ctorParameters=function(){return[{type:core.ChangeDetectorRef},{type:core.ElementRef}]},t.propDecorators={width:[{type:core.Input,args:["abpEllipsis"]}],title:[{type:core.HostBinding,args:["title"]},{type:core.Input}],enabled:[{type:core.Input,args:["abpEllipsisEnabled"]}],class:[{type:core.HostBinding,args:["class.abp-ellipsis"]}],maxWidth:[{type:core.HostBinding,args:["style.max-width"]}]},t}();var PermissionDirective=function(){function t(t,e,r){this.elRef=t,this.renderer=e,this.store=r}return t.prototype.ngOnInit=function(){var t=this;this.condition&&this.store.select(ConfigState.getGrantedPolicy(this.condition)).pipe(takeUntilDestroy(this)).subscribe(function(e){e||t.renderer.removeChild(t.elRef.nativeElement.parentElement,t.elRef.nativeElement)})},t.prototype.ngOnDestroy=function(){},t.decorators=[{type:core.Directive,args:[{selector:"[abpPermission]"}]}],t.ctorParameters=function(){return[{type:core.ElementRef,decorators:[{type:core.Optional}]},{type:core.Renderer2},{type:store.Store}]},t.propDecorators={condition:[{type:core.Input,args:["abpPermission"]}]},t}();var VisibilityDirective=function(){function t(t,e){this.elRef=t,this.renderer=e,this.completed$=new rxjs.Subject}return t.prototype.ngAfterViewInit=function(){var t=this,e=new MutationObserver(function(e){e.forEach(function(e){e.target&&(snq(function(){return Array.from(e.target.childNodes).filter(function(t){return t instanceof HTMLElement})},[]).length?setTimeout(function(){t.disconnect()},0):(t.renderer.removeChild(t.elRef.nativeElement.parentElement,t.elRef.nativeElement),t.disconnect()))})});e.observe(this.focusedElement,{childList:!0}),this.completed$.subscribe(function(){return e.disconnect()})},t.prototype.disconnect=function(){this.completed$.next(),this.completed$.complete()},t.decorators=[{type:core.Directive,args:[{selector:"[abpVisibility]"}]}],t.ctorParameters=function(){return[{type:core.ElementRef,decorators:[{type:core.Optional}]},{type:core.Renderer2}]},t.propDecorators={focusedElement:[{type:core.Input,args:["abpVisibility"]}]},t}();var eLayoutType={account:"account",application:"application",empty:"empty"},AuthGuard=function(){function t(t,e){this.oauthService=t,this.store=e}return t.prototype.canActivate=function(t,e){var r=this.oauthService.hasValidAccessToken();return r||(this.store.dispatch(new routerPlugin.Navigate(["/account/login"],null,{state:{redirectUrl:e.url}})),!1)},t.decorators=[{type:core.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:angularOauth2Oidc.OAuthService},{type:store.Store}]},t.ngInjectableDef=core.ɵɵdefineInjectable({factory:function(){return new t(core.ɵɵinject(angularOauth2Oidc.OAuthService),core.ɵɵinject(store.Store))},token:t,providedIn:"root"}),t}();var PermissionGuard=function(){function t(t){this.store=t}return t.prototype.canActivate=function(t){var e=t.data.requiredPolicy;return this.store.select(ConfigState.getGrantedPolicy(e))},t.decorators=[{type:core.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:store.Store}]},t.ngInjectableDef=core.ɵɵdefineInjectable({factory:function(){return new t(core.ɵɵinject(store.Store))},token:t,providedIn:"root"}),t}();var ApiInterceptor=function(){function t(t,e){this.oAuthService=t,this.store=e}return t.prototype.intercept=function(t,e){var r=this;this.store.dispatch(new StartLoader(t));var n={},o=this.oAuthService.getAccessToken();!t.headers.has("Authorization")&&o&&(n.Authorization="Bearer "+o);var i=this.store.selectSnapshot(SessionState.getLanguage);!t.headers.has("Accept-Language")&&i&&(n["Accept-Language"]=i);var a=this.store.selectSnapshot(SessionState.getTenant);return!t.headers.has("__tenant")&&a&&(n.__tenant=a.id),e.handle(t.clone({setHeaders:n})).pipe(operators.finalize(function(){return r.store.dispatch(new StopLoader(t))}))},t.decorators=[{type:core.Injectable}],t.ctorParameters=function(){return[{type:angularOauth2Oidc.OAuthService},{type:store.Store}]},t}(),ApplicationConfiguration,ABP,Config,Session,Profile;(function(t){function e(){}function r(){}function n(){}function o(){}function i(){}function a(){}function c(){}t.Response=e,t.Localization=r,t.LocalizationValue=function(){},t.Language=n,t.Auth=o,t.Policy=function(){},t.Setting=i,t.CurrentUser=a,t.Features=c})(ApplicationConfiguration||(ApplicationConfiguration={})),function(t){function e(){}function r(){}function n(){}function o(){}function i(){}function a(){}t.Root=e,t.PagedItemsResponse=r,t.PageQueryParams=n,t.Route=o,t.FullRoute=i,t.BasicItem=a}(ABP||(ABP={})),function(t){function e(){}function r(){}function n(){}t.State=function(){},t.Environment=e,t.Application=r,t.Apis=function(){},t.Requirements=n}(Config||(Config={})),function(t){function e(){}function r(){}t.Config=e,t.Request=r}(exports.Rest||(exports.Rest={})),function(t){function e(){}t.State=e}(Session||(Session={})),function(t){function e(){}function r(){}function n(){}t.State=e,t.Response=r,t.ChangePasswordRequest=n}(Profile||(Profile={}));var NGXS_CONFIG_PLUGIN_OPTIONS=new core.InjectionToken("NGXS_CONFIG_PLUGIN_OPTIONS"),ConfigPlugin=function(){function t(t,e){this.options=t,this.router=e,this.initialized=!1}return t.prototype.handle=function(t,e,r){var n=store.actionMatcher(e);if((n(store.InitState)||n(store.UpdateState))&&!this.initialized){var o=transformRoutes(this.router.config),i=o.routes;i=organizeRoutes(i,o.wrappers),t=store.setValue(t,"ConfigState",__assign({},t.ConfigState&&__assign({},t.ConfigState),this.options,{routes:i})),this.initialized=!0}return r(t,e)},t.decorators=[{type:core.Injectable}],t.ctorParameters=function(){return[{type:void 0,decorators:[{type:core.Inject,args:[NGXS_CONFIG_PLUGIN_OPTIONS]}]},{type:router.Router}]},t}();function transformRoutes(t,e){void 0===t&&(t=[]),void 0===e&&(e=[]);var r=t.filter(function(t){return snq(function(){return t.data.routes.find(function(e){return e.path===t.path})},!1)}).reduce(function(t,e){return __spread(t,e.data.routes)},[]);e=r.filter(function(t){return t.wrapper});var n=[];return t.filter(function(t){return(t.data||{}).routes&&(t.component||t.loadChildren)}).forEach(function(t){var e=r.find(function(e){return e.path.toLowerCase()===t.path.toLowerCase()&&snq(function(){return t.data.routes.length},!1)}),o=n.length;e&&n.push(e),n.length===o&&n.push({path:t.path,name:snq(function(){return t.data.routes.name},t.path),children:t.data.routes.children||[]})}),{routes:setUrls(n),wrappers:e}}function setUrls(t,e){return e?t.map(function(t){return __assign({},t,{url:e+"/"+t.path},t.children&&t.children.length&&{children:setUrls(t.children,e+"/"+t.path)})}):t.map(function(t){return __assign({},t,{url:"/"+t.path},t.children&&t.children.length&&{children:setUrls(t.children,"/"+t.path)})})}var ConfigService=function(){function t(t){this.store=t}return t.prototype.getAll=function(){return this.store.selectSnapshot(ConfigState.getAll)},t.prototype.getOne=function(t){return this.store.selectSnapshot(ConfigState.getOne(t))},t.prototype.getDeep=function(t){return this.store.selectSnapshot(ConfigState.getDeep(t))},t.prototype.getSetting=function(t){return this.store.selectSnapshot(ConfigState.getSetting(t))},t.decorators=[{type:core.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:store.Store}]},t.ngInjectableDef=core.ɵɵdefineInjectable({factory:function(){return new t(core.ɵɵinject(store.Store))},token:t,providedIn:"root"}),t}();var LazyLoadService=function(){function t(){this.loadedLibraries={}}return t.prototype.load=function(t,e,r,n,o){var i=this;if(void 0===r&&(r=""),void 0===n&&(n="body"),void 0===o&&(o="afterend"),t||r){var a,c=t?t.slice(t.lastIndexOf("/")+1):uuid();return this.loadedLibraries[c]?this.loadedLibraries[c].asObservable():(this.loadedLibraries[c]=new rxjs.ReplaySubject,"script"===e?((a=document.createElement("script")).type="text/javascript",t&&(a.src=t),a.text=r):t?((a=document.createElement("link")).type="text/css",a.rel="stylesheet",t&&(a.href=t)):(a=document.createElement("style")).textContent=r,a.onload=function(){i.loadedLibraries[c].next(),i.loadedLibraries[c].complete()},document.querySelector(n).insertAdjacentElement(o,a),this.loadedLibraries[c].asObservable())}},t.decorators=[{type:core.Injectable,args:[{providedIn:"root"}]}],t.ngInjectableDef=core.ɵɵdefineInjectable({factory:function(){return new t},token:t,providedIn:"root"}),t}();var LocalizationService=function(){function t(t){this.store=t}return t.prototype.get=function(t){for(var e=[],r=1;r= 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","import { ABP } from '../models';\n\nexport class PatchRouteByName {\n static readonly type = '[Config] Patch Route By Name';\n constructor(public name: string, public newValue: Partial) {}\n}\n\nexport class GetAppConfiguration {\n static readonly type = '[Config] Get App Configuration';\n}\n","import { HttpRequest } from '@angular/common/http';\n\nexport class StartLoader {\n static readonly type = '[Loader] Start';\n constructor(public payload: HttpRequest) {}\n}\n\nexport class StopLoader {\n static readonly type = '[Loader] Stop';\n constructor(public payload: HttpRequest) {}\n}\n","import { Profile } from '../models';\n\nexport class GetProfile {\n static readonly type = '[Profile] Get';\n}\n\nexport class UpdateProfile {\n static readonly type = '[Profile] Update';\n constructor(public payload: Profile.Response) {}\n}\n\nexport class ChangePassword {\n static readonly type = '[Profile] Change Password';\n constructor(public payload: Profile.ChangePasswordRequest) {}\n}\n","import { HttpErrorResponse } from '@angular/common/http';\n\nexport class RestOccurError {\n static readonly type = '[Rest] Error';\n constructor(public payload: HttpErrorResponse | any) {}\n}\n","import { ABP } from '../models';\n\nexport class SetLanguage {\n static readonly type = '[Session] Set Language';\n constructor(public payload: string) {}\n}\nexport class SetTenant {\n static readonly type = '[Session] Set Tenant';\n constructor(public payload: ABP.BasicItem) {}\n}\n","import { HttpClient, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { NEVER, Observable, throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport { Rest } from '../models/rest';\nimport { ConfigState } from '../states';\nimport { RestOccurError } from '../actions';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RestService {\n constructor(private http: HttpClient, private store: Store) {}\n\n handleError(err: any): Observable {\n this.store.dispatch(new RestOccurError(err));\n console.error(err);\n return NEVER;\n }\n\n request(request: HttpRequest | Rest.Request, config: Rest.Config = {}, api?: string): Observable {\n const { observe = Rest.Observe.Body, throwErr } = config;\n const url = api || this.store.selectSnapshot(ConfigState.getApiUrl()) + request.url;\n const { method, ...options } = request;\n return this.http.request(method, url, { observe, ...options } as any).pipe(\n observe === Rest.Observe.Body ? take(1) : null,\n catchError(err => {\n if (throwErr) {\n return throwError(err);\n }\n\n return this.handleError(err);\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService } from './rest.service';\nimport { Profile, Rest } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProfileService {\n constructor(private rest: RestService) {}\n\n get(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/my-profile',\n };\n\n return this.rest.request(request);\n }\n\n update(body: Profile.Response): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/identity/my-profile',\n body,\n };\n\n return this.rest.request(request);\n }\n\n changePassword(body: Profile.ChangePasswordRequest, throwErr: boolean = false): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/my-profile/change-password',\n body,\n };\n\n return this.rest.request(request, { throwErr });\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetProfile, ChangePassword, UpdateProfile } from '../actions/profile.actions';\nimport { Profile } from '../models/profile';\nimport { ProfileService } from '../services/profile.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'ProfileState',\n defaults: {} as Profile.State,\n})\nexport class ProfileState {\n @Selector()\n static getProfile({ profile }: Profile.State): Profile.Response {\n return profile;\n }\n\n constructor(private profileService: ProfileService) {}\n\n @Action(GetProfile)\n profileGet({ patchState }: StateContext) {\n return this.profileService.get().pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(UpdateProfile)\n profileUpdate({ patchState }: StateContext, { payload }: UpdateProfile) {\n return this.profileService.update(payload).pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(ChangePassword)\n changePassword(_, { payload }: ChangePassword) {\n return this.profileService.changePassword(payload, true);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ApplicationConfiguration, Rest } from '../models';\nimport { RestService } from './rest.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApplicationConfigurationService {\n constructor(private rest: RestService) {}\n\n getConfiguration(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/application-configuration',\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { SetLanguage, SetTenant } from '../actions/session.actions';\nimport { ABP, Session } from '../models';\n\n@State({\n name: 'SessionState',\n defaults: {} as Session.State,\n})\nexport class SessionState {\n @Selector()\n static getLanguage({ language }: Session.State): string {\n return language;\n }\n\n @Selector()\n static getTenant({ tenant }: Session.State): ABP.BasicItem {\n return tenant;\n }\n\n constructor() {}\n\n @Action(SetLanguage)\n setLanguage({ patchState }: StateContext, { payload }: SetLanguage) {\n patchState({\n language: payload,\n });\n }\n\n @Action(SetTenant)\n setTenantId({ patchState }: StateContext, { payload }: SetTenant) {\n patchState({\n tenant: payload,\n });\n }\n}\n","import { ABP } from '../models';\n\nexport function organizeRoutes(\n routes: ABP.FullRoute[],\n wrappers: ABP.FullRoute[] = [],\n parentNameArr = [] as ABP.FullRoute[],\n parentName: string = null,\n): ABP.FullRoute[] {\n const filter = route => {\n if (route.children && route.children.length) {\n route.children = organizeRoutes(route.children, wrappers, parentNameArr, route.name);\n }\n\n if (route.parentName && route.parentName !== parentName) {\n parentNameArr.push(route);\n return false;\n }\n\n return true;\n };\n\n if (parentName) {\n // recursive block\n return routes.filter(filter);\n }\n\n const filteredRoutes = routes.filter(filter);\n\n if (parentNameArr.length) {\n return sortRoutes(setChildRoute([...filteredRoutes, ...wrappers], parentNameArr));\n }\n\n return filteredRoutes;\n}\n\nexport function setChildRoute(routes: ABP.FullRoute[], parentNameArr: ABP.FullRoute[]): ABP.FullRoute[] {\n return routes.map(route => {\n if (route.children && route.children.length) {\n route.children = setChildRoute(route.children, parentNameArr);\n }\n\n const foundedChildren = parentNameArr.filter(parent => parent.parentName === route.name);\n if (foundedChildren && foundedChildren.length) {\n route.children = [...(route.children || []), ...foundedChildren];\n }\n\n return route;\n });\n}\n\nexport function sortRoutes(routes: ABP.FullRoute[] = []): ABP.FullRoute[] {\n if (!routes.length) return [];\n return routes\n .sort((a, b) => a.order - b.order)\n .map(route => {\n if (route.children && route.children.length) {\n route.children = sortRoutes(route.children);\n }\n\n return route;\n });\n}\n","import { State, Selector, createSelector, Action, StateContext, Store } from '@ngxs/store';\nimport { Config, ABP } from '../models';\nimport { GetAppConfiguration, PatchRouteByName } from '../actions/config.actions';\nimport { ApplicationConfigurationService } from '../services/application-configuration.service';\nimport { tap, switchMap } from 'rxjs/operators';\nimport snq from 'snq';\nimport { SetLanguage } from '../actions';\nimport { SessionState } from './session.state';\nimport { of } from 'rxjs';\nimport { setChildRoute, sortRoutes, organizeRoutes } from '../utils/route-utils';\n\n@State({\n name: 'ConfigState',\n defaults: {} as Config.State,\n})\nexport class ConfigState {\n @Selector()\n static getAll(state: Config.State) {\n return state;\n }\n\n @Selector()\n static getApplicationInfo(state: Config.State) {\n return state.environment.application || {};\n }\n\n static getOne(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return state[key];\n },\n );\n\n return selector;\n }\n\n static getDeep(keys: string[] | string) {\n if (typeof keys === 'string') {\n keys = keys.split('.');\n }\n\n if (!Array.isArray(keys)) {\n throw new Error('The argument must be a dot string or an string array.');\n }\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return (keys as string[]).reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state);\n },\n );\n\n return selector;\n }\n\n static getApiUrl(key?: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): string {\n return state.environment.apis[key || 'default'].url;\n },\n );\n\n return selector;\n }\n\n static getSetting(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return snq(() => state.setting.values[key]);\n },\n );\n\n return selector;\n }\n\n static getGrantedPolicy(condition: string = '') {\n const keys = condition\n .replace(/\\(|\\)|\\!|\\s/g, '')\n .split(/\\|\\||&&/)\n .filter(key => key);\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): boolean {\n if (!keys.length) return true;\n\n const getPolicy = key => snq(() => state.auth.grantedPolicies[key], false);\n if (keys.length > 1) {\n keys.forEach(key => {\n const value = getPolicy(key);\n condition = condition.replace(key, value);\n });\n\n // tslint:disable-next-line: no-eval\n return eval(`!!${condition}`);\n }\n\n return getPolicy(condition);\n },\n );\n\n return selector;\n }\n\n static getCopy(key: string, ...interpolateParams: string[]) {\n if (!key) key = '';\n\n const keys = key.split('::') as string[];\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n if (!state.localization) return key;\n\n const { defaultResourceName } = state.environment.localization;\n if (keys[0] === '') {\n if (!defaultResourceName) {\n throw new Error(\n `Please check your environment. May you forget set defaultResourceName? \n Here is the example:\n { production: false,\n localization: {\n defaultResourceName: 'MyProjectName'\n }\n }`,\n );\n }\n\n keys[0] = snq(() => defaultResourceName);\n }\n\n let copy = keys.reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state.localization.values);\n\n interpolateParams = interpolateParams.filter(params => params != null);\n if (copy && interpolateParams && interpolateParams.length) {\n interpolateParams.forEach(param => {\n copy = copy.replace(/[\\'\\\"]?\\{[\\d]+\\}[\\'\\\"]?/, param);\n });\n }\n\n return copy || key;\n },\n );\n\n return selector;\n }\n\n constructor(private appConfigurationService: ApplicationConfigurationService, private store: Store) {}\n\n @Action(GetAppConfiguration)\n addData({ patchState, dispatch }: StateContext) {\n return this.appConfigurationService.getConfiguration().pipe(\n tap(configuration =>\n patchState({\n ...configuration,\n }),\n ),\n switchMap(configuration =>\n this.store.selectSnapshot(SessionState.getLanguage)\n ? of(null)\n : dispatch(new SetLanguage(snq(() => configuration.setting.values['Abp.Localization.DefaultLanguage']))),\n ),\n );\n }\n\n @Action(PatchRouteByName)\n patchRoute({ patchState, getState }: StateContext, { name, newValue }: PatchRouteByName) {\n let routes: ABP.FullRoute[] = getState().routes;\n\n const index = routes.findIndex(route => route.name === name);\n\n routes = patchRouteDeep(routes, name, newValue);\n\n return patchState({\n routes,\n });\n }\n}\n\nfunction patchRouteDeep(\n routes: ABP.FullRoute[],\n name: string,\n newValue: Partial,\n parentUrl: string = null,\n): ABP.FullRoute[] {\n routes = routes.map(route => {\n if (route.name === name) {\n if (newValue.path) {\n newValue.url = `${parentUrl}/${newValue.path}`;\n }\n\n if (newValue.children && newValue.children.length) {\n newValue.children = newValue.children.map(child => ({\n ...child,\n url: `${parentUrl}/${route.path}/${child.path}`,\n }));\n }\n\n return { ...route, ...newValue };\n } else if (route.children && route.children.length) {\n route.children = patchRouteDeep(route.children, name, newValue, (parentUrl || '/') + route.path);\n }\n\n return route;\n });\n\n if (parentUrl) {\n // recursive block\n return routes;\n }\n\n return organizeRoutes(routes);\n}\n","export function uuid(a?: any): string {\n return a\n ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16)\n : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);\n}\n","import { Injector } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { GetAppConfiguration } from '../actions/config.actions';\n\nexport function getInitialData(injector: Injector) {\n const fn = function() {\n const store: Store = injector.get(Store);\n\n return store.dispatch(new GetAppConfiguration()).toPromise();\n };\n\n return fn;\n}\n","import { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n\nexport const takeUntilDestroy = (componentInstance, destroyMethodName = 'ngOnDestroy') => (\n source: Observable,\n) => {\n const originalDestroy = componentInstance[destroyMethodName];\n if (isFunction(originalDestroy) === false) {\n throw new Error(\n `${componentInstance.constructor.name} is using untilDestroyed but doesn't implement ${destroyMethodName}`,\n );\n }\n if (!componentInstance['__takeUntilDestroy']) {\n componentInstance['__takeUntilDestroy'] = new Subject();\n\n componentInstance[destroyMethodName] = function() {\n isFunction(originalDestroy) && originalDestroy.apply(this, arguments);\n componentInstance['__takeUntilDestroy'].next(true);\n componentInstance['__takeUntilDestroy'].complete();\n };\n }\n return source.pipe(takeUntil(componentInstance['__takeUntilDestroy']));\n};\n","import { Component, OnDestroy, Type } from '@angular/core';\nimport { NavigationEnd, Router, UrlSegment } from '@angular/router';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { eLayoutType } from '../enums';\nimport { ABP, Config } from '../models';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport snq from 'snq';\n\n@Component({\n selector: 'abp-dynamic-layout',\n template: `\n \n\n \n \n `,\n})\nexport class DynamicLayoutComponent implements OnDestroy {\n @Select(ConfigState.getOne('requirements'))\n requirements$: Observable;\n\n layout: Type;\n\n constructor(private router: Router, private store: Store) {\n this.router.events.pipe(takeUntilDestroy(this)).subscribe(event => {\n if (event instanceof NavigationEnd) {\n const { segments } = this.router.parseUrl(event.url).root.children.primary;\n const {\n requirements: { layouts },\n routes,\n } = this.store.selectSnapshot(ConfigState.getAll);\n\n const layout = findLayout(segments, routes);\n\n this.layout = layouts.filter(l => !!l).find(l => snq(() => l.type.toLowerCase().indexOf(layout), -1) > -1);\n }\n });\n }\n\n ngOnDestroy() {}\n}\n\nfunction findLayout(segments: UrlSegment[], routes: ABP.FullRoute[]): eLayoutType {\n let layout = eLayoutType.empty;\n\n const route = routes\n .reduce((acc, val) => (val.wrapper ? [...acc, ...val.children] : [...acc, val]), [])\n .find(r => r.path === segments[0].path);\n\n if (route) {\n if (route.layout) {\n layout = route.layout;\n }\n\n if (route.children && route.children.length && segments.length > 1) {\n const child = route.children.find(c => c.path === segments[1].path);\n\n if (child.layout) {\n layout = child.layout;\n }\n }\n }\n\n return layout;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-router-outlet',\n template: `\n \n `,\n})\nexport class RouterOutletComponent {}\n","import { Directive, ElementRef, Input, AfterViewInit } from '@angular/core';\n\n@Directive({\n selector: '[autofocus]',\n})\nexport class AutofocusDirective implements AfterViewInit {\n @Input('autofocus')\n delay: number = 0;\n\n constructor(private elRef: ElementRef) {}\n\n ngAfterViewInit(): void {\n setTimeout(() => this.elRef.nativeElement.focus(), this.delay);\n }\n}\n","import { AfterContentInit, ChangeDetectorRef, Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[abpEllipsis]',\n})\nexport class EllipsisDirective implements AfterContentInit {\n @Input('abpEllipsis')\n witdh: string;\n\n @HostBinding('title')\n @Input()\n title: string;\n\n @Input('abpEllipsisEnabled')\n enabled = true;\n\n @HostBinding('class.abp-ellipsis')\n get class() {\n return this.enabled;\n }\n\n @HostBinding('style.max-width')\n get maxWidth() {\n return this.enabled ? this.witdh || '160px' : undefined;\n }\n\n constructor(private cdRef: ChangeDetectorRef, private elRef: ElementRef) {}\n\n ngAfterContentInit() {\n setTimeout(() => {\n const title = this.title;\n this.title = title || (this.elRef.nativeElement as HTMLElement).innerText;\n\n if (this.title !== title) {\n this.cdRef.detectChanges();\n }\n }, 0);\n }\n}\n","import { Directive, ElementRef, Input, OnDestroy, OnInit, Optional, Renderer2 } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\n\n@Directive({\n selector: '[abpPermission]',\n})\nexport class PermissionDirective implements OnInit, OnDestroy {\n @Input('abpPermission') condition: string;\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2, private store: Store) {}\n\n ngOnInit() {\n if (this.condition) {\n this.store\n .select(ConfigState.getGrantedPolicy(this.condition))\n .pipe(takeUntilDestroy(this))\n .subscribe(isGranted => {\n if (!isGranted) {\n this.renderer.removeChild(\n (this.elRef.nativeElement as HTMLElement).parentElement,\n this.elRef.nativeElement,\n );\n }\n });\n }\n }\n\n ngOnDestroy(): void {}\n}\n","import { Directive, Input, Optional, ElementRef, Renderer2, AfterViewInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport snq from 'snq';\n\n@Directive({\n selector: '[abpVisibility]',\n})\nexport class VisibilityDirective implements AfterViewInit {\n @Input('abpVisibility')\n focusedElement: HTMLElement;\n\n completed$ = new Subject();\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2) {}\n\n ngAfterViewInit() {\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (!mutation.target) return;\n\n const htmlNodes = snq(\n () => Array.from(mutation.target.childNodes).filter(node => node instanceof HTMLElement),\n [],\n );\n\n if (!htmlNodes.length) {\n this.renderer.removeChild(this.elRef.nativeElement.parentElement, this.elRef.nativeElement);\n this.disconnect();\n } else {\n setTimeout(() => {\n this.disconnect();\n }, 0);\n }\n });\n });\n\n observer.observe(this.focusedElement, {\n childList: true,\n });\n\n this.completed$.subscribe(() => observer.disconnect());\n }\n\n disconnect() {\n this.completed$.next();\n this.completed$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Observable } from 'rxjs';\nimport { Navigate } from '@ngxs/router-plugin';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuard implements CanActivate {\n constructor(private oauthService: OAuthService, private store: Store) {}\n canActivate(_: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean | UrlTree {\n const hasValidAccessToken = this.oauthService.hasValidAccessToken();\n if (hasValidAccessToken) {\n return hasValidAccessToken;\n }\n\n this.store.dispatch(new Navigate(['/account/login'], null, { state: { redirectUrl: state.url } }));\n\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionGuard implements CanActivate {\n constructor(private store: Store) {}\n\n canActivate({ data }: ActivatedRouteSnapshot): Observable {\n const resource = data.requiredPolicy as string;\n return this.store.select(ConfigState.getGrantedPolicy(resource));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Store } from '@ngxs/store';\nimport { SessionState } from '../states';\nimport { StartLoader, StopLoader } from '../actions/loader.actions';\nimport { finalize } from 'rxjs/operators';\n\n@Injectable()\nexport class ApiInterceptor implements HttpInterceptor {\n constructor(private oAuthService: OAuthService, private store: Store) {}\n\n intercept(request: HttpRequest, next: HttpHandler) {\n this.store.dispatch(new StartLoader(request));\n\n const headers = {} as any;\n\n const token = this.oAuthService.getAccessToken();\n if (!request.headers.has('Authorization') && token) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n const lang = this.store.selectSnapshot(SessionState.getLanguage);\n if (!request.headers.has('Accept-Language') && lang) {\n headers['Accept-Language'] = lang;\n }\n\n const tenant = this.store.selectSnapshot(SessionState.getTenant);\n if (!request.headers.has('__tenant') && tenant) {\n headers['__tenant'] = tenant.id;\n }\n\n return next\n .handle(\n request.clone({\n setHeaders: headers,\n }),\n )\n .pipe(finalize(() => this.store.dispatch(new StopLoader(request))));\n }\n}\n","import { HttpHeaders, HttpParams } from '@angular/common/http';\n\nexport namespace Rest {\n export interface Config {\n throwErr?: boolean;\n observe?: Observe;\n }\n\n export const enum Observe {\n Body = 'body',\n Events = 'events',\n Response = 'response',\n }\n\n export const enum ResponseType {\n ArrayBuffer = 'arraybuffer',\n Blob = 'blob',\n JSON = 'json',\n Text = 'text',\n }\n\n export interface Request {\n body?: T;\n headers?:\n | HttpHeaders\n | {\n [header: string]: string | string[];\n };\n method: string;\n params?:\n | HttpParams\n | {\n [param: string]: any;\n };\n reportProgress?: boolean;\n responseType?: ResponseType;\n url: string;\n withCredentials?: boolean;\n }\n}\n","import { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { Router, Routes } from '@angular/router';\nimport { actionMatcher, InitState, NgxsNextPluginFn, NgxsPlugin, setValue, UpdateState } from '@ngxs/store';\nimport snq from 'snq';\nimport { ABP } from '../models';\nimport { organizeRoutes } from '../utils/route-utils';\n\nexport const NGXS_CONFIG_PLUGIN_OPTIONS = new InjectionToken('NGXS_CONFIG_PLUGIN_OPTIONS');\n\n@Injectable()\nexport class ConfigPlugin implements NgxsPlugin {\n private initialized: boolean = false;\n\n constructor(@Inject(NGXS_CONFIG_PLUGIN_OPTIONS) private options: ABP.Root, private router: Router) {}\n\n handle(state: any, event: any, next: NgxsNextPluginFn) {\n const matches = actionMatcher(event);\n const isInitAction = matches(InitState) || matches(UpdateState);\n\n // const layouts = snq(() => this.options.requirements.layouts.filter(layout => layout instanceof Type), []);\n if (isInitAction && !this.initialized) {\n let { routes, wrappers } = transformRoutes(this.router.config);\n routes = organizeRoutes(routes, wrappers);\n\n state = setValue(state, 'ConfigState', {\n ...(state.ConfigState && { ...state.ConfigState }),\n ...this.options,\n routes,\n });\n\n this.initialized = true;\n }\n\n return next(state, event);\n }\n}\n\nfunction transformRoutes(routes: Routes = [], wrappers: ABP.FullRoute[] = []): any {\n const abpRoutes: ABP.FullRoute[] = routes\n .filter(route => {\n return snq(() => route.data.routes.find(r => r.path === route.path), false);\n })\n .reduce((acc, val) => [...acc, ...val.data.routes], []);\n\n wrappers = abpRoutes.filter(ar => ar.wrapper);\n const transformed = [] as ABP.FullRoute[];\n routes\n .filter(route => (route.data || {}).routes && (route.component || route.loadChildren))\n .forEach(route => {\n const abpPackage = abpRoutes.find(\n abp => abp.path.toLowerCase() === route.path.toLowerCase() && snq(() => route.data.routes.length, false),\n );\n const { length } = transformed;\n\n if (abpPackage) {\n transformed.push(abpPackage);\n }\n\n if (transformed.length === length) {\n transformed.push({\n path: route.path,\n name: snq(() => route.data.routes.name, route.path),\n children: route.data.routes.children || [],\n } as ABP.FullRoute);\n }\n });\n\n return { routes: setUrls(transformed), wrappers };\n}\n\nfunction setUrls(routes: ABP.FullRoute[], parentUrl?: string): ABP.FullRoute[] {\n if (parentUrl) {\n // this if block using for only recursive call\n\n return routes.map(route => ({\n ...route,\n url: `${parentUrl}/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `${parentUrl}/${route.path}`),\n }),\n }));\n }\n\n return routes.map(route => ({\n ...route,\n url: `/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `/${route.path}`),\n }),\n }));\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigService {\n constructor(private store: Store) {}\n\n getAll() {\n return this.store.selectSnapshot(ConfigState.getAll);\n }\n\n getOne(key: string) {\n return this.store.selectSnapshot(ConfigState.getOne(key));\n }\n\n getDeep(keys: string[] | string) {\n return this.store.selectSnapshot(ConfigState.getDeep(keys));\n }\n\n getSetting(key: string) {\n return this.store.selectSnapshot(ConfigState.getSetting(key));\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { uuid } from '../utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LazyLoadService {\n loadedLibraries: { [url: string]: ReplaySubject } = {};\n\n load(\n url: string,\n type: 'script' | 'style',\n content: string = '',\n targetQuery: string = 'body',\n position: InsertPosition = 'afterend',\n ): Observable {\n if (!url && !content) return;\n const key = url ? url.slice(url.lastIndexOf('/') + 1) : uuid();\n\n if (this.loadedLibraries[key]) {\n return this.loadedLibraries[key].asObservable();\n }\n\n this.loadedLibraries[key] = new ReplaySubject();\n\n let library;\n if (type === 'script') {\n library = document.createElement('script');\n library.type = 'text/javascript';\n if (url) {\n (library as HTMLScriptElement).src = url;\n }\n\n (library as HTMLScriptElement).text = content;\n } else if (url) {\n library = document.createElement('link');\n library.type = 'text/css';\n (library as HTMLLinkElement).rel = 'stylesheet';\n\n if (url) {\n (library as HTMLLinkElement).href = url;\n }\n } else {\n library = document.createElement('style');\n (library as HTMLStyleElement).textContent = content;\n }\n\n library.onload = () => {\n this.loadedLibraries[key].next();\n this.loadedLibraries[key].complete();\n };\n\n document.querySelector(targetQuery).insertAdjacentElement(position, library);\n\n return this.loadedLibraries[key].asObservable();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { Observable } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class LocalizationService {\n constructor(private store: Store) {}\n\n get(keys: string, ...interpolateParams: string[]): Observable {\n return this.store.select(ConfigState.getCopy(keys, ...interpolateParams));\n }\n\n instant(keys: string, ...interpolateParams: string[]): string {\n return this.store.selectSnapshot(ConfigState.getCopy(keys, ...interpolateParams));\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Config } from '../models';\n\nexport function environmentFactory(environment: Config.Environment) {\n return {\n ...environment,\n };\n}\n\nexport function configFactory(config: Config.Requirements) {\n return {\n ...config,\n };\n}\n\nexport const ENVIRONMENT = new InjectionToken('ENVIRONMENT');\n\nexport const CONFIG = new InjectionToken('CONFIG');\n","import { Pipe, PipeTransform, OnDestroy } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n@Pipe({\n name: 'abpLocalization',\n pure: false, // required to update the value\n})\nexport class LocalizationPipe implements PipeTransform, OnDestroy {\n initialized: boolean = false;\n\n value: string;\n\n constructor(private store: Store) {}\n\n transform(value: string, ...interpolateParams: string[]): string {\n if (!this.initialized) {\n this.initialized = true;\n\n this.store\n .select(\n ConfigState.getCopy(\n value,\n ...interpolateParams.reduce((acc, val) => (Array.isArray(val) ? [...acc, ...val] : [...acc, val]), []),\n ),\n )\n .pipe(\n takeUntilDestroy(this),\n distinctUntilChanged(),\n )\n .subscribe(copy => (this.value = copy));\n }\n\n return this.value;\n }\n\n ngOnDestroy() {}\n}\n","import { Directive, Output, Renderer2, ElementRef, OnInit, EventEmitter, Input } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[input.debounce]',\n})\nexport class InputEventDebounceDirective implements OnInit {\n @Input() debounce: number = 300;\n\n @Output('input.debounce') debounceEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'input')\n .pipe(\n debounceTime(this.debounce),\n takeUntilDestroy(this),\n )\n .subscribe((event: Event) => {\n this.debounceEvent.emit(event);\n });\n }\n}\n","import { Directive, ElementRef, EventEmitter, OnInit, Output, Renderer2 } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[click.stop]',\n})\nexport class ClickEventStopPropagationDirective implements OnInit {\n @Output('click.stop') stopPropEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'click')\n .pipe(takeUntilDestroy(this))\n .subscribe((event: MouseEvent) => {\n event.stopPropagation();\n this.stopPropEvent.emit(event);\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { NgxsRouterPluginModule } from '@ngxs/router-plugin';\nimport { NgxsStoragePluginModule } from '@ngxs/storage-plugin';\nimport { NgxsModule, NGXS_PLUGINS } from '@ngxs/store';\nimport { DynamicLayoutComponent } from './components/dynamic-layout.component';\nimport { RouterOutletComponent } from './components/router-outlet.component';\nimport { PermissionDirective } from './directives/permission.directive';\nimport { VisibilityDirective } from './directives/visibility.directive';\nimport { ApiInterceptor } from './interceptors/api.interceptor';\nimport { ABP } from './models/common';\nimport { LocalizationPipe } from './pipes/localization.pipe';\nimport { ConfigPlugin, NGXS_CONFIG_PLUGIN_OPTIONS } from './plugins/config.plugin';\nimport { ConfigState } from './states/config.state';\nimport { ProfileState } from './states/profile.state';\nimport { SessionState } from './states/session.state';\nimport { getInitialData } from './utils/initial-utils';\nimport { EllipsisDirective } from './directives/ellipsis.directive';\nimport { AutofocusDirective } from './directives/autofocus.directive';\nimport { InputEventDebounceDirective } from './directives/debounce.directive';\nimport { ClickEventStopPropagationDirective } from './directives/stop-propagation.directive';\n\n@NgModule({\n imports: [\n NgxsModule.forFeature([ProfileState, SessionState, ConfigState]),\n NgxsStoragePluginModule.forRoot({ key: 'SessionState' }),\n NgxsRouterPluginModule.forRoot(),\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n ],\n declarations: [\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n ClickEventStopPropagationDirective,\n ],\n exports: [\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n LocalizationPipe,\n ClickEventStopPropagationDirective,\n ],\n providers: [LocalizationPipe],\n entryComponents: [RouterOutletComponent, DynamicLayoutComponent],\n})\nexport class CoreModule {\n static forRoot(options = {} as ABP.Root): ModuleWithProviders {\n return {\n ngModule: CoreModule,\n providers: [\n {\n provide: NGXS_PLUGINS,\n useClass: ConfigPlugin,\n multi: true,\n },\n {\n provide: NGXS_CONFIG_PLUGIN_OPTIONS,\n useValue: options,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ApiInterceptor,\n multi: true,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector],\n useFactory: getInitialData,\n },\n ],\n };\n }\n}\n"]} \ No newline at end of file +{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.core/lib/actions/config.actions.ts","ng://@abp/ng.core/lib/actions/loader.actions.ts","ng://@abp/ng.core/lib/actions/profile.actions.ts","ng://@abp/ng.core/lib/actions/rest.actions.ts","ng://@abp/ng.core/lib/actions/session.actions.ts","ng://@abp/ng.core/lib/services/rest.service.ts","ng://@abp/ng.core/lib/services/profile.service.ts","ng://@abp/ng.core/lib/states/profile.state.ts","ng://@abp/ng.core/lib/services/application-configuration.service.ts","ng://@abp/ng.core/lib/states/session.state.ts","ng://@abp/ng.core/lib/utils/route-utils.ts","ng://@abp/ng.core/lib/states/config.state.ts","ng://@abp/ng.core/lib/utils/generator-utils.ts","ng://@abp/ng.core/lib/utils/initial-utils.ts","ng://@abp/ng.core/lib/utils/rxjs-utils.ts","ng://@abp/ng.core/lib/components/dynamic-layout.component.ts","ng://@abp/ng.core/lib/components/router-outlet.component.ts","ng://@abp/ng.core/lib/directives/autofocus.directive.ts","ng://@abp/ng.core/lib/directives/ellipsis.directive.ts","ng://@abp/ng.core/lib/directives/permission.directive.ts","ng://@abp/ng.core/lib/directives/visibility.directive.ts","ng://@abp/ng.core/lib/enums/common.ts","ng://@abp/ng.core/lib/guards/auth.guard.ts","ng://@abp/ng.core/lib/guards/permission.guard.ts","ng://@abp/ng.core/lib/interceptors/api.interceptor.ts","ng://@abp/ng.core/lib/models/application-configuration.ts","ng://@abp/ng.core/lib/models/common.ts","ng://@abp/ng.core/lib/models/config.ts","ng://@abp/ng.core/lib/models/session.ts","ng://@abp/ng.core/lib/models/profile.ts","ng://@abp/ng.core/lib/models/rest.ts","ng://@abp/ng.core/lib/plugins/config.plugin.ts","ng://@abp/ng.core/lib/services/config.service.ts","ng://@abp/ng.core/lib/services/lazy-load.service.ts","ng://@abp/ng.core/lib/services/localization.service.ts","ng://@abp/ng.core/lib/tokens/common.token.ts","ng://@abp/ng.core/lib/pipes/localization.pipe.ts","ng://@abp/ng.core/lib/directives/debounce.directive.ts","ng://@abp/ng.core/lib/directives/stop-propagation.directive.ts","ng://@abp/ng.core/lib/core.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__assign","assign","t","s","i","n","arguments","length","call","apply","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__decorate","decorators","target","key","desc","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__param","paramIndex","decorator","__metadata","metadataKey","metadataValue","metadata","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","rejected","result","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","v","op","TypeError","pop","push","__exportStar","m","exports","__values","o","__read","ar","error","__spread","concat","__spreadArrays","il","k","a","j","jl","__await","__asyncGenerator","asyncIterator","q","resume","fulfill","settle","shift","__asyncDelegator","__asyncValues","__makeTemplateObject","cooked","raw","__importStar","mod","__esModule","default","__importDefault","PatchRouteByName","name","newValue","type","GetAppConfiguration","StartLoader","payload","StopLoader","GetProfile","UpdateProfile","ChangePassword","RestOccurError","SetLanguage","SetTenant","RestService","http","store","handleError","err","dispatch","console","NEVER","request","config","api","_this","_a","observe","throwErr","url","selectSnapshot","ConfigState","getApiUrl","method","options","pipe","take","catchError","throwError","Injectable","args","providedIn","HttpClient","Store","ProfileService","rest","get","update","changePassword","ProfileState","profileService","getProfile","profile","profileGet","patchState","tap","profileUpdate","_b","tslib_1.__decorate","Action","Selector","State","defaults","ApplicationConfigurationService","getConfiguration","SessionState","getLanguage","language","getTenant","tenant","setLanguage","setTenantId","organizeRoutes","routes","wrappers","parentNameArr","parentName","filter","route","children","filteredRoutes","sortRoutes","setChildRoute","map","foundedChildren","parent","sort","order","appConfigurationService","getAll","state","getApplicationInfo","environment","application","getOne","createSelector","ConfigState_1","getDeep","keys","split","isArray","Error","reduce","acc","val","apis","getSetting","snq","setting","values","getGrantedPolicy","condition","replace","selector","getPolicy","auth","grantedPolicies","forEach","eval","getCopy","interpolateParams","_i","localization","defaultResourceName","copy","params","param","addData","configuration","switchMap","of","patchRoute","getState","findIndex","patchRouteDeep","parentUrl","path","child","uuid","Math","random","toString","getInitialData","injector","toPromise","isFunction","takeUntilDestroy","componentInstance","destroyMethodName","source","originalDestroy","Subject","complete","takeUntil","DynamicLayoutComponent","router","events","subscribe","event","NavigationEnd","segments","parseUrl","root","primary","layouts","requirements","layout_1","findLayout","layout","l","find","toLowerCase","ngOnDestroy","Component","template","Router","Select","Observable","wrapper","RouterOutletComponent","AutofocusDirective","elRef","delay","ngAfterViewInit","setTimeout","nativeElement","focus","Directive","ElementRef","Input","EllipsisDirective","cdRef","enabled","width","undefined","ngAfterContentInit","title","innerText","detectChanges","ChangeDetectorRef","HostBinding","PermissionDirective","renderer","ngOnInit","select","isGranted","removeChild","parentElement","Optional","Renderer2","VisibilityDirective","completed$","observer","MutationObserver","mutations","mutation","from","childNodes","node","HTMLElement","disconnect","focusedElement","childList","account","empty","AuthGuard","oauthService","canActivate","hasValidAccessToken","Navigate","redirectUrl","OAuthService","PermissionGuard","resource","data","ApiInterceptor","oAuthService","intercept","headers","token","getAccessToken","has","lang","id","handle","clone","setHeaders","finalize","ApplicationConfiguration","ABP","Config","Session","Profile","Response","Localization","Language","Auth","Setting","CurrentUser","Features","Root","PagedItemsResponse","PageQueryParams","Route","FullRoute","BasicItem","Environment","Application","Requirements","Rest","Request","ChangePasswordRequest","NGXS_CONFIG_PLUGIN_OPTIONS","InjectionToken","ConfigPlugin","initialized","matches","actionMatcher","InitState","UpdateState","transformRoutes","setValue","Inject","abpRoutes","transformed","component","loadChildren","abpPackage","abp","setUrls","ConfigService","LazyLoadService","loadedLibraries","load","content","targetQuery","position","library","slice","lastIndexOf","asObservable","ReplaySubject","document","createElement","src","text","rel","href","textContent","onload","querySelector","insertAdjacentElement","LocalizationService","instant","environmentFactory","configFactory","ENVIRONMENT","CONFIG","LocalizationPipe","transform","distinctUntilChanged","Pipe","pure","InputEventDebounceDirective","el","debounce","debounceEvent","EventEmitter","fromEvent","debounceTime","emit","Output","ClickEventStopPropagationDirective","stopPropEvent","stopPropagation","CoreModule","forRoot","ngModule","providers","provide","NGXS_PLUGINS","useClass","multi","useValue","HTTP_INTERCEPTORS","APP_INITIALIZER","deps","Injector","useFactory","NgModule","imports","NgxsModule","forFeature","NgxsStoragePluginModule","NgxsRouterPluginModule","CommonModule","HttpClientModule","FormsModule","ReactiveFormsModule","RouterModule","declarations","entryComponents"],"mappings":"4nCAgBA,IAAIA,cAAgB,SAASC,EAAGC,GAI5B,OAHAF,cAAgBG,OAAOC,gBAClB,CAAEC,UAAW,cAAgBC,OAAS,SAAUL,EAAGC,GAAKD,EAAEI,UAAYH,IACvE,SAAUD,EAAGC,GAAK,IAAK,IAAIK,KAAKL,EAAOA,EAAEM,eAAeD,KAAIN,EAAEM,GAAKL,EAAEK,MACpDN,EAAGC,IAGrB,SAASO,UAAUR,EAAGC,GAEzB,SAASQ,IAAOC,KAAKC,YAAcX,EADnCD,cAAcC,EAAGC,GAEjBD,EAAEY,UAAkB,OAANX,EAAaC,OAAOW,OAAOZ,IAAMQ,EAAGG,UAAYX,EAAEW,UAAW,IAAIH,GAG5E,IAAIK,SAAW,WAQlB,OAPAA,SAAWZ,OAAOa,QAAU,SAAkBC,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAIZ,KADTW,EAAIG,UAAUF,GACOhB,OAAOU,UAAUL,eAAee,KAAKL,EAAGX,KAAIU,EAAEV,GAAKW,EAAEX,IAE9E,OAAOU,IAEKO,MAAMb,KAAMU,YAGzB,SAASI,OAAOP,EAAGQ,GACtB,IAAIT,EAAI,GACR,IAAK,IAAIV,KAAKW,EAAOf,OAAOU,UAAUL,eAAee,KAAKL,EAAGX,IAAMmB,EAAEC,QAAQpB,GAAK,IAC9EU,EAAEV,GAAKW,EAAEX,IACb,GAAS,MAALW,GAAqD,mBAAjCf,OAAOyB,sBACtB,CAAA,IAAIT,EAAI,EAAb,IAAgBZ,EAAIJ,OAAOyB,sBAAsBV,GAAIC,EAAIZ,EAAEe,OAAQH,IAC3DO,EAAEC,QAAQpB,EAAEY,IAAM,GAAKhB,OAAOU,UAAUgB,qBAAqBN,KAAKL,EAAGX,EAAEY,MACvEF,EAAEV,EAAEY,IAAMD,EAAEX,EAAEY,KAE1B,OAAOF,EAGJ,SAASa,WAAWC,EAAYC,EAAQC,EAAKC,GAChD,IAA2HjC,EAAvHkC,EAAId,UAAUC,OAAQc,EAAID,EAAI,EAAIH,EAAkB,OAATE,EAAgBA,EAAO/B,OAAOkC,yBAAyBL,EAAQC,GAAOC,EACrH,GAAuB,iBAAZI,SAAoD,mBAArBA,QAAQC,SAAyBH,EAAIE,QAAQC,SAASR,EAAYC,EAAQC,EAAKC,QACpH,IAAK,IAAIf,EAAIY,EAAWT,OAAS,EAAGH,GAAK,EAAGA,KAASlB,EAAI8B,EAAWZ,MAAIiB,GAAKD,EAAI,EAAIlC,EAAEmC,GAAKD,EAAI,EAAIlC,EAAE+B,EAAQC,EAAKG,GAAKnC,EAAE+B,EAAQC,KAASG,GAChJ,OAAOD,EAAI,GAAKC,GAAKjC,OAAOqC,eAAeR,EAAQC,EAAKG,GAAIA,EAGzD,SAASK,QAAQC,EAAYC,GAChC,OAAO,SAAUX,EAAQC,GAAOU,EAAUX,EAAQC,EAAKS,IAGpD,SAASE,WAAWC,EAAaC,GACpC,GAAuB,iBAAZR,SAAoD,mBAArBA,QAAQS,SAAyB,OAAOT,QAAQS,SAASF,EAAaC,GAG7G,SAASE,UAAUC,EAASC,EAAYC,EAAGC,GAC9C,OAAO,IAAKD,IAAMA,EAAIE,UAAU,SAAUC,EAASC,GAC/C,SAASC,EAAUC,GAAS,IAAMC,EAAKN,EAAUO,KAAKF,IAAW,MAAO/B,GAAK6B,EAAO7B,IACpF,SAASkC,EAASH,GAAS,IAAMC,EAAKN,EAAiB,MAAEK,IAAW,MAAO/B,GAAK6B,EAAO7B,IACvF,SAASgC,EAAKG,GAAUA,EAAOC,KAAOR,EAAQO,EAAOJ,OAAS,IAAIN,EAAE,SAAUG,GAAWA,EAAQO,EAAOJ,SAAWM,KAAKP,EAAWI,GACnIF,GAAMN,EAAYA,EAAU5B,MAAMyB,EAASC,GAAc,KAAKS,UAI/D,SAASK,YAAYf,EAASgB,GACjC,IAAsGC,EAAGC,EAAGlD,EAAGmD,EAA3GC,EAAI,CAAEC,MAAO,EAAGC,KAAM,WAAa,GAAW,EAAPtD,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,IAAOuD,KAAM,GAAIC,IAAK,IAChG,OAAOL,EAAI,CAAET,KAAMe,EAAK,GAAIC,MAASD,EAAK,GAAIE,OAAUF,EAAK,IAAwB,mBAAXG,SAA0BT,EAAES,OAAOC,UAAY,WAAa,OAAOnE,OAAUyD,EACvJ,SAASM,EAAKtD,GAAK,OAAO,SAAU2D,GAAK,OACzC,SAAcC,GACV,GAAId,EAAG,MAAM,IAAIe,UAAU,mCAC3B,KAAOZ,GAAG,IACN,GAAIH,EAAI,EAAGC,IAAMlD,EAAY,EAAR+D,EAAG,GAASb,EAAU,OAAIa,EAAG,GAAKb,EAAS,SAAOlD,EAAIkD,EAAU,SAAMlD,EAAEM,KAAK4C,GAAI,GAAKA,EAAER,SAAW1C,EAAIA,EAAEM,KAAK4C,EAAGa,EAAG,KAAKlB,KAAM,OAAO7C,EAE3J,OADIkD,EAAI,EAAGlD,IAAG+D,EAAK,CAAS,EAARA,EAAG,GAAQ/D,EAAEwC,QACzBuB,EAAG,IACP,KAAK,EAAG,KAAK,EAAG/D,EAAI+D,EAAI,MACxB,KAAK,EAAc,OAAXX,EAAEC,QAAgB,CAAEb,MAAOuB,EAAG,GAAIlB,MAAM,GAChD,KAAK,EAAGO,EAAEC,QAASH,EAAIa,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKX,EAAEI,IAAIS,MAAOb,EAAEG,KAAKU,MAAO,SACxC,QACI,KAAkBjE,GAAZA,EAAIoD,EAAEG,MAAYlD,OAAS,GAAKL,EAAEA,EAAEK,OAAS,MAAkB,IAAV0D,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAEX,EAAI,EAAG,SACjG,GAAc,IAAVW,EAAG,MAAc/D,GAAM+D,EAAG,GAAK/D,EAAE,IAAM+D,EAAG,GAAK/D,EAAE,IAAM,CAAEoD,EAAEC,MAAQU,EAAG,GAAI,MAC9E,GAAc,IAAVA,EAAG,IAAYX,EAAEC,MAAQrD,EAAE,GAAI,CAAEoD,EAAEC,MAAQrD,EAAE,GAAIA,EAAI+D,EAAI,MAC7D,GAAI/D,GAAKoD,EAAEC,MAAQrD,EAAE,GAAI,CAAEoD,EAAEC,MAAQrD,EAAE,GAAIoD,EAAEI,IAAIU,KAAKH,GAAK,MACvD/D,EAAE,IAAIoD,EAAEI,IAAIS,MAChBb,EAAEG,KAAKU,MAAO,SAEtBF,EAAKf,EAAK1C,KAAK0B,EAASoB,GAC1B,MAAO3C,GAAKsD,EAAK,CAAC,EAAGtD,GAAIyC,EAAI,EAAI,QAAWD,EAAIjD,EAAI,EACtD,GAAY,EAAR+D,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAEvB,MAAOuB,EAAG,GAAKA,EAAG,QAAK,EAAQlB,MAAM,GArB9BJ,CAAK,CAACtC,EAAG2D,MAyBtD,SAASK,aAAaC,EAAGC,GAC5B,IAAK,IAAI/E,KAAK8E,EAAQC,EAAQ9E,eAAeD,KAAI+E,EAAQ/E,GAAK8E,EAAE9E,IAG7D,SAASgF,SAASC,GACrB,IAAIH,EAAsB,mBAAXR,QAAyBW,EAAEX,OAAOC,UAAW3D,EAAI,EAChE,OAAIkE,EAAUA,EAAE9D,KAAKiE,GACd,CACH7B,KAAM,WAEF,OADI6B,GAAKrE,GAAKqE,EAAElE,SAAQkE,OAAI,GACrB,CAAE/B,MAAO+B,GAAKA,EAAErE,KAAM2C,MAAO0B,KAKzC,SAASC,OAAOD,EAAGpE,GACtB,IAAIiE,EAAsB,mBAAXR,QAAyBW,EAAEX,OAAOC,UACjD,IAAKO,EAAG,OAAOG,EACf,IAAmBpD,EAAYV,EAA3BP,EAAIkE,EAAE9D,KAAKiE,GAAOE,EAAK,GAC3B,IACI,WAAc,IAANtE,GAAgBA,KAAM,MAAQgB,EAAIjB,EAAEwC,QAAQG,MAAM4B,EAAGP,KAAK/C,EAAEqB,OAExE,MAAOkC,GAASjE,EAAI,CAAEiE,MAAOA,GACjC,QACQ,IACQvD,IAAMA,EAAE0B,OAASuB,EAAIlE,EAAU,SAAIkE,EAAE9D,KAAKJ,GAE1D,QAAkB,GAAIO,EAAG,MAAMA,EAAEiE,OAE7B,OAAOD,EAGJ,SAASE,WACZ,IAAK,IAAIF,EAAK,GAAIvE,EAAI,EAAGA,EAAIE,UAAUC,OAAQH,IAC3CuE,EAAKA,EAAGG,OAAOJ,OAAOpE,UAAUF,KACpC,OAAOuE,EAGJ,SAASI,iBACZ,IAAK,IAAI5E,EAAI,EAAGC,EAAI,EAAG4E,EAAK1E,UAAUC,OAAQH,EAAI4E,EAAI5E,IAAKD,GAAKG,UAAUF,GAAGG,OACxE,IAAIc,EAAI9B,MAAMY,GAAI8E,EAAI,EAA3B,IAA8B7E,EAAI,EAAGA,EAAI4E,EAAI5E,IACzC,IAAK,IAAI8E,EAAI5E,UAAUF,GAAI+E,EAAI,EAAGC,EAAKF,EAAE3E,OAAQ4E,EAAIC,EAAID,IAAKF,IAC1D5D,EAAE4D,GAAKC,EAAEC,GACjB,OAAO9D,EAGJ,SAASgE,QAAQrB,GACpB,OAAOpE,gBAAgByF,SAAWzF,KAAKoE,EAAIA,EAAGpE,MAAQ,IAAIyF,QAAQrB,GAG/D,SAASsB,iBAAiBpD,EAASC,EAAYE,GAClD,IAAKyB,OAAOyB,cAAe,MAAM,IAAIrB,UAAU,wCAC/C,IAAoD9D,EAAhDiD,EAAIhB,EAAU5B,MAAMyB,EAASC,GAAc,IAAQqD,EAAI,GAC3D,OAAOpF,EAAI,GAAIuD,EAAK,QAASA,EAAK,SAAUA,EAAK,UAAWvD,EAAE0D,OAAOyB,eAAiB,WAAc,OAAO3F,MAASQ,EACpH,SAASuD,EAAKtD,GAASgD,EAAEhD,KAAID,EAAEC,GAAK,SAAU2D,GAAK,OAAO,IAAI1B,QAAQ,SAAU4C,EAAG/F,GAAKqG,EAAEpB,KAAK,CAAC/D,EAAG2D,EAAGkB,EAAG/F,IAAM,GAAKsG,EAAOpF,EAAG2D,OAC9H,SAASyB,EAAOpF,EAAG2D,GAAK,KACV3C,EADqBgC,EAAEhD,GAAG2D,IACnBtB,iBAAiB2C,QAAU/C,QAAQC,QAAQlB,EAAEqB,MAAMsB,GAAGhB,KAAK0C,EAASlD,GAAUmD,EAAOH,EAAE,GAAG,GAAInE,GADpE,MAAOV,GAAKgF,EAAOH,EAAE,GAAG,GAAI7E,GAC3E,IAAcU,EACd,SAASqE,EAAQhD,GAAS+C,EAAO,OAAQ/C,GACzC,SAASF,EAAOE,GAAS+C,EAAO,QAAS/C,GACzC,SAASiD,EAAOxC,EAAGa,GAASb,EAAEa,GAAIwB,EAAEI,QAASJ,EAAEjF,QAAQkF,EAAOD,EAAE,GAAG,GAAIA,EAAE,GAAG,KAGzE,SAASK,iBAAiBpB,GAC7B,IAAIrE,EAAGZ,EACP,OAAOY,EAAI,GAAIuD,EAAK,QAASA,EAAK,QAAS,SAAUhD,GAAK,MAAMA,IAAOgD,EAAK,UAAWvD,EAAE0D,OAAOC,UAAY,WAAc,OAAOnE,MAASQ,EAC1I,SAASuD,EAAKtD,EAAG8C,GAAK/C,EAAEC,GAAKoE,EAAEpE,GAAK,SAAU2D,GAAK,OAAQxE,GAAKA,GAAK,CAAEkD,MAAO2C,QAAQZ,EAAEpE,GAAG2D,IAAKjB,KAAY,WAAN1C,GAAmB8C,EAAIA,EAAEa,GAAKA,GAAOb,GAGxI,SAAS2C,cAAcrB,GAC1B,IAAKX,OAAOyB,cAAe,MAAM,IAAIrB,UAAU,wCAC/C,IAAiC9D,EAA7BkE,EAAIG,EAAEX,OAAOyB,eACjB,OAAOjB,EAAIA,EAAE9D,KAAKiE,IAAMA,EAAwB,mBAAbD,SAA0BA,SAASC,GAAKA,EAAEX,OAAOC,YAAa3D,EAAI,GAAIuD,EAAK,QAASA,EAAK,SAAUA,EAAK,UAAWvD,EAAE0D,OAAOyB,eAAiB,WAAc,OAAO3F,MAASQ,GAC9M,SAASuD,EAAKtD,GAAKD,EAAEC,GAAKoE,EAAEpE,IAAM,SAAU2D,GAAK,OAAO,IAAI1B,QAAQ,SAAUC,EAASC,IACvF,SAAgBD,EAASC,EAAQtD,EAAG8E,GAAK1B,QAAQC,QAAQyB,GAAGhB,KAAK,SAASgB,GAAKzB,EAAQ,CAAEG,MAAOsB,EAAGjB,KAAM7D,KAASsD,IADJmD,CAAOpD,EAASC,GAA7BwB,EAAIS,EAAEpE,GAAG2D,IAA8BjB,KAAMiB,EAAEtB,WAI7I,SAASqD,qBAAqBC,EAAQC,GAEzC,OADI7G,OAAOqC,eAAkBrC,OAAOqC,eAAeuE,EAAQ,MAAO,CAAEtD,MAAOuD,IAAiBD,EAAOC,IAAMA,EAClGD,EAGJ,SAASE,aAAaC,GACzB,GAAIA,GAAOA,EAAIC,WAAY,OAAOD,EAClC,IAAIrD,EAAS,GACb,GAAW,MAAPqD,EAAa,IAAK,IAAIlB,KAAKkB,EAAS/G,OAAOK,eAAee,KAAK2F,EAAKlB,KAAInC,EAAOmC,GAAKkB,EAAIlB,IAE5F,OADAnC,EAAOuD,QAAUF,EACVrD,EAGJ,SAASwD,gBAAgBH,GAC5B,OAAQA,GAAOA,EAAIC,WAAcD,EAAM,CAAEE,QAASF,GChMtD,IAAAI,iBAAA,WAEE,SAAAA,EAAmBC,EAAqBC,GAArB7G,KAAA4G,KAAAA,EAAqB5G,KAAA6G,SAAAA,EAC1C,OAFkBF,EAAAG,KAAO,+BAEzBH,EAHA,GAKA,IAAAI,oBAAA,WAAA,SAAAA,KAEA,OADkBA,EAAAD,KAAO,iCACzBC,EAFA,GCLA,IAAAC,YAAA,WAEE,SAAAA,EAAmBC,GAAAjH,KAAAiH,QAAAA,EACrB,OAFkBD,EAAAF,KAAO,iBAEzBE,EAHA,GAKA,IAAAE,WAAA,WAEE,SAAAA,EAAmBD,GAAAjH,KAAAiH,QAAAA,EACrB,OAFkBC,EAAAJ,KAAO,gBAEzBI,EAHA,GCLA,IAAAC,WAAA,WAAA,SAAAA,KAEA,OADkBA,EAAAL,KAAO,gBACzBK,EAFA,GAIA,IAAAC,cAAA,WAEE,SAAAA,EAAmBH,GAAAjH,KAAAiH,QAAAA,EACrB,OAFkBG,EAAAN,KAAO,mBAEzBM,EAHA,GAKA,IAAAC,eAAA,WAEE,SAAAA,EAAmBJ,GAAAjH,KAAAiH,QAAAA,EACrB,OAFkBI,EAAAP,KAAO,4BAEzBO,EAHA,GCTA,IAAAC,eAAA,WAEE,SAAAA,EAAmBL,GAAAjH,KAAAiH,QAAAA,EACrB,OAFkBK,EAAAR,KAAO,eAEzBQ,EAHA,GCAA,IAAAC,YAAA,WAEE,SAAAA,EAAmBN,GAAAjH,KAAAiH,QAAAA,EACrB,OAFkBM,EAAAT,KAAO,yBAEzBS,EAHA,GAIA,IAAAC,UAAA,WAEE,SAAAA,EAAmBP,GAAAjH,KAAAiH,QAAAA,EACrB,OAFkBO,EAAAV,KAAO,uBAEzBU,EAHA,8BCOE,SAAAC,EAAoBC,EAA0BC,GAA1B3H,KAAA0H,KAAAA,EAA0B1H,KAAA2H,MAAAA,SAE9CF,EAAAvH,UAAA0H,YAAA,SAAYC,GAGV,OAFA7H,KAAK2H,MAAMG,SAAS,IAAIR,eAAeO,IACvCE,QAAQ/C,MAAM6C,GACPG,KAAAA,OAGTP,EAAAvH,UAAA+H,QAAA,SAAcA,EAA2CC,EAA0BC,GAAnF,IAAAC,EAAApI,UAAyD,IAAAkI,IAAAA,EAAA,IAC/C,IAAAG,EAAAH,EAAAI,QAAAA,OAAA,IAAAD,EAAA,OAAAA,EAA6BE,EAAAL,EAAAK,SAC/BC,EAAML,GAAOnI,KAAK2H,MAAMc,eAAeC,YAAYC,aAAeV,EAAQO,IACxEI,EAAAX,EAAAW,OAAQC,EAAA/H,OAAAmH,EAAA,CAAA,WAChB,OAAOjI,KAAK0H,KAAKO,QAAWW,EAAQJ,EAAGpI,SAAA,CAAIkI,QAAOA,GAAKO,IAAkBC,KAChE,SAAPR,EAAgCS,UAAAA,KAAK,GAAK,KAC1CC,UAAAA,WAAU,SAACnB,GACT,OAAIU,EACKU,KAAAA,WAAWpB,GAGbO,EAAKR,YAAYC,2BAvB/BqB,KAAAA,WAAUC,KAAA,CAAC,CACVC,WAAY,oDAVLC,KAAAA,kBAEAC,MAAAA,iLCFT,IAAAC,eAAA,WASE,SAAAA,EAAoBC,GAAAxJ,KAAAwJ,KAAAA,SAEpBD,EAAArJ,UAAAuJ,IAAA,WAME,OAAOzJ,KAAKwJ,KAAKvB,QALmB,CAClCW,OAAQ,MACRJ,IAAK,8BAMTe,EAAArJ,UAAAwJ,OAAA,SAAOpG,OACC2E,EAA0C,CAC9CW,OAAQ,MACRJ,IAAK,2BACLlF,KAAIA,GAGN,OAAOtD,KAAKwJ,KAAKvB,QAA4CA,IAG/DsB,EAAArJ,UAAAyJ,eAAA,SAAerG,EAAqCiF,QAAA,IAAAA,IAAAA,GAAA,OAC5CN,EAAuD,CAC3DW,OAAQ,OACRJ,IAAK,2CACLlF,KAAIA,GAGN,OAAOtD,KAAKwJ,KAAKvB,QAA6CA,EAAS,CAAEM,SAAQA,yBAhCpFW,KAAAA,WAAUC,KAAA,CAAC,CACVC,WAAY,oDAJL3B,qJAFT,+BCgBE,SAAAmC,EAAoBC,GAAA7J,KAAA6J,eAAAA,EA4BtB,OAhCSD,EAAAE,WAAP,SAAkBzB,GAChB,OADkBA,EAAA0B,SAOpBH,EAAA1J,UAAA8J,WAAA,SAAW3B,OAAE4B,EAAA5B,EAAA4B,WACX,OAAOjK,KAAK6J,eAAeJ,MAAMX,KAC/BoB,UAAAA,IAAG,SAACH,GACF,OAAAE,EAAW,CACTF,QAAOA,QAOfH,EAAA1J,UAAAiK,cAAA,SAAc9B,EAA6C+B,OAA3CH,EAAA5B,EAAA4B,WAA6ChD,EAAAmD,EAAAnD,QAC3D,OAAOjH,KAAK6J,eAAeH,OAAOzC,GAAS6B,KACzCoB,UAAAA,IAAG,SAACH,GACF,OAAAE,EAAW,CACTF,QAAOA,QAOfH,EAAA1J,UAAAyJ,eAAA,SAAejG,EAAG2E,OAAEpB,EAAAoB,EAAApB,QAClB,OAAOjH,KAAK6J,eAAeF,eAAe1C,GAAS,IAvBrDoD,WAAAA,CADCC,MAAAA,OAAOnD,+JAYRkD,WAAAA,CADCC,MAAAA,OAAOlD,yFACgEA,0FAWxEiD,WAAAA,CADCC,MAAAA,OAAOjD,0FACuBA,4FA7B/BgD,WAAAA,CADCE,MAAAA,oJADUX,EAAYzI,WAAA,CAJxBqJ,MAAAA,MAAqB,CACpB5D,KAAM,eACN6D,SAAQ,qCAQ4BlB,kBANzBK,MCVb,IAAAc,gCAAA,WASE,SAAAA,EAAoBlB,GAAAxJ,KAAAwJ,KAAAA,SAEpBkB,EAAAxK,UAAAyK,iBAAA,WAME,OAAO3K,KAAKwJ,KAAKvB,QALmB,CAClCW,OAAQ,MACRJ,IAAK,4DATVU,KAAAA,WAAUC,KAAA,CAAC,CACVC,WAAY,oDAHL3B,qJAHT,+BCmBE,SAAAmD,KAeF,OAxBSA,EAAAC,YAAP,SAAmBxC,GACjB,OADmBA,EAAAyC,UAKdF,EAAAG,UAAP,SAAiB1C,GACf,OADiBA,EAAA2C,QAOnBJ,EAAA1K,UAAA+K,YAAA,SAAY5C,EAA6C+B,IACvDH,EADY5B,EAAA4B,YACD,CACTa,SAFuDV,EAAAnD,WAO3D2D,EAAA1K,UAAAgL,YAAA,SAAY7C,EAA6C+B,IACvDH,EADY5B,EAAA4B,YACD,CACTe,OAFuDZ,EAAAnD,WAP3DoD,WAAAA,CADCC,MAAAA,OAAO/C,uFAC8DA,sFAOtE8C,WAAAA,CADCC,MAAAA,OAAO9C,qFAC8DA,oFAnBtE6C,WAAAA,CADCE,MAAAA,qJAMDF,WAAAA,CADCE,MAAAA,mJANUK,EAAYzJ,WAAA,CAJxBqJ,MAAAA,MAAqB,CACpB5D,KAAM,eACN6D,SAAQ,yCAEGG,MCNb,SAAgBO,eACdC,EACAC,EACAC,EACAC,QAFA,IAAAF,IAAAA,EAAA,SACA,IAAAC,IAAAA,EAAA,SACA,IAAAC,IAAAA,EAAA,UAEMC,EAAM,SAAGC,GAKb,OAJIA,EAAMC,UAAYD,EAAMC,SAAS/K,SACnC8K,EAAMC,SAAWP,eAAeM,EAAMC,SAAUL,EAAUC,EAAeG,EAAM7E,QAG7E6E,EAAMF,YAAcE,EAAMF,aAAeA,IAC3CD,EAAc9G,KAAKiH,IACZ,IAMX,GAAIF,EAEF,OAAOH,EAAOI,OAAOA,OAGjBG,EAAiBP,EAAOI,OAAOA,GAErC,OAAIF,EAAc3K,OACTiL,WAAWC,cAAa5G,SAAK0G,EAAmBN,GAAWC,IAG7DK,EAGT,SAAgBE,cAAcT,EAAyBE,GACrD,OAAOF,EAAOU,IAAG,SAACL,GACZA,EAAMC,UAAYD,EAAMC,SAAS/K,SACnC8K,EAAMC,SAAWG,cAAcJ,EAAMC,SAAUJ,QAG3CS,EAAkBT,EAAcE,OAAM,SAACQ,GAAU,OAAAA,EAAOT,aAAeE,EAAM7E,OAKnF,OAJImF,GAAmBA,EAAgBpL,SACrC8K,EAAMC,SAAQzG,SAAQwG,EAAMC,UAAY,GAAQK,IAG3CN,IAIX,SAAgBG,WAAWR,GACzB,YADyB,IAAAA,IAAAA,EAAA,IACpBA,EAAOzK,OACLyK,EACJa,KAAI,SAAE3G,EAAG/F,GAAM,OAAA+F,EAAE4G,MAAQ3M,EAAE2M,QAC3BJ,IAAG,SAACL,GAKH,OAJIA,EAAMC,UAAYD,EAAMC,SAAS/K,SACnC8K,EAAMC,SAAWE,WAAWH,EAAMC,WAG7BD,IARgB,8BC8G3B,SAAA/C,YAAoByD,EAAkExE,GAAlE3H,KAAAmM,wBAAAA,EAAkEnM,KAAA2H,MAAAA,oBA8BxF,qBAhLae,YAEJA,YAAA0D,OAAP,SAAcC,GACZ,OAAOA,GAIF3D,YAAA4D,mBAAP,SAA0BD,GACxB,OAAOA,EAAME,YAAYC,aAAe,IAGnC9D,YAAA+D,OAAP,SAAcnL,GAQZ,OAPiBoL,MAAAA,eACf,CAACC,eAAY,SACJN,GACP,OAAOA,EAAM/K,MAOZoH,YAAAkE,QAAP,SAAeC,GAKb,GAJoB,iBAATA,IACTA,EAAOA,EAAKC,MAAM,OAGfnN,MAAMoN,QAAQF,GACjB,MAAM,IAAIG,MAAM,yDAgBlB,OAbiBN,MAAAA,eACf,CAACC,eAAY,SACJN,GACP,OAAO,EAAmBY,OAAM,SAAEC,EAAKC,GACrC,GAAID,EACF,OAAOA,EAAIC,IAIZd,MAOF3D,YAAAC,UAAP,SAAiBrH,GAQf,OAPiBoL,MAAAA,eACf,CAACC,eAAY,SACJN,GACP,OAAOA,EAAME,YAAYa,KAAK9L,GAAO,WAAWkH,OAO/CE,YAAA2E,WAAP,SAAkB/L,GAQhB,OAPiBoL,MAAAA,eACf,CAACC,eAAY,SACJN,GACP,OAAOiB,IAAG,WAAO,OAAAjB,EAAMkB,QAAQC,OAAOlM,QAOrCoH,YAAA+E,iBAAP,SAAwBC,gBAAA,IAAAA,YAAAA,UAAA,QAChBb,KAAOa,UACVC,QAAQ,eAAgB,IACxBb,MAAM,WACNtB,OAAM,SAAClK,GAAO,OAAAA,IAEXsM,SAAWlB,MAAAA,eACf,CAACC,eAAY,SACJN,OACP,IAAKQ,KAAKlM,OAAQ,OAAO,MAEnBkN,UAAS,SAAGvM,GAAO,OAAAgM,IAAG,WAAO,OAAAjB,MAAMyB,KAAKC,gBAAgBzM,KAAM,IACpE,OAAIuL,KAAKlM,OAAS,GAChBkM,KAAKmB,QAAO,SAAC1M,OACLwB,EAAQ+K,UAAUvM,GACxBoM,UAAYA,UAAUC,QAAQrM,EAAKwB,KAI9BmL,KAAK,KAAKP,YAGZG,UAAUH,aAIrB,OAAOE,UAGFlF,YAAAwF,QAAP,SAAe5M,OAAa,IAAA6M,EAAA,GAAAC,EAAA,EAAAA,EAAA1N,UAAAC,OAAAyN,IAAAD,EAAAC,EAAA,GAAA1N,UAAA0N,GACrB9M,IAAKA,EAAM,QAEVuL,EAAOvL,EAAIwL,MAAM,MACjBc,EAAWlB,MAAAA,eACf,CAACC,eAAY,SACJN,GACP,IAAKA,EAAMgC,aAAc,OAAO/M,EAExB,IAAAgN,EAAAjC,EAAAE,YAAA8B,aAAAC,oBACR,GAAgB,KAAZzB,EAAK,GAAW,CAClB,IAAKyB,EACH,MAAM,IAAItB,MACR,sRAUJH,EAAK,GAAKS,IAAG,WAAO,OAAAgB,QAGlBC,EAAO1B,EAAKI,OAAM,SAAEC,EAAKC,GAC3B,GAAID,EACF,OAAOA,EAAIC,IAIZd,EAAMgC,aAAab,QAStB,OAPAW,EAAoBA,EAAkB3C,OAAM,SAACgD,GAAU,OAAU,MAAVA,IACnDD,GAAQJ,GAAqBA,EAAkBxN,QACjDwN,EAAkBH,QAAO,SAACS,GACxBF,EAAOA,EAAKZ,QAAQ,0BAA2Bc,KAI5CF,GAAQjN,IAInB,OAAOsM,GAMTlF,YAAAxI,UAAAwO,QAAA,SAAQrG,GADR,IAAAD,EAAApI,KACUiK,EAAA5B,EAAA4B,WAAYnC,EAAAO,EAAAP,SACpB,OAAO9H,KAAKmM,wBAAwBxB,mBAAmB7B,KACrDoB,UAAAA,IAAG,SAACyE,GACF,OAAA1E,EAAU7J,SAAA,GACLuO,MAGPC,UAAAA,UAAS,SAACD,GACR,OAAAvG,EAAKT,MAAMc,eAAemC,aAAaC,aACnCgE,KAAAA,GAAG,MACH/G,EAAS,IAAIP,YAAY+F,IAAG,WAAO,OAAAqB,EAAcpB,QAAQC,OAAO,4CAM1E9E,YAAAxI,UAAA4O,WAAA,SAAWzG,EAAsD+B,OAApDH,EAAA5B,EAAA4B,WAAY8E,EAAA1G,EAAA0G,SAA0CnI,EAAAwD,EAAAxD,KAAMC,EAAAuD,EAAAvD,SACnEuE,EAA0B2D,IAAW3D,OAE3BA,EAAO4D,UAAS,SAACvD,GAAS,OAAAA,EAAM7E,OAASA,IAIvD,OAAOqD,EAAW,CAChBmB,OAHFA,EAAS6D,eAAe7D,EAAQxE,EAAMC,MArBxCwD,WAAAA,CADCC,MAAAA,OAAOvD,+KAiBRsD,WAAAA,CADCC,MAAAA,OAAO3D,4FAC6EA,oGAnKrF0D,WAAAA,CADCE,MAAAA,0JAMDF,WAAAA,CADCE,MAAAA,sKANU7B,YAAWiE,cAAAxL,WAAA,CAJvBqJ,MAAAA,MAAoB,CACnB5D,KAAM,cACN6D,SAAQ,qCAoJqCC,gCAAgDpB,MAAAA,SAlJlFZ,aAgLbA,eAEA,SAASuG,eACP7D,EACAxE,EACAC,EACAqI,GAuBA,YAvBA,IAAAA,IAAAA,EAAA,MAEA9D,EAASA,EAAOU,IAAG,SAACL,GAClB,OAAIA,EAAM7E,OAASA,GACbC,EAASsI,OACXtI,EAAS2B,IAAS0G,EAAS,IAAIrI,EAASsI,MAGtCtI,EAAS6E,UAAY7E,EAAS6E,SAAS/K,SACzCkG,EAAS6E,SAAW7E,EAAS6E,SAASI,IAAG,SAACsD,GAAS,OAAAhP,SAAA,GAC9CgP,EAAK,CACR5G,IAAQ0G,EAAS,IAAIzD,EAAM0D,KAAI,IAAIC,EAAMD,UAI7C/O,SAAA,GAAYqL,EAAU5E,KACb4E,EAAMC,UAAYD,EAAMC,SAAS/K,SAC1C8K,EAAMC,SAAWuD,eAAexD,EAAMC,SAAU9E,EAAMC,GAAWqI,GAAa,KAAOzD,EAAM0D,OAGtF1D,KAGLyD,EAEK9D,EAGFD,eAAeC,GCjOxB,SAAgBiE,KAAK/J,GACnB,OAAOA,GACFA,EAAsB,GAAhBgK,KAAKC,UAAmBjK,EAAI,GAAKkK,SAAS,KAChD,GAAK,KAAO,KAAO,KAAO,KAAO,MAAM7B,QAAQ,SAAU0B,MCChE,SAAgBI,eAAeC,GAO7B,OANQ,WAGN,OAFqBA,EAASjG,IAAIH,MAAAA,OAErBxB,SAAS,IAAIf,qBAAuB4I,aCLrD,SAASC,WAAW9M,GAClB,MAAwB,mBAAVA,EAGhB,IAAa+M,iBAAgB,SAAIC,EAAmBC,eAAA,IAAAA,IAAAA,EAAA,wBAClDC,OAEMC,EAAkBH,EAAkBC,GAC1C,IAAoC,IAAhCH,WAAWK,GACb,MAAM,IAAIjD,MACL8C,EAAkB7P,YAAY2G,KAAI,kDAAkDmJ,GAY3F,OATKD,EAAsC,qBACzCA,EAAsC,mBAAI,IAAII,KAAAA,QAE9CJ,EAAkBC,GAAkB,WAClCH,WAAWK,IAAoBA,EAAgBpP,MAAMb,KAAMU,WAC3DoP,EAAsC,mBAAE9M,MAAK,GAC7C8M,EAAsC,mBAAEK,aAGrCH,EAAOlH,KAAKsH,UAAAA,UAAaN,EAAsC,yDCAtE,SAAAO,EAAoBC,EAAwB3I,GAA5C,IAAAS,EAAApI,KAAoBA,KAAAsQ,OAAAA,EAAwBtQ,KAAA2H,MAAAA,EAC1C3H,KAAKsQ,OAAOC,OAAOzH,KAAK+G,iBAAiB7P,OAAOwQ,UAAS,SAACC,GACxD,GAAIA,aAAiBC,OAAAA,cAAe,CAC1B,IAAAC,EAAAvI,EAAAkI,OAAAM,SAAAH,EAAAjI,KAAAqI,KAAAnF,SAAAoF,QAAAH,SACFtI,EAAAD,EAAAT,MAAAc,eAAAC,YAAA0D,QACY2E,EAAA1I,EAAA2I,aAAAD,QAIZE,EAASC,WAAWP,EAHxBtI,EAAA+C,QAKFhD,EAAK+I,OAASJ,EAAQvF,OAAM,SAAC4F,GAAK,QAAEA,IAAGC,KAAI,SAACD,GAAK,OAAA9D,IAAG,WAAO,OAAA8D,EAAEtK,KAAKwK,cAActQ,QAAQiQ,KAAU,IAAM,OAMhH,OADEZ,EAAAnQ,UAAAqR,YAAA,iCA/BDC,KAAAA,UAASrI,KAAA,CAAC,CACTyE,SAAU,qBACV6D,SAAU,8UAXYC,OAAAA,cACPpI,MAAAA,SAmBfe,WAAAA,CADCsH,MAAAA,OAAOjJ,YAAY+D,OAAO,0CACZmF,KAAAA,iDAqBjBvB,KAEA,SAASa,WAAWP,EAAwBvF,OACtC+F,EAAM,QAEJ1F,EAAQL,EACX6B,OAAM,SAAEC,EAAKC,GAAQ,OAACA,EAAI0E,QAAO5M,SAAOiI,EAAQC,EAAIzB,UAAQzG,SAAQiI,EAAG,CAAEC,KAAO,IAChFkE,KAAI,SAAC5P,GAAK,OAAAA,EAAE0N,OAASwB,EAAS,GAAGxB,OAEpC,GAAI1D,IACEA,EAAM0F,SACRA,EAAS1F,EAAM0F,QAGb1F,EAAMC,UAAYD,EAAMC,SAAS/K,QAAUgQ,EAAShQ,OAAS,GAAG,KAC5DyO,EAAQ3D,EAAMC,SAAS2F,KAAI,SAAC7P,GAAK,OAAAA,EAAE2N,OAASwB,EAAS,GAAGxB,OAE1DC,EAAM+B,SACRA,EAAS/B,EAAM+B,QAKrB,OAAOA,ECjET,IAAAW,sBAAA,WAEA,SAAAA,KAMoC,2BANnCN,KAAAA,UAASrI,KAAA,CAAC,CACTyE,SAAU,oBACV6D,SAAU,gDAIwBK,EARpC,GCAAC,mBAAA,WASE,SAAAA,EAAoBC,GAAAhS,KAAAgS,MAAAA,EAFpBhS,KAAAiS,MAAgB,EAOlB,OAHEF,EAAA7R,UAAAgS,gBAAA,WAAA,IAAA9J,EAAApI,KACEmS,WAAU,WAAO,OAAA/J,EAAK4J,MAAMI,cAAcC,SAASrS,KAAKiS,4BAV3DK,KAAAA,UAASnJ,KAAA,CAAC,CACTyE,SAAU,2DAHQ2E,KAAAA,6CAMjBC,KAAAA,MAAKrJ,KAAA,CAAC,gBAQT4I,EAdA,GCAA,IAAAU,kBAAA,WA0BE,SAAAA,EAAoBC,EAAkCV,GAAlChS,KAAA0S,MAAAA,EAAkC1S,KAAAgS,MAAAA,EAZtDhS,KAAA2S,SAAU,EAwBZ,OAtBEnT,OAAAqC,eACI4Q,EAAAvS,UAAA,QAAK,KADT,WAEE,OAAOF,KAAK2S,yCAGdnT,OAAAqC,eACI4Q,EAAAvS,UAAA,WAAQ,KADZ,WAEE,OAAOF,KAAK2S,QAAU3S,KAAK4S,OAAS,aAAUC,mCAKhDJ,EAAAvS,UAAA4S,mBAAA,WAAA,IAAA1K,EAAApI,KACEmS,WAAU,eACFY,EAAQ3K,EAAK2K,MACnB3K,EAAK2K,MAAQA,GAAU3K,EAAK4J,MAAmB,cAAiBgB,UAE5D5K,EAAK2K,QAAUA,GACjB3K,EAAKsK,MAAMO,iBAEZ,wBAlCNX,KAAAA,UAASnJ,KAAA,CAAC,CACTyE,SAAU,6DAHesF,KAAAA,yBAA8BX,KAAAA,6CAMtDC,KAAAA,MAAKrJ,KAAA,CAAC,8BAGNgK,KAAAA,YAAWhK,KAAA,CAAC,UAAO,CAAArC,KACnB0L,KAAAA,uBAGAA,KAAAA,MAAKrJ,KAAA,CAAC,qCAGNgK,KAAAA,YAAWhK,KAAA,CAAC,wCAKZgK,KAAAA,YAAWhK,KAAA,CAAC,sBAiBfsJ,EAtCA,GCAA,IAAAW,oBAAA,WAWE,SAAAA,EAAgCpB,EAA2BqB,EAA6B1L,GAAxD3H,KAAAgS,MAAAA,EAA2BhS,KAAAqT,SAAAA,EAA6BrT,KAAA2H,MAAAA,EAmB1F,OAjBEyL,EAAAlT,UAAAoT,SAAA,WAAA,IAAAlL,EAAApI,KACMA,KAAK0N,WACP1N,KAAK2H,MACF4L,OAAO7K,YAAY+E,iBAAiBzN,KAAK0N,YACzC5E,KAAK+G,iBAAiB7P,OACtBwQ,UAAS,SAACgD,GACJA,GACHpL,EAAKiL,SAASI,YACXrL,EAAK4J,MAAmB,cAAiB0B,cAC1CtL,EAAK4J,MAAMI,kBAOvBgB,EAAAlT,UAAAqR,YAAA,iCAxBDe,KAAAA,UAASnJ,KAAA,CAAC,CACTyE,SAAU,+DANQ2E,KAAAA,WAAUnR,WAAA,CAAA,CAAA0F,KAWf6M,KAAAA,kBAXqDC,KAAAA,iBAC3DtK,MAAAA,4CAQNkJ,KAAAA,MAAKrJ,KAAA,CAAC,oBAqBTiK,EA9BA,GCAA,IAAAS,oBAAA,WAaE,SAAAA,EAAgC7B,EAA2BqB,GAA3BrT,KAAAgS,MAAAA,EAA2BhS,KAAAqT,SAAAA,EAF3DrT,KAAA8T,WAAa,IAAI5D,KAAAA,QAoCnB,OAhCE2D,EAAA3T,UAAAgS,gBAAA,WAAA,IAAA9J,EAAApI,KACQ+T,EAAW,IAAIC,iBAAgB,SAACC,GACpCA,EAAUjG,QAAO,SAACkG,GACXA,EAAS7S,SAEIiM,IAAG,WACb,OAAA3N,MAAMwU,KAAKD,EAAS7S,OAAO+S,YAAY5I,OAAM,SAAC6I,GAAQ,OAAAA,aAAgBC,eAC5E,IAGa3T,OAIbwR,WAAU,WACR/J,EAAKmM,cACJ,IALHnM,EAAKiL,SAASI,YAAYrL,EAAK4J,MAAMI,cAAcsB,cAAetL,EAAK4J,MAAMI,eAC7EhK,EAAKmM,mBASXR,EAASzL,QAAQtI,KAAKwU,eAAgB,CACpCC,WAAW,IAGbzU,KAAK8T,WAAWtD,UAAS,WAAO,OAAAuD,EAASQ,gBAG3CV,EAAA3T,UAAAqU,WAAA,WACEvU,KAAK8T,WAAW9Q,OAChBhD,KAAK8T,WAAW3D,gCAzCnBmC,KAAAA,UAASnJ,KAAA,CAAC,CACTyE,SAAU,+DALyB2E,KAAAA,WAAUnR,WAAA,CAAA,CAAA0F,KAahC6M,KAAAA,kBAbkCC,KAAAA,qDAQ9CpB,KAAAA,MAAKrJ,KAAA,CAAC,oBAuCT0K,EA/CA,oBCCEa,QAAU,UACVlI,YAAc,cACdmI,MAAQ,SCHVC,UAAA,WAWE,SAAAA,EAAoBC,EAAoClN,GAApC3H,KAAA6U,aAAAA,EAAoC7U,KAAA2H,MAAAA,SACxDiN,EAAA1U,UAAA4U,YAAA,SAAYpR,EAA2B2I,OAC/B0I,EAAsB/U,KAAK6U,aAAaE,sBAC9C,OAAIA,IAIJ/U,KAAK2H,MAAMG,SAAS,IAAIkN,aAAAA,SAAS,CAAC,kBAAmB,KAAM,CAAE3I,MAAO,CAAE4I,YAAa5I,EAAM7D,SAElF,wBAbVU,KAAAA,WAAUC,KAAA,CAAC,CACVC,WAAY,oDALL8L,kBAAAA,oBADA5L,MAAAA,6LAFT,GCAA,IAAA6L,gBAAA,WAUE,SAAAA,EAAoBxN,GAAA3H,KAAA2H,MAAAA,SAEpBwN,EAAAjV,UAAA4U,YAAA,SAAYzM,OACJ+M,EADM/M,EAAAgN,KACwB,eACpC,OAAOrV,KAAK2H,MAAM4L,OAAO7K,YAAY+E,iBAAiB2H,yBARzDlM,KAAAA,WAAUC,KAAA,CAAC,CACVC,WAAY,oDALLE,MAAAA,+IAFT,GCAA,IAAAgM,eAAA,WAUE,SAAAA,EAAoBC,EAAoC5N,GAApC3H,KAAAuV,aAAAA,EAAoCvV,KAAA2H,MAAAA,EA8B1D,OA5BE2N,EAAApV,UAAAsV,UAAA,SAAUvN,EAA2BjF,GAArC,IAAAoF,EAAApI,KACEA,KAAK2H,MAAMG,SAAS,IAAId,YAAYiB,QAE9BwN,EAAO,GAEPC,EAAQ1V,KAAKuV,aAAaI,kBAC3B1N,EAAQwN,QAAQG,IAAI,kBAAoBF,IAC3CD,EAAuB,cAAI,UAAUC,OAGjCG,EAAO7V,KAAK2H,MAAMc,eAAemC,aAAaC,cAC/C5C,EAAQwN,QAAQG,IAAI,oBAAsBC,IAC7CJ,EAAQ,mBAAqBI,OAGzB7K,EAAShL,KAAK2H,MAAMc,eAAemC,aAAaG,WAKtD,OAJK9C,EAAQwN,QAAQG,IAAI,aAAe5K,IACtCyK,EAAkB,SAAIzK,EAAO8K,IAGxB9S,EACJ+S,OACC9N,EAAQ+N,MAAM,CACZC,WAAYR,KAGf3M,KAAKoN,UAAAA,SAAQ,WAAO,OAAA9N,EAAKT,MAAMG,SAAS,IAAIZ,WAAWe,4BA9B7DiB,KAAAA,sDANQgM,kBAAAA,oBACA5L,MAAAA,SAqCTgM,EAxCA,GCAiBa,yBCGAC,ICAAC,OCDAC,QCFAC,SJAjB,SAAiBJ,GACf,SAAAK,KAQA,SAAAC,KASA,SAAAC,KAOA,SAAAC,KASA,SAAAC,KAIA,SAAAC,KAOA,SAAAC,uDA/BA,4CAgBA,uDA9BF,CAAiBX,2BAAAA,yBAAwB,KCGzC,SAAiBC,GACf,SAAAW,KASA,SAAAC,KAIA,SAAAC,KAOA,SAAAC,KAYA,SAAAC,KAKA,SAAAC,+FAtCF,CAAiBhB,MAAAA,IAAG,KCApB,SAAiBC,GAKf,SAAAgB,KAOA,SAAAC,KASA,SAAAC,aApBA,oDAgBA,8BAjBF,CAAiBlB,SAAAA,OAAM,KGDvB,SAAiBmB,GACf,SAAAnB,KAkBA,SAAAoB,4BAnBF,CAAiBD,QAAAA,OAAAA,QAAAA,KAAI,KFArB,SAAiBlB,GACf,SAAA9L,eADF,CAAiB8L,UAAAA,QAAO,KCFxB,SAAiBC,GACf,SAAA/L,KAIA,SAAAgM,KAQA,SAAAkB,sDAbF,CAAiBnB,UAAAA,QAAO,KEOxB,IAAaoB,2BAA6B,IAAIC,KAAAA,eAAe,8BAE7DC,aAAA,WAIE,SAAAA,EAAwDhP,EAA2ByH,GAA3BtQ,KAAA6I,QAAAA,EAA2B7I,KAAAsQ,OAAAA,EAF3EtQ,KAAA8X,aAAuB,EAwBjC,OApBED,EAAA3X,UAAA6V,OAAA,SAAO1J,EAAYoE,EAAYzN,OACvB+U,EAAUC,MAAAA,cAAcvH,GAI9B,IAHqBsH,EAAQE,MAAAA,YAAcF,EAAQG,MAAAA,gBAG9BlY,KAAK8X,YAAa,CACjC,IAAAzP,EAAA8P,gBAAAnY,KAAAsQ,OAAApI,QAAEkD,EAAA/C,EAAA+C,OACNA,EAASD,eAAeC,EADV/C,EAAAgD,UAGdgB,EAAQ+L,MAAAA,SAAS/L,EAAO,cAAajM,SAAA,GAC/BiM,EAAM3D,aAAWtI,SAAA,GAASiM,EAAM3D,aACjC1I,KAAK6I,QAAO,CACfuC,OAAMA,KAGRpL,KAAK8X,aAAc,EAGrB,OAAO9U,EAAKqJ,EAAOoE,wBAxBtBvH,KAAAA,+EAIcmP,KAAAA,OAAMlP,KAAA,CAACwO,qCAZbjG,OAAAA,UAkCTmG,EA1BA,GA4BA,SAASM,gBAAgB/M,EAAqBC,QAArB,IAAAD,IAAAA,EAAA,SAAqB,IAAAC,IAAAA,EAAA,QACtCiN,EAA6BlN,EAChCI,OAAM,SAACC,GACN,OAAO6B,IAAG,WAAO,OAAA7B,EAAM4J,KAAKjK,OAAOiG,KAAI,SAAC5P,GAAK,OAAAA,EAAE0N,OAAS1D,EAAM0D,SAAO,KAEtElC,OAAM,SAAEC,EAAKC,GAAQ,OAAAlI,SAAIiI,EAAQC,EAAIkI,KAAKjK,SAAS,IAEtDC,EAAWiN,EAAU9M,OAAM,SAACzG,GAAM,OAAAA,EAAG8M,cAC/B0G,EAAW,GAsBjB,OArBAnN,EACGI,OAAM,SAACC,GAAS,OAACA,EAAM4J,MAAQ,IAAIjK,SAAWK,EAAM+M,WAAa/M,EAAMgN,gBACvEzK,QAAO,SAACvC,OACDiN,EAAaJ,EAAUjH,KAAI,SAC/BsH,GAAO,OAAAA,EAAIxJ,KAAKmC,gBAAkB7F,EAAM0D,KAAKmC,eAAiBhE,IAAG,WAAO,OAAA7B,EAAM4J,KAAKjK,OAAOzK,SAAQ,KAE5FA,EAAA4X,EAAA5X,OAEJ+X,GACFH,EAAY/T,KAAKkU,GAGfH,EAAY5X,SAAWA,GACzB4X,EAAY/T,KAAI,CACd2K,KAAM1D,EAAM0D,KACZvI,KAAM0G,IAAG,WAAO,OAAA7B,EAAM4J,KAAKjK,OAAOxE,MAAM6E,EAAM0D,MAC9CzD,SAAUD,EAAM4J,KAAKjK,OAAOM,UAAY,OAKzC,CAAEN,OAAQwN,QAAQL,GAAclN,SAAQA,GAGjD,SAASuN,QAAQxN,EAAyB8D,GACxC,OAAIA,EAGK9D,EAAOU,IAAG,SAACL,GAAS,OAAArL,SAAA,GACtBqL,EAAK,CACRjD,IAAQ0G,EAAS,IAAIzD,EAAM0D,MACvB1D,EAAMC,UACRD,EAAMC,SAAS/K,QAAU,CACvB+K,SAAUkN,QAAQnN,EAAMC,SAAawD,EAAS,IAAIzD,EAAM0D,UAKzD/D,EAAOU,IAAG,SAACL,GAAS,OAAArL,SAAA,GACtBqL,EAAK,CACRjD,IAAK,IAAIiD,EAAM0D,MACX1D,EAAMC,UACRD,EAAMC,SAAS/K,QAAU,CACvB+K,SAAUkN,QAAQnN,EAAMC,SAAU,IAAID,EAAM0D,UCzFpD,IAAA0J,cAAA,WAQE,SAAAA,EAAoBlR,GAAA3H,KAAA2H,MAAAA,SAEpBkR,EAAA3Y,UAAAkM,OAAA,WACE,OAAOpM,KAAK2H,MAAMc,eAAeC,YAAY0D,SAG/CyM,EAAA3Y,UAAAuM,OAAA,SAAOnL,GACL,OAAOtB,KAAK2H,MAAMc,eAAeC,YAAY+D,OAAOnL,KAGtDuX,EAAA3Y,UAAA0M,QAAA,SAAQC,GACN,OAAO7M,KAAK2H,MAAMc,eAAeC,YAAYkE,QAAQC,KAGvDgM,EAAA3Y,UAAAmN,WAAA,SAAW/L,GACT,OAAOtB,KAAK2H,MAAMc,eAAeC,YAAY2E,WAAW/L,yBAnB3D4H,KAAAA,WAAUC,KAAA,CAAC,CACVC,WAAY,oDAJLE,MAAAA,+IADT,GCAA,IAAAwP,gBAAA,WAIA,SAAAA,IAIE9Y,KAAA+Y,gBAA0D,UAE1DD,EAAA5Y,UAAA8Y,KAAA,SACExQ,EACA1B,EACAmS,EACAC,EACAC,GALF,IAAA/Q,EAAApI,KAOE,QAJA,IAAAiZ,IAAAA,EAAA,SACA,IAAAC,IAAAA,EAAA,aACA,IAAAC,IAAAA,EAAA,YAEK3Q,GAAQyQ,EAAb,KASIG,EARE9X,EAAMkH,EAAMA,EAAI6Q,MAAM7Q,EAAI8Q,YAAY,KAAO,GAAKjK,OAExD,OAAIrP,KAAK+Y,gBAAgBzX,GAChBtB,KAAK+Y,gBAAgBzX,GAAKiY,gBAGnCvZ,KAAK+Y,gBAAgBzX,GAAO,IAAIkY,KAAAA,cAGnB,WAAT1S,IACFsS,EAAUK,SAASC,cAAc,WACzB5S,KAAO,kBACX0B,IACF,EAA+BmR,IAAMnR,GAGvC,EAA+BoR,KAAOX,GAC7BzQ,IACT4Q,EAAUK,SAASC,cAAc,SACzB5S,KAAO,WACf,EAA6B+S,IAAM,aAE/BrR,IACF,EAA6BsR,KAAOtR,KAGtC4Q,EAAUK,SAASC,cAAc,UACHK,YAAcd,EAG9CG,EAAQY,OAAM,WACZ5R,EAAK2Q,gBAAgBzX,GAAK0B,OAC1BoF,EAAK2Q,gBAAgBzX,GAAK6O,YAG5BsJ,SAASQ,cAAcf,GAAagB,sBAAsBf,EAAUC,GAE7DpZ,KAAK+Y,gBAAgBzX,GAAKiY,sCAnDpCrQ,KAAAA,WAAUC,KAAA,CAAC,CACVC,WAAY,qHALd,sCCOE,SAAA+Q,EAAoBxS,GAAA3H,KAAA2H,MAAAA,SAEpBwS,EAAAja,UAAAuJ,IAAA,SAAIoD,OAAc,IAAAsB,EAAA,GAAAC,EAAA,EAAAA,EAAA1N,UAAAC,OAAAyN,IAAAD,EAAAC,EAAA,GAAA1N,UAAA0N,GAChB,OAAOpO,KAAK2H,MAAM4L,OAAO7K,YAAYwF,QAAOrN,MAAnB6H,YAAWzD,SAAA,CAAS4H,GAASsB,MAGxDgM,EAAAja,UAAAka,QAAA,SAAQvN,OAAc,IAAAsB,EAAA,GAAAC,EAAA,EAAAA,EAAA1N,UAAAC,OAAAyN,IAAAD,EAAAC,EAAA,GAAA1N,UAAA0N,GACpB,OAAOpO,KAAK2H,MAAMc,eAAeC,YAAYwF,QAAOrN,MAAnB6H,YAAWzD,SAAA,CAAS4H,GAASsB,0BATjEjF,KAAAA,WAAUC,KAAA,CAAC,CAAEC,WAAY,oDAJjBE,MAAAA,kJCET,SAAgB+Q,mBAAmB9N,GACjC,OAAAnM,SAAA,GACKmM,GAIP,SAAgB+N,cAAcpS,GAC5B,OAAA9H,SAAA,GACK8H,GAIP,IAAaqS,YAAc,IAAI3C,KAAAA,eAAe,eAEjC4C,OAAS,IAAI5C,KAAAA,eAAe,sCCFvC,SAAA6C,EAAoB9S,GAAA3H,KAAA2H,MAAAA,EAJpB3H,KAAA8X,aAAuB,EA4BzB,OAtBE2C,EAAAva,UAAAwa,UAAA,SAAU5X,OAAV,IAAAsF,EAAApI,KAAyBmO,EAAA,GAAAC,EAAA,EAAAA,EAAA1N,UAAAC,OAAAyN,IAAAD,EAAAC,EAAA,GAAA1N,UAAA0N,GAkBvB,OAjBKpO,KAAK8X,cACR9X,KAAK8X,aAAc,EAEnB9X,KAAK2H,MACF4L,OACC7K,YAAYwF,QAAOrN,MAAnB6H,YAAWzD,SAAA,CACTnC,GACGqL,EAAkBlB,OAAM,SAAEC,EAAKC,GAAQ,OAACxN,MAAMoN,QAAQI,GAAIlI,SAAOiI,EAAQC,GAAGlI,SAAQiI,EAAG,CAAEC,KAAO,OAGtGrE,KACC+G,iBAAiB7P,MACjB2a,UAAAA,wBAEDnK,UAAS,SAACjC,GAAQ,OAACnG,EAAKtF,MAAQyL,KAG9BvO,KAAK8C,OAGd2X,EAAAva,UAAAqR,YAAA,iCAhCDqJ,KAAAA,KAAIzR,KAAA,CAAC,CACJvC,KAAM,kBACNiU,MAAM,+CAPCvR,MAAAA,SAsCTmR,KCvCA,IAAAK,4BAAA,WAaE,SAAAA,EAAoBzH,EAA6B0H,GAA7B/a,KAAAqT,SAAAA,EAA6BrT,KAAA+a,GAAAA,EAJxC/a,KAAAgb,SAAmB,IAEFhb,KAAAib,cAAgB,IAAIC,KAAAA,aAchD,OAVEJ,EAAA5a,UAAAoT,SAAA,WAAA,IAAAlL,EAAApI,KACEmb,KAAAA,UAAUnb,KAAK+a,GAAG3I,cAAe,SAC9BtJ,KACCsS,UAAAA,aAAapb,KAAKgb,UAClBnL,OAAAA,iBAAiB7P,OAElBwQ,UAAS,SAAEC,GACVrI,EAAK6S,cAAcI,KAAK5K,0BAjB/B6B,KAAAA,UAASnJ,KAAA,CAAC,CACTyE,SAAU,gEANgBgG,KAAAA,iBAAWrB,KAAAA,gDASpCC,KAAAA,6BAEA8I,KAAAA,OAAMnS,KAAA,CAAC,qBAcV2R,EAzBA,GCAA,IAAAS,mCAAA,WAUE,SAAAA,EAAoBlI,EAA6B0H,GAA7B/a,KAAAqT,SAAAA,EAA6BrT,KAAA+a,GAAAA,EAF3B/a,KAAAwb,cAAgB,IAAIN,KAAAA,aAY5C,OAREK,EAAArb,UAAAoT,SAAA,WAAA,IAAAlL,EAAApI,KACEmb,KAAAA,UAAUnb,KAAK+a,GAAG3I,cAAe,SAC9BtJ,KAAK+G,OAAAA,iBAAiB7P,OACtBwQ,UAAS,SAAEC,GACVA,EAAMgL,kBACNrT,EAAKoT,cAAcH,KAAK5K,0BAb/B6B,KAAAA,UAASnJ,KAAA,CAAC,CACTyE,SAAU,4DALkDgG,KAAAA,iBAA1CrB,KAAAA,qDAQjB+I,KAAAA,OAAMnS,KAAA,CAAC,iBAYVoS,EApBA,GCAA,IAAAG,WAAA,WAyBA,SAAAA,KAsEA,OA3BSA,EAAAC,QAAP,SAAe9S,GACb,YADa,IAAAA,IAAAA,EAAA,IACN,CACL+S,SAAUF,EACVG,UAAW,CACT,CACEC,QAASC,MAAAA,aACTC,SAAUnE,aACVoE,OAAO,GAET,CACEH,QAASnE,2BACTuE,SAAUrT,GAEZ,CACEiT,QAASK,KAAAA,kBACTH,SAAU1G,eACV2G,OAAO,GAET,CACEH,QAASM,KAAAA,gBACTH,OAAO,EACPI,KAAM,CAACC,KAAAA,UACPC,WAAY9M,uCAjErB+M,KAAAA,SAAQrT,KAAA,CAAC,CACRsT,QAAS,CACPC,MAAAA,WAAWC,WAAW,CAAC/S,aAAcgB,aAAclC,cACnDkU,cAAAA,wBAAwBjB,QAAQ,CAAEra,IAAK,iBACvCub,aAAAA,uBAAuBlB,UACvBmB,OAAAA,aACAC,KAAAA,iBACAC,MAAAA,YACAC,MAAAA,oBACAC,OAAAA,cAEFC,aAAc,CACZrL,sBACAzB,uBACA0B,mBACAU,kBACAgI,iBACArH,oBACAS,oBACAiH,4BACAS,oCAEF5W,QAAS,CACPmY,OAAAA,aACAC,KAAAA,iBACAC,MAAAA,YACAC,MAAAA,oBACAC,OAAAA,aACApL,sBACAzB,uBACA0B,mBACAU,kBACAgI,iBACArH,oBACAS,oBACAiH,4BACAL,iBACAc,oCAEFM,UAAW,CAACpB,kBACZ2C,gBAAiB,CAACtL,sBAAuBzB,4BA8B3CqL,EA/FA","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","import { ABP } from '../models';\n\nexport class PatchRouteByName {\n static readonly type = '[Config] Patch Route By Name';\n constructor(public name: string, public newValue: Partial) {}\n}\n\nexport class GetAppConfiguration {\n static readonly type = '[Config] Get App Configuration';\n}\n","import { HttpRequest } from '@angular/common/http';\n\nexport class StartLoader {\n static readonly type = '[Loader] Start';\n constructor(public payload: HttpRequest) {}\n}\n\nexport class StopLoader {\n static readonly type = '[Loader] Stop';\n constructor(public payload: HttpRequest) {}\n}\n","import { Profile } from '../models';\n\nexport class GetProfile {\n static readonly type = '[Profile] Get';\n}\n\nexport class UpdateProfile {\n static readonly type = '[Profile] Update';\n constructor(public payload: Profile.Response) {}\n}\n\nexport class ChangePassword {\n static readonly type = '[Profile] Change Password';\n constructor(public payload: Profile.ChangePasswordRequest) {}\n}\n","import { HttpErrorResponse } from '@angular/common/http';\n\nexport class RestOccurError {\n static readonly type = '[Rest] Error';\n constructor(public payload: HttpErrorResponse | any) {}\n}\n","import { ABP } from '../models';\n\nexport class SetLanguage {\n static readonly type = '[Session] Set Language';\n constructor(public payload: string) {}\n}\nexport class SetTenant {\n static readonly type = '[Session] Set Tenant';\n constructor(public payload: ABP.BasicItem) {}\n}\n","import { HttpClient, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { NEVER, Observable, throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport { Rest } from '../models/rest';\nimport { ConfigState } from '../states';\nimport { RestOccurError } from '../actions';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RestService {\n constructor(private http: HttpClient, private store: Store) {}\n\n handleError(err: any): Observable {\n this.store.dispatch(new RestOccurError(err));\n console.error(err);\n return NEVER;\n }\n\n request(request: HttpRequest | Rest.Request, config: Rest.Config = {}, api?: string): Observable {\n const { observe = Rest.Observe.Body, throwErr } = config;\n const url = api || this.store.selectSnapshot(ConfigState.getApiUrl()) + request.url;\n const { method, ...options } = request;\n return this.http.request(method, url, { observe, ...options } as any).pipe(\n observe === Rest.Observe.Body ? take(1) : null,\n catchError(err => {\n if (throwErr) {\n return throwError(err);\n }\n\n return this.handleError(err);\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService } from './rest.service';\nimport { Profile, Rest } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProfileService {\n constructor(private rest: RestService) {}\n\n get(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/my-profile',\n };\n\n return this.rest.request(request);\n }\n\n update(body: Profile.Response): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/identity/my-profile',\n body,\n };\n\n return this.rest.request(request);\n }\n\n changePassword(body: Profile.ChangePasswordRequest, throwErr: boolean = false): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/my-profile/change-password',\n body,\n };\n\n return this.rest.request(request, { throwErr });\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetProfile, ChangePassword, UpdateProfile } from '../actions/profile.actions';\nimport { Profile } from '../models/profile';\nimport { ProfileService } from '../services/profile.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'ProfileState',\n defaults: {} as Profile.State,\n})\nexport class ProfileState {\n @Selector()\n static getProfile({ profile }: Profile.State): Profile.Response {\n return profile;\n }\n\n constructor(private profileService: ProfileService) {}\n\n @Action(GetProfile)\n profileGet({ patchState }: StateContext) {\n return this.profileService.get().pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(UpdateProfile)\n profileUpdate({ patchState }: StateContext, { payload }: UpdateProfile) {\n return this.profileService.update(payload).pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(ChangePassword)\n changePassword(_, { payload }: ChangePassword) {\n return this.profileService.changePassword(payload, true);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ApplicationConfiguration, Rest } from '../models';\nimport { RestService } from './rest.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApplicationConfigurationService {\n constructor(private rest: RestService) {}\n\n getConfiguration(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/application-configuration',\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { SetLanguage, SetTenant } from '../actions/session.actions';\nimport { ABP, Session } from '../models';\n\n@State({\n name: 'SessionState',\n defaults: {} as Session.State,\n})\nexport class SessionState {\n @Selector()\n static getLanguage({ language }: Session.State): string {\n return language;\n }\n\n @Selector()\n static getTenant({ tenant }: Session.State): ABP.BasicItem {\n return tenant;\n }\n\n constructor() {}\n\n @Action(SetLanguage)\n setLanguage({ patchState }: StateContext, { payload }: SetLanguage) {\n patchState({\n language: payload,\n });\n }\n\n @Action(SetTenant)\n setTenantId({ patchState }: StateContext, { payload }: SetTenant) {\n patchState({\n tenant: payload,\n });\n }\n}\n","import { ABP } from '../models';\n\nexport function organizeRoutes(\n routes: ABP.FullRoute[],\n wrappers: ABP.FullRoute[] = [],\n parentNameArr = [] as ABP.FullRoute[],\n parentName: string = null,\n): ABP.FullRoute[] {\n const filter = route => {\n if (route.children && route.children.length) {\n route.children = organizeRoutes(route.children, wrappers, parentNameArr, route.name);\n }\n\n if (route.parentName && route.parentName !== parentName) {\n parentNameArr.push(route);\n return false;\n }\n\n return true;\n };\n\n if (parentName) {\n // recursive block\n return routes.filter(filter);\n }\n\n const filteredRoutes = routes.filter(filter);\n\n if (parentNameArr.length) {\n return sortRoutes(setChildRoute([...filteredRoutes, ...wrappers], parentNameArr));\n }\n\n return filteredRoutes;\n}\n\nexport function setChildRoute(routes: ABP.FullRoute[], parentNameArr: ABP.FullRoute[]): ABP.FullRoute[] {\n return routes.map(route => {\n if (route.children && route.children.length) {\n route.children = setChildRoute(route.children, parentNameArr);\n }\n\n const foundedChildren = parentNameArr.filter(parent => parent.parentName === route.name);\n if (foundedChildren && foundedChildren.length) {\n route.children = [...(route.children || []), ...foundedChildren];\n }\n\n return route;\n });\n}\n\nexport function sortRoutes(routes: ABP.FullRoute[] = []): ABP.FullRoute[] {\n if (!routes.length) return [];\n return routes\n .sort((a, b) => a.order - b.order)\n .map(route => {\n if (route.children && route.children.length) {\n route.children = sortRoutes(route.children);\n }\n\n return route;\n });\n}\n","import { State, Selector, createSelector, Action, StateContext, Store } from '@ngxs/store';\nimport { Config, ABP } from '../models';\nimport { GetAppConfiguration, PatchRouteByName } from '../actions/config.actions';\nimport { ApplicationConfigurationService } from '../services/application-configuration.service';\nimport { tap, switchMap } from 'rxjs/operators';\nimport snq from 'snq';\nimport { SetLanguage } from '../actions';\nimport { SessionState } from './session.state';\nimport { of } from 'rxjs';\nimport { setChildRoute, sortRoutes, organizeRoutes } from '../utils/route-utils';\n\n@State({\n name: 'ConfigState',\n defaults: {} as Config.State,\n})\nexport class ConfigState {\n @Selector()\n static getAll(state: Config.State) {\n return state;\n }\n\n @Selector()\n static getApplicationInfo(state: Config.State) {\n return state.environment.application || {};\n }\n\n static getOne(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return state[key];\n },\n );\n\n return selector;\n }\n\n static getDeep(keys: string[] | string) {\n if (typeof keys === 'string') {\n keys = keys.split('.');\n }\n\n if (!Array.isArray(keys)) {\n throw new Error('The argument must be a dot string or an string array.');\n }\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return (keys as string[]).reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state);\n },\n );\n\n return selector;\n }\n\n static getApiUrl(key?: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): string {\n return state.environment.apis[key || 'default'].url;\n },\n );\n\n return selector;\n }\n\n static getSetting(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return snq(() => state.setting.values[key]);\n },\n );\n\n return selector;\n }\n\n static getGrantedPolicy(condition: string = '') {\n const keys = condition\n .replace(/\\(|\\)|\\!|\\s/g, '')\n .split(/\\|\\||&&/)\n .filter(key => key);\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): boolean {\n if (!keys.length) return true;\n\n const getPolicy = key => snq(() => state.auth.grantedPolicies[key], false);\n if (keys.length > 1) {\n keys.forEach(key => {\n const value = getPolicy(key);\n condition = condition.replace(key, value);\n });\n\n // tslint:disable-next-line: no-eval\n return eval(`!!${condition}`);\n }\n\n return getPolicy(condition);\n },\n );\n\n return selector;\n }\n\n static getCopy(key: string, ...interpolateParams: string[]) {\n if (!key) key = '';\n\n const keys = key.split('::') as string[];\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n if (!state.localization) return key;\n\n const { defaultResourceName } = state.environment.localization;\n if (keys[0] === '') {\n if (!defaultResourceName) {\n throw new Error(\n `Please check your environment. May you forget set defaultResourceName? \n Here is the example:\n { production: false,\n localization: {\n defaultResourceName: 'MyProjectName'\n }\n }`,\n );\n }\n\n keys[0] = snq(() => defaultResourceName);\n }\n\n let copy = keys.reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state.localization.values);\n\n interpolateParams = interpolateParams.filter(params => params != null);\n if (copy && interpolateParams && interpolateParams.length) {\n interpolateParams.forEach(param => {\n copy = copy.replace(/[\\'\\\"]?\\{[\\d]+\\}[\\'\\\"]?/, param);\n });\n }\n\n return copy || key;\n },\n );\n\n return selector;\n }\n\n constructor(private appConfigurationService: ApplicationConfigurationService, private store: Store) {}\n\n @Action(GetAppConfiguration)\n addData({ patchState, dispatch }: StateContext) {\n return this.appConfigurationService.getConfiguration().pipe(\n tap(configuration =>\n patchState({\n ...configuration,\n }),\n ),\n switchMap(configuration =>\n this.store.selectSnapshot(SessionState.getLanguage)\n ? of(null)\n : dispatch(new SetLanguage(snq(() => configuration.setting.values['Abp.Localization.DefaultLanguage']))),\n ),\n );\n }\n\n @Action(PatchRouteByName)\n patchRoute({ patchState, getState }: StateContext, { name, newValue }: PatchRouteByName) {\n let routes: ABP.FullRoute[] = getState().routes;\n\n const index = routes.findIndex(route => route.name === name);\n\n routes = patchRouteDeep(routes, name, newValue);\n\n return patchState({\n routes,\n });\n }\n}\n\nfunction patchRouteDeep(\n routes: ABP.FullRoute[],\n name: string,\n newValue: Partial,\n parentUrl: string = null,\n): ABP.FullRoute[] {\n routes = routes.map(route => {\n if (route.name === name) {\n if (newValue.path) {\n newValue.url = `${parentUrl}/${newValue.path}`;\n }\n\n if (newValue.children && newValue.children.length) {\n newValue.children = newValue.children.map(child => ({\n ...child,\n url: `${parentUrl}/${route.path}/${child.path}`,\n }));\n }\n\n return { ...route, ...newValue };\n } else if (route.children && route.children.length) {\n route.children = patchRouteDeep(route.children, name, newValue, (parentUrl || '/') + route.path);\n }\n\n return route;\n });\n\n if (parentUrl) {\n // recursive block\n return routes;\n }\n\n return organizeRoutes(routes);\n}\n","export function uuid(a?: any): string {\n return a\n ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16)\n : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);\n}\n","import { Injector } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { GetAppConfiguration } from '../actions/config.actions';\n\nexport function getInitialData(injector: Injector) {\n const fn = function() {\n const store: Store = injector.get(Store);\n\n return store.dispatch(new GetAppConfiguration()).toPromise();\n };\n\n return fn;\n}\n","import { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n\nexport const takeUntilDestroy = (componentInstance, destroyMethodName = 'ngOnDestroy') => (\n source: Observable,\n) => {\n const originalDestroy = componentInstance[destroyMethodName];\n if (isFunction(originalDestroy) === false) {\n throw new Error(\n `${componentInstance.constructor.name} is using untilDestroyed but doesn't implement ${destroyMethodName}`,\n );\n }\n if (!componentInstance['__takeUntilDestroy']) {\n componentInstance['__takeUntilDestroy'] = new Subject();\n\n componentInstance[destroyMethodName] = function() {\n isFunction(originalDestroy) && originalDestroy.apply(this, arguments);\n componentInstance['__takeUntilDestroy'].next(true);\n componentInstance['__takeUntilDestroy'].complete();\n };\n }\n return source.pipe(takeUntil(componentInstance['__takeUntilDestroy']));\n};\n","import { Component, OnDestroy, Type } from '@angular/core';\nimport { NavigationEnd, Router, UrlSegment } from '@angular/router';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { eLayoutType } from '../enums';\nimport { ABP, Config } from '../models';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport snq from 'snq';\n\n@Component({\n selector: 'abp-dynamic-layout',\n template: `\n \n\n \n \n `,\n})\nexport class DynamicLayoutComponent implements OnDestroy {\n @Select(ConfigState.getOne('requirements'))\n requirements$: Observable;\n\n layout: Type;\n\n constructor(private router: Router, private store: Store) {\n this.router.events.pipe(takeUntilDestroy(this)).subscribe(event => {\n if (event instanceof NavigationEnd) {\n const { segments } = this.router.parseUrl(event.url).root.children.primary;\n const {\n requirements: { layouts },\n routes,\n } = this.store.selectSnapshot(ConfigState.getAll);\n\n const layout = findLayout(segments, routes);\n\n this.layout = layouts.filter(l => !!l).find(l => snq(() => l.type.toLowerCase().indexOf(layout), -1) > -1);\n }\n });\n }\n\n ngOnDestroy() {}\n}\n\nfunction findLayout(segments: UrlSegment[], routes: ABP.FullRoute[]): eLayoutType {\n let layout = eLayoutType.empty;\n\n const route = routes\n .reduce((acc, val) => (val.wrapper ? [...acc, ...val.children] : [...acc, val]), [])\n .find(r => r.path === segments[0].path);\n\n if (route) {\n if (route.layout) {\n layout = route.layout;\n }\n\n if (route.children && route.children.length && segments.length > 1) {\n const child = route.children.find(c => c.path === segments[1].path);\n\n if (child.layout) {\n layout = child.layout;\n }\n }\n }\n\n return layout;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-router-outlet',\n template: `\n \n `,\n})\nexport class RouterOutletComponent {}\n","import { Directive, ElementRef, Input, AfterViewInit } from '@angular/core';\n\n@Directive({\n selector: '[autofocus]',\n})\nexport class AutofocusDirective implements AfterViewInit {\n @Input('autofocus')\n delay: number = 0;\n\n constructor(private elRef: ElementRef) {}\n\n ngAfterViewInit(): void {\n setTimeout(() => this.elRef.nativeElement.focus(), this.delay);\n }\n}\n","import { AfterContentInit, ChangeDetectorRef, Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[abpEllipsis]',\n})\nexport class EllipsisDirective implements AfterContentInit {\n @Input('abpEllipsis')\n width: string;\n\n @HostBinding('title')\n @Input()\n title: string;\n\n @Input('abpEllipsisEnabled')\n enabled = true;\n\n @HostBinding('class.abp-ellipsis')\n get class() {\n return this.enabled;\n }\n\n @HostBinding('style.max-width')\n get maxWidth() {\n return this.enabled ? this.width || '170px' : undefined;\n }\n\n constructor(private cdRef: ChangeDetectorRef, private elRef: ElementRef) {}\n\n ngAfterContentInit() {\n setTimeout(() => {\n const title = this.title;\n this.title = title || (this.elRef.nativeElement as HTMLElement).innerText;\n\n if (this.title !== title) {\n this.cdRef.detectChanges();\n }\n }, 0);\n }\n}\n","import { Directive, ElementRef, Input, OnDestroy, OnInit, Optional, Renderer2 } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\n\n@Directive({\n selector: '[abpPermission]',\n})\nexport class PermissionDirective implements OnInit, OnDestroy {\n @Input('abpPermission') condition: string;\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2, private store: Store) {}\n\n ngOnInit() {\n if (this.condition) {\n this.store\n .select(ConfigState.getGrantedPolicy(this.condition))\n .pipe(takeUntilDestroy(this))\n .subscribe(isGranted => {\n if (!isGranted) {\n this.renderer.removeChild(\n (this.elRef.nativeElement as HTMLElement).parentElement,\n this.elRef.nativeElement,\n );\n }\n });\n }\n }\n\n ngOnDestroy(): void {}\n}\n","import { Directive, Input, Optional, ElementRef, Renderer2, AfterViewInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport snq from 'snq';\n\n@Directive({\n selector: '[abpVisibility]',\n})\nexport class VisibilityDirective implements AfterViewInit {\n @Input('abpVisibility')\n focusedElement: HTMLElement;\n\n completed$ = new Subject();\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2) {}\n\n ngAfterViewInit() {\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (!mutation.target) return;\n\n const htmlNodes = snq(\n () => Array.from(mutation.target.childNodes).filter(node => node instanceof HTMLElement),\n [],\n );\n\n if (!htmlNodes.length) {\n this.renderer.removeChild(this.elRef.nativeElement.parentElement, this.elRef.nativeElement);\n this.disconnect();\n } else {\n setTimeout(() => {\n this.disconnect();\n }, 0);\n }\n });\n });\n\n observer.observe(this.focusedElement, {\n childList: true,\n });\n\n this.completed$.subscribe(() => observer.disconnect());\n }\n\n disconnect() {\n this.completed$.next();\n this.completed$.complete();\n }\n}\n","export const enum eLayoutType {\n account = 'account',\n application = 'application',\n empty = 'empty',\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Observable } from 'rxjs';\nimport { Navigate } from '@ngxs/router-plugin';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuard implements CanActivate {\n constructor(private oauthService: OAuthService, private store: Store) {}\n canActivate(_: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean | UrlTree {\n const hasValidAccessToken = this.oauthService.hasValidAccessToken();\n if (hasValidAccessToken) {\n return hasValidAccessToken;\n }\n\n this.store.dispatch(new Navigate(['/account/login'], null, { state: { redirectUrl: state.url } }));\n\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionGuard implements CanActivate {\n constructor(private store: Store) {}\n\n canActivate({ data }: ActivatedRouteSnapshot): Observable {\n const resource = data.requiredPolicy as string;\n return this.store.select(ConfigState.getGrantedPolicy(resource));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Store } from '@ngxs/store';\nimport { SessionState } from '../states';\nimport { StartLoader, StopLoader } from '../actions/loader.actions';\nimport { finalize } from 'rxjs/operators';\n\n@Injectable()\nexport class ApiInterceptor implements HttpInterceptor {\n constructor(private oAuthService: OAuthService, private store: Store) {}\n\n intercept(request: HttpRequest, next: HttpHandler) {\n this.store.dispatch(new StartLoader(request));\n\n const headers = {} as any;\n\n const token = this.oAuthService.getAccessToken();\n if (!request.headers.has('Authorization') && token) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n const lang = this.store.selectSnapshot(SessionState.getLanguage);\n if (!request.headers.has('Accept-Language') && lang) {\n headers['Accept-Language'] = lang;\n }\n\n const tenant = this.store.selectSnapshot(SessionState.getTenant);\n if (!request.headers.has('__tenant') && tenant) {\n headers['__tenant'] = tenant.id;\n }\n\n return next\n .handle(\n request.clone({\n setHeaders: headers,\n }),\n )\n .pipe(finalize(() => this.store.dispatch(new StopLoader(request))));\n }\n}\n","export namespace ApplicationConfiguration {\n export interface Response {\n localization: Localization;\n auth: Auth;\n setting: Setting;\n currentUser: CurrentUser;\n features: Features;\n }\n\n export interface Localization {\n values: LocalizationValue;\n languages: Language[];\n }\n\n export interface LocalizationValue {\n [key: string]: { [key: string]: string };\n }\n\n export interface Language {\n cultureName: string;\n uiCultureName: string;\n displayName: string;\n flagIcon: string;\n }\n\n export interface Auth {\n policies: Policy;\n grantedPolicies: Policy;\n }\n\n export interface Policy {\n [key: string]: boolean;\n }\n\n export interface Setting {\n values: { [key: string]: 'Abp.Localization.DefaultLanguage' };\n }\n\n export interface CurrentUser {\n isAuthenticated: boolean;\n id: string;\n tenantId: string;\n userName: string;\n }\n\n export interface Features {\n values: Setting;\n }\n}\n","import { Config } from './config';\nimport { eLayoutType } from '../enums';\n\nexport namespace ABP {\n export interface Root {\n environment: Partial;\n requirements: Config.Requirements;\n }\n\n export type PagedResponse = {\n totalCount: number;\n } & PagedItemsResponse;\n\n export interface PagedItemsResponse {\n items: T[];\n }\n\n export interface PageQueryParams {\n filter?: string;\n sorting?: string;\n skipCount?: number;\n maxResultCount?: number;\n }\n\n export interface Route {\n children?: Route[];\n invisible?: boolean;\n layout?: eLayoutType;\n name: string;\n order?: number;\n parentName?: string;\n path: string;\n requiredPolicy?: string;\n iconClass?: string;\n }\n\n export interface FullRoute extends Route {\n url?: string;\n wrapper?: boolean;\n }\n\n export interface BasicItem {\n id: string;\n name: string;\n }\n}\n","import { AuthConfig } from 'angular-oauth2-oidc';\nimport { Type } from '@angular/core';\n\nexport namespace Config {\n export interface State {\n [key: string]: any;\n }\n\n export interface Environment {\n application: Application;\n production: boolean;\n oAuthConfig: AuthConfig;\n apis: Apis;\n }\n\n export interface Application {\n name: string;\n logoUrl?: string;\n }\n\n export interface Apis {\n [key: string]: { [key: string]: string };\n }\n\n export interface Requirements {\n layouts: Type[];\n }\n}\n","import { ABP } from '../models';\n\nexport namespace Session {\n export interface State {\n language: string;\n tenant: ABP.BasicItem;\n }\n}\n","export namespace Profile {\n export interface State {\n profile: Response;\n }\n\n export interface Response {\n userName: string;\n email: string;\n name: string;\n surname: string;\n phoneNumber: string;\n }\n\n export interface ChangePasswordRequest {\n currentPassword: string;\n newPassword: string;\n }\n}\n","import { HttpHeaders, HttpParams } from '@angular/common/http';\n\nexport namespace Rest {\n export interface Config {\n throwErr?: boolean;\n observe?: Observe;\n }\n\n export const enum Observe {\n Body = 'body',\n Events = 'events',\n Response = 'response',\n }\n\n export const enum ResponseType {\n ArrayBuffer = 'arraybuffer',\n Blob = 'blob',\n JSON = 'json',\n Text = 'text',\n }\n\n export interface Request {\n body?: T;\n headers?:\n | HttpHeaders\n | {\n [header: string]: string | string[];\n };\n method: string;\n params?:\n | HttpParams\n | {\n [param: string]: any;\n };\n reportProgress?: boolean;\n responseType?: ResponseType;\n url: string;\n withCredentials?: boolean;\n }\n}\n","import { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { Router, Routes } from '@angular/router';\nimport { actionMatcher, InitState, NgxsNextPluginFn, NgxsPlugin, setValue, UpdateState } from '@ngxs/store';\nimport snq from 'snq';\nimport { ABP } from '../models';\nimport { organizeRoutes } from '../utils/route-utils';\n\nexport const NGXS_CONFIG_PLUGIN_OPTIONS = new InjectionToken('NGXS_CONFIG_PLUGIN_OPTIONS');\n\n@Injectable()\nexport class ConfigPlugin implements NgxsPlugin {\n private initialized: boolean = false;\n\n constructor(@Inject(NGXS_CONFIG_PLUGIN_OPTIONS) private options: ABP.Root, private router: Router) {}\n\n handle(state: any, event: any, next: NgxsNextPluginFn) {\n const matches = actionMatcher(event);\n const isInitAction = matches(InitState) || matches(UpdateState);\n\n // const layouts = snq(() => this.options.requirements.layouts.filter(layout => layout instanceof Type), []);\n if (isInitAction && !this.initialized) {\n let { routes, wrappers } = transformRoutes(this.router.config);\n routes = organizeRoutes(routes, wrappers);\n\n state = setValue(state, 'ConfigState', {\n ...(state.ConfigState && { ...state.ConfigState }),\n ...this.options,\n routes,\n });\n\n this.initialized = true;\n }\n\n return next(state, event);\n }\n}\n\nfunction transformRoutes(routes: Routes = [], wrappers: ABP.FullRoute[] = []): any {\n const abpRoutes: ABP.FullRoute[] = routes\n .filter(route => {\n return snq(() => route.data.routes.find(r => r.path === route.path), false);\n })\n .reduce((acc, val) => [...acc, ...val.data.routes], []);\n\n wrappers = abpRoutes.filter(ar => ar.wrapper);\n const transformed = [] as ABP.FullRoute[];\n routes\n .filter(route => (route.data || {}).routes && (route.component || route.loadChildren))\n .forEach(route => {\n const abpPackage = abpRoutes.find(\n abp => abp.path.toLowerCase() === route.path.toLowerCase() && snq(() => route.data.routes.length, false),\n );\n const { length } = transformed;\n\n if (abpPackage) {\n transformed.push(abpPackage);\n }\n\n if (transformed.length === length) {\n transformed.push({\n path: route.path,\n name: snq(() => route.data.routes.name, route.path),\n children: route.data.routes.children || [],\n } as ABP.FullRoute);\n }\n });\n\n return { routes: setUrls(transformed), wrappers };\n}\n\nfunction setUrls(routes: ABP.FullRoute[], parentUrl?: string): ABP.FullRoute[] {\n if (parentUrl) {\n // this if block using for only recursive call\n\n return routes.map(route => ({\n ...route,\n url: `${parentUrl}/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `${parentUrl}/${route.path}`),\n }),\n }));\n }\n\n return routes.map(route => ({\n ...route,\n url: `/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `/${route.path}`),\n }),\n }));\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigService {\n constructor(private store: Store) {}\n\n getAll() {\n return this.store.selectSnapshot(ConfigState.getAll);\n }\n\n getOne(key: string) {\n return this.store.selectSnapshot(ConfigState.getOne(key));\n }\n\n getDeep(keys: string[] | string) {\n return this.store.selectSnapshot(ConfigState.getDeep(keys));\n }\n\n getSetting(key: string) {\n return this.store.selectSnapshot(ConfigState.getSetting(key));\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { uuid } from '../utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LazyLoadService {\n loadedLibraries: { [url: string]: ReplaySubject } = {};\n\n load(\n url: string,\n type: 'script' | 'style',\n content: string = '',\n targetQuery: string = 'body',\n position: InsertPosition = 'afterend',\n ): Observable {\n if (!url && !content) return;\n const key = url ? url.slice(url.lastIndexOf('/') + 1) : uuid();\n\n if (this.loadedLibraries[key]) {\n return this.loadedLibraries[key].asObservable();\n }\n\n this.loadedLibraries[key] = new ReplaySubject();\n\n let library;\n if (type === 'script') {\n library = document.createElement('script');\n library.type = 'text/javascript';\n if (url) {\n (library as HTMLScriptElement).src = url;\n }\n\n (library as HTMLScriptElement).text = content;\n } else if (url) {\n library = document.createElement('link');\n library.type = 'text/css';\n (library as HTMLLinkElement).rel = 'stylesheet';\n\n if (url) {\n (library as HTMLLinkElement).href = url;\n }\n } else {\n library = document.createElement('style');\n (library as HTMLStyleElement).textContent = content;\n }\n\n library.onload = () => {\n this.loadedLibraries[key].next();\n this.loadedLibraries[key].complete();\n };\n\n document.querySelector(targetQuery).insertAdjacentElement(position, library);\n\n return this.loadedLibraries[key].asObservable();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { Observable } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class LocalizationService {\n constructor(private store: Store) {}\n\n get(keys: string, ...interpolateParams: string[]): Observable {\n return this.store.select(ConfigState.getCopy(keys, ...interpolateParams));\n }\n\n instant(keys: string, ...interpolateParams: string[]): string {\n return this.store.selectSnapshot(ConfigState.getCopy(keys, ...interpolateParams));\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Config } from '../models';\n\nexport function environmentFactory(environment: Config.Environment) {\n return {\n ...environment,\n };\n}\n\nexport function configFactory(config: Config.Requirements) {\n return {\n ...config,\n };\n}\n\nexport const ENVIRONMENT = new InjectionToken('ENVIRONMENT');\n\nexport const CONFIG = new InjectionToken('CONFIG');\n","import { Pipe, PipeTransform, OnDestroy } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n@Pipe({\n name: 'abpLocalization',\n pure: false, // required to update the value\n})\nexport class LocalizationPipe implements PipeTransform, OnDestroy {\n initialized: boolean = false;\n\n value: string;\n\n constructor(private store: Store) {}\n\n transform(value: string, ...interpolateParams: string[]): string {\n if (!this.initialized) {\n this.initialized = true;\n\n this.store\n .select(\n ConfigState.getCopy(\n value,\n ...interpolateParams.reduce((acc, val) => (Array.isArray(val) ? [...acc, ...val] : [...acc, val]), []),\n ),\n )\n .pipe(\n takeUntilDestroy(this),\n distinctUntilChanged(),\n )\n .subscribe(copy => (this.value = copy));\n }\n\n return this.value;\n }\n\n ngOnDestroy() {}\n}\n","import { Directive, Output, Renderer2, ElementRef, OnInit, EventEmitter, Input } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[input.debounce]',\n})\nexport class InputEventDebounceDirective implements OnInit {\n @Input() debounce: number = 300;\n\n @Output('input.debounce') debounceEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'input')\n .pipe(\n debounceTime(this.debounce),\n takeUntilDestroy(this),\n )\n .subscribe((event: Event) => {\n this.debounceEvent.emit(event);\n });\n }\n}\n","import { Directive, ElementRef, EventEmitter, OnInit, Output, Renderer2 } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[click.stop]',\n})\nexport class ClickEventStopPropagationDirective implements OnInit {\n @Output('click.stop') stopPropEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'click')\n .pipe(takeUntilDestroy(this))\n .subscribe((event: MouseEvent) => {\n event.stopPropagation();\n this.stopPropEvent.emit(event);\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { NgxsRouterPluginModule } from '@ngxs/router-plugin';\nimport { NgxsStoragePluginModule } from '@ngxs/storage-plugin';\nimport { NgxsModule, NGXS_PLUGINS } from '@ngxs/store';\nimport { DynamicLayoutComponent } from './components/dynamic-layout.component';\nimport { RouterOutletComponent } from './components/router-outlet.component';\nimport { PermissionDirective } from './directives/permission.directive';\nimport { VisibilityDirective } from './directives/visibility.directive';\nimport { ApiInterceptor } from './interceptors/api.interceptor';\nimport { ABP } from './models/common';\nimport { LocalizationPipe } from './pipes/localization.pipe';\nimport { ConfigPlugin, NGXS_CONFIG_PLUGIN_OPTIONS } from './plugins/config.plugin';\nimport { ConfigState } from './states/config.state';\nimport { ProfileState } from './states/profile.state';\nimport { SessionState } from './states/session.state';\nimport { getInitialData } from './utils/initial-utils';\nimport { EllipsisDirective } from './directives/ellipsis.directive';\nimport { AutofocusDirective } from './directives/autofocus.directive';\nimport { InputEventDebounceDirective } from './directives/debounce.directive';\nimport { ClickEventStopPropagationDirective } from './directives/stop-propagation.directive';\n\n@NgModule({\n imports: [\n NgxsModule.forFeature([ProfileState, SessionState, ConfigState]),\n NgxsStoragePluginModule.forRoot({ key: 'SessionState' }),\n NgxsRouterPluginModule.forRoot(),\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n ],\n declarations: [\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n ClickEventStopPropagationDirective,\n ],\n exports: [\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n LocalizationPipe,\n ClickEventStopPropagationDirective,\n ],\n providers: [LocalizationPipe],\n entryComponents: [RouterOutletComponent, DynamicLayoutComponent],\n})\nexport class CoreModule {\n static forRoot(options = {} as ABP.Root): ModuleWithProviders {\n return {\n ngModule: CoreModule,\n providers: [\n {\n provide: NGXS_PLUGINS,\n useClass: ConfigPlugin,\n multi: true,\n },\n {\n provide: NGXS_CONFIG_PLUGIN_OPTIONS,\n useValue: options,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ApiInterceptor,\n multi: true,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector],\n useFactory: getInitialData,\n },\n ],\n };\n }\n}\n"]} \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/directives/ellipsis.directive.js b/npm/ng-packs/dist/core/esm2015/lib/directives/ellipsis.directive.js index 167f56f56e..c8f0e1201e 100644 --- a/npm/ng-packs/dist/core/esm2015/lib/directives/ellipsis.directive.js +++ b/npm/ng-packs/dist/core/esm2015/lib/directives/ellipsis.directive.js @@ -23,7 +23,7 @@ export class EllipsisDirective { * @return {?} */ get maxWidth() { - return this.enabled ? this.witdh || '160px' : undefined; + return this.enabled ? this.width || '170px' : undefined; } /** * @return {?} @@ -53,7 +53,7 @@ EllipsisDirective.ctorParameters = () => [ { type: ElementRef } ]; EllipsisDirective.propDecorators = { - witdh: [{ type: Input, args: ['abpEllipsis',] }], + width: [{ type: Input, args: ['abpEllipsis',] }], title: [{ type: HostBinding, args: ['title',] }, { type: Input }], enabled: [{ type: Input, args: ['abpEllipsisEnabled',] }], class: [{ type: HostBinding, args: ['class.abp-ellipsis',] }], @@ -61,7 +61,7 @@ EllipsisDirective.propDecorators = { }; if (false) { /** @type {?} */ - EllipsisDirective.prototype.witdh; + EllipsisDirective.prototype.width; /** @type {?} */ EllipsisDirective.prototype.title; /** @type {?} */ @@ -77,4 +77,4 @@ if (false) { */ EllipsisDirective.prototype.elRef; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxsaXBzaXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL2RpcmVjdGl2ZXMvZWxsaXBzaXMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQW9CLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUsvRyxNQUFNLE9BQU8saUJBQWlCOzs7OztJQXFCNUIsWUFBb0IsS0FBd0IsRUFBVSxLQUFpQjtRQUFuRCxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUFVLFVBQUssR0FBTCxLQUFLLENBQVk7UUFadkUsWUFBTyxHQUFHLElBQUksQ0FBQztJQVkyRCxDQUFDOzs7O0lBVjNFLElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDOzs7O0lBRUQsSUFDSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzFELENBQUM7Ozs7SUFJRCxrQkFBa0I7UUFDaEIsVUFBVTs7O1FBQUMsR0FBRyxFQUFFOztrQkFDUixLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUs7WUFDeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLElBQUksQ0FBQyxtQkFBQSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBZSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBRTFFLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7YUFDNUI7UUFDSCxDQUFDLEdBQUUsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDOzs7WUFuQ0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxlQUFlO2FBQzFCOzs7O1lBSjBCLGlCQUFpQjtZQUFhLFVBQVU7OztvQkFNaEUsS0FBSyxTQUFDLGFBQWE7b0JBR25CLFdBQVcsU0FBQyxPQUFPLGNBQ25CLEtBQUs7c0JBR0wsS0FBSyxTQUFDLG9CQUFvQjtvQkFHMUIsV0FBVyxTQUFDLG9CQUFvQjt1QkFLaEMsV0FBVyxTQUFDLGlCQUFpQjs7OztJQWY5QixrQ0FDYzs7SUFFZCxrQ0FFYzs7SUFFZCxvQ0FDZTs7Ozs7SUFZSCxrQ0FBZ0M7Ozs7O0lBQUUsa0NBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thYnBFbGxpcHNpc10nLFxufSlcbmV4cG9ydCBjbGFzcyBFbGxpcHNpc0RpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICBASW5wdXQoJ2FicEVsbGlwc2lzJylcbiAgd2l0ZGg6IHN0cmluZztcblxuICBASG9zdEJpbmRpbmcoJ3RpdGxlJylcbiAgQElucHV0KClcbiAgdGl0bGU6IHN0cmluZztcblxuICBASW5wdXQoJ2FicEVsbGlwc2lzRW5hYmxlZCcpXG4gIGVuYWJsZWQgPSB0cnVlO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYWJwLWVsbGlwc2lzJylcbiAgZ2V0IGNsYXNzKCkge1xuICAgIHJldHVybiB0aGlzLmVuYWJsZWQ7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1heC13aWR0aCcpXG4gIGdldCBtYXhXaWR0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbmFibGVkID8gdGhpcy53aXRkaCB8fCAnMTYwcHgnIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWYpIHt9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY29uc3QgdGl0bGUgPSB0aGlzLnRpdGxlO1xuICAgICAgdGhpcy50aXRsZSA9IHRpdGxlIHx8ICh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLmlubmVyVGV4dDtcblxuICAgICAgaWYgKHRoaXMudGl0bGUgIT09IHRpdGxlKSB7XG4gICAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfVxuICAgIH0sIDApO1xuICB9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxsaXBzaXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL2RpcmVjdGl2ZXMvZWxsaXBzaXMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQW9CLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUsvRyxNQUFNLE9BQU8saUJBQWlCOzs7OztJQXFCNUIsWUFBb0IsS0FBd0IsRUFBVSxLQUFpQjtRQUFuRCxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUFVLFVBQUssR0FBTCxLQUFLLENBQVk7UUFadkUsWUFBTyxHQUFHLElBQUksQ0FBQztJQVkyRCxDQUFDOzs7O0lBVjNFLElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDOzs7O0lBRUQsSUFDSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzFELENBQUM7Ozs7SUFJRCxrQkFBa0I7UUFDaEIsVUFBVTs7O1FBQUMsR0FBRyxFQUFFOztrQkFDUixLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUs7WUFDeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLElBQUksQ0FBQyxtQkFBQSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBZSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBRTFFLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7YUFDNUI7UUFDSCxDQUFDLEdBQUUsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDOzs7WUFuQ0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxlQUFlO2FBQzFCOzs7O1lBSjBCLGlCQUFpQjtZQUFhLFVBQVU7OztvQkFNaEUsS0FBSyxTQUFDLGFBQWE7b0JBR25CLFdBQVcsU0FBQyxPQUFPLGNBQ25CLEtBQUs7c0JBR0wsS0FBSyxTQUFDLG9CQUFvQjtvQkFHMUIsV0FBVyxTQUFDLG9CQUFvQjt1QkFLaEMsV0FBVyxTQUFDLGlCQUFpQjs7OztJQWY5QixrQ0FDYzs7SUFFZCxrQ0FFYzs7SUFFZCxvQ0FDZTs7Ozs7SUFZSCxrQ0FBZ0M7Ozs7O0lBQUUsa0NBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thYnBFbGxpcHNpc10nLFxufSlcbmV4cG9ydCBjbGFzcyBFbGxpcHNpc0RpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICBASW5wdXQoJ2FicEVsbGlwc2lzJylcbiAgd2lkdGg6IHN0cmluZztcblxuICBASG9zdEJpbmRpbmcoJ3RpdGxlJylcbiAgQElucHV0KClcbiAgdGl0bGU6IHN0cmluZztcblxuICBASW5wdXQoJ2FicEVsbGlwc2lzRW5hYmxlZCcpXG4gIGVuYWJsZWQgPSB0cnVlO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYWJwLWVsbGlwc2lzJylcbiAgZ2V0IGNsYXNzKCkge1xuICAgIHJldHVybiB0aGlzLmVuYWJsZWQ7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1heC13aWR0aCcpXG4gIGdldCBtYXhXaWR0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbmFibGVkID8gdGhpcy53aWR0aCB8fCAnMTcwcHgnIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWYpIHt9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY29uc3QgdGl0bGUgPSB0aGlzLnRpdGxlO1xuICAgICAgdGhpcy50aXRsZSA9IHRpdGxlIHx8ICh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLmlubmVyVGV4dDtcblxuICAgICAgaWYgKHRoaXMudGl0bGUgIT09IHRpdGxlKSB7XG4gICAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfVxuICAgIH0sIDApO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/states/config.state.js b/npm/ng-packs/dist/core/esm2015/lib/states/config.state.js index 13a8d7d106..36ad767d9b 100644 --- a/npm/ng-packs/dist/core/esm2015/lib/states/config.state.js +++ b/npm/ng-packs/dist/core/esm2015/lib/states/config.state.js @@ -1,9 +1,9 @@ -import * as tslib_1 from "tslib"; var ConfigState_1; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ +import * as tslib_1 from "tslib"; import { State, Selector, createSelector, Action, Store } from '@ngxs/store'; import { GetAppConfiguration, PatchRouteByName } from '../actions/config.actions'; import { ApplicationConfigurationService } from '../services/application-configuration.service'; diff --git a/npm/ng-packs/dist/core/esm5/lib/directives/ellipsis.directive.js b/npm/ng-packs/dist/core/esm5/lib/directives/ellipsis.directive.js index 974ff3259e..baf8f33d3a 100644 --- a/npm/ng-packs/dist/core/esm5/lib/directives/ellipsis.directive.js +++ b/npm/ng-packs/dist/core/esm5/lib/directives/ellipsis.directive.js @@ -24,7 +24,7 @@ var EllipsisDirective = /** @class */ (function () { * @return {?} */ function () { - return this.enabled ? this.witdh || '160px' : undefined; + return this.enabled ? this.width || '170px' : undefined; }, enumerable: true, configurable: true @@ -60,7 +60,7 @@ var EllipsisDirective = /** @class */ (function () { { type: ElementRef } ]; }; EllipsisDirective.propDecorators = { - witdh: [{ type: Input, args: ['abpEllipsis',] }], + width: [{ type: Input, args: ['abpEllipsis',] }], title: [{ type: HostBinding, args: ['title',] }, { type: Input }], enabled: [{ type: Input, args: ['abpEllipsisEnabled',] }], class: [{ type: HostBinding, args: ['class.abp-ellipsis',] }], @@ -71,7 +71,7 @@ var EllipsisDirective = /** @class */ (function () { export { EllipsisDirective }; if (false) { /** @type {?} */ - EllipsisDirective.prototype.witdh; + EllipsisDirective.prototype.width; /** @type {?} */ EllipsisDirective.prototype.title; /** @type {?} */ @@ -87,4 +87,4 @@ if (false) { */ EllipsisDirective.prototype.elRef; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxsaXBzaXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL2RpcmVjdGl2ZXMvZWxsaXBzaXMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQW9CLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRztJQXdCRSwyQkFBb0IsS0FBd0IsRUFBVSxLQUFpQjtRQUFuRCxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUFVLFVBQUssR0FBTCxLQUFLLENBQVk7UUFadkUsWUFBTyxHQUFHLElBQUksQ0FBQztJQVkyRCxDQUFDO0lBVjNFLHNCQUNJLG9DQUFLOzs7O1FBRFQ7WUFFRSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDdEIsQ0FBQzs7O09BQUE7SUFFRCxzQkFDSSx1Q0FBUTs7OztRQURaO1lBRUUsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQzFELENBQUM7OztPQUFBOzs7O0lBSUQsOENBQWtCOzs7SUFBbEI7UUFBQSxpQkFTQztRQVJDLFVBQVU7OztRQUFDOztnQkFDSCxLQUFLLEdBQUcsS0FBSSxDQUFDLEtBQUs7WUFDeEIsS0FBSSxDQUFDLEtBQUssR0FBRyxLQUFLLElBQUksQ0FBQyxtQkFBQSxLQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBZSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBRTFFLElBQUksS0FBSSxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUU7Z0JBQ3hCLEtBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7YUFDNUI7UUFDSCxDQUFDLEdBQUUsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDOztnQkFuQ0YsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO2lCQUMxQjs7OztnQkFKMEIsaUJBQWlCO2dCQUFhLFVBQVU7Ozt3QkFNaEUsS0FBSyxTQUFDLGFBQWE7d0JBR25CLFdBQVcsU0FBQyxPQUFPLGNBQ25CLEtBQUs7MEJBR0wsS0FBSyxTQUFDLG9CQUFvQjt3QkFHMUIsV0FBVyxTQUFDLG9CQUFvQjsyQkFLaEMsV0FBVyxTQUFDLGlCQUFpQjs7SUFpQmhDLHdCQUFDO0NBQUEsQUFwQ0QsSUFvQ0M7U0FqQ1ksaUJBQWlCOzs7SUFDNUIsa0NBQ2M7O0lBRWQsa0NBRWM7O0lBRWQsb0NBQ2U7Ozs7O0lBWUgsa0NBQWdDOzs7OztJQUFFLGtDQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIENoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYWJwRWxsaXBzaXNdJyxcbn0pXG5leHBvcnQgY2xhc3MgRWxsaXBzaXNEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgQElucHV0KCdhYnBFbGxpcHNpcycpXG4gIHdpdGRoOiBzdHJpbmc7XG5cbiAgQEhvc3RCaW5kaW5nKCd0aXRsZScpXG4gIEBJbnB1dCgpXG4gIHRpdGxlOiBzdHJpbmc7XG5cbiAgQElucHV0KCdhYnBFbGxpcHNpc0VuYWJsZWQnKVxuICBlbmFibGVkID0gdHJ1ZTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFicC1lbGxpcHNpcycpXG4gIGdldCBjbGFzcygpIHtcbiAgICByZXR1cm4gdGhpcy5lbmFibGVkO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5tYXgtd2lkdGgnKVxuICBnZXQgbWF4V2lkdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuZW5hYmxlZCA/IHRoaXMud2l0ZGggfHwgJzE2MHB4JyA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIGVsUmVmOiBFbGVtZW50UmVmKSB7fVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbnN0IHRpdGxlID0gdGhpcy50aXRsZTtcbiAgICAgIHRoaXMudGl0bGUgPSB0aXRsZSB8fCAodGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5pbm5lclRleHQ7XG5cbiAgICAgIGlmICh0aGlzLnRpdGxlICE9PSB0aXRsZSkge1xuICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH1cbiAgICB9LCAwKTtcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxsaXBzaXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL2RpcmVjdGl2ZXMvZWxsaXBzaXMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQW9CLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRztJQXdCRSwyQkFBb0IsS0FBd0IsRUFBVSxLQUFpQjtRQUFuRCxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUFVLFVBQUssR0FBTCxLQUFLLENBQVk7UUFadkUsWUFBTyxHQUFHLElBQUksQ0FBQztJQVkyRCxDQUFDO0lBVjNFLHNCQUNJLG9DQUFLOzs7O1FBRFQ7WUFFRSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDdEIsQ0FBQzs7O09BQUE7SUFFRCxzQkFDSSx1Q0FBUTs7OztRQURaO1lBRUUsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQzFELENBQUM7OztPQUFBOzs7O0lBSUQsOENBQWtCOzs7SUFBbEI7UUFBQSxpQkFTQztRQVJDLFVBQVU7OztRQUFDOztnQkFDSCxLQUFLLEdBQUcsS0FBSSxDQUFDLEtBQUs7WUFDeEIsS0FBSSxDQUFDLEtBQUssR0FBRyxLQUFLLElBQUksQ0FBQyxtQkFBQSxLQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBZSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBRTFFLElBQUksS0FBSSxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUU7Z0JBQ3hCLEtBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7YUFDNUI7UUFDSCxDQUFDLEdBQUUsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDOztnQkFuQ0YsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO2lCQUMxQjs7OztnQkFKMEIsaUJBQWlCO2dCQUFhLFVBQVU7Ozt3QkFNaEUsS0FBSyxTQUFDLGFBQWE7d0JBR25CLFdBQVcsU0FBQyxPQUFPLGNBQ25CLEtBQUs7MEJBR0wsS0FBSyxTQUFDLG9CQUFvQjt3QkFHMUIsV0FBVyxTQUFDLG9CQUFvQjsyQkFLaEMsV0FBVyxTQUFDLGlCQUFpQjs7SUFpQmhDLHdCQUFDO0NBQUEsQUFwQ0QsSUFvQ0M7U0FqQ1ksaUJBQWlCOzs7SUFDNUIsa0NBQ2M7O0lBRWQsa0NBRWM7O0lBRWQsb0NBQ2U7Ozs7O0lBWUgsa0NBQWdDOzs7OztJQUFFLGtDQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIENoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYWJwRWxsaXBzaXNdJyxcbn0pXG5leHBvcnQgY2xhc3MgRWxsaXBzaXNEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgQElucHV0KCdhYnBFbGxpcHNpcycpXG4gIHdpZHRoOiBzdHJpbmc7XG5cbiAgQEhvc3RCaW5kaW5nKCd0aXRsZScpXG4gIEBJbnB1dCgpXG4gIHRpdGxlOiBzdHJpbmc7XG5cbiAgQElucHV0KCdhYnBFbGxpcHNpc0VuYWJsZWQnKVxuICBlbmFibGVkID0gdHJ1ZTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFicC1lbGxpcHNpcycpXG4gIGdldCBjbGFzcygpIHtcbiAgICByZXR1cm4gdGhpcy5lbmFibGVkO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5tYXgtd2lkdGgnKVxuICBnZXQgbWF4V2lkdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuZW5hYmxlZCA/IHRoaXMud2lkdGggfHwgJzE3MHB4JyA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIGVsUmVmOiBFbGVtZW50UmVmKSB7fVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbnN0IHRpdGxlID0gdGhpcy50aXRsZTtcbiAgICAgIHRoaXMudGl0bGUgPSB0aXRsZSB8fCAodGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5pbm5lclRleHQ7XG5cbiAgICAgIGlmICh0aGlzLnRpdGxlICE9PSB0aXRsZSkge1xuICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH1cbiAgICB9LCAwKTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/core/fesm2015/abp-ng.core.js b/npm/ng-packs/dist/core/fesm2015/abp-ng.core.js index 7b1d3a94bf..4d35034c0b 100644 --- a/npm/ng-packs/dist/core/fesm2015/abp-ng.core.js +++ b/npm/ng-packs/dist/core/fesm2015/abp-ng.core.js @@ -28,9 +28,21 @@ class PatchRouteByName { } } PatchRouteByName.type = '[Config] Patch Route By Name'; +if (false) { + /** @type {?} */ + PatchRouteByName.type; + /** @type {?} */ + PatchRouteByName.prototype.name; + /** @type {?} */ + PatchRouteByName.prototype.newValue; +} class GetAppConfiguration { } GetAppConfiguration.type = '[Config] Get App Configuration'; +if (false) { + /** @type {?} */ + GetAppConfiguration.type; +} /** * @fileoverview added by tsickle @@ -45,6 +57,12 @@ class StartLoader { } } StartLoader.type = '[Loader] Start'; +if (false) { + /** @type {?} */ + StartLoader.type; + /** @type {?} */ + StartLoader.prototype.payload; +} class StopLoader { /** * @param {?} payload @@ -54,6 +72,12 @@ class StopLoader { } } StopLoader.type = '[Loader] Stop'; +if (false) { + /** @type {?} */ + StopLoader.type; + /** @type {?} */ + StopLoader.prototype.payload; +} /** * @fileoverview added by tsickle @@ -62,6 +86,10 @@ StopLoader.type = '[Loader] Stop'; class GetProfile { } GetProfile.type = '[Profile] Get'; +if (false) { + /** @type {?} */ + GetProfile.type; +} class UpdateProfile { /** * @param {?} payload @@ -71,6 +99,12 @@ class UpdateProfile { } } UpdateProfile.type = '[Profile] Update'; +if (false) { + /** @type {?} */ + UpdateProfile.type; + /** @type {?} */ + UpdateProfile.prototype.payload; +} class ChangePassword { /** * @param {?} payload @@ -80,6 +114,12 @@ class ChangePassword { } } ChangePassword.type = '[Profile] Change Password'; +if (false) { + /** @type {?} */ + ChangePassword.type; + /** @type {?} */ + ChangePassword.prototype.payload; +} /** * @fileoverview added by tsickle @@ -94,6 +134,12 @@ class RestOccurError { } } RestOccurError.type = '[Rest] Error'; +if (false) { + /** @type {?} */ + RestOccurError.type; + /** @type {?} */ + RestOccurError.prototype.payload; +} /** * @fileoverview added by tsickle @@ -108,6 +154,12 @@ class SetLanguage { } } SetLanguage.type = '[Session] Set Language'; +if (false) { + /** @type {?} */ + SetLanguage.type; + /** @type {?} */ + SetLanguage.prototype.payload; +} class SetTenant { /** * @param {?} payload @@ -117,6 +169,17 @@ class SetTenant { } } SetTenant.type = '[Session] Set Tenant'; +if (false) { + /** @type {?} */ + SetTenant.type; + /** @type {?} */ + SetTenant.prototype.payload; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ /** * @fileoverview added by tsickle @@ -175,6 +238,18 @@ RestService.ctorParameters = () => [ { type: Store } ]; /** @nocollapse */ RestService.ngInjectableDef = ɵɵdefineInjectable({ factory: function RestService_Factory() { return new RestService(ɵɵinject(HttpClient), ɵɵinject(Store)); }, token: RestService, providedIn: "root" }); +if (false) { + /** + * @type {?} + * @private + */ + RestService.prototype.http; + /** + * @type {?} + * @private + */ + RestService.prototype.store; +} /** * @fileoverview added by tsickle @@ -236,6 +311,13 @@ ProfileService.ctorParameters = () => [ { type: RestService } ]; /** @nocollapse */ ProfileService.ngInjectableDef = ɵɵdefineInjectable({ factory: function ProfileService_Factory() { return new ProfileService(ɵɵinject(RestService)); }, token: ProfileService, providedIn: "root" }); +if (false) { + /** + * @type {?} + * @private + */ + ProfileService.prototype.rest; +} /** * @fileoverview added by tsickle @@ -322,6 +404,13 @@ ProfileState = __decorate([ }), __metadata("design:paramtypes", [ProfileService]) ], ProfileState); +if (false) { + /** + * @type {?} + * @private + */ + ProfileState.prototype.profileService; +} /** * @fileoverview added by tsickle @@ -356,6 +445,13 @@ ApplicationConfigurationService.ctorParameters = () => [ { type: RestService } ]; /** @nocollapse */ ApplicationConfigurationService.ngInjectableDef = ɵɵdefineInjectable({ factory: function ApplicationConfigurationService_Factory() { return new ApplicationConfigurationService(ɵɵinject(RestService)); }, token: ApplicationConfigurationService, providedIn: "root" }); +if (false) { + /** + * @type {?} + * @private + */ + ApplicationConfigurationService.prototype.rest; +} /** * @fileoverview added by tsickle @@ -806,6 +902,18 @@ ConfigState = ConfigState_1 = __decorate([ }), __metadata("design:paramtypes", [ApplicationConfigurationService, Store]) ], ConfigState); +if (false) { + /** + * @type {?} + * @private + */ + ConfigState.prototype.appConfigurationService; + /** + * @type {?} + * @private + */ + ConfigState.prototype.store; +} /** * @param {?} routes * @param {?} name @@ -844,6 +952,11 @@ function patchRouteDeep(routes, name, newValue, parentUrl = null) { return organizeRoutes(routes); } +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -921,6 +1034,11 @@ const takeUntilDestroy = (/** return source.pipe(takeUntil(componentInstance['__takeUntilDestroy'])); })); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -983,6 +1101,22 @@ __decorate([ Select(ConfigState.getOne('requirements')), __metadata("design:type", Observable) ], DynamicLayoutComponent.prototype, "requirements$", void 0); +if (false) { + /** @type {?} */ + DynamicLayoutComponent.prototype.requirements$; + /** @type {?} */ + DynamicLayoutComponent.prototype.layout; + /** + * @type {?} + * @private + */ + DynamicLayoutComponent.prototype.router; + /** + * @type {?} + * @private + */ + DynamicLayoutComponent.prototype.store; +} /** * @param {?} segments * @param {?} routes @@ -1038,6 +1172,11 @@ RouterOutletComponent.decorators = [ }] } ]; +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1072,6 +1211,15 @@ AutofocusDirective.ctorParameters = () => [ AutofocusDirective.propDecorators = { delay: [{ type: Input, args: ['autofocus',] }] }; +if (false) { + /** @type {?} */ + AutofocusDirective.prototype.delay; + /** + * @type {?} + * @private + */ + AutofocusDirective.prototype.elRef; +} /** * @fileoverview added by tsickle @@ -1097,7 +1245,7 @@ class EllipsisDirective { * @return {?} */ get maxWidth() { - return this.enabled ? this.witdh || '160px' : undefined; + return this.enabled ? this.width || '170px' : undefined; } /** * @return {?} @@ -1127,12 +1275,30 @@ EllipsisDirective.ctorParameters = () => [ { type: ElementRef } ]; EllipsisDirective.propDecorators = { - witdh: [{ type: Input, args: ['abpEllipsis',] }], + width: [{ type: Input, args: ['abpEllipsis',] }], title: [{ type: HostBinding, args: ['title',] }, { type: Input }], enabled: [{ type: Input, args: ['abpEllipsisEnabled',] }], class: [{ type: HostBinding, args: ['class.abp-ellipsis',] }], maxWidth: [{ type: HostBinding, args: ['style.max-width',] }] }; +if (false) { + /** @type {?} */ + EllipsisDirective.prototype.width; + /** @type {?} */ + EllipsisDirective.prototype.title; + /** @type {?} */ + EllipsisDirective.prototype.enabled; + /** + * @type {?} + * @private + */ + EllipsisDirective.prototype.cdRef; + /** + * @type {?} + * @private + */ + EllipsisDirective.prototype.elRef; +} /** * @fileoverview added by tsickle @@ -1187,6 +1353,25 @@ PermissionDirective.ctorParameters = () => [ PermissionDirective.propDecorators = { condition: [{ type: Input, args: ['abpPermission',] }] }; +if (false) { + /** @type {?} */ + PermissionDirective.prototype.condition; + /** + * @type {?} + * @private + */ + PermissionDirective.prototype.elRef; + /** + * @type {?} + * @private + */ + PermissionDirective.prototype.renderer; + /** + * @type {?} + * @private + */ + PermissionDirective.prototype.store; +} /** * @fileoverview added by tsickle @@ -1271,6 +1456,43 @@ VisibilityDirective.ctorParameters = () => [ VisibilityDirective.propDecorators = { focusedElement: [{ type: Input, args: ['abpVisibility',] }] }; +if (false) { + /** @type {?} */ + VisibilityDirective.prototype.focusedElement; + /** @type {?} */ + VisibilityDirective.prototype.completed$; + /** + * @type {?} + * @private + */ + VisibilityDirective.prototype.elRef; + /** + * @type {?} + * @private + */ + VisibilityDirective.prototype.renderer; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +/** @enum {string} */ +const eLayoutType = { + account: 'account', + application: 'application', + empty: 'empty', +}; + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ /** * @fileoverview added by tsickle @@ -1311,6 +1533,18 @@ AuthGuard.ctorParameters = () => [ { type: Store } ]; /** @nocollapse */ AuthGuard.ngInjectableDef = ɵɵdefineInjectable({ factory: function AuthGuard_Factory() { return new AuthGuard(ɵɵinject(OAuthService), ɵɵinject(Store)); }, token: AuthGuard, providedIn: "root" }); +if (false) { + /** + * @type {?} + * @private + */ + AuthGuard.prototype.oauthService; + /** + * @type {?} + * @private + */ + AuthGuard.prototype.store; +} /** * @fileoverview added by tsickle @@ -1343,6 +1577,18 @@ PermissionGuard.ctorParameters = () => [ { type: Store } ]; /** @nocollapse */ PermissionGuard.ngInjectableDef = ɵɵdefineInjectable({ factory: function PermissionGuard_Factory() { return new PermissionGuard(ɵɵinject(Store)); }, token: PermissionGuard, providedIn: "root" }); +if (false) { + /** + * @type {?} + * @private + */ + PermissionGuard.prototype.store; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ /** * @fileoverview added by tsickle @@ -1399,6 +1645,272 @@ ApiInterceptor.ctorParameters = () => [ { type: OAuthService }, { type: Store } ]; +if (false) { + /** + * @type {?} + * @private + */ + ApiInterceptor.prototype.oAuthService; + /** + * @type {?} + * @private + */ + ApiInterceptor.prototype.store; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var ApplicationConfiguration; +(function (ApplicationConfiguration) { + /** + * @record + */ + function Response() { } + ApplicationConfiguration.Response = Response; + if (false) { + /** @type {?} */ + Response.prototype.localization; + /** @type {?} */ + Response.prototype.auth; + /** @type {?} */ + Response.prototype.setting; + /** @type {?} */ + Response.prototype.currentUser; + /** @type {?} */ + Response.prototype.features; + } + /** + * @record + */ + function Localization() { } + ApplicationConfiguration.Localization = Localization; + if (false) { + /** @type {?} */ + Localization.prototype.values; + /** @type {?} */ + Localization.prototype.languages; + } + /** + * @record + */ + function LocalizationValue() { } + ApplicationConfiguration.LocalizationValue = LocalizationValue; + /** + * @record + */ + function Language() { } + ApplicationConfiguration.Language = Language; + if (false) { + /** @type {?} */ + Language.prototype.cultureName; + /** @type {?} */ + Language.prototype.uiCultureName; + /** @type {?} */ + Language.prototype.displayName; + /** @type {?} */ + Language.prototype.flagIcon; + } + /** + * @record + */ + function Auth() { } + ApplicationConfiguration.Auth = Auth; + if (false) { + /** @type {?} */ + Auth.prototype.policies; + /** @type {?} */ + Auth.prototype.grantedPolicies; + } + /** + * @record + */ + function Policy() { } + ApplicationConfiguration.Policy = Policy; + /** + * @record + */ + function Setting() { } + ApplicationConfiguration.Setting = Setting; + if (false) { + /** @type {?} */ + Setting.prototype.values; + } + /** + * @record + */ + function CurrentUser() { } + ApplicationConfiguration.CurrentUser = CurrentUser; + if (false) { + /** @type {?} */ + CurrentUser.prototype.isAuthenticated; + /** @type {?} */ + CurrentUser.prototype.id; + /** @type {?} */ + CurrentUser.prototype.tenantId; + /** @type {?} */ + CurrentUser.prototype.userName; + } + /** + * @record + */ + function Features() { } + ApplicationConfiguration.Features = Features; + if (false) { + /** @type {?} */ + Features.prototype.values; + } +})(ApplicationConfiguration || (ApplicationConfiguration = {})); + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var ABP; +(function (ABP) { + /** + * @record + */ + function Root() { } + ABP.Root = Root; + if (false) { + /** @type {?} */ + Root.prototype.environment; + /** @type {?} */ + Root.prototype.requirements; + } + /** + * @record + * @template T + */ + function PagedItemsResponse() { } + ABP.PagedItemsResponse = PagedItemsResponse; + if (false) { + /** @type {?} */ + PagedItemsResponse.prototype.items; + } + /** + * @record + */ + function PageQueryParams() { } + ABP.PageQueryParams = PageQueryParams; + if (false) { + /** @type {?|undefined} */ + PageQueryParams.prototype.filter; + /** @type {?|undefined} */ + PageQueryParams.prototype.sorting; + /** @type {?|undefined} */ + PageQueryParams.prototype.skipCount; + /** @type {?|undefined} */ + PageQueryParams.prototype.maxResultCount; + } + /** + * @record + */ + function Route() { } + ABP.Route = Route; + if (false) { + /** @type {?|undefined} */ + Route.prototype.children; + /** @type {?|undefined} */ + Route.prototype.invisible; + /** @type {?|undefined} */ + Route.prototype.layout; + /** @type {?} */ + Route.prototype.name; + /** @type {?|undefined} */ + Route.prototype.order; + /** @type {?|undefined} */ + Route.prototype.parentName; + /** @type {?} */ + Route.prototype.path; + /** @type {?|undefined} */ + Route.prototype.requiredPolicy; + /** @type {?|undefined} */ + Route.prototype.iconClass; + } + /** + * @record + */ + function FullRoute() { } + ABP.FullRoute = FullRoute; + if (false) { + /** @type {?|undefined} */ + FullRoute.prototype.url; + /** @type {?|undefined} */ + FullRoute.prototype.wrapper; + } + /** + * @record + */ + function BasicItem() { } + ABP.BasicItem = BasicItem; + if (false) { + /** @type {?} */ + BasicItem.prototype.id; + /** @type {?} */ + BasicItem.prototype.name; + } +})(ABP || (ABP = {})); + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var Config; +(function (Config) { + /** + * @record + */ + function State() { } + Config.State = State; + /** + * @record + */ + function Environment() { } + Config.Environment = Environment; + if (false) { + /** @type {?} */ + Environment.prototype.application; + /** @type {?} */ + Environment.prototype.production; + /** @type {?} */ + Environment.prototype.oAuthConfig; + /** @type {?} */ + Environment.prototype.apis; + } + /** + * @record + */ + function Application() { } + Config.Application = Application; + if (false) { + /** @type {?} */ + Application.prototype.name; + /** @type {?|undefined} */ + Application.prototype.logoUrl; + } + /** + * @record + */ + function Apis() { } + Config.Apis = Apis; + /** + * @record + */ + function Requirements() { } + Config.Requirements = Requirements; + if (false) { + /** @type {?} */ + Requirements.prototype.layouts; + } +})(Config || (Config = {})); /** * @fileoverview added by tsickle @@ -1411,14 +1923,107 @@ var Rest; */ function Config() { } Rest.Config = Config; + if (false) { + /** @type {?|undefined} */ + Config.prototype.throwErr; + /** @type {?|undefined} */ + Config.prototype.observe; + } /** * @record * @template T */ function Request() { } Rest.Request = Request; + if (false) { + /** @type {?|undefined} */ + Request.prototype.body; + /** @type {?|undefined} */ + Request.prototype.headers; + /** @type {?} */ + Request.prototype.method; + /** @type {?|undefined} */ + Request.prototype.params; + /** @type {?|undefined} */ + Request.prototype.reportProgress; + /** @type {?|undefined} */ + Request.prototype.responseType; + /** @type {?} */ + Request.prototype.url; + /** @type {?|undefined} */ + Request.prototype.withCredentials; + } })(Rest || (Rest = {})); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var Session; +(function (Session) { + /** + * @record + */ + function State() { } + Session.State = State; + if (false) { + /** @type {?} */ + State.prototype.language; + /** @type {?} */ + State.prototype.tenant; + } +})(Session || (Session = {})); + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var Profile; +(function (Profile) { + /** + * @record + */ + function State() { } + Profile.State = State; + if (false) { + /** @type {?} */ + State.prototype.profile; + } + /** + * @record + */ + function Response() { } + Profile.Response = Response; + if (false) { + /** @type {?} */ + Response.prototype.userName; + /** @type {?} */ + Response.prototype.email; + /** @type {?} */ + Response.prototype.name; + /** @type {?} */ + Response.prototype.surname; + /** @type {?} */ + Response.prototype.phoneNumber; + } + /** + * @record + */ + function ChangePasswordRequest() { } + Profile.ChangePasswordRequest = ChangePasswordRequest; + if (false) { + /** @type {?} */ + ChangePasswordRequest.prototype.currentPassword; + /** @type {?} */ + ChangePasswordRequest.prototype.newPassword; + } +})(Profile || (Profile = {})); + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1464,6 +2069,23 @@ ConfigPlugin.ctorParameters = () => [ { type: undefined, decorators: [{ type: Inject, args: [NGXS_CONFIG_PLUGIN_OPTIONS,] }] }, { type: Router } ]; +if (false) { + /** + * @type {?} + * @private + */ + ConfigPlugin.prototype.initialized; + /** + * @type {?} + * @private + */ + ConfigPlugin.prototype.options; + /** + * @type {?} + * @private + */ + ConfigPlugin.prototype.router; +} /** * @param {?=} routes * @param {?=} wrappers @@ -1563,6 +2185,11 @@ function setUrls(routes, parentUrl) { }))))); } +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1612,6 +2239,13 @@ ConfigService.ctorParameters = () => [ { type: Store } ]; /** @nocollapse */ ConfigService.ngInjectableDef = ɵɵdefineInjectable({ factory: function ConfigService_Factory() { return new ConfigService(ɵɵinject(Store)); }, token: ConfigService, providedIn: "root" }); +if (false) { + /** + * @type {?} + * @private + */ + ConfigService.prototype.store; +} /** * @fileoverview added by tsickle @@ -1677,6 +2311,10 @@ LazyLoadService.decorators = [ },] } ]; /** @nocollapse */ LazyLoadService.ngInjectableDef = ɵɵdefineInjectable({ factory: function LazyLoadService_Factory() { return new LazyLoadService(); }, token: LazyLoadService, providedIn: "root" }); +if (false) { + /** @type {?} */ + LazyLoadService.prototype.loadedLibraries; +} /** * @fileoverview added by tsickle @@ -1714,6 +2352,18 @@ LocalizationService.ctorParameters = () => [ { type: Store } ]; /** @nocollapse */ LocalizationService.ngInjectableDef = ɵɵdefineInjectable({ factory: function LocalizationService_Factory() { return new LocalizationService(ɵɵinject(Store)); }, token: LocalizationService, providedIn: "root" }); +if (false) { + /** + * @type {?} + * @private + */ + LocalizationService.prototype.store; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ /** * @fileoverview added by tsickle @@ -1738,6 +2388,11 @@ const ENVIRONMENT = new InjectionToken('ENVIRONMENT'); /** @type {?} */ const CONFIG = new InjectionToken('CONFIG'); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1789,6 +2444,17 @@ LocalizationPipe.decorators = [ LocalizationPipe.ctorParameters = () => [ { type: Store } ]; +if (false) { + /** @type {?} */ + LocalizationPipe.prototype.initialized; + /** @type {?} */ + LocalizationPipe.prototype.value; + /** + * @type {?} + * @private + */ + LocalizationPipe.prototype.store; +} /** * @fileoverview added by tsickle @@ -1834,6 +2500,22 @@ InputEventDebounceDirective.propDecorators = { debounce: [{ type: Input }], debounceEvent: [{ type: Output, args: ['input.debounce',] }] }; +if (false) { + /** @type {?} */ + InputEventDebounceDirective.prototype.debounce; + /** @type {?} */ + InputEventDebounceDirective.prototype.debounceEvent; + /** + * @type {?} + * @private + */ + InputEventDebounceDirective.prototype.renderer; + /** + * @type {?} + * @private + */ + InputEventDebounceDirective.prototype.el; +} /** * @fileoverview added by tsickle @@ -1878,6 +2560,20 @@ ClickEventStopPropagationDirective.ctorParameters = () => [ ClickEventStopPropagationDirective.propDecorators = { stopPropEvent: [{ type: Output, args: ['click.stop',] }] }; +if (false) { + /** @type {?} */ + ClickEventStopPropagationDirective.prototype.stopPropEvent; + /** + * @type {?} + * @private + */ + ClickEventStopPropagationDirective.prototype.renderer; + /** + * @type {?} + * @private + */ + ClickEventStopPropagationDirective.prototype.el; +} /** * @fileoverview added by tsickle @@ -1961,5 +2657,15 @@ CoreModule.decorators = [ },] } ]; +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + export { ApiInterceptor, ApplicationConfigurationService, AuthGuard, AutofocusDirective, CONFIG, ChangePassword, ConfigPlugin, ConfigService, ConfigState, CoreModule, DynamicLayoutComponent, ENVIRONMENT, EllipsisDirective, GetAppConfiguration, GetProfile, LazyLoadService, LocalizationService, NGXS_CONFIG_PLUGIN_OPTIONS, PatchRouteByName, PermissionDirective, PermissionGuard, ProfileService, ProfileState, Rest, RestOccurError, RestService, RouterOutletComponent, SessionState, SetLanguage, SetTenant, StartLoader, StopLoader, UpdateProfile, VisibilityDirective, configFactory, environmentFactory, getInitialData, organizeRoutes, setChildRoute, sortRoutes, takeUntilDestroy, uuid, ProfileState as ɵa, ProfileService as ɵb, ConfigPlugin as ɵba, ApiInterceptor as ɵbb, getInitialData as ɵbc, RestService as ɵc, GetProfile as ɵd, UpdateProfile as ɵe, ChangePassword as ɵf, SessionState as ɵh, SetLanguage as ɵi, SetTenant as ɵj, ConfigState as ɵl, ApplicationConfigurationService as ɵm, PatchRouteByName as ɵn, GetAppConfiguration as ɵo, RouterOutletComponent as ɵp, DynamicLayoutComponent as ɵq, ConfigState as ɵr, AutofocusDirective as ɵs, EllipsisDirective as ɵt, LocalizationPipe as ɵu, PermissionDirective as ɵv, VisibilityDirective as ɵw, InputEventDebounceDirective as ɵx, ClickEventStopPropagationDirective as ɵy, NGXS_CONFIG_PLUGIN_OPTIONS as ɵz }; //# sourceMappingURL=abp-ng.core.js.map diff --git a/npm/ng-packs/dist/core/fesm2015/abp-ng.core.js.map b/npm/ng-packs/dist/core/fesm2015/abp-ng.core.js.map index a4556ae956..7e0e326caf 100644 --- a/npm/ng-packs/dist/core/fesm2015/abp-ng.core.js.map +++ b/npm/ng-packs/dist/core/fesm2015/abp-ng.core.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.core.js","sources":["ng://@abp/ng.core/lib/actions/config.actions.ts","ng://@abp/ng.core/lib/actions/loader.actions.ts","ng://@abp/ng.core/lib/actions/profile.actions.ts","ng://@abp/ng.core/lib/actions/rest.actions.ts","ng://@abp/ng.core/lib/actions/session.actions.ts","ng://@abp/ng.core/lib/services/rest.service.ts","ng://@abp/ng.core/lib/services/profile.service.ts","ng://@abp/ng.core/lib/states/profile.state.ts","ng://@abp/ng.core/lib/services/application-configuration.service.ts","ng://@abp/ng.core/lib/states/session.state.ts","ng://@abp/ng.core/lib/utils/route-utils.ts","ng://@abp/ng.core/lib/states/config.state.ts","ng://@abp/ng.core/lib/utils/generator-utils.ts","ng://@abp/ng.core/lib/utils/initial-utils.ts","ng://@abp/ng.core/lib/utils/rxjs-utils.ts","ng://@abp/ng.core/lib/components/dynamic-layout.component.ts","ng://@abp/ng.core/lib/components/router-outlet.component.ts","ng://@abp/ng.core/lib/directives/autofocus.directive.ts","ng://@abp/ng.core/lib/directives/ellipsis.directive.ts","ng://@abp/ng.core/lib/directives/permission.directive.ts","ng://@abp/ng.core/lib/directives/visibility.directive.ts","ng://@abp/ng.core/lib/guards/auth.guard.ts","ng://@abp/ng.core/lib/guards/permission.guard.ts","ng://@abp/ng.core/lib/interceptors/api.interceptor.ts","ng://@abp/ng.core/lib/models/rest.ts","ng://@abp/ng.core/lib/plugins/config.plugin.ts","ng://@abp/ng.core/lib/services/config.service.ts","ng://@abp/ng.core/lib/services/lazy-load.service.ts","ng://@abp/ng.core/lib/services/localization.service.ts","ng://@abp/ng.core/lib/tokens/common.token.ts","ng://@abp/ng.core/lib/pipes/localization.pipe.ts","ng://@abp/ng.core/lib/directives/debounce.directive.ts","ng://@abp/ng.core/lib/directives/stop-propagation.directive.ts","ng://@abp/ng.core/lib/core.module.ts"],"sourcesContent":["import { ABP } from '../models';\n\nexport class PatchRouteByName {\n static readonly type = '[Config] Patch Route By Name';\n constructor(public name: string, public newValue: Partial) {}\n}\n\nexport class GetAppConfiguration {\n static readonly type = '[Config] Get App Configuration';\n}\n","import { HttpRequest } from '@angular/common/http';\n\nexport class StartLoader {\n static readonly type = '[Loader] Start';\n constructor(public payload: HttpRequest) {}\n}\n\nexport class StopLoader {\n static readonly type = '[Loader] Stop';\n constructor(public payload: HttpRequest) {}\n}\n","import { Profile } from '../models';\n\nexport class GetProfile {\n static readonly type = '[Profile] Get';\n}\n\nexport class UpdateProfile {\n static readonly type = '[Profile] Update';\n constructor(public payload: Profile.Response) {}\n}\n\nexport class ChangePassword {\n static readonly type = '[Profile] Change Password';\n constructor(public payload: Profile.ChangePasswordRequest) {}\n}\n","import { HttpErrorResponse } from '@angular/common/http';\n\nexport class RestOccurError {\n static readonly type = '[Rest] Error';\n constructor(public payload: HttpErrorResponse | any) {}\n}\n","import { ABP } from '../models';\n\nexport class SetLanguage {\n static readonly type = '[Session] Set Language';\n constructor(public payload: string) {}\n}\nexport class SetTenant {\n static readonly type = '[Session] Set Tenant';\n constructor(public payload: ABP.BasicItem) {}\n}\n","import { HttpClient, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { NEVER, Observable, throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport { Rest } from '../models/rest';\nimport { ConfigState } from '../states';\nimport { RestOccurError } from '../actions';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RestService {\n constructor(private http: HttpClient, private store: Store) {}\n\n handleError(err: any): Observable {\n this.store.dispatch(new RestOccurError(err));\n console.error(err);\n return NEVER;\n }\n\n request(request: HttpRequest | Rest.Request, config: Rest.Config = {}, api?: string): Observable {\n const { observe = Rest.Observe.Body, throwErr } = config;\n const url = api || this.store.selectSnapshot(ConfigState.getApiUrl()) + request.url;\n const { method, ...options } = request;\n return this.http.request(method, url, { observe, ...options } as any).pipe(\n observe === Rest.Observe.Body ? take(1) : null,\n catchError(err => {\n if (throwErr) {\n return throwError(err);\n }\n\n return this.handleError(err);\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService } from './rest.service';\nimport { Profile, Rest } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProfileService {\n constructor(private rest: RestService) {}\n\n get(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/my-profile',\n };\n\n return this.rest.request(request);\n }\n\n update(body: Profile.Response): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/identity/my-profile',\n body,\n };\n\n return this.rest.request(request);\n }\n\n changePassword(body: Profile.ChangePasswordRequest, throwErr: boolean = false): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/my-profile/change-password',\n body,\n };\n\n return this.rest.request(request, { throwErr });\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetProfile, ChangePassword, UpdateProfile } from '../actions/profile.actions';\nimport { Profile } from '../models/profile';\nimport { ProfileService } from '../services/profile.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'ProfileState',\n defaults: {} as Profile.State,\n})\nexport class ProfileState {\n @Selector()\n static getProfile({ profile }: Profile.State): Profile.Response {\n return profile;\n }\n\n constructor(private profileService: ProfileService) {}\n\n @Action(GetProfile)\n profileGet({ patchState }: StateContext) {\n return this.profileService.get().pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(UpdateProfile)\n profileUpdate({ patchState }: StateContext, { payload }: UpdateProfile) {\n return this.profileService.update(payload).pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(ChangePassword)\n changePassword(_, { payload }: ChangePassword) {\n return this.profileService.changePassword(payload, true);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ApplicationConfiguration, Rest } from '../models';\nimport { RestService } from './rest.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApplicationConfigurationService {\n constructor(private rest: RestService) {}\n\n getConfiguration(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/application-configuration',\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { SetLanguage, SetTenant } from '../actions/session.actions';\nimport { ABP, Session } from '../models';\n\n@State({\n name: 'SessionState',\n defaults: {} as Session.State,\n})\nexport class SessionState {\n @Selector()\n static getLanguage({ language }: Session.State): string {\n return language;\n }\n\n @Selector()\n static getTenant({ tenant }: Session.State): ABP.BasicItem {\n return tenant;\n }\n\n constructor() {}\n\n @Action(SetLanguage)\n setLanguage({ patchState }: StateContext, { payload }: SetLanguage) {\n patchState({\n language: payload,\n });\n }\n\n @Action(SetTenant)\n setTenantId({ patchState }: StateContext, { payload }: SetTenant) {\n patchState({\n tenant: payload,\n });\n }\n}\n","import { ABP } from '../models';\n\nexport function organizeRoutes(\n routes: ABP.FullRoute[],\n wrappers: ABP.FullRoute[] = [],\n parentNameArr = [] as ABP.FullRoute[],\n parentName: string = null,\n): ABP.FullRoute[] {\n const filter = route => {\n if (route.children && route.children.length) {\n route.children = organizeRoutes(route.children, wrappers, parentNameArr, route.name);\n }\n\n if (route.parentName && route.parentName !== parentName) {\n parentNameArr.push(route);\n return false;\n }\n\n return true;\n };\n\n if (parentName) {\n // recursive block\n return routes.filter(filter);\n }\n\n const filteredRoutes = routes.filter(filter);\n\n if (parentNameArr.length) {\n return sortRoutes(setChildRoute([...filteredRoutes, ...wrappers], parentNameArr));\n }\n\n return filteredRoutes;\n}\n\nexport function setChildRoute(routes: ABP.FullRoute[], parentNameArr: ABP.FullRoute[]): ABP.FullRoute[] {\n return routes.map(route => {\n if (route.children && route.children.length) {\n route.children = setChildRoute(route.children, parentNameArr);\n }\n\n const foundedChildren = parentNameArr.filter(parent => parent.parentName === route.name);\n if (foundedChildren && foundedChildren.length) {\n route.children = [...(route.children || []), ...foundedChildren];\n }\n\n return route;\n });\n}\n\nexport function sortRoutes(routes: ABP.FullRoute[] = []): ABP.FullRoute[] {\n if (!routes.length) return [];\n return routes\n .sort((a, b) => a.order - b.order)\n .map(route => {\n if (route.children && route.children.length) {\n route.children = sortRoutes(route.children);\n }\n\n return route;\n });\n}\n","import { State, Selector, createSelector, Action, StateContext, Store } from '@ngxs/store';\nimport { Config, ABP } from '../models';\nimport { GetAppConfiguration, PatchRouteByName } from '../actions/config.actions';\nimport { ApplicationConfigurationService } from '../services/application-configuration.service';\nimport { tap, switchMap } from 'rxjs/operators';\nimport snq from 'snq';\nimport { SetLanguage } from '../actions';\nimport { SessionState } from './session.state';\nimport { of } from 'rxjs';\nimport { setChildRoute, sortRoutes, organizeRoutes } from '../utils/route-utils';\n\n@State({\n name: 'ConfigState',\n defaults: {} as Config.State,\n})\nexport class ConfigState {\n @Selector()\n static getAll(state: Config.State) {\n return state;\n }\n\n @Selector()\n static getApplicationInfo(state: Config.State) {\n return state.environment.application || {};\n }\n\n static getOne(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return state[key];\n },\n );\n\n return selector;\n }\n\n static getDeep(keys: string[] | string) {\n if (typeof keys === 'string') {\n keys = keys.split('.');\n }\n\n if (!Array.isArray(keys)) {\n throw new Error('The argument must be a dot string or an string array.');\n }\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return (keys as string[]).reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state);\n },\n );\n\n return selector;\n }\n\n static getApiUrl(key?: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): string {\n return state.environment.apis[key || 'default'].url;\n },\n );\n\n return selector;\n }\n\n static getSetting(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return snq(() => state.setting.values[key]);\n },\n );\n\n return selector;\n }\n\n static getGrantedPolicy(condition: string = '') {\n const keys = condition\n .replace(/\\(|\\)|\\!|\\s/g, '')\n .split(/\\|\\||&&/)\n .filter(key => key);\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): boolean {\n if (!keys.length) return true;\n\n const getPolicy = key => snq(() => state.auth.grantedPolicies[key], false);\n if (keys.length > 1) {\n keys.forEach(key => {\n const value = getPolicy(key);\n condition = condition.replace(key, value);\n });\n\n // tslint:disable-next-line: no-eval\n return eval(`!!${condition}`);\n }\n\n return getPolicy(condition);\n },\n );\n\n return selector;\n }\n\n static getCopy(key: string, ...interpolateParams: string[]) {\n if (!key) key = '';\n\n const keys = key.split('::') as string[];\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n if (!state.localization) return key;\n\n const { defaultResourceName } = state.environment.localization;\n if (keys[0] === '') {\n if (!defaultResourceName) {\n throw new Error(\n `Please check your environment. May you forget set defaultResourceName? \n Here is the example:\n { production: false,\n localization: {\n defaultResourceName: 'MyProjectName'\n }\n }`,\n );\n }\n\n keys[0] = snq(() => defaultResourceName);\n }\n\n let copy = keys.reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state.localization.values);\n\n interpolateParams = interpolateParams.filter(params => params != null);\n if (copy && interpolateParams && interpolateParams.length) {\n interpolateParams.forEach(param => {\n copy = copy.replace(/[\\'\\\"]?\\{[\\d]+\\}[\\'\\\"]?/, param);\n });\n }\n\n return copy || key;\n },\n );\n\n return selector;\n }\n\n constructor(private appConfigurationService: ApplicationConfigurationService, private store: Store) {}\n\n @Action(GetAppConfiguration)\n addData({ patchState, dispatch }: StateContext) {\n return this.appConfigurationService.getConfiguration().pipe(\n tap(configuration =>\n patchState({\n ...configuration,\n }),\n ),\n switchMap(configuration =>\n this.store.selectSnapshot(SessionState.getLanguage)\n ? of(null)\n : dispatch(new SetLanguage(snq(() => configuration.setting.values['Abp.Localization.DefaultLanguage']))),\n ),\n );\n }\n\n @Action(PatchRouteByName)\n patchRoute({ patchState, getState }: StateContext, { name, newValue }: PatchRouteByName) {\n let routes: ABP.FullRoute[] = getState().routes;\n\n const index = routes.findIndex(route => route.name === name);\n\n routes = patchRouteDeep(routes, name, newValue);\n\n return patchState({\n routes,\n });\n }\n}\n\nfunction patchRouteDeep(\n routes: ABP.FullRoute[],\n name: string,\n newValue: Partial,\n parentUrl: string = null,\n): ABP.FullRoute[] {\n routes = routes.map(route => {\n if (route.name === name) {\n if (newValue.path) {\n newValue.url = `${parentUrl}/${newValue.path}`;\n }\n\n if (newValue.children && newValue.children.length) {\n newValue.children = newValue.children.map(child => ({\n ...child,\n url: `${parentUrl}/${route.path}/${child.path}`,\n }));\n }\n\n return { ...route, ...newValue };\n } else if (route.children && route.children.length) {\n route.children = patchRouteDeep(route.children, name, newValue, (parentUrl || '/') + route.path);\n }\n\n return route;\n });\n\n if (parentUrl) {\n // recursive block\n return routes;\n }\n\n return organizeRoutes(routes);\n}\n","export function uuid(a?: any): string {\n return a\n ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16)\n : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);\n}\n","import { Injector } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { GetAppConfiguration } from '../actions/config.actions';\n\nexport function getInitialData(injector: Injector) {\n const fn = function() {\n const store: Store = injector.get(Store);\n\n return store.dispatch(new GetAppConfiguration()).toPromise();\n };\n\n return fn;\n}\n","import { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n\nexport const takeUntilDestroy = (componentInstance, destroyMethodName = 'ngOnDestroy') => (\n source: Observable,\n) => {\n const originalDestroy = componentInstance[destroyMethodName];\n if (isFunction(originalDestroy) === false) {\n throw new Error(\n `${componentInstance.constructor.name} is using untilDestroyed but doesn't implement ${destroyMethodName}`,\n );\n }\n if (!componentInstance['__takeUntilDestroy']) {\n componentInstance['__takeUntilDestroy'] = new Subject();\n\n componentInstance[destroyMethodName] = function() {\n isFunction(originalDestroy) && originalDestroy.apply(this, arguments);\n componentInstance['__takeUntilDestroy'].next(true);\n componentInstance['__takeUntilDestroy'].complete();\n };\n }\n return source.pipe(takeUntil(componentInstance['__takeUntilDestroy']));\n};\n","import { Component, OnDestroy, Type } from '@angular/core';\nimport { NavigationEnd, Router, UrlSegment } from '@angular/router';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { eLayoutType } from '../enums';\nimport { ABP, Config } from '../models';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport snq from 'snq';\n\n@Component({\n selector: 'abp-dynamic-layout',\n template: `\n \n\n \n \n `,\n})\nexport class DynamicLayoutComponent implements OnDestroy {\n @Select(ConfigState.getOne('requirements'))\n requirements$: Observable;\n\n layout: Type;\n\n constructor(private router: Router, private store: Store) {\n this.router.events.pipe(takeUntilDestroy(this)).subscribe(event => {\n if (event instanceof NavigationEnd) {\n const { segments } = this.router.parseUrl(event.url).root.children.primary;\n const {\n requirements: { layouts },\n routes,\n } = this.store.selectSnapshot(ConfigState.getAll);\n\n const layout = findLayout(segments, routes);\n\n this.layout = layouts.filter(l => !!l).find(l => snq(() => l.type.toLowerCase().indexOf(layout), -1) > -1);\n }\n });\n }\n\n ngOnDestroy() {}\n}\n\nfunction findLayout(segments: UrlSegment[], routes: ABP.FullRoute[]): eLayoutType {\n let layout = eLayoutType.empty;\n\n const route = routes\n .reduce((acc, val) => (val.wrapper ? [...acc, ...val.children] : [...acc, val]), [])\n .find(r => r.path === segments[0].path);\n\n if (route) {\n if (route.layout) {\n layout = route.layout;\n }\n\n if (route.children && route.children.length && segments.length > 1) {\n const child = route.children.find(c => c.path === segments[1].path);\n\n if (child.layout) {\n layout = child.layout;\n }\n }\n }\n\n return layout;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-router-outlet',\n template: `\n \n `,\n})\nexport class RouterOutletComponent {}\n","import { Directive, ElementRef, Input, AfterViewInit } from '@angular/core';\n\n@Directive({\n selector: '[autofocus]',\n})\nexport class AutofocusDirective implements AfterViewInit {\n @Input('autofocus')\n delay: number = 0;\n\n constructor(private elRef: ElementRef) {}\n\n ngAfterViewInit(): void {\n setTimeout(() => this.elRef.nativeElement.focus(), this.delay);\n }\n}\n","import { AfterContentInit, ChangeDetectorRef, Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[abpEllipsis]',\n})\nexport class EllipsisDirective implements AfterContentInit {\n @Input('abpEllipsis')\n witdh: string;\n\n @HostBinding('title')\n @Input()\n title: string;\n\n @Input('abpEllipsisEnabled')\n enabled = true;\n\n @HostBinding('class.abp-ellipsis')\n get class() {\n return this.enabled;\n }\n\n @HostBinding('style.max-width')\n get maxWidth() {\n return this.enabled ? this.witdh || '160px' : undefined;\n }\n\n constructor(private cdRef: ChangeDetectorRef, private elRef: ElementRef) {}\n\n ngAfterContentInit() {\n setTimeout(() => {\n const title = this.title;\n this.title = title || (this.elRef.nativeElement as HTMLElement).innerText;\n\n if (this.title !== title) {\n this.cdRef.detectChanges();\n }\n }, 0);\n }\n}\n","import { Directive, ElementRef, Input, OnDestroy, OnInit, Optional, Renderer2 } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\n\n@Directive({\n selector: '[abpPermission]',\n})\nexport class PermissionDirective implements OnInit, OnDestroy {\n @Input('abpPermission') condition: string;\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2, private store: Store) {}\n\n ngOnInit() {\n if (this.condition) {\n this.store\n .select(ConfigState.getGrantedPolicy(this.condition))\n .pipe(takeUntilDestroy(this))\n .subscribe(isGranted => {\n if (!isGranted) {\n this.renderer.removeChild(\n (this.elRef.nativeElement as HTMLElement).parentElement,\n this.elRef.nativeElement,\n );\n }\n });\n }\n }\n\n ngOnDestroy(): void {}\n}\n","import { Directive, Input, Optional, ElementRef, Renderer2, AfterViewInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport snq from 'snq';\n\n@Directive({\n selector: '[abpVisibility]',\n})\nexport class VisibilityDirective implements AfterViewInit {\n @Input('abpVisibility')\n focusedElement: HTMLElement;\n\n completed$ = new Subject();\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2) {}\n\n ngAfterViewInit() {\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (!mutation.target) return;\n\n const htmlNodes = snq(\n () => Array.from(mutation.target.childNodes).filter(node => node instanceof HTMLElement),\n [],\n );\n\n if (!htmlNodes.length) {\n this.renderer.removeChild(this.elRef.nativeElement.parentElement, this.elRef.nativeElement);\n this.disconnect();\n } else {\n setTimeout(() => {\n this.disconnect();\n }, 0);\n }\n });\n });\n\n observer.observe(this.focusedElement, {\n childList: true,\n });\n\n this.completed$.subscribe(() => observer.disconnect());\n }\n\n disconnect() {\n this.completed$.next();\n this.completed$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Observable } from 'rxjs';\nimport { Navigate } from '@ngxs/router-plugin';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuard implements CanActivate {\n constructor(private oauthService: OAuthService, private store: Store) {}\n canActivate(_: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean | UrlTree {\n const hasValidAccessToken = this.oauthService.hasValidAccessToken();\n if (hasValidAccessToken) {\n return hasValidAccessToken;\n }\n\n this.store.dispatch(new Navigate(['/account/login'], null, { state: { redirectUrl: state.url } }));\n\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionGuard implements CanActivate {\n constructor(private store: Store) {}\n\n canActivate({ data }: ActivatedRouteSnapshot): Observable {\n const resource = data.requiredPolicy as string;\n return this.store.select(ConfigState.getGrantedPolicy(resource));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Store } from '@ngxs/store';\nimport { SessionState } from '../states';\nimport { StartLoader, StopLoader } from '../actions/loader.actions';\nimport { finalize } from 'rxjs/operators';\n\n@Injectable()\nexport class ApiInterceptor implements HttpInterceptor {\n constructor(private oAuthService: OAuthService, private store: Store) {}\n\n intercept(request: HttpRequest, next: HttpHandler) {\n this.store.dispatch(new StartLoader(request));\n\n const headers = {} as any;\n\n const token = this.oAuthService.getAccessToken();\n if (!request.headers.has('Authorization') && token) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n const lang = this.store.selectSnapshot(SessionState.getLanguage);\n if (!request.headers.has('Accept-Language') && lang) {\n headers['Accept-Language'] = lang;\n }\n\n const tenant = this.store.selectSnapshot(SessionState.getTenant);\n if (!request.headers.has('__tenant') && tenant) {\n headers['__tenant'] = tenant.id;\n }\n\n return next\n .handle(\n request.clone({\n setHeaders: headers,\n }),\n )\n .pipe(finalize(() => this.store.dispatch(new StopLoader(request))));\n }\n}\n","import { HttpHeaders, HttpParams } from '@angular/common/http';\n\nexport namespace Rest {\n export interface Config {\n throwErr?: boolean;\n observe?: Observe;\n }\n\n export const enum Observe {\n Body = 'body',\n Events = 'events',\n Response = 'response',\n }\n\n export const enum ResponseType {\n ArrayBuffer = 'arraybuffer',\n Blob = 'blob',\n JSON = 'json',\n Text = 'text',\n }\n\n export interface Request {\n body?: T;\n headers?:\n | HttpHeaders\n | {\n [header: string]: string | string[];\n };\n method: string;\n params?:\n | HttpParams\n | {\n [param: string]: any;\n };\n reportProgress?: boolean;\n responseType?: ResponseType;\n url: string;\n withCredentials?: boolean;\n }\n}\n","import { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { Router, Routes } from '@angular/router';\nimport { actionMatcher, InitState, NgxsNextPluginFn, NgxsPlugin, setValue, UpdateState } from '@ngxs/store';\nimport snq from 'snq';\nimport { ABP } from '../models';\nimport { organizeRoutes } from '../utils/route-utils';\n\nexport const NGXS_CONFIG_PLUGIN_OPTIONS = new InjectionToken('NGXS_CONFIG_PLUGIN_OPTIONS');\n\n@Injectable()\nexport class ConfigPlugin implements NgxsPlugin {\n private initialized: boolean = false;\n\n constructor(@Inject(NGXS_CONFIG_PLUGIN_OPTIONS) private options: ABP.Root, private router: Router) {}\n\n handle(state: any, event: any, next: NgxsNextPluginFn) {\n const matches = actionMatcher(event);\n const isInitAction = matches(InitState) || matches(UpdateState);\n\n // const layouts = snq(() => this.options.requirements.layouts.filter(layout => layout instanceof Type), []);\n if (isInitAction && !this.initialized) {\n let { routes, wrappers } = transformRoutes(this.router.config);\n routes = organizeRoutes(routes, wrappers);\n\n state = setValue(state, 'ConfigState', {\n ...(state.ConfigState && { ...state.ConfigState }),\n ...this.options,\n routes,\n });\n\n this.initialized = true;\n }\n\n return next(state, event);\n }\n}\n\nfunction transformRoutes(routes: Routes = [], wrappers: ABP.FullRoute[] = []): any {\n const abpRoutes: ABP.FullRoute[] = routes\n .filter(route => {\n return snq(() => route.data.routes.find(r => r.path === route.path), false);\n })\n .reduce((acc, val) => [...acc, ...val.data.routes], []);\n\n wrappers = abpRoutes.filter(ar => ar.wrapper);\n const transformed = [] as ABP.FullRoute[];\n routes\n .filter(route => (route.data || {}).routes && (route.component || route.loadChildren))\n .forEach(route => {\n const abpPackage = abpRoutes.find(\n abp => abp.path.toLowerCase() === route.path.toLowerCase() && snq(() => route.data.routes.length, false),\n );\n const { length } = transformed;\n\n if (abpPackage) {\n transformed.push(abpPackage);\n }\n\n if (transformed.length === length) {\n transformed.push({\n path: route.path,\n name: snq(() => route.data.routes.name, route.path),\n children: route.data.routes.children || [],\n } as ABP.FullRoute);\n }\n });\n\n return { routes: setUrls(transformed), wrappers };\n}\n\nfunction setUrls(routes: ABP.FullRoute[], parentUrl?: string): ABP.FullRoute[] {\n if (parentUrl) {\n // this if block using for only recursive call\n\n return routes.map(route => ({\n ...route,\n url: `${parentUrl}/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `${parentUrl}/${route.path}`),\n }),\n }));\n }\n\n return routes.map(route => ({\n ...route,\n url: `/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `/${route.path}`),\n }),\n }));\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigService {\n constructor(private store: Store) {}\n\n getAll() {\n return this.store.selectSnapshot(ConfigState.getAll);\n }\n\n getOne(key: string) {\n return this.store.selectSnapshot(ConfigState.getOne(key));\n }\n\n getDeep(keys: string[] | string) {\n return this.store.selectSnapshot(ConfigState.getDeep(keys));\n }\n\n getSetting(key: string) {\n return this.store.selectSnapshot(ConfigState.getSetting(key));\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { uuid } from '../utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LazyLoadService {\n loadedLibraries: { [url: string]: ReplaySubject } = {};\n\n load(\n url: string,\n type: 'script' | 'style',\n content: string = '',\n targetQuery: string = 'body',\n position: InsertPosition = 'afterend',\n ): Observable {\n if (!url && !content) return;\n const key = url ? url.slice(url.lastIndexOf('/') + 1) : uuid();\n\n if (this.loadedLibraries[key]) {\n return this.loadedLibraries[key].asObservable();\n }\n\n this.loadedLibraries[key] = new ReplaySubject();\n\n let library;\n if (type === 'script') {\n library = document.createElement('script');\n library.type = 'text/javascript';\n if (url) {\n (library as HTMLScriptElement).src = url;\n }\n\n (library as HTMLScriptElement).text = content;\n } else if (url) {\n library = document.createElement('link');\n library.type = 'text/css';\n (library as HTMLLinkElement).rel = 'stylesheet';\n\n if (url) {\n (library as HTMLLinkElement).href = url;\n }\n } else {\n library = document.createElement('style');\n (library as HTMLStyleElement).textContent = content;\n }\n\n library.onload = () => {\n this.loadedLibraries[key].next();\n this.loadedLibraries[key].complete();\n };\n\n document.querySelector(targetQuery).insertAdjacentElement(position, library);\n\n return this.loadedLibraries[key].asObservable();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { Observable } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class LocalizationService {\n constructor(private store: Store) {}\n\n get(keys: string, ...interpolateParams: string[]): Observable {\n return this.store.select(ConfigState.getCopy(keys, ...interpolateParams));\n }\n\n instant(keys: string, ...interpolateParams: string[]): string {\n return this.store.selectSnapshot(ConfigState.getCopy(keys, ...interpolateParams));\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Config } from '../models';\n\nexport function environmentFactory(environment: Config.Environment) {\n return {\n ...environment,\n };\n}\n\nexport function configFactory(config: Config.Requirements) {\n return {\n ...config,\n };\n}\n\nexport const ENVIRONMENT = new InjectionToken('ENVIRONMENT');\n\nexport const CONFIG = new InjectionToken('CONFIG');\n","import { Pipe, PipeTransform, OnDestroy } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n@Pipe({\n name: 'abpLocalization',\n pure: false, // required to update the value\n})\nexport class LocalizationPipe implements PipeTransform, OnDestroy {\n initialized: boolean = false;\n\n value: string;\n\n constructor(private store: Store) {}\n\n transform(value: string, ...interpolateParams: string[]): string {\n if (!this.initialized) {\n this.initialized = true;\n\n this.store\n .select(\n ConfigState.getCopy(\n value,\n ...interpolateParams.reduce((acc, val) => (Array.isArray(val) ? [...acc, ...val] : [...acc, val]), []),\n ),\n )\n .pipe(\n takeUntilDestroy(this),\n distinctUntilChanged(),\n )\n .subscribe(copy => (this.value = copy));\n }\n\n return this.value;\n }\n\n ngOnDestroy() {}\n}\n","import { Directive, Output, Renderer2, ElementRef, OnInit, EventEmitter, Input } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[input.debounce]',\n})\nexport class InputEventDebounceDirective implements OnInit {\n @Input() debounce: number = 300;\n\n @Output('input.debounce') debounceEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'input')\n .pipe(\n debounceTime(this.debounce),\n takeUntilDestroy(this),\n )\n .subscribe((event: Event) => {\n this.debounceEvent.emit(event);\n });\n }\n}\n","import { Directive, ElementRef, EventEmitter, OnInit, Output, Renderer2 } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[click.stop]',\n})\nexport class ClickEventStopPropagationDirective implements OnInit {\n @Output('click.stop') stopPropEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'click')\n .pipe(takeUntilDestroy(this))\n .subscribe((event: MouseEvent) => {\n event.stopPropagation();\n this.stopPropEvent.emit(event);\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { NgxsRouterPluginModule } from '@ngxs/router-plugin';\nimport { NgxsStoragePluginModule } from '@ngxs/storage-plugin';\nimport { NgxsModule, NGXS_PLUGINS } from '@ngxs/store';\nimport { DynamicLayoutComponent } from './components/dynamic-layout.component';\nimport { RouterOutletComponent } from './components/router-outlet.component';\nimport { PermissionDirective } from './directives/permission.directive';\nimport { VisibilityDirective } from './directives/visibility.directive';\nimport { ApiInterceptor } from './interceptors/api.interceptor';\nimport { ABP } from './models/common';\nimport { LocalizationPipe } from './pipes/localization.pipe';\nimport { ConfigPlugin, NGXS_CONFIG_PLUGIN_OPTIONS } from './plugins/config.plugin';\nimport { ConfigState } from './states/config.state';\nimport { ProfileState } from './states/profile.state';\nimport { SessionState } from './states/session.state';\nimport { getInitialData } from './utils/initial-utils';\nimport { EllipsisDirective } from './directives/ellipsis.directive';\nimport { AutofocusDirective } from './directives/autofocus.directive';\nimport { InputEventDebounceDirective } from './directives/debounce.directive';\nimport { ClickEventStopPropagationDirective } from './directives/stop-propagation.directive';\n\n@NgModule({\n imports: [\n NgxsModule.forFeature([ProfileState, SessionState, ConfigState]),\n NgxsStoragePluginModule.forRoot({ key: 'SessionState' }),\n NgxsRouterPluginModule.forRoot(),\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n ],\n declarations: [\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n ClickEventStopPropagationDirective,\n ],\n exports: [\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n LocalizationPipe,\n ClickEventStopPropagationDirective,\n ],\n providers: [LocalizationPipe],\n entryComponents: [RouterOutletComponent, DynamicLayoutComponent],\n})\nexport class CoreModule {\n static forRoot(options = {} as ABP.Root): ModuleWithProviders {\n return {\n ngModule: CoreModule,\n providers: [\n {\n provide: NGXS_PLUGINS,\n useClass: ConfigPlugin,\n multi: true,\n },\n {\n provide: NGXS_CONFIG_PLUGIN_OPTIONS,\n useValue: options,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ApiInterceptor,\n multi: true,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector],\n useFactory: getInitialData,\n },\n ],\n };\n }\n}\n"],"names":["tslib_1.__decorate","takeUntilDestroy"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.core.js","sources":["ng://@abp/ng.core/lib/actions/config.actions.ts","ng://@abp/ng.core/lib/actions/loader.actions.ts","ng://@abp/ng.core/lib/actions/profile.actions.ts","ng://@abp/ng.core/lib/actions/rest.actions.ts","ng://@abp/ng.core/lib/actions/session.actions.ts","ng://@abp/ng.core/lib/services/rest.service.ts","ng://@abp/ng.core/lib/services/profile.service.ts","ng://@abp/ng.core/lib/states/profile.state.ts","ng://@abp/ng.core/lib/services/application-configuration.service.ts","ng://@abp/ng.core/lib/states/session.state.ts","ng://@abp/ng.core/lib/utils/route-utils.ts","ng://@abp/ng.core/lib/states/config.state.ts","ng://@abp/ng.core/lib/utils/generator-utils.ts","ng://@abp/ng.core/lib/utils/initial-utils.ts","ng://@abp/ng.core/lib/utils/rxjs-utils.ts","ng://@abp/ng.core/lib/components/dynamic-layout.component.ts","ng://@abp/ng.core/lib/components/router-outlet.component.ts","ng://@abp/ng.core/lib/directives/autofocus.directive.ts","ng://@abp/ng.core/lib/directives/ellipsis.directive.ts","ng://@abp/ng.core/lib/directives/permission.directive.ts","ng://@abp/ng.core/lib/directives/visibility.directive.ts","ng://@abp/ng.core/lib/enums/common.ts","ng://@abp/ng.core/lib/guards/auth.guard.ts","ng://@abp/ng.core/lib/guards/permission.guard.ts","ng://@abp/ng.core/lib/interceptors/api.interceptor.ts","ng://@abp/ng.core/lib/models/application-configuration.ts","ng://@abp/ng.core/lib/models/common.ts","ng://@abp/ng.core/lib/models/config.ts","ng://@abp/ng.core/lib/models/rest.ts","ng://@abp/ng.core/lib/models/session.ts","ng://@abp/ng.core/lib/models/profile.ts","ng://@abp/ng.core/lib/plugins/config.plugin.ts","ng://@abp/ng.core/lib/services/config.service.ts","ng://@abp/ng.core/lib/services/lazy-load.service.ts","ng://@abp/ng.core/lib/services/localization.service.ts","ng://@abp/ng.core/lib/tokens/common.token.ts","ng://@abp/ng.core/lib/pipes/localization.pipe.ts","ng://@abp/ng.core/lib/directives/debounce.directive.ts","ng://@abp/ng.core/lib/directives/stop-propagation.directive.ts","ng://@abp/ng.core/lib/core.module.ts"],"sourcesContent":["import { ABP } from '../models';\n\nexport class PatchRouteByName {\n static readonly type = '[Config] Patch Route By Name';\n constructor(public name: string, public newValue: Partial) {}\n}\n\nexport class GetAppConfiguration {\n static readonly type = '[Config] Get App Configuration';\n}\n","import { HttpRequest } from '@angular/common/http';\n\nexport class StartLoader {\n static readonly type = '[Loader] Start';\n constructor(public payload: HttpRequest) {}\n}\n\nexport class StopLoader {\n static readonly type = '[Loader] Stop';\n constructor(public payload: HttpRequest) {}\n}\n","import { Profile } from '../models';\n\nexport class GetProfile {\n static readonly type = '[Profile] Get';\n}\n\nexport class UpdateProfile {\n static readonly type = '[Profile] Update';\n constructor(public payload: Profile.Response) {}\n}\n\nexport class ChangePassword {\n static readonly type = '[Profile] Change Password';\n constructor(public payload: Profile.ChangePasswordRequest) {}\n}\n","import { HttpErrorResponse } from '@angular/common/http';\n\nexport class RestOccurError {\n static readonly type = '[Rest] Error';\n constructor(public payload: HttpErrorResponse | any) {}\n}\n","import { ABP } from '../models';\n\nexport class SetLanguage {\n static readonly type = '[Session] Set Language';\n constructor(public payload: string) {}\n}\nexport class SetTenant {\n static readonly type = '[Session] Set Tenant';\n constructor(public payload: ABP.BasicItem) {}\n}\n","import { HttpClient, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { NEVER, Observable, throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport { Rest } from '../models/rest';\nimport { ConfigState } from '../states';\nimport { RestOccurError } from '../actions';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RestService {\n constructor(private http: HttpClient, private store: Store) {}\n\n handleError(err: any): Observable {\n this.store.dispatch(new RestOccurError(err));\n console.error(err);\n return NEVER;\n }\n\n request(request: HttpRequest | Rest.Request, config: Rest.Config = {}, api?: string): Observable {\n const { observe = Rest.Observe.Body, throwErr } = config;\n const url = api || this.store.selectSnapshot(ConfigState.getApiUrl()) + request.url;\n const { method, ...options } = request;\n return this.http.request(method, url, { observe, ...options } as any).pipe(\n observe === Rest.Observe.Body ? take(1) : null,\n catchError(err => {\n if (throwErr) {\n return throwError(err);\n }\n\n return this.handleError(err);\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService } from './rest.service';\nimport { Profile, Rest } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProfileService {\n constructor(private rest: RestService) {}\n\n get(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/my-profile',\n };\n\n return this.rest.request(request);\n }\n\n update(body: Profile.Response): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/identity/my-profile',\n body,\n };\n\n return this.rest.request(request);\n }\n\n changePassword(body: Profile.ChangePasswordRequest, throwErr: boolean = false): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/my-profile/change-password',\n body,\n };\n\n return this.rest.request(request, { throwErr });\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetProfile, ChangePassword, UpdateProfile } from '../actions/profile.actions';\nimport { Profile } from '../models/profile';\nimport { ProfileService } from '../services/profile.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'ProfileState',\n defaults: {} as Profile.State,\n})\nexport class ProfileState {\n @Selector()\n static getProfile({ profile }: Profile.State): Profile.Response {\n return profile;\n }\n\n constructor(private profileService: ProfileService) {}\n\n @Action(GetProfile)\n profileGet({ patchState }: StateContext) {\n return this.profileService.get().pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(UpdateProfile)\n profileUpdate({ patchState }: StateContext, { payload }: UpdateProfile) {\n return this.profileService.update(payload).pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(ChangePassword)\n changePassword(_, { payload }: ChangePassword) {\n return this.profileService.changePassword(payload, true);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ApplicationConfiguration, Rest } from '../models';\nimport { RestService } from './rest.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApplicationConfigurationService {\n constructor(private rest: RestService) {}\n\n getConfiguration(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/application-configuration',\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { SetLanguage, SetTenant } from '../actions/session.actions';\nimport { ABP, Session } from '../models';\n\n@State({\n name: 'SessionState',\n defaults: {} as Session.State,\n})\nexport class SessionState {\n @Selector()\n static getLanguage({ language }: Session.State): string {\n return language;\n }\n\n @Selector()\n static getTenant({ tenant }: Session.State): ABP.BasicItem {\n return tenant;\n }\n\n constructor() {}\n\n @Action(SetLanguage)\n setLanguage({ patchState }: StateContext, { payload }: SetLanguage) {\n patchState({\n language: payload,\n });\n }\n\n @Action(SetTenant)\n setTenantId({ patchState }: StateContext, { payload }: SetTenant) {\n patchState({\n tenant: payload,\n });\n }\n}\n","import { ABP } from '../models';\n\nexport function organizeRoutes(\n routes: ABP.FullRoute[],\n wrappers: ABP.FullRoute[] = [],\n parentNameArr = [] as ABP.FullRoute[],\n parentName: string = null,\n): ABP.FullRoute[] {\n const filter = route => {\n if (route.children && route.children.length) {\n route.children = organizeRoutes(route.children, wrappers, parentNameArr, route.name);\n }\n\n if (route.parentName && route.parentName !== parentName) {\n parentNameArr.push(route);\n return false;\n }\n\n return true;\n };\n\n if (parentName) {\n // recursive block\n return routes.filter(filter);\n }\n\n const filteredRoutes = routes.filter(filter);\n\n if (parentNameArr.length) {\n return sortRoutes(setChildRoute([...filteredRoutes, ...wrappers], parentNameArr));\n }\n\n return filteredRoutes;\n}\n\nexport function setChildRoute(routes: ABP.FullRoute[], parentNameArr: ABP.FullRoute[]): ABP.FullRoute[] {\n return routes.map(route => {\n if (route.children && route.children.length) {\n route.children = setChildRoute(route.children, parentNameArr);\n }\n\n const foundedChildren = parentNameArr.filter(parent => parent.parentName === route.name);\n if (foundedChildren && foundedChildren.length) {\n route.children = [...(route.children || []), ...foundedChildren];\n }\n\n return route;\n });\n}\n\nexport function sortRoutes(routes: ABP.FullRoute[] = []): ABP.FullRoute[] {\n if (!routes.length) return [];\n return routes\n .sort((a, b) => a.order - b.order)\n .map(route => {\n if (route.children && route.children.length) {\n route.children = sortRoutes(route.children);\n }\n\n return route;\n });\n}\n","import { State, Selector, createSelector, Action, StateContext, Store } from '@ngxs/store';\nimport { Config, ABP } from '../models';\nimport { GetAppConfiguration, PatchRouteByName } from '../actions/config.actions';\nimport { ApplicationConfigurationService } from '../services/application-configuration.service';\nimport { tap, switchMap } from 'rxjs/operators';\nimport snq from 'snq';\nimport { SetLanguage } from '../actions';\nimport { SessionState } from './session.state';\nimport { of } from 'rxjs';\nimport { setChildRoute, sortRoutes, organizeRoutes } from '../utils/route-utils';\n\n@State({\n name: 'ConfigState',\n defaults: {} as Config.State,\n})\nexport class ConfigState {\n @Selector()\n static getAll(state: Config.State) {\n return state;\n }\n\n @Selector()\n static getApplicationInfo(state: Config.State) {\n return state.environment.application || {};\n }\n\n static getOne(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return state[key];\n },\n );\n\n return selector;\n }\n\n static getDeep(keys: string[] | string) {\n if (typeof keys === 'string') {\n keys = keys.split('.');\n }\n\n if (!Array.isArray(keys)) {\n throw new Error('The argument must be a dot string or an string array.');\n }\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return (keys as string[]).reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state);\n },\n );\n\n return selector;\n }\n\n static getApiUrl(key?: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): string {\n return state.environment.apis[key || 'default'].url;\n },\n );\n\n return selector;\n }\n\n static getSetting(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return snq(() => state.setting.values[key]);\n },\n );\n\n return selector;\n }\n\n static getGrantedPolicy(condition: string = '') {\n const keys = condition\n .replace(/\\(|\\)|\\!|\\s/g, '')\n .split(/\\|\\||&&/)\n .filter(key => key);\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): boolean {\n if (!keys.length) return true;\n\n const getPolicy = key => snq(() => state.auth.grantedPolicies[key], false);\n if (keys.length > 1) {\n keys.forEach(key => {\n const value = getPolicy(key);\n condition = condition.replace(key, value);\n });\n\n // tslint:disable-next-line: no-eval\n return eval(`!!${condition}`);\n }\n\n return getPolicy(condition);\n },\n );\n\n return selector;\n }\n\n static getCopy(key: string, ...interpolateParams: string[]) {\n if (!key) key = '';\n\n const keys = key.split('::') as string[];\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n if (!state.localization) return key;\n\n const { defaultResourceName } = state.environment.localization;\n if (keys[0] === '') {\n if (!defaultResourceName) {\n throw new Error(\n `Please check your environment. May you forget set defaultResourceName? \n Here is the example:\n { production: false,\n localization: {\n defaultResourceName: 'MyProjectName'\n }\n }`,\n );\n }\n\n keys[0] = snq(() => defaultResourceName);\n }\n\n let copy = keys.reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state.localization.values);\n\n interpolateParams = interpolateParams.filter(params => params != null);\n if (copy && interpolateParams && interpolateParams.length) {\n interpolateParams.forEach(param => {\n copy = copy.replace(/[\\'\\\"]?\\{[\\d]+\\}[\\'\\\"]?/, param);\n });\n }\n\n return copy || key;\n },\n );\n\n return selector;\n }\n\n constructor(private appConfigurationService: ApplicationConfigurationService, private store: Store) {}\n\n @Action(GetAppConfiguration)\n addData({ patchState, dispatch }: StateContext) {\n return this.appConfigurationService.getConfiguration().pipe(\n tap(configuration =>\n patchState({\n ...configuration,\n }),\n ),\n switchMap(configuration =>\n this.store.selectSnapshot(SessionState.getLanguage)\n ? of(null)\n : dispatch(new SetLanguage(snq(() => configuration.setting.values['Abp.Localization.DefaultLanguage']))),\n ),\n );\n }\n\n @Action(PatchRouteByName)\n patchRoute({ patchState, getState }: StateContext, { name, newValue }: PatchRouteByName) {\n let routes: ABP.FullRoute[] = getState().routes;\n\n const index = routes.findIndex(route => route.name === name);\n\n routes = patchRouteDeep(routes, name, newValue);\n\n return patchState({\n routes,\n });\n }\n}\n\nfunction patchRouteDeep(\n routes: ABP.FullRoute[],\n name: string,\n newValue: Partial,\n parentUrl: string = null,\n): ABP.FullRoute[] {\n routes = routes.map(route => {\n if (route.name === name) {\n if (newValue.path) {\n newValue.url = `${parentUrl}/${newValue.path}`;\n }\n\n if (newValue.children && newValue.children.length) {\n newValue.children = newValue.children.map(child => ({\n ...child,\n url: `${parentUrl}/${route.path}/${child.path}`,\n }));\n }\n\n return { ...route, ...newValue };\n } else if (route.children && route.children.length) {\n route.children = patchRouteDeep(route.children, name, newValue, (parentUrl || '/') + route.path);\n }\n\n return route;\n });\n\n if (parentUrl) {\n // recursive block\n return routes;\n }\n\n return organizeRoutes(routes);\n}\n","export function uuid(a?: any): string {\n return a\n ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16)\n : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);\n}\n","import { Injector } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { GetAppConfiguration } from '../actions/config.actions';\n\nexport function getInitialData(injector: Injector) {\n const fn = function() {\n const store: Store = injector.get(Store);\n\n return store.dispatch(new GetAppConfiguration()).toPromise();\n };\n\n return fn;\n}\n","import { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n\nexport const takeUntilDestroy = (componentInstance, destroyMethodName = 'ngOnDestroy') => (\n source: Observable,\n) => {\n const originalDestroy = componentInstance[destroyMethodName];\n if (isFunction(originalDestroy) === false) {\n throw new Error(\n `${componentInstance.constructor.name} is using untilDestroyed but doesn't implement ${destroyMethodName}`,\n );\n }\n if (!componentInstance['__takeUntilDestroy']) {\n componentInstance['__takeUntilDestroy'] = new Subject();\n\n componentInstance[destroyMethodName] = function() {\n isFunction(originalDestroy) && originalDestroy.apply(this, arguments);\n componentInstance['__takeUntilDestroy'].next(true);\n componentInstance['__takeUntilDestroy'].complete();\n };\n }\n return source.pipe(takeUntil(componentInstance['__takeUntilDestroy']));\n};\n","import { Component, OnDestroy, Type } from '@angular/core';\nimport { NavigationEnd, Router, UrlSegment } from '@angular/router';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { eLayoutType } from '../enums';\nimport { ABP, Config } from '../models';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport snq from 'snq';\n\n@Component({\n selector: 'abp-dynamic-layout',\n template: `\n \n\n \n \n `,\n})\nexport class DynamicLayoutComponent implements OnDestroy {\n @Select(ConfigState.getOne('requirements'))\n requirements$: Observable;\n\n layout: Type;\n\n constructor(private router: Router, private store: Store) {\n this.router.events.pipe(takeUntilDestroy(this)).subscribe(event => {\n if (event instanceof NavigationEnd) {\n const { segments } = this.router.parseUrl(event.url).root.children.primary;\n const {\n requirements: { layouts },\n routes,\n } = this.store.selectSnapshot(ConfigState.getAll);\n\n const layout = findLayout(segments, routes);\n\n this.layout = layouts.filter(l => !!l).find(l => snq(() => l.type.toLowerCase().indexOf(layout), -1) > -1);\n }\n });\n }\n\n ngOnDestroy() {}\n}\n\nfunction findLayout(segments: UrlSegment[], routes: ABP.FullRoute[]): eLayoutType {\n let layout = eLayoutType.empty;\n\n const route = routes\n .reduce((acc, val) => (val.wrapper ? [...acc, ...val.children] : [...acc, val]), [])\n .find(r => r.path === segments[0].path);\n\n if (route) {\n if (route.layout) {\n layout = route.layout;\n }\n\n if (route.children && route.children.length && segments.length > 1) {\n const child = route.children.find(c => c.path === segments[1].path);\n\n if (child.layout) {\n layout = child.layout;\n }\n }\n }\n\n return layout;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-router-outlet',\n template: `\n \n `,\n})\nexport class RouterOutletComponent {}\n","import { Directive, ElementRef, Input, AfterViewInit } from '@angular/core';\n\n@Directive({\n selector: '[autofocus]',\n})\nexport class AutofocusDirective implements AfterViewInit {\n @Input('autofocus')\n delay: number = 0;\n\n constructor(private elRef: ElementRef) {}\n\n ngAfterViewInit(): void {\n setTimeout(() => this.elRef.nativeElement.focus(), this.delay);\n }\n}\n","import { AfterContentInit, ChangeDetectorRef, Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[abpEllipsis]',\n})\nexport class EllipsisDirective implements AfterContentInit {\n @Input('abpEllipsis')\n width: string;\n\n @HostBinding('title')\n @Input()\n title: string;\n\n @Input('abpEllipsisEnabled')\n enabled = true;\n\n @HostBinding('class.abp-ellipsis')\n get class() {\n return this.enabled;\n }\n\n @HostBinding('style.max-width')\n get maxWidth() {\n return this.enabled ? this.width || '170px' : undefined;\n }\n\n constructor(private cdRef: ChangeDetectorRef, private elRef: ElementRef) {}\n\n ngAfterContentInit() {\n setTimeout(() => {\n const title = this.title;\n this.title = title || (this.elRef.nativeElement as HTMLElement).innerText;\n\n if (this.title !== title) {\n this.cdRef.detectChanges();\n }\n }, 0);\n }\n}\n","import { Directive, ElementRef, Input, OnDestroy, OnInit, Optional, Renderer2 } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\n\n@Directive({\n selector: '[abpPermission]',\n})\nexport class PermissionDirective implements OnInit, OnDestroy {\n @Input('abpPermission') condition: string;\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2, private store: Store) {}\n\n ngOnInit() {\n if (this.condition) {\n this.store\n .select(ConfigState.getGrantedPolicy(this.condition))\n .pipe(takeUntilDestroy(this))\n .subscribe(isGranted => {\n if (!isGranted) {\n this.renderer.removeChild(\n (this.elRef.nativeElement as HTMLElement).parentElement,\n this.elRef.nativeElement,\n );\n }\n });\n }\n }\n\n ngOnDestroy(): void {}\n}\n","import { Directive, Input, Optional, ElementRef, Renderer2, AfterViewInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport snq from 'snq';\n\n@Directive({\n selector: '[abpVisibility]',\n})\nexport class VisibilityDirective implements AfterViewInit {\n @Input('abpVisibility')\n focusedElement: HTMLElement;\n\n completed$ = new Subject();\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2) {}\n\n ngAfterViewInit() {\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (!mutation.target) return;\n\n const htmlNodes = snq(\n () => Array.from(mutation.target.childNodes).filter(node => node instanceof HTMLElement),\n [],\n );\n\n if (!htmlNodes.length) {\n this.renderer.removeChild(this.elRef.nativeElement.parentElement, this.elRef.nativeElement);\n this.disconnect();\n } else {\n setTimeout(() => {\n this.disconnect();\n }, 0);\n }\n });\n });\n\n observer.observe(this.focusedElement, {\n childList: true,\n });\n\n this.completed$.subscribe(() => observer.disconnect());\n }\n\n disconnect() {\n this.completed$.next();\n this.completed$.complete();\n }\n}\n","export const enum eLayoutType {\n account = 'account',\n application = 'application',\n empty = 'empty',\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Observable } from 'rxjs';\nimport { Navigate } from '@ngxs/router-plugin';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuard implements CanActivate {\n constructor(private oauthService: OAuthService, private store: Store) {}\n canActivate(_: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean | UrlTree {\n const hasValidAccessToken = this.oauthService.hasValidAccessToken();\n if (hasValidAccessToken) {\n return hasValidAccessToken;\n }\n\n this.store.dispatch(new Navigate(['/account/login'], null, { state: { redirectUrl: state.url } }));\n\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionGuard implements CanActivate {\n constructor(private store: Store) {}\n\n canActivate({ data }: ActivatedRouteSnapshot): Observable {\n const resource = data.requiredPolicy as string;\n return this.store.select(ConfigState.getGrantedPolicy(resource));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Store } from '@ngxs/store';\nimport { SessionState } from '../states';\nimport { StartLoader, StopLoader } from '../actions/loader.actions';\nimport { finalize } from 'rxjs/operators';\n\n@Injectable()\nexport class ApiInterceptor implements HttpInterceptor {\n constructor(private oAuthService: OAuthService, private store: Store) {}\n\n intercept(request: HttpRequest, next: HttpHandler) {\n this.store.dispatch(new StartLoader(request));\n\n const headers = {} as any;\n\n const token = this.oAuthService.getAccessToken();\n if (!request.headers.has('Authorization') && token) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n const lang = this.store.selectSnapshot(SessionState.getLanguage);\n if (!request.headers.has('Accept-Language') && lang) {\n headers['Accept-Language'] = lang;\n }\n\n const tenant = this.store.selectSnapshot(SessionState.getTenant);\n if (!request.headers.has('__tenant') && tenant) {\n headers['__tenant'] = tenant.id;\n }\n\n return next\n .handle(\n request.clone({\n setHeaders: headers,\n }),\n )\n .pipe(finalize(() => this.store.dispatch(new StopLoader(request))));\n }\n}\n","export namespace ApplicationConfiguration {\n export interface Response {\n localization: Localization;\n auth: Auth;\n setting: Setting;\n currentUser: CurrentUser;\n features: Features;\n }\n\n export interface Localization {\n values: LocalizationValue;\n languages: Language[];\n }\n\n export interface LocalizationValue {\n [key: string]: { [key: string]: string };\n }\n\n export interface Language {\n cultureName: string;\n uiCultureName: string;\n displayName: string;\n flagIcon: string;\n }\n\n export interface Auth {\n policies: Policy;\n grantedPolicies: Policy;\n }\n\n export interface Policy {\n [key: string]: boolean;\n }\n\n export interface Setting {\n values: { [key: string]: 'Abp.Localization.DefaultLanguage' };\n }\n\n export interface CurrentUser {\n isAuthenticated: boolean;\n id: string;\n tenantId: string;\n userName: string;\n }\n\n export interface Features {\n values: Setting;\n }\n}\n","import { Config } from './config';\nimport { eLayoutType } from '../enums';\n\nexport namespace ABP {\n export interface Root {\n environment: Partial;\n requirements: Config.Requirements;\n }\n\n export type PagedResponse = {\n totalCount: number;\n } & PagedItemsResponse;\n\n export interface PagedItemsResponse {\n items: T[];\n }\n\n export interface PageQueryParams {\n filter?: string;\n sorting?: string;\n skipCount?: number;\n maxResultCount?: number;\n }\n\n export interface Route {\n children?: Route[];\n invisible?: boolean;\n layout?: eLayoutType;\n name: string;\n order?: number;\n parentName?: string;\n path: string;\n requiredPolicy?: string;\n iconClass?: string;\n }\n\n export interface FullRoute extends Route {\n url?: string;\n wrapper?: boolean;\n }\n\n export interface BasicItem {\n id: string;\n name: string;\n }\n}\n","import { AuthConfig } from 'angular-oauth2-oidc';\nimport { Type } from '@angular/core';\n\nexport namespace Config {\n export interface State {\n [key: string]: any;\n }\n\n export interface Environment {\n application: Application;\n production: boolean;\n oAuthConfig: AuthConfig;\n apis: Apis;\n }\n\n export interface Application {\n name: string;\n logoUrl?: string;\n }\n\n export interface Apis {\n [key: string]: { [key: string]: string };\n }\n\n export interface Requirements {\n layouts: Type[];\n }\n}\n","import { HttpHeaders, HttpParams } from '@angular/common/http';\n\nexport namespace Rest {\n export interface Config {\n throwErr?: boolean;\n observe?: Observe;\n }\n\n export const enum Observe {\n Body = 'body',\n Events = 'events',\n Response = 'response',\n }\n\n export const enum ResponseType {\n ArrayBuffer = 'arraybuffer',\n Blob = 'blob',\n JSON = 'json',\n Text = 'text',\n }\n\n export interface Request {\n body?: T;\n headers?:\n | HttpHeaders\n | {\n [header: string]: string | string[];\n };\n method: string;\n params?:\n | HttpParams\n | {\n [param: string]: any;\n };\n reportProgress?: boolean;\n responseType?: ResponseType;\n url: string;\n withCredentials?: boolean;\n }\n}\n","import { ABP } from '../models';\n\nexport namespace Session {\n export interface State {\n language: string;\n tenant: ABP.BasicItem;\n }\n}\n","export namespace Profile {\n export interface State {\n profile: Response;\n }\n\n export interface Response {\n userName: string;\n email: string;\n name: string;\n surname: string;\n phoneNumber: string;\n }\n\n export interface ChangePasswordRequest {\n currentPassword: string;\n newPassword: string;\n }\n}\n","import { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { Router, Routes } from '@angular/router';\nimport { actionMatcher, InitState, NgxsNextPluginFn, NgxsPlugin, setValue, UpdateState } from '@ngxs/store';\nimport snq from 'snq';\nimport { ABP } from '../models';\nimport { organizeRoutes } from '../utils/route-utils';\n\nexport const NGXS_CONFIG_PLUGIN_OPTIONS = new InjectionToken('NGXS_CONFIG_PLUGIN_OPTIONS');\n\n@Injectable()\nexport class ConfigPlugin implements NgxsPlugin {\n private initialized: boolean = false;\n\n constructor(@Inject(NGXS_CONFIG_PLUGIN_OPTIONS) private options: ABP.Root, private router: Router) {}\n\n handle(state: any, event: any, next: NgxsNextPluginFn) {\n const matches = actionMatcher(event);\n const isInitAction = matches(InitState) || matches(UpdateState);\n\n // const layouts = snq(() => this.options.requirements.layouts.filter(layout => layout instanceof Type), []);\n if (isInitAction && !this.initialized) {\n let { routes, wrappers } = transformRoutes(this.router.config);\n routes = organizeRoutes(routes, wrappers);\n\n state = setValue(state, 'ConfigState', {\n ...(state.ConfigState && { ...state.ConfigState }),\n ...this.options,\n routes,\n });\n\n this.initialized = true;\n }\n\n return next(state, event);\n }\n}\n\nfunction transformRoutes(routes: Routes = [], wrappers: ABP.FullRoute[] = []): any {\n const abpRoutes: ABP.FullRoute[] = routes\n .filter(route => {\n return snq(() => route.data.routes.find(r => r.path === route.path), false);\n })\n .reduce((acc, val) => [...acc, ...val.data.routes], []);\n\n wrappers = abpRoutes.filter(ar => ar.wrapper);\n const transformed = [] as ABP.FullRoute[];\n routes\n .filter(route => (route.data || {}).routes && (route.component || route.loadChildren))\n .forEach(route => {\n const abpPackage = abpRoutes.find(\n abp => abp.path.toLowerCase() === route.path.toLowerCase() && snq(() => route.data.routes.length, false),\n );\n const { length } = transformed;\n\n if (abpPackage) {\n transformed.push(abpPackage);\n }\n\n if (transformed.length === length) {\n transformed.push({\n path: route.path,\n name: snq(() => route.data.routes.name, route.path),\n children: route.data.routes.children || [],\n } as ABP.FullRoute);\n }\n });\n\n return { routes: setUrls(transformed), wrappers };\n}\n\nfunction setUrls(routes: ABP.FullRoute[], parentUrl?: string): ABP.FullRoute[] {\n if (parentUrl) {\n // this if block using for only recursive call\n\n return routes.map(route => ({\n ...route,\n url: `${parentUrl}/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `${parentUrl}/${route.path}`),\n }),\n }));\n }\n\n return routes.map(route => ({\n ...route,\n url: `/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `/${route.path}`),\n }),\n }));\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigService {\n constructor(private store: Store) {}\n\n getAll() {\n return this.store.selectSnapshot(ConfigState.getAll);\n }\n\n getOne(key: string) {\n return this.store.selectSnapshot(ConfigState.getOne(key));\n }\n\n getDeep(keys: string[] | string) {\n return this.store.selectSnapshot(ConfigState.getDeep(keys));\n }\n\n getSetting(key: string) {\n return this.store.selectSnapshot(ConfigState.getSetting(key));\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { uuid } from '../utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LazyLoadService {\n loadedLibraries: { [url: string]: ReplaySubject } = {};\n\n load(\n url: string,\n type: 'script' | 'style',\n content: string = '',\n targetQuery: string = 'body',\n position: InsertPosition = 'afterend',\n ): Observable {\n if (!url && !content) return;\n const key = url ? url.slice(url.lastIndexOf('/') + 1) : uuid();\n\n if (this.loadedLibraries[key]) {\n return this.loadedLibraries[key].asObservable();\n }\n\n this.loadedLibraries[key] = new ReplaySubject();\n\n let library;\n if (type === 'script') {\n library = document.createElement('script');\n library.type = 'text/javascript';\n if (url) {\n (library as HTMLScriptElement).src = url;\n }\n\n (library as HTMLScriptElement).text = content;\n } else if (url) {\n library = document.createElement('link');\n library.type = 'text/css';\n (library as HTMLLinkElement).rel = 'stylesheet';\n\n if (url) {\n (library as HTMLLinkElement).href = url;\n }\n } else {\n library = document.createElement('style');\n (library as HTMLStyleElement).textContent = content;\n }\n\n library.onload = () => {\n this.loadedLibraries[key].next();\n this.loadedLibraries[key].complete();\n };\n\n document.querySelector(targetQuery).insertAdjacentElement(position, library);\n\n return this.loadedLibraries[key].asObservable();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { Observable } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class LocalizationService {\n constructor(private store: Store) {}\n\n get(keys: string, ...interpolateParams: string[]): Observable {\n return this.store.select(ConfigState.getCopy(keys, ...interpolateParams));\n }\n\n instant(keys: string, ...interpolateParams: string[]): string {\n return this.store.selectSnapshot(ConfigState.getCopy(keys, ...interpolateParams));\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Config } from '../models';\n\nexport function environmentFactory(environment: Config.Environment) {\n return {\n ...environment,\n };\n}\n\nexport function configFactory(config: Config.Requirements) {\n return {\n ...config,\n };\n}\n\nexport const ENVIRONMENT = new InjectionToken('ENVIRONMENT');\n\nexport const CONFIG = new InjectionToken('CONFIG');\n","import { Pipe, PipeTransform, OnDestroy } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n@Pipe({\n name: 'abpLocalization',\n pure: false, // required to update the value\n})\nexport class LocalizationPipe implements PipeTransform, OnDestroy {\n initialized: boolean = false;\n\n value: string;\n\n constructor(private store: Store) {}\n\n transform(value: string, ...interpolateParams: string[]): string {\n if (!this.initialized) {\n this.initialized = true;\n\n this.store\n .select(\n ConfigState.getCopy(\n value,\n ...interpolateParams.reduce((acc, val) => (Array.isArray(val) ? [...acc, ...val] : [...acc, val]), []),\n ),\n )\n .pipe(\n takeUntilDestroy(this),\n distinctUntilChanged(),\n )\n .subscribe(copy => (this.value = copy));\n }\n\n return this.value;\n }\n\n ngOnDestroy() {}\n}\n","import { Directive, Output, Renderer2, ElementRef, OnInit, EventEmitter, Input } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[input.debounce]',\n})\nexport class InputEventDebounceDirective implements OnInit {\n @Input() debounce: number = 300;\n\n @Output('input.debounce') debounceEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'input')\n .pipe(\n debounceTime(this.debounce),\n takeUntilDestroy(this),\n )\n .subscribe((event: Event) => {\n this.debounceEvent.emit(event);\n });\n }\n}\n","import { Directive, ElementRef, EventEmitter, OnInit, Output, Renderer2 } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[click.stop]',\n})\nexport class ClickEventStopPropagationDirective implements OnInit {\n @Output('click.stop') stopPropEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'click')\n .pipe(takeUntilDestroy(this))\n .subscribe((event: MouseEvent) => {\n event.stopPropagation();\n this.stopPropEvent.emit(event);\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { NgxsRouterPluginModule } from '@ngxs/router-plugin';\nimport { NgxsStoragePluginModule } from '@ngxs/storage-plugin';\nimport { NgxsModule, NGXS_PLUGINS } from '@ngxs/store';\nimport { DynamicLayoutComponent } from './components/dynamic-layout.component';\nimport { RouterOutletComponent } from './components/router-outlet.component';\nimport { PermissionDirective } from './directives/permission.directive';\nimport { VisibilityDirective } from './directives/visibility.directive';\nimport { ApiInterceptor } from './interceptors/api.interceptor';\nimport { ABP } from './models/common';\nimport { LocalizationPipe } from './pipes/localization.pipe';\nimport { ConfigPlugin, NGXS_CONFIG_PLUGIN_OPTIONS } from './plugins/config.plugin';\nimport { ConfigState } from './states/config.state';\nimport { ProfileState } from './states/profile.state';\nimport { SessionState } from './states/session.state';\nimport { getInitialData } from './utils/initial-utils';\nimport { EllipsisDirective } from './directives/ellipsis.directive';\nimport { AutofocusDirective } from './directives/autofocus.directive';\nimport { InputEventDebounceDirective } from './directives/debounce.directive';\nimport { ClickEventStopPropagationDirective } from './directives/stop-propagation.directive';\n\n@NgModule({\n imports: [\n NgxsModule.forFeature([ProfileState, SessionState, ConfigState]),\n NgxsStoragePluginModule.forRoot({ key: 'SessionState' }),\n NgxsRouterPluginModule.forRoot(),\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n ],\n declarations: [\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n ClickEventStopPropagationDirective,\n ],\n exports: [\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n LocalizationPipe,\n ClickEventStopPropagationDirective,\n ],\n providers: [LocalizationPipe],\n entryComponents: [RouterOutletComponent, DynamicLayoutComponent],\n})\nexport class CoreModule {\n static forRoot(options = {} as ABP.Root): ModuleWithProviders {\n return {\n ngModule: CoreModule,\n providers: [\n {\n provide: NGXS_PLUGINS,\n useClass: ConfigPlugin,\n multi: true,\n },\n {\n provide: NGXS_CONFIG_PLUGIN_OPTIONS,\n useValue: options,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ApiInterceptor,\n multi: true,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector],\n useFactory: getInitialData,\n },\n ],\n };\n }\n}\n"],"names":["tslib_1.__decorate","takeUntilDestroy"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/core/fesm5/abp-ng.core.js b/npm/ng-packs/dist/core/fesm5/abp-ng.core.js index ca5410906d..81ad989458 100644 --- a/npm/ng-packs/dist/core/fesm5/abp-ng.core.js +++ b/npm/ng-packs/dist/core/fesm5/abp-ng.core.js @@ -1,9 +1,9 @@ import { __rest, __assign, __decorate, __metadata, __spread } from 'tslib'; -import { Injectable, ɵɵdefineInjectable, ɵɵinject, Component, Directive, ElementRef, Input, ChangeDetectorRef, HostBinding, Optional, Renderer2, InjectionToken, Inject, Pipe, Output, EventEmitter, NgModule, APP_INITIALIZER, Injector } from '@angular/core'; -import { Router, NavigationEnd, RouterModule } from '@angular/router'; -import { Store, Action, Selector, State, createSelector, Select, actionMatcher, InitState, UpdateState, setValue, NgxsModule, NGXS_PLUGINS } from '@ngxs/store'; +import { Injectable, ɵɵdefineInjectable, ɵɵinject, Component, Directive, ElementRef, Input, ChangeDetectorRef, HostBinding, Optional, Renderer2, InjectionToken, Inject, Pipe, EventEmitter, Output, APP_INITIALIZER, Injector, NgModule } from '@angular/core'; +import { NavigationEnd, Router, RouterModule } from '@angular/router'; +import { Store, Action, Selector, State, createSelector, Select, actionMatcher, InitState, UpdateState, setValue, NGXS_PLUGINS, NgxsModule } from '@ngxs/store'; import { NEVER, throwError, of, Subject, Observable, ReplaySubject, fromEvent } from 'rxjs'; -import { HttpClient, HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http'; +import { HttpClient, HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http'; import { take, catchError, tap, switchMap, takeUntil, finalize, distinctUntilChanged, debounceTime } from 'rxjs/operators'; import snq from 'snq'; import { OAuthService } from 'angular-oauth2-oidc'; @@ -25,12 +25,24 @@ var PatchRouteByName = /** @class */ (function () { PatchRouteByName.type = '[Config] Patch Route By Name'; return PatchRouteByName; }()); +if (false) { + /** @type {?} */ + PatchRouteByName.type; + /** @type {?} */ + PatchRouteByName.prototype.name; + /** @type {?} */ + PatchRouteByName.prototype.newValue; +} var GetAppConfiguration = /** @class */ (function () { function GetAppConfiguration() { } GetAppConfiguration.type = '[Config] Get App Configuration'; return GetAppConfiguration; }()); +if (false) { + /** @type {?} */ + GetAppConfiguration.type; +} /** * @fileoverview added by tsickle @@ -43,6 +55,12 @@ var StartLoader = /** @class */ (function () { StartLoader.type = '[Loader] Start'; return StartLoader; }()); +if (false) { + /** @type {?} */ + StartLoader.type; + /** @type {?} */ + StartLoader.prototype.payload; +} var StopLoader = /** @class */ (function () { function StopLoader(payload) { this.payload = payload; @@ -50,6 +68,12 @@ var StopLoader = /** @class */ (function () { StopLoader.type = '[Loader] Stop'; return StopLoader; }()); +if (false) { + /** @type {?} */ + StopLoader.type; + /** @type {?} */ + StopLoader.prototype.payload; +} /** * @fileoverview added by tsickle @@ -61,6 +85,10 @@ var GetProfile = /** @class */ (function () { GetProfile.type = '[Profile] Get'; return GetProfile; }()); +if (false) { + /** @type {?} */ + GetProfile.type; +} var UpdateProfile = /** @class */ (function () { function UpdateProfile(payload) { this.payload = payload; @@ -68,6 +96,12 @@ var UpdateProfile = /** @class */ (function () { UpdateProfile.type = '[Profile] Update'; return UpdateProfile; }()); +if (false) { + /** @type {?} */ + UpdateProfile.type; + /** @type {?} */ + UpdateProfile.prototype.payload; +} var ChangePassword = /** @class */ (function () { function ChangePassword(payload) { this.payload = payload; @@ -75,6 +109,12 @@ var ChangePassword = /** @class */ (function () { ChangePassword.type = '[Profile] Change Password'; return ChangePassword; }()); +if (false) { + /** @type {?} */ + ChangePassword.type; + /** @type {?} */ + ChangePassword.prototype.payload; +} /** * @fileoverview added by tsickle @@ -87,6 +127,12 @@ var RestOccurError = /** @class */ (function () { RestOccurError.type = '[Rest] Error'; return RestOccurError; }()); +if (false) { + /** @type {?} */ + RestOccurError.type; + /** @type {?} */ + RestOccurError.prototype.payload; +} /** * @fileoverview added by tsickle @@ -99,6 +145,12 @@ var SetLanguage = /** @class */ (function () { SetLanguage.type = '[Session] Set Language'; return SetLanguage; }()); +if (false) { + /** @type {?} */ + SetLanguage.type; + /** @type {?} */ + SetLanguage.prototype.payload; +} var SetTenant = /** @class */ (function () { function SetTenant(payload) { this.payload = payload; @@ -106,6 +158,17 @@ var SetTenant = /** @class */ (function () { SetTenant.type = '[Session] Set Tenant'; return SetTenant; }()); +if (false) { + /** @type {?} */ + SetTenant.type; + /** @type {?} */ + SetTenant.prototype.payload; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ /** * @fileoverview added by tsickle @@ -174,6 +237,18 @@ var RestService = /** @class */ (function () { /** @nocollapse */ RestService.ngInjectableDef = ɵɵdefineInjectable({ factory: function RestService_Factory() { return new RestService(ɵɵinject(HttpClient), ɵɵinject(Store)); }, token: RestService, providedIn: "root" }); return RestService; }()); +if (false) { + /** + * @type {?} + * @private + */ + RestService.prototype.http; + /** + * @type {?} + * @private + */ + RestService.prototype.store; +} /** * @fileoverview added by tsickle @@ -246,6 +321,13 @@ var ProfileService = /** @class */ (function () { /** @nocollapse */ ProfileService.ngInjectableDef = ɵɵdefineInjectable({ factory: function ProfileService_Factory() { return new ProfileService(ɵɵinject(RestService)); }, token: ProfileService, providedIn: "root" }); return ProfileService; }()); +if (false) { + /** + * @type {?} + * @private + */ + ProfileService.prototype.rest; +} /** * @fileoverview added by tsickle @@ -357,6 +439,13 @@ var ProfileState = /** @class */ (function () { ], ProfileState); return ProfileState; }()); +if (false) { + /** + * @type {?} + * @private + */ + ProfileState.prototype.profileService; +} /** * @fileoverview added by tsickle @@ -392,6 +481,13 @@ var ApplicationConfigurationService = /** @class */ (function () { /** @nocollapse */ ApplicationConfigurationService.ngInjectableDef = ɵɵdefineInjectable({ factory: function ApplicationConfigurationService_Factory() { return new ApplicationConfigurationService(ɵɵinject(RestService)); }, token: ApplicationConfigurationService, providedIn: "root" }); return ApplicationConfigurationService; }()); +if (false) { + /** + * @type {?} + * @private + */ + ApplicationConfigurationService.prototype.rest; +} /** * @fileoverview added by tsickle @@ -923,6 +1019,18 @@ var ConfigState = /** @class */ (function () { ], ConfigState); return ConfigState; }()); +if (false) { + /** + * @type {?} + * @private + */ + ConfigState.prototype.appConfigurationService; + /** + * @type {?} + * @private + */ + ConfigState.prototype.store; +} /** * @param {?} routes * @param {?} name @@ -962,6 +1070,11 @@ function patchRouteDeep(routes, name, newValue, parentUrl) { return organizeRoutes(routes); } +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1042,6 +1155,11 @@ function (componentInstance, destroyMethodName) { }); }); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1100,6 +1218,22 @@ var DynamicLayoutComponent = /** @class */ (function () { ], DynamicLayoutComponent.prototype, "requirements$", void 0); return DynamicLayoutComponent; }()); +if (false) { + /** @type {?} */ + DynamicLayoutComponent.prototype.requirements$; + /** @type {?} */ + DynamicLayoutComponent.prototype.layout; + /** + * @type {?} + * @private + */ + DynamicLayoutComponent.prototype.router; + /** + * @type {?} + * @private + */ + DynamicLayoutComponent.prototype.store; +} /** * @param {?} segments * @param {?} routes @@ -1156,6 +1290,11 @@ var RouterOutletComponent = /** @class */ (function () { return RouterOutletComponent; }()); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1192,6 +1331,15 @@ var AutofocusDirective = /** @class */ (function () { }; return AutofocusDirective; }()); +if (false) { + /** @type {?} */ + AutofocusDirective.prototype.delay; + /** + * @type {?} + * @private + */ + AutofocusDirective.prototype.elRef; +} /** * @fileoverview added by tsickle @@ -1218,7 +1366,7 @@ var EllipsisDirective = /** @class */ (function () { * @return {?} */ function () { - return this.enabled ? this.witdh || '160px' : undefined; + return this.enabled ? this.width || '170px' : undefined; }, enumerable: true, configurable: true @@ -1254,7 +1402,7 @@ var EllipsisDirective = /** @class */ (function () { { type: ElementRef } ]; }; EllipsisDirective.propDecorators = { - witdh: [{ type: Input, args: ['abpEllipsis',] }], + width: [{ type: Input, args: ['abpEllipsis',] }], title: [{ type: HostBinding, args: ['title',] }, { type: Input }], enabled: [{ type: Input, args: ['abpEllipsisEnabled',] }], class: [{ type: HostBinding, args: ['class.abp-ellipsis',] }], @@ -1262,6 +1410,24 @@ var EllipsisDirective = /** @class */ (function () { }; return EllipsisDirective; }()); +if (false) { + /** @type {?} */ + EllipsisDirective.prototype.width; + /** @type {?} */ + EllipsisDirective.prototype.title; + /** @type {?} */ + EllipsisDirective.prototype.enabled; + /** + * @type {?} + * @private + */ + EllipsisDirective.prototype.cdRef; + /** + * @type {?} + * @private + */ + EllipsisDirective.prototype.elRef; +} /** * @fileoverview added by tsickle @@ -1319,6 +1485,25 @@ var PermissionDirective = /** @class */ (function () { }; return PermissionDirective; }()); +if (false) { + /** @type {?} */ + PermissionDirective.prototype.condition; + /** + * @type {?} + * @private + */ + PermissionDirective.prototype.elRef; + /** + * @type {?} + * @private + */ + PermissionDirective.prototype.renderer; + /** + * @type {?} + * @private + */ + PermissionDirective.prototype.store; +} /** * @fileoverview added by tsickle @@ -1407,6 +1592,43 @@ var VisibilityDirective = /** @class */ (function () { }; return VisibilityDirective; }()); +if (false) { + /** @type {?} */ + VisibilityDirective.prototype.focusedElement; + /** @type {?} */ + VisibilityDirective.prototype.completed$; + /** + * @type {?} + * @private + */ + VisibilityDirective.prototype.elRef; + /** + * @type {?} + * @private + */ + VisibilityDirective.prototype.renderer; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +/** @enum {string} */ +var eLayoutType = { + account: 'account', + application: 'application', + empty: 'empty', +}; + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ /** * @fileoverview added by tsickle @@ -1449,6 +1671,18 @@ var AuthGuard = /** @class */ (function () { /** @nocollapse */ AuthGuard.ngInjectableDef = ɵɵdefineInjectable({ factory: function AuthGuard_Factory() { return new AuthGuard(ɵɵinject(OAuthService), ɵɵinject(Store)); }, token: AuthGuard, providedIn: "root" }); return AuthGuard; }()); +if (false) { + /** + * @type {?} + * @private + */ + AuthGuard.prototype.oauthService; + /** + * @type {?} + * @private + */ + AuthGuard.prototype.store; +} /** * @fileoverview added by tsickle @@ -1484,6 +1718,18 @@ var PermissionGuard = /** @class */ (function () { /** @nocollapse */ PermissionGuard.ngInjectableDef = ɵɵdefineInjectable({ factory: function PermissionGuard_Factory() { return new PermissionGuard(ɵɵinject(Store)); }, token: PermissionGuard, providedIn: "root" }); return PermissionGuard; }()); +if (false) { + /** + * @type {?} + * @private + */ + PermissionGuard.prototype.store; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ /** * @fileoverview added by tsickle @@ -1543,6 +1789,272 @@ var ApiInterceptor = /** @class */ (function () { ]; }; return ApiInterceptor; }()); +if (false) { + /** + * @type {?} + * @private + */ + ApiInterceptor.prototype.oAuthService; + /** + * @type {?} + * @private + */ + ApiInterceptor.prototype.store; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var ApplicationConfiguration; +(function (ApplicationConfiguration) { + /** + * @record + */ + function Response() { } + ApplicationConfiguration.Response = Response; + if (false) { + /** @type {?} */ + Response.prototype.localization; + /** @type {?} */ + Response.prototype.auth; + /** @type {?} */ + Response.prototype.setting; + /** @type {?} */ + Response.prototype.currentUser; + /** @type {?} */ + Response.prototype.features; + } + /** + * @record + */ + function Localization() { } + ApplicationConfiguration.Localization = Localization; + if (false) { + /** @type {?} */ + Localization.prototype.values; + /** @type {?} */ + Localization.prototype.languages; + } + /** + * @record + */ + function LocalizationValue() { } + ApplicationConfiguration.LocalizationValue = LocalizationValue; + /** + * @record + */ + function Language() { } + ApplicationConfiguration.Language = Language; + if (false) { + /** @type {?} */ + Language.prototype.cultureName; + /** @type {?} */ + Language.prototype.uiCultureName; + /** @type {?} */ + Language.prototype.displayName; + /** @type {?} */ + Language.prototype.flagIcon; + } + /** + * @record + */ + function Auth() { } + ApplicationConfiguration.Auth = Auth; + if (false) { + /** @type {?} */ + Auth.prototype.policies; + /** @type {?} */ + Auth.prototype.grantedPolicies; + } + /** + * @record + */ + function Policy() { } + ApplicationConfiguration.Policy = Policy; + /** + * @record + */ + function Setting() { } + ApplicationConfiguration.Setting = Setting; + if (false) { + /** @type {?} */ + Setting.prototype.values; + } + /** + * @record + */ + function CurrentUser() { } + ApplicationConfiguration.CurrentUser = CurrentUser; + if (false) { + /** @type {?} */ + CurrentUser.prototype.isAuthenticated; + /** @type {?} */ + CurrentUser.prototype.id; + /** @type {?} */ + CurrentUser.prototype.tenantId; + /** @type {?} */ + CurrentUser.prototype.userName; + } + /** + * @record + */ + function Features() { } + ApplicationConfiguration.Features = Features; + if (false) { + /** @type {?} */ + Features.prototype.values; + } +})(ApplicationConfiguration || (ApplicationConfiguration = {})); + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var ABP; +(function (ABP) { + /** + * @record + */ + function Root() { } + ABP.Root = Root; + if (false) { + /** @type {?} */ + Root.prototype.environment; + /** @type {?} */ + Root.prototype.requirements; + } + /** + * @record + * @template T + */ + function PagedItemsResponse() { } + ABP.PagedItemsResponse = PagedItemsResponse; + if (false) { + /** @type {?} */ + PagedItemsResponse.prototype.items; + } + /** + * @record + */ + function PageQueryParams() { } + ABP.PageQueryParams = PageQueryParams; + if (false) { + /** @type {?|undefined} */ + PageQueryParams.prototype.filter; + /** @type {?|undefined} */ + PageQueryParams.prototype.sorting; + /** @type {?|undefined} */ + PageQueryParams.prototype.skipCount; + /** @type {?|undefined} */ + PageQueryParams.prototype.maxResultCount; + } + /** + * @record + */ + function Route() { } + ABP.Route = Route; + if (false) { + /** @type {?|undefined} */ + Route.prototype.children; + /** @type {?|undefined} */ + Route.prototype.invisible; + /** @type {?|undefined} */ + Route.prototype.layout; + /** @type {?} */ + Route.prototype.name; + /** @type {?|undefined} */ + Route.prototype.order; + /** @type {?|undefined} */ + Route.prototype.parentName; + /** @type {?} */ + Route.prototype.path; + /** @type {?|undefined} */ + Route.prototype.requiredPolicy; + /** @type {?|undefined} */ + Route.prototype.iconClass; + } + /** + * @record + */ + function FullRoute() { } + ABP.FullRoute = FullRoute; + if (false) { + /** @type {?|undefined} */ + FullRoute.prototype.url; + /** @type {?|undefined} */ + FullRoute.prototype.wrapper; + } + /** + * @record + */ + function BasicItem() { } + ABP.BasicItem = BasicItem; + if (false) { + /** @type {?} */ + BasicItem.prototype.id; + /** @type {?} */ + BasicItem.prototype.name; + } +})(ABP || (ABP = {})); + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var Config; +(function (Config) { + /** + * @record + */ + function State() { } + Config.State = State; + /** + * @record + */ + function Environment() { } + Config.Environment = Environment; + if (false) { + /** @type {?} */ + Environment.prototype.application; + /** @type {?} */ + Environment.prototype.production; + /** @type {?} */ + Environment.prototype.oAuthConfig; + /** @type {?} */ + Environment.prototype.apis; + } + /** + * @record + */ + function Application() { } + Config.Application = Application; + if (false) { + /** @type {?} */ + Application.prototype.name; + /** @type {?|undefined} */ + Application.prototype.logoUrl; + } + /** + * @record + */ + function Apis() { } + Config.Apis = Apis; + /** + * @record + */ + function Requirements() { } + Config.Requirements = Requirements; + if (false) { + /** @type {?} */ + Requirements.prototype.layouts; + } +})(Config || (Config = {})); /** * @fileoverview added by tsickle @@ -1555,14 +2067,107 @@ var Rest; */ function Config() { } Rest.Config = Config; + if (false) { + /** @type {?|undefined} */ + Config.prototype.throwErr; + /** @type {?|undefined} */ + Config.prototype.observe; + } /** * @record * @template T */ function Request() { } Rest.Request = Request; + if (false) { + /** @type {?|undefined} */ + Request.prototype.body; + /** @type {?|undefined} */ + Request.prototype.headers; + /** @type {?} */ + Request.prototype.method; + /** @type {?|undefined} */ + Request.prototype.params; + /** @type {?|undefined} */ + Request.prototype.reportProgress; + /** @type {?|undefined} */ + Request.prototype.responseType; + /** @type {?} */ + Request.prototype.url; + /** @type {?|undefined} */ + Request.prototype.withCredentials; + } })(Rest || (Rest = {})); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var Session; +(function (Session) { + /** + * @record + */ + function State() { } + Session.State = State; + if (false) { + /** @type {?} */ + State.prototype.language; + /** @type {?} */ + State.prototype.tenant; + } +})(Session || (Session = {})); + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var Profile; +(function (Profile) { + /** + * @record + */ + function State() { } + Profile.State = State; + if (false) { + /** @type {?} */ + State.prototype.profile; + } + /** + * @record + */ + function Response() { } + Profile.Response = Response; + if (false) { + /** @type {?} */ + Response.prototype.userName; + /** @type {?} */ + Response.prototype.email; + /** @type {?} */ + Response.prototype.name; + /** @type {?} */ + Response.prototype.surname; + /** @type {?} */ + Response.prototype.phoneNumber; + } + /** + * @record + */ + function ChangePasswordRequest() { } + Profile.ChangePasswordRequest = ChangePasswordRequest; + if (false) { + /** @type {?} */ + ChangePasswordRequest.prototype.currentPassword; + /** @type {?} */ + ChangePasswordRequest.prototype.newPassword; + } +})(Profile || (Profile = {})); + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1611,6 +2216,23 @@ var ConfigPlugin = /** @class */ (function () { ]; }; return ConfigPlugin; }()); +if (false) { + /** + * @type {?} + * @private + */ + ConfigPlugin.prototype.initialized; + /** + * @type {?} + * @private + */ + ConfigPlugin.prototype.options; + /** + * @type {?} + * @private + */ + ConfigPlugin.prototype.router; +} /** * @param {?=} routes * @param {?=} wrappers @@ -1712,6 +2334,11 @@ function setUrls(routes, parentUrl) { }))); })); } +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1774,6 +2401,13 @@ var ConfigService = /** @class */ (function () { /** @nocollapse */ ConfigService.ngInjectableDef = ɵɵdefineInjectable({ factory: function ConfigService_Factory() { return new ConfigService(ɵɵinject(Store)); }, token: ConfigService, providedIn: "root" }); return ConfigService; }()); +if (false) { + /** + * @type {?} + * @private + */ + ConfigService.prototype.store; +} /** * @fileoverview added by tsickle @@ -1852,6 +2486,10 @@ var LazyLoadService = /** @class */ (function () { /** @nocollapse */ LazyLoadService.ngInjectableDef = ɵɵdefineInjectable({ factory: function LazyLoadService_Factory() { return new LazyLoadService(); }, token: LazyLoadService, providedIn: "root" }); return LazyLoadService; }()); +if (false) { + /** @type {?} */ + LazyLoadService.prototype.loadedLibraries; +} /** * @fileoverview added by tsickle @@ -1905,6 +2543,18 @@ var LocalizationService = /** @class */ (function () { /** @nocollapse */ LocalizationService.ngInjectableDef = ɵɵdefineInjectable({ factory: function LocalizationService_Factory() { return new LocalizationService(ɵɵinject(Store)); }, token: LocalizationService, providedIn: "root" }); return LocalizationService; }()); +if (false) { + /** + * @type {?} + * @private + */ + LocalizationService.prototype.store; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ /** * @fileoverview added by tsickle @@ -1929,6 +2579,11 @@ var ENVIRONMENT = new InjectionToken('ENVIRONMENT'); /** @type {?} */ var CONFIG = new InjectionToken('CONFIG'); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1991,6 +2646,17 @@ var LocalizationPipe = /** @class */ (function () { ]; }; return LocalizationPipe; }()); +if (false) { + /** @type {?} */ + LocalizationPipe.prototype.initialized; + /** @type {?} */ + LocalizationPipe.prototype.value; + /** + * @type {?} + * @private + */ + LocalizationPipe.prototype.store; +} /** * @fileoverview added by tsickle @@ -2037,6 +2703,22 @@ var InputEventDebounceDirective = /** @class */ (function () { }; return InputEventDebounceDirective; }()); +if (false) { + /** @type {?} */ + InputEventDebounceDirective.prototype.debounce; + /** @type {?} */ + InputEventDebounceDirective.prototype.debounceEvent; + /** + * @type {?} + * @private + */ + InputEventDebounceDirective.prototype.renderer; + /** + * @type {?} + * @private + */ + InputEventDebounceDirective.prototype.el; +} /** * @fileoverview added by tsickle @@ -2082,6 +2764,20 @@ var ClickEventStopPropagationDirective = /** @class */ (function () { }; return ClickEventStopPropagationDirective; }()); +if (false) { + /** @type {?} */ + ClickEventStopPropagationDirective.prototype.stopPropEvent; + /** + * @type {?} + * @private + */ + ClickEventStopPropagationDirective.prototype.renderer; + /** + * @type {?} + * @private + */ + ClickEventStopPropagationDirective.prototype.el; +} /** * @fileoverview added by tsickle @@ -2173,5 +2869,15 @@ var CoreModule = /** @class */ (function () { return CoreModule; }()); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + export { ApiInterceptor, ApplicationConfigurationService, AuthGuard, AutofocusDirective, CONFIG, ChangePassword, ConfigPlugin, ConfigService, ConfigState, CoreModule, DynamicLayoutComponent, ENVIRONMENT, EllipsisDirective, GetAppConfiguration, GetProfile, LazyLoadService, LocalizationService, NGXS_CONFIG_PLUGIN_OPTIONS, PatchRouteByName, PermissionDirective, PermissionGuard, ProfileService, ProfileState, Rest, RestOccurError, RestService, RouterOutletComponent, SessionState, SetLanguage, SetTenant, StartLoader, StopLoader, UpdateProfile, VisibilityDirective, configFactory, environmentFactory, getInitialData, organizeRoutes, setChildRoute, sortRoutes, takeUntilDestroy, uuid, ProfileState as ɵa, ProfileService as ɵb, ConfigPlugin as ɵba, ApiInterceptor as ɵbb, getInitialData as ɵbc, RestService as ɵc, GetProfile as ɵd, UpdateProfile as ɵe, ChangePassword as ɵf, SessionState as ɵh, SetLanguage as ɵi, SetTenant as ɵj, ConfigState as ɵl, ApplicationConfigurationService as ɵm, PatchRouteByName as ɵn, GetAppConfiguration as ɵo, RouterOutletComponent as ɵp, DynamicLayoutComponent as ɵq, ConfigState as ɵr, AutofocusDirective as ɵs, EllipsisDirective as ɵt, LocalizationPipe as ɵu, PermissionDirective as ɵv, VisibilityDirective as ɵw, InputEventDebounceDirective as ɵx, ClickEventStopPropagationDirective as ɵy, NGXS_CONFIG_PLUGIN_OPTIONS as ɵz }; //# sourceMappingURL=abp-ng.core.js.map diff --git a/npm/ng-packs/dist/core/fesm5/abp-ng.core.js.map b/npm/ng-packs/dist/core/fesm5/abp-ng.core.js.map index 376ef0339c..19fa60aec5 100644 --- a/npm/ng-packs/dist/core/fesm5/abp-ng.core.js.map +++ b/npm/ng-packs/dist/core/fesm5/abp-ng.core.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.core.js","sources":["ng://@abp/ng.core/lib/actions/config.actions.ts","ng://@abp/ng.core/lib/actions/loader.actions.ts","ng://@abp/ng.core/lib/actions/profile.actions.ts","ng://@abp/ng.core/lib/actions/rest.actions.ts","ng://@abp/ng.core/lib/actions/session.actions.ts","ng://@abp/ng.core/lib/services/rest.service.ts","ng://@abp/ng.core/lib/services/profile.service.ts","ng://@abp/ng.core/lib/states/profile.state.ts","ng://@abp/ng.core/lib/services/application-configuration.service.ts","ng://@abp/ng.core/lib/states/session.state.ts","ng://@abp/ng.core/lib/utils/route-utils.ts","ng://@abp/ng.core/lib/states/config.state.ts","ng://@abp/ng.core/lib/utils/generator-utils.ts","ng://@abp/ng.core/lib/utils/initial-utils.ts","ng://@abp/ng.core/lib/utils/rxjs-utils.ts","ng://@abp/ng.core/lib/components/dynamic-layout.component.ts","ng://@abp/ng.core/lib/components/router-outlet.component.ts","ng://@abp/ng.core/lib/directives/autofocus.directive.ts","ng://@abp/ng.core/lib/directives/ellipsis.directive.ts","ng://@abp/ng.core/lib/directives/permission.directive.ts","ng://@abp/ng.core/lib/directives/visibility.directive.ts","ng://@abp/ng.core/lib/guards/auth.guard.ts","ng://@abp/ng.core/lib/guards/permission.guard.ts","ng://@abp/ng.core/lib/interceptors/api.interceptor.ts","ng://@abp/ng.core/lib/models/rest.ts","ng://@abp/ng.core/lib/plugins/config.plugin.ts","ng://@abp/ng.core/lib/services/config.service.ts","ng://@abp/ng.core/lib/services/lazy-load.service.ts","ng://@abp/ng.core/lib/services/localization.service.ts","ng://@abp/ng.core/lib/tokens/common.token.ts","ng://@abp/ng.core/lib/pipes/localization.pipe.ts","ng://@abp/ng.core/lib/directives/debounce.directive.ts","ng://@abp/ng.core/lib/directives/stop-propagation.directive.ts","ng://@abp/ng.core/lib/core.module.ts"],"sourcesContent":["import { ABP } from '../models';\n\nexport class PatchRouteByName {\n static readonly type = '[Config] Patch Route By Name';\n constructor(public name: string, public newValue: Partial) {}\n}\n\nexport class GetAppConfiguration {\n static readonly type = '[Config] Get App Configuration';\n}\n","import { HttpRequest } from '@angular/common/http';\n\nexport class StartLoader {\n static readonly type = '[Loader] Start';\n constructor(public payload: HttpRequest) {}\n}\n\nexport class StopLoader {\n static readonly type = '[Loader] Stop';\n constructor(public payload: HttpRequest) {}\n}\n","import { Profile } from '../models';\n\nexport class GetProfile {\n static readonly type = '[Profile] Get';\n}\n\nexport class UpdateProfile {\n static readonly type = '[Profile] Update';\n constructor(public payload: Profile.Response) {}\n}\n\nexport class ChangePassword {\n static readonly type = '[Profile] Change Password';\n constructor(public payload: Profile.ChangePasswordRequest) {}\n}\n","import { HttpErrorResponse } from '@angular/common/http';\n\nexport class RestOccurError {\n static readonly type = '[Rest] Error';\n constructor(public payload: HttpErrorResponse | any) {}\n}\n","import { ABP } from '../models';\n\nexport class SetLanguage {\n static readonly type = '[Session] Set Language';\n constructor(public payload: string) {}\n}\nexport class SetTenant {\n static readonly type = '[Session] Set Tenant';\n constructor(public payload: ABP.BasicItem) {}\n}\n","import { HttpClient, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { NEVER, Observable, throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport { Rest } from '../models/rest';\nimport { ConfigState } from '../states';\nimport { RestOccurError } from '../actions';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RestService {\n constructor(private http: HttpClient, private store: Store) {}\n\n handleError(err: any): Observable {\n this.store.dispatch(new RestOccurError(err));\n console.error(err);\n return NEVER;\n }\n\n request(request: HttpRequest | Rest.Request, config: Rest.Config = {}, api?: string): Observable {\n const { observe = Rest.Observe.Body, throwErr } = config;\n const url = api || this.store.selectSnapshot(ConfigState.getApiUrl()) + request.url;\n const { method, ...options } = request;\n return this.http.request(method, url, { observe, ...options } as any).pipe(\n observe === Rest.Observe.Body ? take(1) : null,\n catchError(err => {\n if (throwErr) {\n return throwError(err);\n }\n\n return this.handleError(err);\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService } from './rest.service';\nimport { Profile, Rest } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProfileService {\n constructor(private rest: RestService) {}\n\n get(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/my-profile',\n };\n\n return this.rest.request(request);\n }\n\n update(body: Profile.Response): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/identity/my-profile',\n body,\n };\n\n return this.rest.request(request);\n }\n\n changePassword(body: Profile.ChangePasswordRequest, throwErr: boolean = false): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/my-profile/change-password',\n body,\n };\n\n return this.rest.request(request, { throwErr });\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetProfile, ChangePassword, UpdateProfile } from '../actions/profile.actions';\nimport { Profile } from '../models/profile';\nimport { ProfileService } from '../services/profile.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'ProfileState',\n defaults: {} as Profile.State,\n})\nexport class ProfileState {\n @Selector()\n static getProfile({ profile }: Profile.State): Profile.Response {\n return profile;\n }\n\n constructor(private profileService: ProfileService) {}\n\n @Action(GetProfile)\n profileGet({ patchState }: StateContext) {\n return this.profileService.get().pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(UpdateProfile)\n profileUpdate({ patchState }: StateContext, { payload }: UpdateProfile) {\n return this.profileService.update(payload).pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(ChangePassword)\n changePassword(_, { payload }: ChangePassword) {\n return this.profileService.changePassword(payload, true);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ApplicationConfiguration, Rest } from '../models';\nimport { RestService } from './rest.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApplicationConfigurationService {\n constructor(private rest: RestService) {}\n\n getConfiguration(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/application-configuration',\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { SetLanguage, SetTenant } from '../actions/session.actions';\nimport { ABP, Session } from '../models';\n\n@State({\n name: 'SessionState',\n defaults: {} as Session.State,\n})\nexport class SessionState {\n @Selector()\n static getLanguage({ language }: Session.State): string {\n return language;\n }\n\n @Selector()\n static getTenant({ tenant }: Session.State): ABP.BasicItem {\n return tenant;\n }\n\n constructor() {}\n\n @Action(SetLanguage)\n setLanguage({ patchState }: StateContext, { payload }: SetLanguage) {\n patchState({\n language: payload,\n });\n }\n\n @Action(SetTenant)\n setTenantId({ patchState }: StateContext, { payload }: SetTenant) {\n patchState({\n tenant: payload,\n });\n }\n}\n","import { ABP } from '../models';\n\nexport function organizeRoutes(\n routes: ABP.FullRoute[],\n wrappers: ABP.FullRoute[] = [],\n parentNameArr = [] as ABP.FullRoute[],\n parentName: string = null,\n): ABP.FullRoute[] {\n const filter = route => {\n if (route.children && route.children.length) {\n route.children = organizeRoutes(route.children, wrappers, parentNameArr, route.name);\n }\n\n if (route.parentName && route.parentName !== parentName) {\n parentNameArr.push(route);\n return false;\n }\n\n return true;\n };\n\n if (parentName) {\n // recursive block\n return routes.filter(filter);\n }\n\n const filteredRoutes = routes.filter(filter);\n\n if (parentNameArr.length) {\n return sortRoutes(setChildRoute([...filteredRoutes, ...wrappers], parentNameArr));\n }\n\n return filteredRoutes;\n}\n\nexport function setChildRoute(routes: ABP.FullRoute[], parentNameArr: ABP.FullRoute[]): ABP.FullRoute[] {\n return routes.map(route => {\n if (route.children && route.children.length) {\n route.children = setChildRoute(route.children, parentNameArr);\n }\n\n const foundedChildren = parentNameArr.filter(parent => parent.parentName === route.name);\n if (foundedChildren && foundedChildren.length) {\n route.children = [...(route.children || []), ...foundedChildren];\n }\n\n return route;\n });\n}\n\nexport function sortRoutes(routes: ABP.FullRoute[] = []): ABP.FullRoute[] {\n if (!routes.length) return [];\n return routes\n .sort((a, b) => a.order - b.order)\n .map(route => {\n if (route.children && route.children.length) {\n route.children = sortRoutes(route.children);\n }\n\n return route;\n });\n}\n","import { State, Selector, createSelector, Action, StateContext, Store } from '@ngxs/store';\nimport { Config, ABP } from '../models';\nimport { GetAppConfiguration, PatchRouteByName } from '../actions/config.actions';\nimport { ApplicationConfigurationService } from '../services/application-configuration.service';\nimport { tap, switchMap } from 'rxjs/operators';\nimport snq from 'snq';\nimport { SetLanguage } from '../actions';\nimport { SessionState } from './session.state';\nimport { of } from 'rxjs';\nimport { setChildRoute, sortRoutes, organizeRoutes } from '../utils/route-utils';\n\n@State({\n name: 'ConfigState',\n defaults: {} as Config.State,\n})\nexport class ConfigState {\n @Selector()\n static getAll(state: Config.State) {\n return state;\n }\n\n @Selector()\n static getApplicationInfo(state: Config.State) {\n return state.environment.application || {};\n }\n\n static getOne(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return state[key];\n },\n );\n\n return selector;\n }\n\n static getDeep(keys: string[] | string) {\n if (typeof keys === 'string') {\n keys = keys.split('.');\n }\n\n if (!Array.isArray(keys)) {\n throw new Error('The argument must be a dot string or an string array.');\n }\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return (keys as string[]).reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state);\n },\n );\n\n return selector;\n }\n\n static getApiUrl(key?: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): string {\n return state.environment.apis[key || 'default'].url;\n },\n );\n\n return selector;\n }\n\n static getSetting(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return snq(() => state.setting.values[key]);\n },\n );\n\n return selector;\n }\n\n static getGrantedPolicy(condition: string = '') {\n const keys = condition\n .replace(/\\(|\\)|\\!|\\s/g, '')\n .split(/\\|\\||&&/)\n .filter(key => key);\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): boolean {\n if (!keys.length) return true;\n\n const getPolicy = key => snq(() => state.auth.grantedPolicies[key], false);\n if (keys.length > 1) {\n keys.forEach(key => {\n const value = getPolicy(key);\n condition = condition.replace(key, value);\n });\n\n // tslint:disable-next-line: no-eval\n return eval(`!!${condition}`);\n }\n\n return getPolicy(condition);\n },\n );\n\n return selector;\n }\n\n static getCopy(key: string, ...interpolateParams: string[]) {\n if (!key) key = '';\n\n const keys = key.split('::') as string[];\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n if (!state.localization) return key;\n\n const { defaultResourceName } = state.environment.localization;\n if (keys[0] === '') {\n if (!defaultResourceName) {\n throw new Error(\n `Please check your environment. May you forget set defaultResourceName? \n Here is the example:\n { production: false,\n localization: {\n defaultResourceName: 'MyProjectName'\n }\n }`,\n );\n }\n\n keys[0] = snq(() => defaultResourceName);\n }\n\n let copy = keys.reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state.localization.values);\n\n interpolateParams = interpolateParams.filter(params => params != null);\n if (copy && interpolateParams && interpolateParams.length) {\n interpolateParams.forEach(param => {\n copy = copy.replace(/[\\'\\\"]?\\{[\\d]+\\}[\\'\\\"]?/, param);\n });\n }\n\n return copy || key;\n },\n );\n\n return selector;\n }\n\n constructor(private appConfigurationService: ApplicationConfigurationService, private store: Store) {}\n\n @Action(GetAppConfiguration)\n addData({ patchState, dispatch }: StateContext) {\n return this.appConfigurationService.getConfiguration().pipe(\n tap(configuration =>\n patchState({\n ...configuration,\n }),\n ),\n switchMap(configuration =>\n this.store.selectSnapshot(SessionState.getLanguage)\n ? of(null)\n : dispatch(new SetLanguage(snq(() => configuration.setting.values['Abp.Localization.DefaultLanguage']))),\n ),\n );\n }\n\n @Action(PatchRouteByName)\n patchRoute({ patchState, getState }: StateContext, { name, newValue }: PatchRouteByName) {\n let routes: ABP.FullRoute[] = getState().routes;\n\n const index = routes.findIndex(route => route.name === name);\n\n routes = patchRouteDeep(routes, name, newValue);\n\n return patchState({\n routes,\n });\n }\n}\n\nfunction patchRouteDeep(\n routes: ABP.FullRoute[],\n name: string,\n newValue: Partial,\n parentUrl: string = null,\n): ABP.FullRoute[] {\n routes = routes.map(route => {\n if (route.name === name) {\n if (newValue.path) {\n newValue.url = `${parentUrl}/${newValue.path}`;\n }\n\n if (newValue.children && newValue.children.length) {\n newValue.children = newValue.children.map(child => ({\n ...child,\n url: `${parentUrl}/${route.path}/${child.path}`,\n }));\n }\n\n return { ...route, ...newValue };\n } else if (route.children && route.children.length) {\n route.children = patchRouteDeep(route.children, name, newValue, (parentUrl || '/') + route.path);\n }\n\n return route;\n });\n\n if (parentUrl) {\n // recursive block\n return routes;\n }\n\n return organizeRoutes(routes);\n}\n","export function uuid(a?: any): string {\n return a\n ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16)\n : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);\n}\n","import { Injector } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { GetAppConfiguration } from '../actions/config.actions';\n\nexport function getInitialData(injector: Injector) {\n const fn = function() {\n const store: Store = injector.get(Store);\n\n return store.dispatch(new GetAppConfiguration()).toPromise();\n };\n\n return fn;\n}\n","import { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n\nexport const takeUntilDestroy = (componentInstance, destroyMethodName = 'ngOnDestroy') => (\n source: Observable,\n) => {\n const originalDestroy = componentInstance[destroyMethodName];\n if (isFunction(originalDestroy) === false) {\n throw new Error(\n `${componentInstance.constructor.name} is using untilDestroyed but doesn't implement ${destroyMethodName}`,\n );\n }\n if (!componentInstance['__takeUntilDestroy']) {\n componentInstance['__takeUntilDestroy'] = new Subject();\n\n componentInstance[destroyMethodName] = function() {\n isFunction(originalDestroy) && originalDestroy.apply(this, arguments);\n componentInstance['__takeUntilDestroy'].next(true);\n componentInstance['__takeUntilDestroy'].complete();\n };\n }\n return source.pipe(takeUntil(componentInstance['__takeUntilDestroy']));\n};\n","import { Component, OnDestroy, Type } from '@angular/core';\nimport { NavigationEnd, Router, UrlSegment } from '@angular/router';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { eLayoutType } from '../enums';\nimport { ABP, Config } from '../models';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport snq from 'snq';\n\n@Component({\n selector: 'abp-dynamic-layout',\n template: `\n \n\n \n \n `,\n})\nexport class DynamicLayoutComponent implements OnDestroy {\n @Select(ConfigState.getOne('requirements'))\n requirements$: Observable;\n\n layout: Type;\n\n constructor(private router: Router, private store: Store) {\n this.router.events.pipe(takeUntilDestroy(this)).subscribe(event => {\n if (event instanceof NavigationEnd) {\n const { segments } = this.router.parseUrl(event.url).root.children.primary;\n const {\n requirements: { layouts },\n routes,\n } = this.store.selectSnapshot(ConfigState.getAll);\n\n const layout = findLayout(segments, routes);\n\n this.layout = layouts.filter(l => !!l).find(l => snq(() => l.type.toLowerCase().indexOf(layout), -1) > -1);\n }\n });\n }\n\n ngOnDestroy() {}\n}\n\nfunction findLayout(segments: UrlSegment[], routes: ABP.FullRoute[]): eLayoutType {\n let layout = eLayoutType.empty;\n\n const route = routes\n .reduce((acc, val) => (val.wrapper ? [...acc, ...val.children] : [...acc, val]), [])\n .find(r => r.path === segments[0].path);\n\n if (route) {\n if (route.layout) {\n layout = route.layout;\n }\n\n if (route.children && route.children.length && segments.length > 1) {\n const child = route.children.find(c => c.path === segments[1].path);\n\n if (child.layout) {\n layout = child.layout;\n }\n }\n }\n\n return layout;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-router-outlet',\n template: `\n \n `,\n})\nexport class RouterOutletComponent {}\n","import { Directive, ElementRef, Input, AfterViewInit } from '@angular/core';\n\n@Directive({\n selector: '[autofocus]',\n})\nexport class AutofocusDirective implements AfterViewInit {\n @Input('autofocus')\n delay: number = 0;\n\n constructor(private elRef: ElementRef) {}\n\n ngAfterViewInit(): void {\n setTimeout(() => this.elRef.nativeElement.focus(), this.delay);\n }\n}\n","import { AfterContentInit, ChangeDetectorRef, Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[abpEllipsis]',\n})\nexport class EllipsisDirective implements AfterContentInit {\n @Input('abpEllipsis')\n witdh: string;\n\n @HostBinding('title')\n @Input()\n title: string;\n\n @Input('abpEllipsisEnabled')\n enabled = true;\n\n @HostBinding('class.abp-ellipsis')\n get class() {\n return this.enabled;\n }\n\n @HostBinding('style.max-width')\n get maxWidth() {\n return this.enabled ? this.witdh || '160px' : undefined;\n }\n\n constructor(private cdRef: ChangeDetectorRef, private elRef: ElementRef) {}\n\n ngAfterContentInit() {\n setTimeout(() => {\n const title = this.title;\n this.title = title || (this.elRef.nativeElement as HTMLElement).innerText;\n\n if (this.title !== title) {\n this.cdRef.detectChanges();\n }\n }, 0);\n }\n}\n","import { Directive, ElementRef, Input, OnDestroy, OnInit, Optional, Renderer2 } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\n\n@Directive({\n selector: '[abpPermission]',\n})\nexport class PermissionDirective implements OnInit, OnDestroy {\n @Input('abpPermission') condition: string;\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2, private store: Store) {}\n\n ngOnInit() {\n if (this.condition) {\n this.store\n .select(ConfigState.getGrantedPolicy(this.condition))\n .pipe(takeUntilDestroy(this))\n .subscribe(isGranted => {\n if (!isGranted) {\n this.renderer.removeChild(\n (this.elRef.nativeElement as HTMLElement).parentElement,\n this.elRef.nativeElement,\n );\n }\n });\n }\n }\n\n ngOnDestroy(): void {}\n}\n","import { Directive, Input, Optional, ElementRef, Renderer2, AfterViewInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport snq from 'snq';\n\n@Directive({\n selector: '[abpVisibility]',\n})\nexport class VisibilityDirective implements AfterViewInit {\n @Input('abpVisibility')\n focusedElement: HTMLElement;\n\n completed$ = new Subject();\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2) {}\n\n ngAfterViewInit() {\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (!mutation.target) return;\n\n const htmlNodes = snq(\n () => Array.from(mutation.target.childNodes).filter(node => node instanceof HTMLElement),\n [],\n );\n\n if (!htmlNodes.length) {\n this.renderer.removeChild(this.elRef.nativeElement.parentElement, this.elRef.nativeElement);\n this.disconnect();\n } else {\n setTimeout(() => {\n this.disconnect();\n }, 0);\n }\n });\n });\n\n observer.observe(this.focusedElement, {\n childList: true,\n });\n\n this.completed$.subscribe(() => observer.disconnect());\n }\n\n disconnect() {\n this.completed$.next();\n this.completed$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Observable } from 'rxjs';\nimport { Navigate } from '@ngxs/router-plugin';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuard implements CanActivate {\n constructor(private oauthService: OAuthService, private store: Store) {}\n canActivate(_: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean | UrlTree {\n const hasValidAccessToken = this.oauthService.hasValidAccessToken();\n if (hasValidAccessToken) {\n return hasValidAccessToken;\n }\n\n this.store.dispatch(new Navigate(['/account/login'], null, { state: { redirectUrl: state.url } }));\n\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionGuard implements CanActivate {\n constructor(private store: Store) {}\n\n canActivate({ data }: ActivatedRouteSnapshot): Observable {\n const resource = data.requiredPolicy as string;\n return this.store.select(ConfigState.getGrantedPolicy(resource));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Store } from '@ngxs/store';\nimport { SessionState } from '../states';\nimport { StartLoader, StopLoader } from '../actions/loader.actions';\nimport { finalize } from 'rxjs/operators';\n\n@Injectable()\nexport class ApiInterceptor implements HttpInterceptor {\n constructor(private oAuthService: OAuthService, private store: Store) {}\n\n intercept(request: HttpRequest, next: HttpHandler) {\n this.store.dispatch(new StartLoader(request));\n\n const headers = {} as any;\n\n const token = this.oAuthService.getAccessToken();\n if (!request.headers.has('Authorization') && token) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n const lang = this.store.selectSnapshot(SessionState.getLanguage);\n if (!request.headers.has('Accept-Language') && lang) {\n headers['Accept-Language'] = lang;\n }\n\n const tenant = this.store.selectSnapshot(SessionState.getTenant);\n if (!request.headers.has('__tenant') && tenant) {\n headers['__tenant'] = tenant.id;\n }\n\n return next\n .handle(\n request.clone({\n setHeaders: headers,\n }),\n )\n .pipe(finalize(() => this.store.dispatch(new StopLoader(request))));\n }\n}\n","import { HttpHeaders, HttpParams } from '@angular/common/http';\n\nexport namespace Rest {\n export interface Config {\n throwErr?: boolean;\n observe?: Observe;\n }\n\n export const enum Observe {\n Body = 'body',\n Events = 'events',\n Response = 'response',\n }\n\n export const enum ResponseType {\n ArrayBuffer = 'arraybuffer',\n Blob = 'blob',\n JSON = 'json',\n Text = 'text',\n }\n\n export interface Request {\n body?: T;\n headers?:\n | HttpHeaders\n | {\n [header: string]: string | string[];\n };\n method: string;\n params?:\n | HttpParams\n | {\n [param: string]: any;\n };\n reportProgress?: boolean;\n responseType?: ResponseType;\n url: string;\n withCredentials?: boolean;\n }\n}\n","import { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { Router, Routes } from '@angular/router';\nimport { actionMatcher, InitState, NgxsNextPluginFn, NgxsPlugin, setValue, UpdateState } from '@ngxs/store';\nimport snq from 'snq';\nimport { ABP } from '../models';\nimport { organizeRoutes } from '../utils/route-utils';\n\nexport const NGXS_CONFIG_PLUGIN_OPTIONS = new InjectionToken('NGXS_CONFIG_PLUGIN_OPTIONS');\n\n@Injectable()\nexport class ConfigPlugin implements NgxsPlugin {\n private initialized: boolean = false;\n\n constructor(@Inject(NGXS_CONFIG_PLUGIN_OPTIONS) private options: ABP.Root, private router: Router) {}\n\n handle(state: any, event: any, next: NgxsNextPluginFn) {\n const matches = actionMatcher(event);\n const isInitAction = matches(InitState) || matches(UpdateState);\n\n // const layouts = snq(() => this.options.requirements.layouts.filter(layout => layout instanceof Type), []);\n if (isInitAction && !this.initialized) {\n let { routes, wrappers } = transformRoutes(this.router.config);\n routes = organizeRoutes(routes, wrappers);\n\n state = setValue(state, 'ConfigState', {\n ...(state.ConfigState && { ...state.ConfigState }),\n ...this.options,\n routes,\n });\n\n this.initialized = true;\n }\n\n return next(state, event);\n }\n}\n\nfunction transformRoutes(routes: Routes = [], wrappers: ABP.FullRoute[] = []): any {\n const abpRoutes: ABP.FullRoute[] = routes\n .filter(route => {\n return snq(() => route.data.routes.find(r => r.path === route.path), false);\n })\n .reduce((acc, val) => [...acc, ...val.data.routes], []);\n\n wrappers = abpRoutes.filter(ar => ar.wrapper);\n const transformed = [] as ABP.FullRoute[];\n routes\n .filter(route => (route.data || {}).routes && (route.component || route.loadChildren))\n .forEach(route => {\n const abpPackage = abpRoutes.find(\n abp => abp.path.toLowerCase() === route.path.toLowerCase() && snq(() => route.data.routes.length, false),\n );\n const { length } = transformed;\n\n if (abpPackage) {\n transformed.push(abpPackage);\n }\n\n if (transformed.length === length) {\n transformed.push({\n path: route.path,\n name: snq(() => route.data.routes.name, route.path),\n children: route.data.routes.children || [],\n } as ABP.FullRoute);\n }\n });\n\n return { routes: setUrls(transformed), wrappers };\n}\n\nfunction setUrls(routes: ABP.FullRoute[], parentUrl?: string): ABP.FullRoute[] {\n if (parentUrl) {\n // this if block using for only recursive call\n\n return routes.map(route => ({\n ...route,\n url: `${parentUrl}/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `${parentUrl}/${route.path}`),\n }),\n }));\n }\n\n return routes.map(route => ({\n ...route,\n url: `/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `/${route.path}`),\n }),\n }));\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigService {\n constructor(private store: Store) {}\n\n getAll() {\n return this.store.selectSnapshot(ConfigState.getAll);\n }\n\n getOne(key: string) {\n return this.store.selectSnapshot(ConfigState.getOne(key));\n }\n\n getDeep(keys: string[] | string) {\n return this.store.selectSnapshot(ConfigState.getDeep(keys));\n }\n\n getSetting(key: string) {\n return this.store.selectSnapshot(ConfigState.getSetting(key));\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { uuid } from '../utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LazyLoadService {\n loadedLibraries: { [url: string]: ReplaySubject } = {};\n\n load(\n url: string,\n type: 'script' | 'style',\n content: string = '',\n targetQuery: string = 'body',\n position: InsertPosition = 'afterend',\n ): Observable {\n if (!url && !content) return;\n const key = url ? url.slice(url.lastIndexOf('/') + 1) : uuid();\n\n if (this.loadedLibraries[key]) {\n return this.loadedLibraries[key].asObservable();\n }\n\n this.loadedLibraries[key] = new ReplaySubject();\n\n let library;\n if (type === 'script') {\n library = document.createElement('script');\n library.type = 'text/javascript';\n if (url) {\n (library as HTMLScriptElement).src = url;\n }\n\n (library as HTMLScriptElement).text = content;\n } else if (url) {\n library = document.createElement('link');\n library.type = 'text/css';\n (library as HTMLLinkElement).rel = 'stylesheet';\n\n if (url) {\n (library as HTMLLinkElement).href = url;\n }\n } else {\n library = document.createElement('style');\n (library as HTMLStyleElement).textContent = content;\n }\n\n library.onload = () => {\n this.loadedLibraries[key].next();\n this.loadedLibraries[key].complete();\n };\n\n document.querySelector(targetQuery).insertAdjacentElement(position, library);\n\n return this.loadedLibraries[key].asObservable();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { Observable } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class LocalizationService {\n constructor(private store: Store) {}\n\n get(keys: string, ...interpolateParams: string[]): Observable {\n return this.store.select(ConfigState.getCopy(keys, ...interpolateParams));\n }\n\n instant(keys: string, ...interpolateParams: string[]): string {\n return this.store.selectSnapshot(ConfigState.getCopy(keys, ...interpolateParams));\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Config } from '../models';\n\nexport function environmentFactory(environment: Config.Environment) {\n return {\n ...environment,\n };\n}\n\nexport function configFactory(config: Config.Requirements) {\n return {\n ...config,\n };\n}\n\nexport const ENVIRONMENT = new InjectionToken('ENVIRONMENT');\n\nexport const CONFIG = new InjectionToken('CONFIG');\n","import { Pipe, PipeTransform, OnDestroy } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n@Pipe({\n name: 'abpLocalization',\n pure: false, // required to update the value\n})\nexport class LocalizationPipe implements PipeTransform, OnDestroy {\n initialized: boolean = false;\n\n value: string;\n\n constructor(private store: Store) {}\n\n transform(value: string, ...interpolateParams: string[]): string {\n if (!this.initialized) {\n this.initialized = true;\n\n this.store\n .select(\n ConfigState.getCopy(\n value,\n ...interpolateParams.reduce((acc, val) => (Array.isArray(val) ? [...acc, ...val] : [...acc, val]), []),\n ),\n )\n .pipe(\n takeUntilDestroy(this),\n distinctUntilChanged(),\n )\n .subscribe(copy => (this.value = copy));\n }\n\n return this.value;\n }\n\n ngOnDestroy() {}\n}\n","import { Directive, Output, Renderer2, ElementRef, OnInit, EventEmitter, Input } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[input.debounce]',\n})\nexport class InputEventDebounceDirective implements OnInit {\n @Input() debounce: number = 300;\n\n @Output('input.debounce') debounceEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'input')\n .pipe(\n debounceTime(this.debounce),\n takeUntilDestroy(this),\n )\n .subscribe((event: Event) => {\n this.debounceEvent.emit(event);\n });\n }\n}\n","import { Directive, ElementRef, EventEmitter, OnInit, Output, Renderer2 } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[click.stop]',\n})\nexport class ClickEventStopPropagationDirective implements OnInit {\n @Output('click.stop') stopPropEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'click')\n .pipe(takeUntilDestroy(this))\n .subscribe((event: MouseEvent) => {\n event.stopPropagation();\n this.stopPropEvent.emit(event);\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { NgxsRouterPluginModule } from '@ngxs/router-plugin';\nimport { NgxsStoragePluginModule } from '@ngxs/storage-plugin';\nimport { NgxsModule, NGXS_PLUGINS } from '@ngxs/store';\nimport { DynamicLayoutComponent } from './components/dynamic-layout.component';\nimport { RouterOutletComponent } from './components/router-outlet.component';\nimport { PermissionDirective } from './directives/permission.directive';\nimport { VisibilityDirective } from './directives/visibility.directive';\nimport { ApiInterceptor } from './interceptors/api.interceptor';\nimport { ABP } from './models/common';\nimport { LocalizationPipe } from './pipes/localization.pipe';\nimport { ConfigPlugin, NGXS_CONFIG_PLUGIN_OPTIONS } from './plugins/config.plugin';\nimport { ConfigState } from './states/config.state';\nimport { ProfileState } from './states/profile.state';\nimport { SessionState } from './states/session.state';\nimport { getInitialData } from './utils/initial-utils';\nimport { EllipsisDirective } from './directives/ellipsis.directive';\nimport { AutofocusDirective } from './directives/autofocus.directive';\nimport { InputEventDebounceDirective } from './directives/debounce.directive';\nimport { ClickEventStopPropagationDirective } from './directives/stop-propagation.directive';\n\n@NgModule({\n imports: [\n NgxsModule.forFeature([ProfileState, SessionState, ConfigState]),\n NgxsStoragePluginModule.forRoot({ key: 'SessionState' }),\n NgxsRouterPluginModule.forRoot(),\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n ],\n declarations: [\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n ClickEventStopPropagationDirective,\n ],\n exports: [\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n LocalizationPipe,\n ClickEventStopPropagationDirective,\n ],\n providers: [LocalizationPipe],\n entryComponents: [RouterOutletComponent, DynamicLayoutComponent],\n})\nexport class CoreModule {\n static forRoot(options = {} as ABP.Root): ModuleWithProviders {\n return {\n ngModule: CoreModule,\n providers: [\n {\n provide: NGXS_PLUGINS,\n useClass: ConfigPlugin,\n multi: true,\n },\n {\n provide: NGXS_CONFIG_PLUGIN_OPTIONS,\n useValue: options,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ApiInterceptor,\n multi: true,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector],\n useFactory: getInitialData,\n },\n ],\n };\n }\n}\n"],"names":["tslib_1.__decorate","takeUntilDestroy"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.core.js","sources":["ng://@abp/ng.core/lib/actions/config.actions.ts","ng://@abp/ng.core/lib/actions/loader.actions.ts","ng://@abp/ng.core/lib/actions/profile.actions.ts","ng://@abp/ng.core/lib/actions/rest.actions.ts","ng://@abp/ng.core/lib/actions/session.actions.ts","ng://@abp/ng.core/lib/services/rest.service.ts","ng://@abp/ng.core/lib/services/profile.service.ts","ng://@abp/ng.core/lib/states/profile.state.ts","ng://@abp/ng.core/lib/services/application-configuration.service.ts","ng://@abp/ng.core/lib/states/session.state.ts","ng://@abp/ng.core/lib/utils/route-utils.ts","ng://@abp/ng.core/lib/states/config.state.ts","ng://@abp/ng.core/lib/utils/generator-utils.ts","ng://@abp/ng.core/lib/utils/initial-utils.ts","ng://@abp/ng.core/lib/utils/rxjs-utils.ts","ng://@abp/ng.core/lib/components/dynamic-layout.component.ts","ng://@abp/ng.core/lib/components/router-outlet.component.ts","ng://@abp/ng.core/lib/directives/autofocus.directive.ts","ng://@abp/ng.core/lib/directives/ellipsis.directive.ts","ng://@abp/ng.core/lib/directives/permission.directive.ts","ng://@abp/ng.core/lib/directives/visibility.directive.ts","ng://@abp/ng.core/lib/enums/common.ts","ng://@abp/ng.core/lib/guards/auth.guard.ts","ng://@abp/ng.core/lib/guards/permission.guard.ts","ng://@abp/ng.core/lib/interceptors/api.interceptor.ts","ng://@abp/ng.core/lib/models/application-configuration.ts","ng://@abp/ng.core/lib/models/common.ts","ng://@abp/ng.core/lib/models/config.ts","ng://@abp/ng.core/lib/models/rest.ts","ng://@abp/ng.core/lib/models/session.ts","ng://@abp/ng.core/lib/models/profile.ts","ng://@abp/ng.core/lib/plugins/config.plugin.ts","ng://@abp/ng.core/lib/services/config.service.ts","ng://@abp/ng.core/lib/services/lazy-load.service.ts","ng://@abp/ng.core/lib/services/localization.service.ts","ng://@abp/ng.core/lib/tokens/common.token.ts","ng://@abp/ng.core/lib/pipes/localization.pipe.ts","ng://@abp/ng.core/lib/directives/debounce.directive.ts","ng://@abp/ng.core/lib/directives/stop-propagation.directive.ts","ng://@abp/ng.core/lib/core.module.ts"],"sourcesContent":["import { ABP } from '../models';\n\nexport class PatchRouteByName {\n static readonly type = '[Config] Patch Route By Name';\n constructor(public name: string, public newValue: Partial) {}\n}\n\nexport class GetAppConfiguration {\n static readonly type = '[Config] Get App Configuration';\n}\n","import { HttpRequest } from '@angular/common/http';\n\nexport class StartLoader {\n static readonly type = '[Loader] Start';\n constructor(public payload: HttpRequest) {}\n}\n\nexport class StopLoader {\n static readonly type = '[Loader] Stop';\n constructor(public payload: HttpRequest) {}\n}\n","import { Profile } from '../models';\n\nexport class GetProfile {\n static readonly type = '[Profile] Get';\n}\n\nexport class UpdateProfile {\n static readonly type = '[Profile] Update';\n constructor(public payload: Profile.Response) {}\n}\n\nexport class ChangePassword {\n static readonly type = '[Profile] Change Password';\n constructor(public payload: Profile.ChangePasswordRequest) {}\n}\n","import { HttpErrorResponse } from '@angular/common/http';\n\nexport class RestOccurError {\n static readonly type = '[Rest] Error';\n constructor(public payload: HttpErrorResponse | any) {}\n}\n","import { ABP } from '../models';\n\nexport class SetLanguage {\n static readonly type = '[Session] Set Language';\n constructor(public payload: string) {}\n}\nexport class SetTenant {\n static readonly type = '[Session] Set Tenant';\n constructor(public payload: ABP.BasicItem) {}\n}\n","import { HttpClient, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { NEVER, Observable, throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport { Rest } from '../models/rest';\nimport { ConfigState } from '../states';\nimport { RestOccurError } from '../actions';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RestService {\n constructor(private http: HttpClient, private store: Store) {}\n\n handleError(err: any): Observable {\n this.store.dispatch(new RestOccurError(err));\n console.error(err);\n return NEVER;\n }\n\n request(request: HttpRequest | Rest.Request, config: Rest.Config = {}, api?: string): Observable {\n const { observe = Rest.Observe.Body, throwErr } = config;\n const url = api || this.store.selectSnapshot(ConfigState.getApiUrl()) + request.url;\n const { method, ...options } = request;\n return this.http.request(method, url, { observe, ...options } as any).pipe(\n observe === Rest.Observe.Body ? take(1) : null,\n catchError(err => {\n if (throwErr) {\n return throwError(err);\n }\n\n return this.handleError(err);\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService } from './rest.service';\nimport { Profile, Rest } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProfileService {\n constructor(private rest: RestService) {}\n\n get(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/my-profile',\n };\n\n return this.rest.request(request);\n }\n\n update(body: Profile.Response): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/identity/my-profile',\n body,\n };\n\n return this.rest.request(request);\n }\n\n changePassword(body: Profile.ChangePasswordRequest, throwErr: boolean = false): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/my-profile/change-password',\n body,\n };\n\n return this.rest.request(request, { throwErr });\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetProfile, ChangePassword, UpdateProfile } from '../actions/profile.actions';\nimport { Profile } from '../models/profile';\nimport { ProfileService } from '../services/profile.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'ProfileState',\n defaults: {} as Profile.State,\n})\nexport class ProfileState {\n @Selector()\n static getProfile({ profile }: Profile.State): Profile.Response {\n return profile;\n }\n\n constructor(private profileService: ProfileService) {}\n\n @Action(GetProfile)\n profileGet({ patchState }: StateContext) {\n return this.profileService.get().pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(UpdateProfile)\n profileUpdate({ patchState }: StateContext, { payload }: UpdateProfile) {\n return this.profileService.update(payload).pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(ChangePassword)\n changePassword(_, { payload }: ChangePassword) {\n return this.profileService.changePassword(payload, true);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ApplicationConfiguration, Rest } from '../models';\nimport { RestService } from './rest.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApplicationConfigurationService {\n constructor(private rest: RestService) {}\n\n getConfiguration(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/application-configuration',\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { SetLanguage, SetTenant } from '../actions/session.actions';\nimport { ABP, Session } from '../models';\n\n@State({\n name: 'SessionState',\n defaults: {} as Session.State,\n})\nexport class SessionState {\n @Selector()\n static getLanguage({ language }: Session.State): string {\n return language;\n }\n\n @Selector()\n static getTenant({ tenant }: Session.State): ABP.BasicItem {\n return tenant;\n }\n\n constructor() {}\n\n @Action(SetLanguage)\n setLanguage({ patchState }: StateContext, { payload }: SetLanguage) {\n patchState({\n language: payload,\n });\n }\n\n @Action(SetTenant)\n setTenantId({ patchState }: StateContext, { payload }: SetTenant) {\n patchState({\n tenant: payload,\n });\n }\n}\n","import { ABP } from '../models';\n\nexport function organizeRoutes(\n routes: ABP.FullRoute[],\n wrappers: ABP.FullRoute[] = [],\n parentNameArr = [] as ABP.FullRoute[],\n parentName: string = null,\n): ABP.FullRoute[] {\n const filter = route => {\n if (route.children && route.children.length) {\n route.children = organizeRoutes(route.children, wrappers, parentNameArr, route.name);\n }\n\n if (route.parentName && route.parentName !== parentName) {\n parentNameArr.push(route);\n return false;\n }\n\n return true;\n };\n\n if (parentName) {\n // recursive block\n return routes.filter(filter);\n }\n\n const filteredRoutes = routes.filter(filter);\n\n if (parentNameArr.length) {\n return sortRoutes(setChildRoute([...filteredRoutes, ...wrappers], parentNameArr));\n }\n\n return filteredRoutes;\n}\n\nexport function setChildRoute(routes: ABP.FullRoute[], parentNameArr: ABP.FullRoute[]): ABP.FullRoute[] {\n return routes.map(route => {\n if (route.children && route.children.length) {\n route.children = setChildRoute(route.children, parentNameArr);\n }\n\n const foundedChildren = parentNameArr.filter(parent => parent.parentName === route.name);\n if (foundedChildren && foundedChildren.length) {\n route.children = [...(route.children || []), ...foundedChildren];\n }\n\n return route;\n });\n}\n\nexport function sortRoutes(routes: ABP.FullRoute[] = []): ABP.FullRoute[] {\n if (!routes.length) return [];\n return routes\n .sort((a, b) => a.order - b.order)\n .map(route => {\n if (route.children && route.children.length) {\n route.children = sortRoutes(route.children);\n }\n\n return route;\n });\n}\n","import { State, Selector, createSelector, Action, StateContext, Store } from '@ngxs/store';\nimport { Config, ABP } from '../models';\nimport { GetAppConfiguration, PatchRouteByName } from '../actions/config.actions';\nimport { ApplicationConfigurationService } from '../services/application-configuration.service';\nimport { tap, switchMap } from 'rxjs/operators';\nimport snq from 'snq';\nimport { SetLanguage } from '../actions';\nimport { SessionState } from './session.state';\nimport { of } from 'rxjs';\nimport { setChildRoute, sortRoutes, organizeRoutes } from '../utils/route-utils';\n\n@State({\n name: 'ConfigState',\n defaults: {} as Config.State,\n})\nexport class ConfigState {\n @Selector()\n static getAll(state: Config.State) {\n return state;\n }\n\n @Selector()\n static getApplicationInfo(state: Config.State) {\n return state.environment.application || {};\n }\n\n static getOne(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return state[key];\n },\n );\n\n return selector;\n }\n\n static getDeep(keys: string[] | string) {\n if (typeof keys === 'string') {\n keys = keys.split('.');\n }\n\n if (!Array.isArray(keys)) {\n throw new Error('The argument must be a dot string or an string array.');\n }\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return (keys as string[]).reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state);\n },\n );\n\n return selector;\n }\n\n static getApiUrl(key?: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): string {\n return state.environment.apis[key || 'default'].url;\n },\n );\n\n return selector;\n }\n\n static getSetting(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return snq(() => state.setting.values[key]);\n },\n );\n\n return selector;\n }\n\n static getGrantedPolicy(condition: string = '') {\n const keys = condition\n .replace(/\\(|\\)|\\!|\\s/g, '')\n .split(/\\|\\||&&/)\n .filter(key => key);\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): boolean {\n if (!keys.length) return true;\n\n const getPolicy = key => snq(() => state.auth.grantedPolicies[key], false);\n if (keys.length > 1) {\n keys.forEach(key => {\n const value = getPolicy(key);\n condition = condition.replace(key, value);\n });\n\n // tslint:disable-next-line: no-eval\n return eval(`!!${condition}`);\n }\n\n return getPolicy(condition);\n },\n );\n\n return selector;\n }\n\n static getCopy(key: string, ...interpolateParams: string[]) {\n if (!key) key = '';\n\n const keys = key.split('::') as string[];\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n if (!state.localization) return key;\n\n const { defaultResourceName } = state.environment.localization;\n if (keys[0] === '') {\n if (!defaultResourceName) {\n throw new Error(\n `Please check your environment. May you forget set defaultResourceName? \n Here is the example:\n { production: false,\n localization: {\n defaultResourceName: 'MyProjectName'\n }\n }`,\n );\n }\n\n keys[0] = snq(() => defaultResourceName);\n }\n\n let copy = keys.reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state.localization.values);\n\n interpolateParams = interpolateParams.filter(params => params != null);\n if (copy && interpolateParams && interpolateParams.length) {\n interpolateParams.forEach(param => {\n copy = copy.replace(/[\\'\\\"]?\\{[\\d]+\\}[\\'\\\"]?/, param);\n });\n }\n\n return copy || key;\n },\n );\n\n return selector;\n }\n\n constructor(private appConfigurationService: ApplicationConfigurationService, private store: Store) {}\n\n @Action(GetAppConfiguration)\n addData({ patchState, dispatch }: StateContext) {\n return this.appConfigurationService.getConfiguration().pipe(\n tap(configuration =>\n patchState({\n ...configuration,\n }),\n ),\n switchMap(configuration =>\n this.store.selectSnapshot(SessionState.getLanguage)\n ? of(null)\n : dispatch(new SetLanguage(snq(() => configuration.setting.values['Abp.Localization.DefaultLanguage']))),\n ),\n );\n }\n\n @Action(PatchRouteByName)\n patchRoute({ patchState, getState }: StateContext, { name, newValue }: PatchRouteByName) {\n let routes: ABP.FullRoute[] = getState().routes;\n\n const index = routes.findIndex(route => route.name === name);\n\n routes = patchRouteDeep(routes, name, newValue);\n\n return patchState({\n routes,\n });\n }\n}\n\nfunction patchRouteDeep(\n routes: ABP.FullRoute[],\n name: string,\n newValue: Partial,\n parentUrl: string = null,\n): ABP.FullRoute[] {\n routes = routes.map(route => {\n if (route.name === name) {\n if (newValue.path) {\n newValue.url = `${parentUrl}/${newValue.path}`;\n }\n\n if (newValue.children && newValue.children.length) {\n newValue.children = newValue.children.map(child => ({\n ...child,\n url: `${parentUrl}/${route.path}/${child.path}`,\n }));\n }\n\n return { ...route, ...newValue };\n } else if (route.children && route.children.length) {\n route.children = patchRouteDeep(route.children, name, newValue, (parentUrl || '/') + route.path);\n }\n\n return route;\n });\n\n if (parentUrl) {\n // recursive block\n return routes;\n }\n\n return organizeRoutes(routes);\n}\n","export function uuid(a?: any): string {\n return a\n ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16)\n : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);\n}\n","import { Injector } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { GetAppConfiguration } from '../actions/config.actions';\n\nexport function getInitialData(injector: Injector) {\n const fn = function() {\n const store: Store = injector.get(Store);\n\n return store.dispatch(new GetAppConfiguration()).toPromise();\n };\n\n return fn;\n}\n","import { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n\nexport const takeUntilDestroy = (componentInstance, destroyMethodName = 'ngOnDestroy') => (\n source: Observable,\n) => {\n const originalDestroy = componentInstance[destroyMethodName];\n if (isFunction(originalDestroy) === false) {\n throw new Error(\n `${componentInstance.constructor.name} is using untilDestroyed but doesn't implement ${destroyMethodName}`,\n );\n }\n if (!componentInstance['__takeUntilDestroy']) {\n componentInstance['__takeUntilDestroy'] = new Subject();\n\n componentInstance[destroyMethodName] = function() {\n isFunction(originalDestroy) && originalDestroy.apply(this, arguments);\n componentInstance['__takeUntilDestroy'].next(true);\n componentInstance['__takeUntilDestroy'].complete();\n };\n }\n return source.pipe(takeUntil(componentInstance['__takeUntilDestroy']));\n};\n","import { Component, OnDestroy, Type } from '@angular/core';\nimport { NavigationEnd, Router, UrlSegment } from '@angular/router';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { eLayoutType } from '../enums';\nimport { ABP, Config } from '../models';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport snq from 'snq';\n\n@Component({\n selector: 'abp-dynamic-layout',\n template: `\n \n\n \n \n `,\n})\nexport class DynamicLayoutComponent implements OnDestroy {\n @Select(ConfigState.getOne('requirements'))\n requirements$: Observable;\n\n layout: Type;\n\n constructor(private router: Router, private store: Store) {\n this.router.events.pipe(takeUntilDestroy(this)).subscribe(event => {\n if (event instanceof NavigationEnd) {\n const { segments } = this.router.parseUrl(event.url).root.children.primary;\n const {\n requirements: { layouts },\n routes,\n } = this.store.selectSnapshot(ConfigState.getAll);\n\n const layout = findLayout(segments, routes);\n\n this.layout = layouts.filter(l => !!l).find(l => snq(() => l.type.toLowerCase().indexOf(layout), -1) > -1);\n }\n });\n }\n\n ngOnDestroy() {}\n}\n\nfunction findLayout(segments: UrlSegment[], routes: ABP.FullRoute[]): eLayoutType {\n let layout = eLayoutType.empty;\n\n const route = routes\n .reduce((acc, val) => (val.wrapper ? [...acc, ...val.children] : [...acc, val]), [])\n .find(r => r.path === segments[0].path);\n\n if (route) {\n if (route.layout) {\n layout = route.layout;\n }\n\n if (route.children && route.children.length && segments.length > 1) {\n const child = route.children.find(c => c.path === segments[1].path);\n\n if (child.layout) {\n layout = child.layout;\n }\n }\n }\n\n return layout;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-router-outlet',\n template: `\n \n `,\n})\nexport class RouterOutletComponent {}\n","import { Directive, ElementRef, Input, AfterViewInit } from '@angular/core';\n\n@Directive({\n selector: '[autofocus]',\n})\nexport class AutofocusDirective implements AfterViewInit {\n @Input('autofocus')\n delay: number = 0;\n\n constructor(private elRef: ElementRef) {}\n\n ngAfterViewInit(): void {\n setTimeout(() => this.elRef.nativeElement.focus(), this.delay);\n }\n}\n","import { AfterContentInit, ChangeDetectorRef, Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[abpEllipsis]',\n})\nexport class EllipsisDirective implements AfterContentInit {\n @Input('abpEllipsis')\n width: string;\n\n @HostBinding('title')\n @Input()\n title: string;\n\n @Input('abpEllipsisEnabled')\n enabled = true;\n\n @HostBinding('class.abp-ellipsis')\n get class() {\n return this.enabled;\n }\n\n @HostBinding('style.max-width')\n get maxWidth() {\n return this.enabled ? this.width || '170px' : undefined;\n }\n\n constructor(private cdRef: ChangeDetectorRef, private elRef: ElementRef) {}\n\n ngAfterContentInit() {\n setTimeout(() => {\n const title = this.title;\n this.title = title || (this.elRef.nativeElement as HTMLElement).innerText;\n\n if (this.title !== title) {\n this.cdRef.detectChanges();\n }\n }, 0);\n }\n}\n","import { Directive, ElementRef, Input, OnDestroy, OnInit, Optional, Renderer2 } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\n\n@Directive({\n selector: '[abpPermission]',\n})\nexport class PermissionDirective implements OnInit, OnDestroy {\n @Input('abpPermission') condition: string;\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2, private store: Store) {}\n\n ngOnInit() {\n if (this.condition) {\n this.store\n .select(ConfigState.getGrantedPolicy(this.condition))\n .pipe(takeUntilDestroy(this))\n .subscribe(isGranted => {\n if (!isGranted) {\n this.renderer.removeChild(\n (this.elRef.nativeElement as HTMLElement).parentElement,\n this.elRef.nativeElement,\n );\n }\n });\n }\n }\n\n ngOnDestroy(): void {}\n}\n","import { Directive, Input, Optional, ElementRef, Renderer2, AfterViewInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport snq from 'snq';\n\n@Directive({\n selector: '[abpVisibility]',\n})\nexport class VisibilityDirective implements AfterViewInit {\n @Input('abpVisibility')\n focusedElement: HTMLElement;\n\n completed$ = new Subject();\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2) {}\n\n ngAfterViewInit() {\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (!mutation.target) return;\n\n const htmlNodes = snq(\n () => Array.from(mutation.target.childNodes).filter(node => node instanceof HTMLElement),\n [],\n );\n\n if (!htmlNodes.length) {\n this.renderer.removeChild(this.elRef.nativeElement.parentElement, this.elRef.nativeElement);\n this.disconnect();\n } else {\n setTimeout(() => {\n this.disconnect();\n }, 0);\n }\n });\n });\n\n observer.observe(this.focusedElement, {\n childList: true,\n });\n\n this.completed$.subscribe(() => observer.disconnect());\n }\n\n disconnect() {\n this.completed$.next();\n this.completed$.complete();\n }\n}\n","export const enum eLayoutType {\n account = 'account',\n application = 'application',\n empty = 'empty',\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Observable } from 'rxjs';\nimport { Navigate } from '@ngxs/router-plugin';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuard implements CanActivate {\n constructor(private oauthService: OAuthService, private store: Store) {}\n canActivate(_: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean | UrlTree {\n const hasValidAccessToken = this.oauthService.hasValidAccessToken();\n if (hasValidAccessToken) {\n return hasValidAccessToken;\n }\n\n this.store.dispatch(new Navigate(['/account/login'], null, { state: { redirectUrl: state.url } }));\n\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionGuard implements CanActivate {\n constructor(private store: Store) {}\n\n canActivate({ data }: ActivatedRouteSnapshot): Observable {\n const resource = data.requiredPolicy as string;\n return this.store.select(ConfigState.getGrantedPolicy(resource));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Store } from '@ngxs/store';\nimport { SessionState } from '../states';\nimport { StartLoader, StopLoader } from '../actions/loader.actions';\nimport { finalize } from 'rxjs/operators';\n\n@Injectable()\nexport class ApiInterceptor implements HttpInterceptor {\n constructor(private oAuthService: OAuthService, private store: Store) {}\n\n intercept(request: HttpRequest, next: HttpHandler) {\n this.store.dispatch(new StartLoader(request));\n\n const headers = {} as any;\n\n const token = this.oAuthService.getAccessToken();\n if (!request.headers.has('Authorization') && token) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n const lang = this.store.selectSnapshot(SessionState.getLanguage);\n if (!request.headers.has('Accept-Language') && lang) {\n headers['Accept-Language'] = lang;\n }\n\n const tenant = this.store.selectSnapshot(SessionState.getTenant);\n if (!request.headers.has('__tenant') && tenant) {\n headers['__tenant'] = tenant.id;\n }\n\n return next\n .handle(\n request.clone({\n setHeaders: headers,\n }),\n )\n .pipe(finalize(() => this.store.dispatch(new StopLoader(request))));\n }\n}\n","export namespace ApplicationConfiguration {\n export interface Response {\n localization: Localization;\n auth: Auth;\n setting: Setting;\n currentUser: CurrentUser;\n features: Features;\n }\n\n export interface Localization {\n values: LocalizationValue;\n languages: Language[];\n }\n\n export interface LocalizationValue {\n [key: string]: { [key: string]: string };\n }\n\n export interface Language {\n cultureName: string;\n uiCultureName: string;\n displayName: string;\n flagIcon: string;\n }\n\n export interface Auth {\n policies: Policy;\n grantedPolicies: Policy;\n }\n\n export interface Policy {\n [key: string]: boolean;\n }\n\n export interface Setting {\n values: { [key: string]: 'Abp.Localization.DefaultLanguage' };\n }\n\n export interface CurrentUser {\n isAuthenticated: boolean;\n id: string;\n tenantId: string;\n userName: string;\n }\n\n export interface Features {\n values: Setting;\n }\n}\n","import { Config } from './config';\nimport { eLayoutType } from '../enums';\n\nexport namespace ABP {\n export interface Root {\n environment: Partial;\n requirements: Config.Requirements;\n }\n\n export type PagedResponse = {\n totalCount: number;\n } & PagedItemsResponse;\n\n export interface PagedItemsResponse {\n items: T[];\n }\n\n export interface PageQueryParams {\n filter?: string;\n sorting?: string;\n skipCount?: number;\n maxResultCount?: number;\n }\n\n export interface Route {\n children?: Route[];\n invisible?: boolean;\n layout?: eLayoutType;\n name: string;\n order?: number;\n parentName?: string;\n path: string;\n requiredPolicy?: string;\n iconClass?: string;\n }\n\n export interface FullRoute extends Route {\n url?: string;\n wrapper?: boolean;\n }\n\n export interface BasicItem {\n id: string;\n name: string;\n }\n}\n","import { AuthConfig } from 'angular-oauth2-oidc';\nimport { Type } from '@angular/core';\n\nexport namespace Config {\n export interface State {\n [key: string]: any;\n }\n\n export interface Environment {\n application: Application;\n production: boolean;\n oAuthConfig: AuthConfig;\n apis: Apis;\n }\n\n export interface Application {\n name: string;\n logoUrl?: string;\n }\n\n export interface Apis {\n [key: string]: { [key: string]: string };\n }\n\n export interface Requirements {\n layouts: Type[];\n }\n}\n","import { HttpHeaders, HttpParams } from '@angular/common/http';\n\nexport namespace Rest {\n export interface Config {\n throwErr?: boolean;\n observe?: Observe;\n }\n\n export const enum Observe {\n Body = 'body',\n Events = 'events',\n Response = 'response',\n }\n\n export const enum ResponseType {\n ArrayBuffer = 'arraybuffer',\n Blob = 'blob',\n JSON = 'json',\n Text = 'text',\n }\n\n export interface Request {\n body?: T;\n headers?:\n | HttpHeaders\n | {\n [header: string]: string | string[];\n };\n method: string;\n params?:\n | HttpParams\n | {\n [param: string]: any;\n };\n reportProgress?: boolean;\n responseType?: ResponseType;\n url: string;\n withCredentials?: boolean;\n }\n}\n","import { ABP } from '../models';\n\nexport namespace Session {\n export interface State {\n language: string;\n tenant: ABP.BasicItem;\n }\n}\n","export namespace Profile {\n export interface State {\n profile: Response;\n }\n\n export interface Response {\n userName: string;\n email: string;\n name: string;\n surname: string;\n phoneNumber: string;\n }\n\n export interface ChangePasswordRequest {\n currentPassword: string;\n newPassword: string;\n }\n}\n","import { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { Router, Routes } from '@angular/router';\nimport { actionMatcher, InitState, NgxsNextPluginFn, NgxsPlugin, setValue, UpdateState } from '@ngxs/store';\nimport snq from 'snq';\nimport { ABP } from '../models';\nimport { organizeRoutes } from '../utils/route-utils';\n\nexport const NGXS_CONFIG_PLUGIN_OPTIONS = new InjectionToken('NGXS_CONFIG_PLUGIN_OPTIONS');\n\n@Injectable()\nexport class ConfigPlugin implements NgxsPlugin {\n private initialized: boolean = false;\n\n constructor(@Inject(NGXS_CONFIG_PLUGIN_OPTIONS) private options: ABP.Root, private router: Router) {}\n\n handle(state: any, event: any, next: NgxsNextPluginFn) {\n const matches = actionMatcher(event);\n const isInitAction = matches(InitState) || matches(UpdateState);\n\n // const layouts = snq(() => this.options.requirements.layouts.filter(layout => layout instanceof Type), []);\n if (isInitAction && !this.initialized) {\n let { routes, wrappers } = transformRoutes(this.router.config);\n routes = organizeRoutes(routes, wrappers);\n\n state = setValue(state, 'ConfigState', {\n ...(state.ConfigState && { ...state.ConfigState }),\n ...this.options,\n routes,\n });\n\n this.initialized = true;\n }\n\n return next(state, event);\n }\n}\n\nfunction transformRoutes(routes: Routes = [], wrappers: ABP.FullRoute[] = []): any {\n const abpRoutes: ABP.FullRoute[] = routes\n .filter(route => {\n return snq(() => route.data.routes.find(r => r.path === route.path), false);\n })\n .reduce((acc, val) => [...acc, ...val.data.routes], []);\n\n wrappers = abpRoutes.filter(ar => ar.wrapper);\n const transformed = [] as ABP.FullRoute[];\n routes\n .filter(route => (route.data || {}).routes && (route.component || route.loadChildren))\n .forEach(route => {\n const abpPackage = abpRoutes.find(\n abp => abp.path.toLowerCase() === route.path.toLowerCase() && snq(() => route.data.routes.length, false),\n );\n const { length } = transformed;\n\n if (abpPackage) {\n transformed.push(abpPackage);\n }\n\n if (transformed.length === length) {\n transformed.push({\n path: route.path,\n name: snq(() => route.data.routes.name, route.path),\n children: route.data.routes.children || [],\n } as ABP.FullRoute);\n }\n });\n\n return { routes: setUrls(transformed), wrappers };\n}\n\nfunction setUrls(routes: ABP.FullRoute[], parentUrl?: string): ABP.FullRoute[] {\n if (parentUrl) {\n // this if block using for only recursive call\n\n return routes.map(route => ({\n ...route,\n url: `${parentUrl}/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `${parentUrl}/${route.path}`),\n }),\n }));\n }\n\n return routes.map(route => ({\n ...route,\n url: `/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `/${route.path}`),\n }),\n }));\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigService {\n constructor(private store: Store) {}\n\n getAll() {\n return this.store.selectSnapshot(ConfigState.getAll);\n }\n\n getOne(key: string) {\n return this.store.selectSnapshot(ConfigState.getOne(key));\n }\n\n getDeep(keys: string[] | string) {\n return this.store.selectSnapshot(ConfigState.getDeep(keys));\n }\n\n getSetting(key: string) {\n return this.store.selectSnapshot(ConfigState.getSetting(key));\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { uuid } from '../utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LazyLoadService {\n loadedLibraries: { [url: string]: ReplaySubject } = {};\n\n load(\n url: string,\n type: 'script' | 'style',\n content: string = '',\n targetQuery: string = 'body',\n position: InsertPosition = 'afterend',\n ): Observable {\n if (!url && !content) return;\n const key = url ? url.slice(url.lastIndexOf('/') + 1) : uuid();\n\n if (this.loadedLibraries[key]) {\n return this.loadedLibraries[key].asObservable();\n }\n\n this.loadedLibraries[key] = new ReplaySubject();\n\n let library;\n if (type === 'script') {\n library = document.createElement('script');\n library.type = 'text/javascript';\n if (url) {\n (library as HTMLScriptElement).src = url;\n }\n\n (library as HTMLScriptElement).text = content;\n } else if (url) {\n library = document.createElement('link');\n library.type = 'text/css';\n (library as HTMLLinkElement).rel = 'stylesheet';\n\n if (url) {\n (library as HTMLLinkElement).href = url;\n }\n } else {\n library = document.createElement('style');\n (library as HTMLStyleElement).textContent = content;\n }\n\n library.onload = () => {\n this.loadedLibraries[key].next();\n this.loadedLibraries[key].complete();\n };\n\n document.querySelector(targetQuery).insertAdjacentElement(position, library);\n\n return this.loadedLibraries[key].asObservable();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { Observable } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class LocalizationService {\n constructor(private store: Store) {}\n\n get(keys: string, ...interpolateParams: string[]): Observable {\n return this.store.select(ConfigState.getCopy(keys, ...interpolateParams));\n }\n\n instant(keys: string, ...interpolateParams: string[]): string {\n return this.store.selectSnapshot(ConfigState.getCopy(keys, ...interpolateParams));\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Config } from '../models';\n\nexport function environmentFactory(environment: Config.Environment) {\n return {\n ...environment,\n };\n}\n\nexport function configFactory(config: Config.Requirements) {\n return {\n ...config,\n };\n}\n\nexport const ENVIRONMENT = new InjectionToken('ENVIRONMENT');\n\nexport const CONFIG = new InjectionToken('CONFIG');\n","import { Pipe, PipeTransform, OnDestroy } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n@Pipe({\n name: 'abpLocalization',\n pure: false, // required to update the value\n})\nexport class LocalizationPipe implements PipeTransform, OnDestroy {\n initialized: boolean = false;\n\n value: string;\n\n constructor(private store: Store) {}\n\n transform(value: string, ...interpolateParams: string[]): string {\n if (!this.initialized) {\n this.initialized = true;\n\n this.store\n .select(\n ConfigState.getCopy(\n value,\n ...interpolateParams.reduce((acc, val) => (Array.isArray(val) ? [...acc, ...val] : [...acc, val]), []),\n ),\n )\n .pipe(\n takeUntilDestroy(this),\n distinctUntilChanged(),\n )\n .subscribe(copy => (this.value = copy));\n }\n\n return this.value;\n }\n\n ngOnDestroy() {}\n}\n","import { Directive, Output, Renderer2, ElementRef, OnInit, EventEmitter, Input } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[input.debounce]',\n})\nexport class InputEventDebounceDirective implements OnInit {\n @Input() debounce: number = 300;\n\n @Output('input.debounce') debounceEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'input')\n .pipe(\n debounceTime(this.debounce),\n takeUntilDestroy(this),\n )\n .subscribe((event: Event) => {\n this.debounceEvent.emit(event);\n });\n }\n}\n","import { Directive, ElementRef, EventEmitter, OnInit, Output, Renderer2 } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[click.stop]',\n})\nexport class ClickEventStopPropagationDirective implements OnInit {\n @Output('click.stop') stopPropEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'click')\n .pipe(takeUntilDestroy(this))\n .subscribe((event: MouseEvent) => {\n event.stopPropagation();\n this.stopPropEvent.emit(event);\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { NgxsRouterPluginModule } from '@ngxs/router-plugin';\nimport { NgxsStoragePluginModule } from '@ngxs/storage-plugin';\nimport { NgxsModule, NGXS_PLUGINS } from '@ngxs/store';\nimport { DynamicLayoutComponent } from './components/dynamic-layout.component';\nimport { RouterOutletComponent } from './components/router-outlet.component';\nimport { PermissionDirective } from './directives/permission.directive';\nimport { VisibilityDirective } from './directives/visibility.directive';\nimport { ApiInterceptor } from './interceptors/api.interceptor';\nimport { ABP } from './models/common';\nimport { LocalizationPipe } from './pipes/localization.pipe';\nimport { ConfigPlugin, NGXS_CONFIG_PLUGIN_OPTIONS } from './plugins/config.plugin';\nimport { ConfigState } from './states/config.state';\nimport { ProfileState } from './states/profile.state';\nimport { SessionState } from './states/session.state';\nimport { getInitialData } from './utils/initial-utils';\nimport { EllipsisDirective } from './directives/ellipsis.directive';\nimport { AutofocusDirective } from './directives/autofocus.directive';\nimport { InputEventDebounceDirective } from './directives/debounce.directive';\nimport { ClickEventStopPropagationDirective } from './directives/stop-propagation.directive';\n\n@NgModule({\n imports: [\n NgxsModule.forFeature([ProfileState, SessionState, ConfigState]),\n NgxsStoragePluginModule.forRoot({ key: 'SessionState' }),\n NgxsRouterPluginModule.forRoot(),\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n ],\n declarations: [\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n ClickEventStopPropagationDirective,\n ],\n exports: [\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n LocalizationPipe,\n ClickEventStopPropagationDirective,\n ],\n providers: [LocalizationPipe],\n entryComponents: [RouterOutletComponent, DynamicLayoutComponent],\n})\nexport class CoreModule {\n static forRoot(options = {} as ABP.Root): ModuleWithProviders {\n return {\n ngModule: CoreModule,\n providers: [\n {\n provide: NGXS_PLUGINS,\n useClass: ConfigPlugin,\n multi: true,\n },\n {\n provide: NGXS_CONFIG_PLUGIN_OPTIONS,\n useValue: options,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ApiInterceptor,\n multi: true,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector],\n useFactory: getInitialData,\n },\n ],\n };\n }\n}\n"],"names":["tslib_1.__decorate","takeUntilDestroy"],"mappings":";;;;;;;;;;;;;;;;;;;AAEA;IAEE,0BAAmB,IAAY,EAAS,QAA4B;QAAjD,SAAI,GAAJ,IAAI,CAAQ;QAAS,aAAQ,GAAR,QAAQ,CAAoB;KAAI;IADxD,qBAAI,GAAG,8BAA8B,CAAC;IAExD,uBAAC;CAHD,IAGC;;;IAFC,sBAAsD;;IAC1C,gCAAmB;;IAAE,oCAAmC;;AAGtE;IAAA;KAEC;IADiB,wBAAI,GAAG,gCAAgC,CAAC;IAC1D,0BAAC;CAFD,IAEC;;;IADC,yBAAwD;;;;;;;ACN1D;IAEE,qBAAmB,OAAyB;QAAzB,YAAO,GAAP,OAAO,CAAkB;KAAI;IADhC,gBAAI,GAAG,gBAAgB,CAAC;IAE1C,kBAAC;CAHD,IAGC;;;IAFC,iBAAwC;;IAC5B,8BAAgC;;AAG9C;IAEE,oBAAmB,OAAyB;QAAzB,YAAO,GAAP,OAAO,CAAkB;KAAI;IADhC,eAAI,GAAG,eAAe,CAAC;IAEzC,iBAAC;CAHD,IAGC;;;IAFC,gBAAuC;;IAC3B,6BAAgC;;;;;;;ACP9C;IAAA;KAEC;IADiB,eAAI,GAAG,eAAe,CAAC;IACzC,iBAAC;CAFD,IAEC;;;IADC,gBAAuC;;AAGzC;IAEE,uBAAmB,OAAyB;QAAzB,YAAO,GAAP,OAAO,CAAkB;KAAI;IADhC,kBAAI,GAAG,kBAAkB,CAAC;IAE5C,oBAAC;CAHD,IAGC;;;IAFC,mBAA0C;;IAC9B,gCAAgC;;AAG9C;IAEE,wBAAmB,OAAsC;QAAtC,YAAO,GAAP,OAAO,CAA+B;KAAI;IAD7C,mBAAI,GAAG,2BAA2B,CAAC;IAErD,qBAAC;CAHD,IAGC;;;IAFC,oBAAmD;;IACvC,iCAA6C;;;;;;;ACX3D;IAEE,wBAAmB,OAAgC;QAAhC,YAAO,GAAP,OAAO,CAAyB;KAAI;IADvC,mBAAI,GAAG,cAAc,CAAC;IAExC,qBAAC;CAHD,IAGC;;;IAFC,oBAAsC;;IAC1B,iCAAuC;;;;;;;ACFrD;IAEE,qBAAmB,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;KAAI;IADtB,gBAAI,GAAG,wBAAwB,CAAC;IAElD,kBAAC;CAHD,IAGC;;;IAFC,iBAAgD;;IACpC,8BAAsB;;AAEpC;IAEE,mBAAmB,OAAsB;QAAtB,YAAO,GAAP,OAAO,CAAe;KAAI;IAD7B,cAAI,GAAG,sBAAsB,CAAC;IAEhD,gBAAC;CAHD,IAGC;;;IAFC,eAA8C;;IAClC,4BAA6B;;;;;;;;;;;;;ICKzC,qBAAoB,IAAgB,EAAU,KAAY;QAAtC,SAAI,GAAJ,IAAI,CAAY;QAAU,UAAK,GAAL,KAAK,CAAO;KAAI;;;;;IAE9D,iCAAW;;;;IAAX,UAAY,GAAQ;QAClB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7C,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,OAAO,KAAK,CAAC;KACd;;;;;;;;IAED,6BAAO;;;;;;;IAAP,UAAc,OAAyC,EAAE,MAAwB,EAAE,GAAY;QAA/F,iBAcC;QAdwD,uBAAA,EAAA,WAAwB;QACvE,IAAA,mBAA2B,EAA3B,gDAA2B,EAAE,0BAAQ;;YACvC,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,OAAO,CAAC,GAAG;QAC3E,IAAA,uBAAM,EAAE,qCAAU;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAI,MAAM,EAAE,GAAG,gCAAI,OAAO,SAAA,IAAK,OAAO,IAAU,CAAC,IAAI,CAC3E,OAAO,yBAAyB,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,EAC9C,UAAU;;;;QAAC,UAAA,GAAG;YACZ,IAAI,QAAQ,EAAE;gBACZ,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;aACxB;YAED,OAAO,KAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;SAC9B,EAAC,CACH,CAAC;KACH;;gBA1BF,UAAU,SAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;;gBAXQ,UAAU;gBAEV,KAAK;;;sBAFd;CASA,IA2BC;;;;;;IAvBa,2BAAwB;;;;;IAAE,4BAAoB;;;;;;;ACb5D;IASE,wBAAoB,IAAiB;QAAjB,SAAI,GAAJ,IAAI,CAAa;KAAI;;;;IAEzC,4BAAG;;;IAAH;;YACQ,OAAO,GAAuB;YAClC,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,0BAA0B;SAChC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAyB,OAAO,CAAC,CAAC;KAC3D;;;;;IAED,+BAAM;;;;IAAN,UAAO,IAAsB;;YACrB,OAAO,GAAmC;YAC9C,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,0BAA0B;YAC/B,IAAI,MAAA;SACL;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAqC,OAAO,CAAC,CAAC;KACvE;;;;;;IAED,uCAAc;;;;;IAAd,UAAe,IAAmC,EAAE,QAAyB;QAAzB,yBAAA,EAAA,gBAAyB;;YACrE,OAAO,GAAgD;YAC3D,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,0CAA0C;YAC/C,IAAI,MAAA;SACL;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAsC,OAAO,EAAE,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAC;KACtF;;gBAjCF,UAAU,SAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;;gBALQ,WAAW;;;yBAFpB;CAKA,IAkCC;;;;;;IA9Ba,8BAAyB;;;;;;;;ICOrC,sBAAoB,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;KAAI;;;;;IAJ/C,uBAAU;;;;IAAjB,UAAkB,EAA0B;YAAxB,oBAAO;QACzB,OAAO,OAAO,CAAC;KAChB;;;;;IAKD,iCAAU;;;;IAAV,UAAW,EAA2C;YAAzC,0BAAU;QACrB,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CACnC,GAAG;;;;QAAC,UAAA,OAAO;YACT,OAAA,UAAU,CAAC;gBACT,OAAO,SAAA;aACR,CAAC;SAAA,EACH,CACF,CAAC;KACH;;;;;;IAGD,oCAAa;;;;;IAAb,UAAc,EAA2C,EAAE,EAA0B;YAArE,0BAAU;YAAmC,oBAAO;QAClE,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAC7C,GAAG;;;;QAAC,UAAA,OAAO;YACT,OAAA,UAAU,CAAC;gBACT,OAAO,SAAA;aACR,CAAC;SAAA,EACH,CACF,CAAC;KACH;;;;;;IAGD,qCAAc;;;;;IAAd,UAAe,CAAC,EAAE,EAA2B;YAAzB,oBAAO;QACzB,OAAO,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;KAC1D;IAxBDA;QADC,MAAM,CAAC,UAAU,CAAC;;;;kDASlB;IAGDA;QADC,MAAM,CAAC,aAAa,CAAC;;iDACkD,aAAa;;qDAQpF;IAGDA;QADC,MAAM,CAAC,cAAc,CAAC;;iDACQ,cAAc;;sDAE5C;IA/BDA;QADC,QAAQ,EAAE;;;;wCAGV;IAJU,YAAY;QAJxB,KAAK,CAAgB;YACpB,IAAI,EAAE,cAAc;YACpB,QAAQ,qBAAE,EAAE,EAAiB;SAC9B,CAAC;yCAOoC,cAAc;OANvC,YAAY,CAkCxB;IAAD,mBAAC;CAAA,IAAA;;;;;;IA5Ba,sCAAsC;;;;;;;AChBpD;IASE,yCAAoB,IAAiB;QAAjB,SAAI,GAAJ,IAAI,CAAa;KAAI;;;;IAEzC,0DAAgB;;;IAAhB;;YACQ,OAAO,GAAuB;YAClC,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,oCAAoC;SAC1C;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAA0C,OAAO,CAAC,CAAC;KAC5E;;gBAbF,UAAU,SAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;;gBAJQ,WAAW;;;0CAHpB;CAKA,IAcC;;;;;;IAVa,+CAAyB;;;;;;;;ICUrC;KAAgB;;;;;IATT,wBAAW;;;;IAAlB,UAAmB,EAA2B;YAAzB,sBAAQ;QAC3B,OAAO,QAAQ,CAAC;KACjB;;;;;IAGM,sBAAS;;;;IAAhB,UAAiB,EAAyB;YAAvB,kBAAM;QACvB,OAAO,MAAM,CAAC;KACf;;;;;;IAKD,kCAAW;;;;;IAAX,UAAY,EAA2C,EAAE,EAAwB;YAAnE,0BAAU;YAAmC,oBAAO;QAChE,UAAU,CAAC;YACT,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;KACJ;;;;;;IAGD,kCAAW;;;;;IAAX,UAAY,EAA2C,EAAE,EAAsB;YAAjE,0BAAU;YAAmC,oBAAO;QAChE,UAAU,CAAC;YACT,MAAM,EAAE,OAAO;SAChB,CAAC,CAAC;KACJ;IAXDA;QADC,MAAM,CAAC,WAAW,CAAC;;iDACkD,WAAW;;mDAIhF;IAGDA;QADC,MAAM,CAAC,SAAS,CAAC;;iDACoD,SAAS;;mDAI9E;IAvBDA;QADC,QAAQ,EAAE;;;;yCAGV;IAGDA;QADC,QAAQ,EAAE;;;;uCAGV;IATU,YAAY;QAJxB,KAAK,CAAgB;YACpB,IAAI,EAAE,cAAc;YACpB,QAAQ,qBAAE,EAAE,EAAiB;SAC9B,CAAC;;OACW,YAAY,CA0BxB;IAAD,mBAAC;CAAA;;;;;;;;;;;;;AChCD,SAAgB,cAAc,CAC5B,MAAuB,EACvB,QAA8B,EAC9B,aAAqC,EACrC,UAAyB;IAFzB,yBAAA,EAAA,aAA8B;IAC9B,8BAAA,EAAA,mCAAgB,EAAE,EAAmB;IACrC,2BAAA,EAAA,iBAAyB;;QAEnB,MAAM;;;;IAAG,UAAA,KAAK;QAClB,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE;YAC3C,KAAK,CAAC,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;SACtF;QAED,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,KAAK,UAAU,EAAE;YACvD,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO,KAAK,CAAC;SACd;QAED,OAAO,IAAI,CAAC;KACb,CAAA;IAED,IAAI,UAAU,EAAE;;QAEd,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;KAC9B;;QAEK,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IAE5C,IAAI,aAAa,CAAC,MAAM,EAAE;QACxB,OAAO,UAAU,CAAC,aAAa,UAAK,cAAc,EAAK,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC;KACnF;IAED,OAAO,cAAc,CAAC;CACvB;;;;;;AAED,SAAgB,aAAa,CAAC,MAAuB,EAAE,aAA8B;IACnF,OAAO,MAAM,CAAC,GAAG;;;;IAAC,UAAA,KAAK;QACrB,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE;YAC3C,KAAK,CAAC,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;SAC/D;;YAEK,eAAe,GAAG,aAAa,CAAC,MAAM;;;;QAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,UAAU,KAAK,KAAK,CAAC,IAAI,GAAA,EAAC;QACxF,IAAI,eAAe,IAAI,eAAe,CAAC,MAAM,EAAE;YAC7C,KAAK,CAAC,QAAQ,aAAQ,KAAK,CAAC,QAAQ,IAAI,EAAE,GAAM,eAAe,CAAC,CAAC;SAClE;QAED,OAAO,KAAK,CAAC;KACd,EAAC,CAAC;CACJ;;;;;AAED,SAAgB,UAAU,CAAC,MAA4B;IAA5B,uBAAA,EAAA,WAA4B;IACrD,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAC9B,OAAO,MAAM;SACV,IAAI;;;;;IAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAA,EAAC;SACjC,GAAG;;;;IAAC,UAAA,KAAK;QACR,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE;YAC3C,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SAC7C;QAED,OAAO,KAAK,CAAC;KACd,EAAC,CAAC;CACN;;;;;;;ICoGC,qBAAoB,uBAAwD,EAAU,KAAY;QAA9E,4BAAuB,GAAvB,uBAAuB,CAAiC;QAAU,UAAK,GAAL,KAAK,CAAO;KAAI;oBAlJ3F,WAAW;;;;;IAEf,kBAAM;;;;IAAb,UAAc,KAAmB;QAC/B,OAAO,KAAK,CAAC;KACd;;;;;IAGM,8BAAkB;;;;IAAzB,UAA0B,KAAmB;QAC3C,OAAO,KAAK,CAAC,WAAW,CAAC,WAAW,IAAI,EAAE,CAAC;KAC5C;;;;;IAEM,kBAAM;;;;IAAb,UAAc,GAAW;;YACjB,QAAQ,GAAG,cAAc,CAC7B,CAAC,aAAW,CAAC;;;;QACb,UAAS,KAAmB;YAC1B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;SACnB,EACF;QAED,OAAO,QAAQ,CAAC;KACjB;;;;;IAEM,mBAAO;;;;IAAd,UAAe,IAAuB;QACpC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC5B,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACxB;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACxB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;SAC1E;;YAEK,QAAQ,GAAG,cAAc,CAC7B,CAAC,aAAW,CAAC;;;;QACb,UAAS,KAAmB;YAC1B,OAAO,oBAAC,IAAI,IAAc,MAAM;;;;;YAAC,UAAC,GAAG,EAAE,GAAG;gBACxC,IAAI,GAAG,EAAE;oBACP,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;iBACjB;gBAED,OAAO,SAAS,CAAC;aAClB,GAAE,KAAK,CAAC,CAAC;SACX,EACF;QAED,OAAO,QAAQ,CAAC;KACjB;;;;;IAEM,qBAAS;;;;IAAhB,UAAiB,GAAY;;YACrB,QAAQ,GAAG,cAAc,CAC7B,CAAC,aAAW,CAAC;;;;QACb,UAAS,KAAmB;YAC1B,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,SAAS,CAAC,CAAC,GAAG,CAAC;SACrD,EACF;QAED,OAAO,QAAQ,CAAC;KACjB;;;;;IAEM,sBAAU;;;;IAAjB,UAAkB,GAAW;;YACrB,QAAQ,GAAG,cAAc,CAC7B,CAAC,aAAW,CAAC;;;;QACb,UAAS,KAAmB;YAC1B,OAAO,GAAG;;;YAAC,cAAM,OAAA,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,GAAA,EAAC,CAAC;SAC7C,EACF;QAED,OAAO,QAAQ,CAAC;KACjB;;;;;IAEM,4BAAgB;;;;IAAvB,UAAwB,SAAsB;QAAtB,0BAAA,EAAA,cAAsB;;YACtC,IAAI,GAAG,SAAS;aACnB,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;aAC3B,KAAK,CAAC,SAAS,CAAC;aAChB,MAAM;;;;QAAC,UAAA,GAAG,IAAI,OAAA,GAAG,GAAA,EAAC;;YAEf,QAAQ,GAAG,cAAc,CAC7B,CAAC,aAAW,CAAC;;;;QACb,UAAS,KAAmB;YAC1B,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;;gBAExB,SAAS;;;;YAAG,UAAA,GAAG,IAAI,OAAA,GAAG;;;YAAC,cAAM,OAAA,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAA,GAAE,KAAK,CAAC,GAAA,CAAA;YAC1E,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gBACnB,IAAI,CAAC,OAAO;;;;gBAAC,UAAA,GAAG;;wBACR,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC;oBAC5B,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;iBAC3C,EAAC,CAAC;;gBAGH,OAAO,IAAI,CAAC,OAAK,SAAW,CAAC,CAAC;aAC/B;YAED,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC;SAC7B,EACF;QAED,OAAO,QAAQ,CAAC;KACjB;;;;;;IAEM,mBAAO;;;;;IAAd,UAAe,GAAW;QAAE,2BAA8B;aAA9B,UAA8B,EAA9B,qBAA8B,EAA9B,IAA8B;YAA9B,0CAA8B;;QACxD,IAAI,CAAC,GAAG;YAAE,GAAG,GAAG,EAAE,CAAC;;YAEb,IAAI,sBAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAY;;YAClC,QAAQ,GAAG,cAAc,CAC7B,CAAC,aAAW,CAAC;;;;QACb,UAAS,KAAmB;YAC1B,IAAI,CAAC,KAAK,CAAC,YAAY;gBAAE,OAAO,GAAG,CAAC;YAE5B,IAAA,wEAAmB;YAC3B,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;gBAClB,IAAI,CAAC,mBAAmB,EAAE;oBACxB,MAAM,IAAI,KAAK,CACb,oRAMG,CACJ,CAAC;iBACH;gBAED,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG;;;gBAAC,cAAM,OAAA,mBAAmB,GAAA,EAAC,CAAC;aAC1C;;gBAEG,IAAI,GAAG,IAAI,CAAC,MAAM;;;;;YAAC,UAAC,GAAG,EAAE,GAAG;gBAC9B,IAAI,GAAG,EAAE;oBACP,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;iBACjB;gBAED,OAAO,SAAS,CAAC;aAClB,GAAE,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC;YAE7B,iBAAiB,GAAG,iBAAiB,CAAC,MAAM;;;;YAAC,UAAA,MAAM,IAAI,OAAA,MAAM,IAAI,IAAI,GAAA,EAAC,CAAC;YACvE,IAAI,IAAI,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,EAAE;gBACzD,iBAAiB,CAAC,OAAO;;;;gBAAC,UAAA,KAAK;oBAC7B,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;iBACvD,EAAC,CAAC;aACJ;YAED,OAAO,IAAI,IAAI,GAAG,CAAC;SACpB,EACF;QAED,OAAO,QAAQ,CAAC;KACjB;;;;;IAKD,6BAAO;;;;IAAP,UAAQ,EAAoD;QAD5D,iBAcC;YAbS,0BAAU,EAAE,sBAAQ;QAC5B,OAAO,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,EAAE,CAAC,IAAI,CACzD,GAAG;;;;QAAC,UAAA,aAAa;YACf,OAAA,UAAU,cACL,aAAa,EAChB;SAAA,EACH,EACD,SAAS;;;;QAAC,UAAA,aAAa;YACrB,OAAA,KAAI,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,WAAW,CAAC;kBAC/C,EAAE,CAAC,IAAI,CAAC;kBACR,QAAQ,CAAC,IAAI,WAAW,CAAC,GAAG;;;gBAAC,cAAM,OAAA,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,kCAAkC,CAAC,GAAA,EAAC,CAAC,CAAC;SAAA,EAC3G,CACF,CAAC;KACH;;;;;;IAGD,gCAAU;;;;;IAAV,UAAW,EAAoD,EAAE,EAAoC;YAAxF,0BAAU,EAAE,sBAAQ;YAAkC,cAAI,EAAE,sBAAQ;;YAC3E,MAAM,GAAoB,QAAQ,EAAE,CAAC,MAAM;;YAEzC,KAAK,GAAG,MAAM,CAAC,SAAS;;;;QAAC,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,IAAI,KAAK,IAAI,GAAA,EAAC;QAE5D,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEhD,OAAO,UAAU,CAAC;YAChB,MAAM,QAAA;SACP,CAAC,CAAC;KACJ;;IA1BDA;QADC,MAAM,CAAC,mBAAmB,CAAC;;;;8CAc3B;IAGDA;QADC,MAAM,CAAC,gBAAgB,CAAC;;iDAC4D,gBAAgB;;iDAUpG;IA7KDA;QADC,QAAQ,EAAE;;;;mCAGV;IAGDA;QADC,QAAQ,EAAE;;;;+CAGV;IATU,WAAW;QAJvB,KAAK,CAAe;YACnB,IAAI,EAAE,aAAa;YACnB,QAAQ,qBAAE,EAAE,EAAgB;SAC7B,CAAC;yCAmJ6C,+BAA+B,EAAiB,KAAK;OAlJvF,WAAW,CAgLvB;IAAD,kBAAC;CAAA,IAAA;;;;;;IA9Ba,8CAAgE;;;;;IAAE,4BAAoB;;;;;;;;;AAgCpG,SAAS,cAAc,CACrB,MAAuB,EACvB,IAAY,EACZ,QAAgC,EAChC,SAAwB;IAAxB,0BAAA,EAAA,gBAAwB;IAExB,MAAM,GAAG,MAAM,CAAC,GAAG;;;;IAAC,UAAA,KAAK;QACvB,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE;YACvB,IAAI,QAAQ,CAAC,IAAI,EAAE;gBACjB,QAAQ,CAAC,GAAG,GAAM,SAAS,SAAI,QAAQ,CAAC,IAAM,CAAC;aAChD;YAED,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE;gBACjD,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG;;;;gBAAC,UAAA,KAAK,IAAI,qBAC9C,KAAK,IACR,GAAG,EAAK,SAAS,SAAI,KAAK,CAAC,IAAI,SAAI,KAAK,CAAC,IAAM,OAC/C,EAAC,CAAC;aACL;YAED,oBAAY,KAAK,EAAK,QAAQ,EAAG;SAClC;aAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE;YAClD,KAAK,CAAC,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,SAAS,IAAI,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;SAClG;QAED,OAAO,KAAK,CAAC;KACd,EAAC,CAAC;IAEH,IAAI,SAAS,EAAE;;QAEb,OAAO,MAAM,CAAC;KACf;IAED,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;CAC/B;;;;;;;;;;;;;;;AClOD,SAAgB,IAAI,CAAC,CAAO;IAC1B,OAAO,CAAC;UACJ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC;UACpD,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;CACrE;;;;;;ACHD;;;;AAGA,SAAgB,cAAc,CAAC,QAAkB;;QACzC,EAAE;;;IAAG;;YACH,KAAK,GAAU,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;QAExC,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;KAC9D,CAAA;IAED,OAAO,EAAE,CAAC;CACX;;;;;;ACZD;;;;AAGA,SAAS,UAAU,CAAC,KAAK;IACvB,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC;CACpC;;AAED,IAAa,gBAAgB;;;;;AAAG,UAAC,iBAAiB,EAAE,iBAAiC;IAAjC,kCAAA,EAAA,iCAAiC;;;;;;IAAK,UACxF,MAAqB;;YAEf,eAAe,GAAG,iBAAiB,CAAC,iBAAiB,CAAC;QAC5D,IAAI,UAAU,CAAC,eAAe,CAAC,KAAK,KAAK,EAAE;YACzC,MAAM,IAAI,KAAK,CACV,iBAAiB,CAAC,WAAW,CAAC,IAAI,uDAAkD,iBAAmB,CAC3G,CAAC;SACH;QACD,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,EAAE;YAC5C,iBAAiB,CAAC,oBAAoB,CAAC,GAAG,IAAI,OAAO,EAAE,CAAC;YAExD,iBAAiB,CAAC,iBAAiB,CAAC;;;YAAG;gBACrC,UAAU,CAAC,eAAe,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBACtE,iBAAiB,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnD,iBAAiB,CAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE,CAAC;aACpD,CAAA,CAAC;SACH;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAI,iBAAiB,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;KAC3E;CAAA,CAAA;;;;;;;;;;;;ICDC,gCAAoB,MAAc,EAAU,KAAY;QAAxD,iBAcC;QAdmB,WAAM,GAAN,MAAM,CAAQ;QAAU,UAAK,GAAL,KAAK,CAAO;QACtD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;;;;QAAC,UAAA,KAAK;YAC7D,IAAI,KAAK,YAAY,aAAa,EAAE;gBAC1B,IAAA,0EAAQ;gBACV,IAAA,mDAG2C,EAF/B,iCAAO,EACvB,kBAC+C;;oBAE3C,QAAM,GAAG,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAE3C,KAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM;;;;gBAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,CAAC,GAAA,EAAC,CAAC,IAAI;;;;gBAAC,UAAA,CAAC,IAAI,OAAA,GAAG;;;gBAAC,cAAM,OAAA,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,QAAM,CAAC,GAAA,GAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAA,EAAC,CAAC;aAC5G;SACF,EAAC,CAAC;KACJ;;;;IAED,4CAAW;;;IAAX,eAAgB;;gBA/BjB,SAAS,SAAC;oBACT,QAAQ,EAAE,oBAAoB;oBAC9B,QAAQ,EAAE,oSAKT;iBACF;;;;gBAjBuB,MAAM;gBACb,KAAK;;IAmBpBA;QADC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;kCAC5B,UAAU;iEAAsB;IAqBjD,6BAAC;CAhCD,IAgCC;;;IAtBC,+CAC+C;;IAE/C,wCAAkB;;;;;IAEN,wCAAsB;;;;;IAAE,uCAAoB;;;;;;;AAmB1D,SAAS,UAAU,CAAC,QAAsB,EAAE,MAAuB;;QAC7D,MAAM;;QAEJ,KAAK,GAAG,MAAM;SACjB,MAAM;;;;;IAAC,UAAC,GAAG,EAAE,GAAG,IAAK,QAAC,GAAG,CAAC,OAAO,YAAO,GAAG,EAAK,GAAG,CAAC,QAAQ,aAAQ,GAAG,GAAE,GAAG,EAAC,IAAC,GAAE,EAAE,CAAC;SACnF,IAAI;;;;IAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAA,EAAC;IAEzC,IAAI,KAAK,EAAE;QACT,IAAI,KAAK,CAAC,MAAM,EAAE;YAChB,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;SACvB;QAED,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;;gBAC5D,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI;;;;YAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAA,EAAC;YAEnE,IAAI,KAAK,CAAC,MAAM,EAAE;gBAChB,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;aACvB;SACF;KACF;IAED,OAAO,MAAM,CAAC;CACf;;;;;;AClED;IAEA;KAMqC;;gBANpC,SAAS,SAAC;oBACT,QAAQ,EAAE,mBAAmB;oBAC7B,QAAQ,EAAE,2CAET;iBACF;;IACmC,4BAAC;CANrC;;;;;;;;;;;ACFA;IASE,4BAAoB,KAAiB;QAAjB,UAAK,GAAL,KAAK,CAAY;QAFrC,UAAK,GAAW,CAAC,CAAC;KAEuB;;;;IAEzC,4CAAe;;;IAAf;QAAA,iBAEC;QADC,UAAU;;;QAAC,cAAM,OAAA,KAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,GAAA,GAAE,IAAI,CAAC,KAAK,CAAC,CAAC;KAChE;;gBAXF,SAAS,SAAC;oBACT,QAAQ,EAAE,aAAa;iBACxB;;;;gBAJmB,UAAU;;;wBAM3B,KAAK,SAAC,WAAW;;IAQpB,yBAAC;CAZD,IAYC;;;IARC,mCACkB;;;;;IAEN,mCAAyB;;;;;;;ACTvC;IA0BE,2BAAoB,KAAwB,EAAU,KAAiB;QAAnD,UAAK,GAAL,KAAK,CAAmB;QAAU,UAAK,GAAL,KAAK,CAAY;QAZvE,YAAO,GAAG,IAAI,CAAC;KAY4D;IAV3E,sBACI,oCAAK;;;;QADT;YAEE,OAAO,IAAI,CAAC,OAAO,CAAC;SACrB;;;OAAA;IAED,sBACI,uCAAQ;;;;QADZ;YAEE,OAAO,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,IAAI,OAAO,GAAG,SAAS,CAAC;SACzD;;;OAAA;;;;IAID,8CAAkB;;;IAAlB;QAAA,iBASC;QARC,UAAU;;;QAAC;;gBACH,KAAK,GAAG,KAAI,CAAC,KAAK;YACxB,KAAI,CAAC,KAAK,GAAG,KAAK,IAAI,oBAAC,KAAI,CAAC,KAAK,CAAC,aAAa,IAAiB,SAAS,CAAC;YAE1E,IAAI,KAAI,CAAC,KAAK,KAAK,KAAK,EAAE;gBACxB,KAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;aAC5B;SACF,GAAE,CAAC,CAAC,CAAC;KACP;;gBAnCF,SAAS,SAAC;oBACT,QAAQ,EAAE,eAAe;iBAC1B;;;;gBAJ0B,iBAAiB;gBAAa,UAAU;;;wBAMhE,KAAK,SAAC,aAAa;wBAGnB,WAAW,SAAC,OAAO,cACnB,KAAK;0BAGL,KAAK,SAAC,oBAAoB;wBAG1B,WAAW,SAAC,oBAAoB;2BAKhC,WAAW,SAAC,iBAAiB;;IAiBhC,wBAAC;CApCD,IAoCC;;;IAhCC,kCACc;;IAEd,kCAEc;;IAEd,oCACe;;;;;IAYH,kCAAgC;;;;;IAAE,kCAAyB;;;;;;;AC1BzE;IAWE,6BAAgC,KAAiB,EAAU,QAAmB,EAAU,KAAY;QAApE,UAAK,GAAL,KAAK,CAAY;QAAU,aAAQ,GAAR,QAAQ,CAAW;QAAU,UAAK,GAAL,KAAK,CAAO;KAAI;;;;IAExG,sCAAQ;;;IAAR;QAAA,iBAcC;QAbC,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,KAAK;iBACP,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;iBACpD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;iBAC5B,SAAS;;;;YAAC,UAAA,SAAS;gBAClB,IAAI,CAAC,SAAS,EAAE;oBACd,KAAI,CAAC,QAAQ,CAAC,WAAW,CACvB,oBAAC,KAAI,CAAC,KAAK,CAAC,aAAa,IAAiB,aAAa,EACvD,KAAI,CAAC,KAAK,CAAC,aAAa,CACzB,CAAC;iBACH;aACF,EAAC,CAAC;SACN;KACF;;;;IAED,yCAAW;;;IAAX,eAAsB;;gBAxBvB,SAAS,SAAC;oBACT,QAAQ,EAAE,iBAAiB;iBAC5B;;;;gBAPmB,UAAU,uBAWf,QAAQ;gBAX6C,SAAS;gBACpE,KAAK;;;4BAQX,KAAK,SAAC,eAAe;;IAqBxB,0BAAC;CAzBD,IAyBC;;;IArBC,wCAA0C;;;;;IAE9B,oCAAqC;;;;;IAAE,uCAA2B;;;;;IAAE,oCAAoB;;;;;;;ACXtG;IAaE,6BAAgC,KAAiB,EAAU,QAAmB;QAA9C,UAAK,GAAL,KAAK,CAAY;QAAU,aAAQ,GAAR,QAAQ,CAAW;QAF9E,eAAU,GAAG,IAAI,OAAO,EAAW,CAAC;KAE8C;;;;IAElF,6CAAe;;;IAAf;QAAA,iBA0BC;;YAzBO,QAAQ,GAAG,IAAI,gBAAgB;;;;QAAC,UAAA,SAAS;YAC7C,SAAS,CAAC,OAAO;;;;YAAC,UAAA,QAAQ;gBACxB,IAAI,CAAC,QAAQ,CAAC,MAAM;oBAAE,OAAO;;oBAEvB,SAAS,GAAG,GAAG;;;gBACnB,cAAM,OAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM;;;;gBAAC,UAAA,IAAI,IAAI,OAAA,IAAI,YAAY,WAAW,GAAA,EAAC,GAAA,GACxF,EAAE,CACH;gBAED,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;oBACrB,KAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAI,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,EAAE,KAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;oBAC5F,KAAI,CAAC,UAAU,EAAE,CAAC;iBACnB;qBAAM;oBACL,UAAU;;;oBAAC;wBACT,KAAI,CAAC,UAAU,EAAE,CAAC;qBACnB,GAAE,CAAC,CAAC,CAAC;iBACP;aACF,EAAC,CAAC;SACJ,EAAC;QAEF,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE;YACpC,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,SAAS;;;QAAC,cAAM,OAAA,QAAQ,CAAC,UAAU,EAAE,GAAA,EAAC,CAAC;KACxD;;;;IAED,wCAAU;;;IAAV;QACE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;KAC5B;;gBA1CF,SAAS,SAAC;oBACT,QAAQ,EAAE,iBAAiB;iBAC5B;;;;gBANoC,UAAU,uBAahC,QAAQ;gBAb0B,SAAS;;;iCAQvD,KAAK,SAAC,eAAe;;IAuCxB,0BAAC;CA3CD,IA2CC;;;IAvCC,6CAC4B;;IAE5B,yCAAoC;;;;;IAExB,oCAAqC;;;;;IAAE,uCAA2B;;;;;;;;;;;;;;ICZ9E,SAAU,SAAS;IACnB,aAAc,aAAa;IAC3B,OAAQ,OAAO;;;;;;;;;;;;ACHjB;IAWE,mBAAoB,YAA0B,EAAU,KAAY;QAAhD,iBAAY,GAAZ,YAAY,CAAc;QAAU,UAAK,GAAL,KAAK,CAAO;KAAI;;;;;;IACxE,+BAAW;;;;;IAAX,UAAY,CAAyB,EAAE,KAA0B;;YACzD,mBAAmB,GAAG,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE;QACnE,IAAI,mBAAmB,EAAE;YACvB,OAAO,mBAAmB,CAAC;SAC5B;QAED,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QAEnG,OAAO,KAAK,CAAC;KACd;;gBAdF,UAAU,SAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;;gBANQ,YAAY;gBADZ,KAAK;;;oBAFd;CAOA,IAeC;;;;;;IAXa,iCAAkC;;;;;IAAE,0BAAoB;;;;;;;ACXtE;IAUE,yBAAoB,KAAY;QAAZ,UAAK,GAAL,KAAK,CAAO;KAAI;;;;;IAEpC,qCAAW;;;;IAAX,UAAY,EAAgC;YAA9B,cAAI;;YACV,QAAQ,sBAAG,IAAI,CAAC,cAAc,EAAU;QAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;KAClE;;gBATF,UAAU,SAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;;gBANQ,KAAK;;;0BAFd;CAMA,IAUC;;;;;;IANa,gCAAoB;;;;;;;;;;;;ACVlC;IAUE,wBAAoB,YAA0B,EAAU,KAAY;QAAhD,iBAAY,GAAZ,YAAY,CAAc;QAAU,UAAK,GAAL,KAAK,CAAO;KAAI;;;;;;IAExE,kCAAS;;;;;IAAT,UAAU,OAAyB,EAAE,IAAiB;QAAtD,iBA2BC;QA1BC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;;YAExC,OAAO,sBAAG,EAAE,EAAO;;YAEnB,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE;QAChD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,KAAK,EAAE;YAClD,OAAO,CAAC,eAAe,CAAC,GAAG,YAAU,KAAO,CAAC;SAC9C;;YAEK,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,WAAW,CAAC;QAChE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,IAAI,EAAE;YACnD,OAAO,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC;SACnC;;YAEK,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,SAAS,CAAC;QAChE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,MAAM,EAAE;YAC9C,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC;SACjC;QAED,OAAO,IAAI;aACR,MAAM,CACL,OAAO,CAAC,KAAK,CAAC;YACZ,UAAU,EAAE,OAAO;SACpB,CAAC,CACH;aACA,IAAI,CAAC,QAAQ;;;QAAC,cAAM,OAAA,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC,GAAA,EAAC,CAAC,CAAC;KACvE;;gBA/BF,UAAU;;;;gBANF,YAAY;gBACZ,KAAK;;IAqCd,qBAAC;CAhCD,IAgCC;;;;;;IA9Ba,sCAAkC;;;;;IAAE,+BAAoB;;;;;;;;;;;;ACVtE,IAAiB,wBAAwB,CAgDxC;AAhDD,WAAiB,wBAAwB;;;;IACvC,uBAMC;;;;QALC,gCAA2B;;QAC3B,wBAAW;;QACX,2BAAiB;;QACjB,+BAAyB;;QACzB,4BAAmB;;;;;IAGrB,2BAGC;;;;QAFC,8BAA0B;;QAC1B,iCAAsB;;;;;IAGxB,gCAEC;;;;;IAED,uBAKC;;;;QAJC,+BAAoB;;QACpB,iCAAsB;;QACtB,+BAAoB;;QACpB,4BAAiB;;;;;IAGnB,mBAGC;;;;QAFC,wBAAiB;;QACjB,+BAAwB;;;;;IAG1B,qBAEC;;;;;IAED,sBAEC;;;;QADC,yBAA8D;;;;;IAGhE,0BAKC;;;;QAJC,sCAAyB;;QACzB,yBAAW;;QACX,+BAAiB;;QACjB,+BAAiB;;;;;IAGnB,uBAEC;;;;QADC,0BAAgB;;CAEnB,EAhDgB,wBAAwB,KAAxB,wBAAwB,QAgDxC;;;;;;AC7CD,IAAiB,GAAG,CA0CnB;AA1CD,WAAiB,GAAG;;;;IAClB,mBAGC;;;;QAFC,2BAAyC;;QACzC,4BAAkC;;;;;;IAOpC,iCAEC;;;;QADC,mCAAW;;;;;IAGb,8BAKC;;;;QAJC,iCAAgB;;QAChB,kCAAiB;;QACjB,oCAAmB;;QACnB,yCAAwB;;;;;IAG1B,oBAUC;;;;QATC,yBAAmB;;QACnB,0BAAoB;;QACpB,uBAAqB;;QACrB,qBAAa;;QACb,sBAAe;;QACf,2BAAoB;;QACpB,qBAAa;;QACb,+BAAwB;;QACxB,0BAAmB;;;;;IAGrB,wBAGC;;;;QAFC,wBAAa;;QACb,4BAAkB;;;;;IAGpB,wBAGC;;;;QAFC,uBAAW;;QACX,yBAAa;;CAEhB,EA1CgB,GAAG,KAAH,GAAG,QA0CnB;;;;;;AC1CD,IAAiB,MAAM,CAwBtB;AAxBD,WAAiB,MAAM;;;;IACrB,oBAEC;;;;;IAED,0BAKC;;;;QAJC,kCAAyB;;QACzB,iCAAoB;;QACpB,kCAAwB;;QACxB,2BAAW;;;;;IAGb,0BAGC;;;;QAFC,2BAAa;;QACb,8BAAiB;;;;;IAGnB,mBAEC;;;;;IAED,2BAEC;;;;QADC,+BAAqB;;CAExB,EAxBgB,MAAM,KAAN,MAAM,QAwBtB;;;;;;ACzBD,IAAiB,IAAI,CAqCpB;AArCD,WAAiB,IAAI;;;;IACnB,qBAGC;;;;QAFC,0BAAmB;;QACnB,yBAAkB;;;;;;IAgBpB,sBAiBC;;;;QAhBC,uBAAS;;QACT,0BAIM;;QACN,yBAAe;;QACf,yBAIM;;QACN,iCAAyB;;QACzB,+BAA4B;;QAC5B,sBAAY;;QACZ,kCAA0B;;CAE7B,EArCgB,IAAI,KAAJ,IAAI,QAqCpB;;;;;;ACrCD,IAAiB,OAAO,CAKvB;AALD,WAAiB,OAAO;;;;IACtB,oBAGC;;;;QAFC,yBAAiB;;QACjB,uBAAsB;;CAEzB,EALgB,OAAO,KAAP,OAAO,QAKvB;;;;;;ACPD,IAAiB,OAAO,CAiBvB;AAjBD,WAAiB,OAAO;;;;IACtB,oBAEC;;;;QADC,wBAAkB;;;;;IAGpB,uBAMC;;;;QALC,4BAAiB;;QACjB,yBAAc;;QACd,wBAAa;;QACb,2BAAgB;;QAChB,+BAAoB;;;;;IAGtB,oCAGC;;;;QAFC,gDAAwB;;QACxB,4CAAoB;;CAEvB,EAjBgB,OAAO,KAAP,OAAO,QAiBvB;;;;;;;;;;;;ACVD,IAAa,0BAA0B,GAAG,IAAI,cAAc,CAAC,4BAA4B,CAAC;AAE1F;IAIE,sBAAwD,OAAiB,EAAU,MAAc;QAAzC,YAAO,GAAP,OAAO,CAAU;QAAU,WAAM,GAAN,MAAM,CAAQ;QAFzF,gBAAW,GAAY,KAAK,CAAC;KAEgE;;;;;;;IAErG,6BAAM;;;;;;IAAN,UAAO,KAAU,EAAE,KAAU,EAAE,IAAsB;;YAC7C,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC;;YAC9B,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC;;QAG/D,IAAI,YAAY,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACjC,IAAA,wCAA0D,EAAxD,kBAAM,EAAE,sBAAgD;YAC9D,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAE1C,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,aAAa,gBAC/B,KAAK,CAAC,WAAW,iBAAS,KAAK,CAAC,WAAW,CAAE,GAC9C,IAAI,CAAC,OAAO,IACf,MAAM,QAAA,IACN,CAAC;YAEH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;SACzB;QAED,OAAO,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;KAC3B;;gBAzBF,UAAU;;;;gDAII,MAAM,SAAC,0BAA0B;gBAZvC,MAAM;;IAkCf,mBAAC;CA1BD,IA0BC;;;;;;IAxBC,mCAAqC;;;;;IAEzB,+BAA6D;;;;;IAAE,8BAAsB;;;;;;;AAwBnG,SAAS,eAAe,CAAC,MAAmB,EAAE,QAA8B;IAAnD,uBAAA,EAAA,WAAmB;IAAE,yBAAA,EAAA,aAA8B;;QACpE,SAAS,GAAoB,MAAM;SACtC,MAAM;;;;IAAC,UAAA,KAAK;QACX,OAAO,GAAG;;;QAAC,cAAM,OAAA,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI;;;;QAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,GAAA,EAAC,GAAA,GAAE,KAAK,CAAC,CAAC;KAC7E,EAAC;SACD,MAAM;;;;;IAAC,UAAC,GAAG,EAAE,GAAG,IAAK,gBAAI,GAAG,EAAK,GAAG,CAAC,IAAI,CAAC,MAAM,IAAC,GAAE,EAAE,CAAC;IAEzD,QAAQ,GAAG,SAAS,CAAC,MAAM;;;;IAAC,UAAA,EAAE,IAAI,OAAA,EAAE,CAAC,OAAO,GAAA,EAAC,CAAC;;QACxC,WAAW,sBAAG,EAAE,EAAmB;IACzC,MAAM;SACH,MAAM;;;;IAAC,UAAA,KAAK,IAAI,OAAA,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,YAAY,CAAC,GAAA,EAAC;SACrF,OAAO;;;;IAAC,UAAA,KAAK;;YACN,UAAU,GAAG,SAAS,CAAC,IAAI;;;;QAC/B,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG;;;QAAC,cAAM,OAAA,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAA,GAAE,KAAK,CAAC,GAAA,EACzG;QACO,IAAA,2BAAM;QAEd,IAAI,UAAU,EAAE;YACd,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC9B;QAED,IAAI,WAAW,CAAC,MAAM,KAAK,MAAM,EAAE;YACjC,WAAW,CAAC,IAAI,oBAAC;gBACf,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,GAAG;;;gBAAC,cAAM,OAAA,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAA,GAAE,KAAK,CAAC,IAAI,CAAC;gBACnD,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE;aAC3C,GAAkB,CAAC;SACrB;KACF,EAAC,CAAC;IAEL,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,QAAQ,UAAA,EAAE,CAAC;CACnD;;;;;;AAED,SAAS,OAAO,CAAC,MAAuB,EAAE,SAAkB;IAC1D,IAAI,SAAS,EAAE;;QAGb,OAAO,MAAM,CAAC,GAAG;;;;QAAC,UAAA,KAAK,IAAI,qBACtB,KAAK,IACR,GAAG,EAAK,SAAS,SAAI,KAAK,CAAC,IAAM,KAC7B,KAAK,CAAC,QAAQ;YAChB,KAAK,CAAC,QAAQ,CAAC,MAAM,IAAI;YACvB,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAK,SAAS,SAAI,KAAK,CAAC,IAAM,CAAC;SAChE,MACH,EAAC,CAAC;KACL;IAED,OAAO,MAAM,CAAC,GAAG;;;;IAAC,UAAA,KAAK,IAAI,qBACtB,KAAK,IACR,GAAG,EAAE,MAAI,KAAK,CAAC,IAAM,KACjB,KAAK,CAAC,QAAQ;QAChB,KAAK,CAAC,QAAQ,CAAC,MAAM,IAAI;QACvB,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAI,KAAK,CAAC,IAAM,CAAC;KACpD,MACH,EAAC,CAAC;CACL;;;;;;;;;;;AC5FD;IAQE,uBAAoB,KAAY;QAAZ,UAAK,GAAL,KAAK,CAAO;KAAI;;;;IAEpC,8BAAM;;;IAAN;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;KACtD;;;;;IAED,8BAAM;;;;IAAN,UAAO,GAAW;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;KAC3D;;;;;IAED,+BAAO;;;;IAAP,UAAQ,IAAuB;QAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;KAC7D;;;;;IAED,kCAAU;;;;IAAV,UAAW,GAAW;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;KAC/D;;gBApBF,UAAU,SAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;;gBALQ,KAAK;;;wBADd;CAIA,IAqBC;;;;;;IAjBa,8BAAoB;;;;;;;ACRlC;IAIA;QAIE,oBAAe,GAA2C,EAAE,CAAC;KAiD9D;;;;;;;;;IA/CC,8BAAI;;;;;;;;IAAJ,UACE,GAAW,EACX,IAAwB,EACxB,OAAoB,EACpB,WAA4B,EAC5B,QAAqC;QALvC,iBA8CC;QA3CC,wBAAA,EAAA,YAAoB;QACpB,4BAAA,EAAA,oBAA4B;QAC5B,yBAAA,EAAA,qBAAqC;QAErC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO;YAAE,OAAO;;YACvB,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE;QAE9D,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE;YAC7B,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;SACjD;QAED,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,IAAI,aAAa,EAAE,CAAC;;YAE5C,OAAO;QACX,IAAI,IAAI,KAAK,QAAQ,EAAE;YACrB,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,IAAI,GAAG,iBAAiB,CAAC;YACjC,IAAI,GAAG,EAAE;gBACP,oBAAC,OAAO,IAAuB,GAAG,GAAG,GAAG,CAAC;aAC1C;YAED,oBAAC,OAAO,IAAuB,IAAI,GAAG,OAAO,CAAC;SAC/C;aAAM,IAAI,GAAG,EAAE;YACd,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACzC,OAAO,CAAC,IAAI,GAAG,UAAU,CAAC;YAC1B,oBAAC,OAAO,IAAqB,GAAG,GAAG,YAAY,CAAC;YAEhD,IAAI,GAAG,EAAE;gBACP,oBAAC,OAAO,IAAqB,IAAI,GAAG,GAAG,CAAC;aACzC;SACF;aAAM;YACL,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC1C,oBAAC,OAAO,IAAsB,WAAW,GAAG,OAAO,CAAC;SACrD;QAED,OAAO,CAAC,MAAM;;;QAAG;YACf,KAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YACjC,KAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;SACtC,CAAA,CAAC;QAEF,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAE7E,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;KACjD;;gBApDF,UAAU,SAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;0BAND;CAIA,IAqDC;;;IAjDC,0CAA6D;;;;;;;;ICD7D,6BAAoB,KAAY;QAAZ,UAAK,GAAL,KAAK,CAAO;KAAI;;;;;;IAEpC,iCAAG;;;;;IAAH,UAAI,IAAY;QAAE,2BAA8B;aAA9B,UAA8B,EAA9B,qBAA8B,EAA9B,IAA8B;YAA9B,0CAA8B;;QAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,OAAnB,WAAW,YAAS,IAAI,GAAK,iBAAiB,GAAE,CAAC;KAC3E;;;;;;IAED,qCAAO;;;;;IAAP,UAAQ,IAAY;QAAE,2BAA8B;aAA9B,UAA8B,EAA9B,qBAA8B,EAA9B,IAA8B;YAA9B,0CAA8B;;QAClD,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,OAAnB,WAAW,YAAS,IAAI,GAAK,iBAAiB,GAAE,CAAC;KACnF;;gBAVF,UAAU,SAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;;gBAJzB,KAAK;;;8BADd;CAKA,IAWC;;;;;;IATa,oCAAoB;;;;;;;;;;;;;;;;ACJlC,SAAgB,kBAAkB,CAAC,WAA+B;IAChE,oBACK,WAAW,EACd;CACH;;;;;AAED,SAAgB,aAAa,CAAC,MAA2B;IACvD,oBACK,MAAM,EACT;CACH;;AAED,IAAa,WAAW,GAAG,IAAI,cAAc,CAAC,aAAa,CAAC;;AAE5D,IAAa,MAAM,GAAG,IAAI,cAAc,CAAC,QAAQ,CAAC;;;;;;;;;;;;ICFhD,0BAAoB,KAAY;QAAZ,UAAK,GAAL,KAAK,CAAO;QAJhC,gBAAW,GAAY,KAAK,CAAC;KAIO;;;;;;IAEpC,oCAAS;;;;;IAAT,UAAU,KAAa;QAAvB,iBAmBC;QAnBwB,2BAA8B;aAA9B,UAA8B,EAA9B,qBAA8B,EAA9B,IAA8B;YAA9B,0CAA8B;;QACrD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YAExB,IAAI,CAAC,KAAK;iBACP,MAAM,CACL,WAAW,CAAC,OAAO,OAAnB,WAAW,YACT,KAAK,GACF,iBAAiB,CAAC,MAAM;;;;;YAAC,UAAC,GAAG,EAAE,GAAG,IAAK,QAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,YAAO,GAAG,EAAK,GAAG,aAAQ,GAAG,GAAE,GAAG,EAAC,IAAC,GAAE,EAAE,CAAC,GAEzG;iBACA,IAAI,CACH,gBAAgB,CAAC,IAAI,CAAC,EACtB,oBAAoB,EAAE,CACvB;iBACA,SAAS;;;;YAAC,UAAA,IAAI,IAAI,QAAC,KAAI,CAAC,KAAK,GAAG,IAAI,IAAC,EAAC,CAAC;SAC3C;QAED,OAAO,IAAI,CAAC,KAAK,CAAC;KACnB;;;;IAED,sCAAW;;;IAAX,eAAgB;;gBAhCjB,IAAI,SAAC;oBACJ,IAAI,EAAE,iBAAiB;oBACvB,IAAI,EAAE,KAAK;iBACZ;;;;gBARQ,KAAK;;IAsCd,uBAAC;CAjCD,IAiCC;;;IA5BC,uCAA6B;;IAE7B,iCAAc;;;;;IAEF,iCAAoB;;;;;;;ACflC;IAaE,qCAAoB,QAAmB,EAAU,EAAc;QAA3C,aAAQ,GAAR,QAAQ,CAAW;QAAU,OAAE,GAAF,EAAE,CAAY;QAJtD,aAAQ,GAAW,GAAG,CAAC;QAEN,kBAAa,GAAG,IAAI,YAAY,EAAS,CAAC;KAED;;;;IAEnE,8CAAQ;;;IAAR;QAAA,iBASC;QARC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC;aACtC,IAAI,CACH,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,EAC3BC,kBAAgB,CAAC,IAAI,CAAC,CACvB;aACA,SAAS;;;;QAAC,UAAC,KAAY;YACtB,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAChC,EAAC,CAAC;KACN;;gBAnBF,SAAS,SAAC;oBACT,QAAQ,EAAE,kBAAkB;iBAC7B;;;;gBAP2B,SAAS;gBAAE,UAAU;;;2BAS9C,KAAK;gCAEL,MAAM,SAAC,gBAAgB;;IAc1B,kCAAC;CApBD,IAoBC;;;IAhBC,+CAAgC;;IAEhC,oDAAoE;;;;;IAExD,+CAA2B;;;;;IAAE,yCAAsB;;;;;;;ACbjE;IAUE,4CAAoB,QAAmB,EAAU,EAAc;QAA3C,aAAQ,GAAR,QAAQ,CAAW;QAAU,OAAE,GAAF,EAAE,CAAY;QAFzC,kBAAa,GAAG,IAAI,YAAY,EAAc,CAAC;KAEF;;;;IAEnE,qDAAQ;;;IAAR;QAAA,iBAOC;QANC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC;aACtC,IAAI,CAACA,kBAAgB,CAAC,IAAI,CAAC,CAAC;aAC5B,SAAS;;;;QAAC,UAAC,KAAiB;YAC3B,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAChC,EAAC,CAAC;KACN;;gBAfF,SAAS,SAAC;oBACT,QAAQ,EAAE,cAAc;iBACzB;;;;gBAN6D,SAAS;gBAAnD,UAAU;;;gCAQ3B,MAAM,SAAC,YAAY;;IAYtB,yCAAC;CAhBD,IAgBC;;;IAZC,2DAAqE;;;;;IAEzD,sDAA2B;;;;;IAAE,gDAAsB;;;;;;;ACVjE;IAyBA;KAsEC;;;;;IA3BQ,kBAAO;;;;IAAd,UAAe,OAAwB;QAAxB,wBAAA,EAAA,6BAAU,EAAE,EAAY;QACrC,OAAO;YACL,QAAQ,EAAE,UAAU;YACpB,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,YAAY;oBACrB,QAAQ,EAAE,YAAY;oBACtB,KAAK,EAAE,IAAI;iBACZ;gBACD;oBACE,OAAO,EAAE,0BAA0B;oBACnC,QAAQ,EAAE,OAAO;iBAClB;gBACD;oBACE,OAAO,EAAE,iBAAiB;oBAC1B,QAAQ,EAAE,cAAc;oBACxB,KAAK,EAAE,IAAI;iBACZ;gBACD;oBACE,OAAO,EAAE,eAAe;oBACxB,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,CAAC,QAAQ,CAAC;oBAChB,UAAU,EAAE,cAAc;iBAC3B;aACF;SACF,CAAC;KACH;;gBArEF,QAAQ,SAAC;oBACR,OAAO,EAAE;wBACP,UAAU,CAAC,UAAU,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;wBAChE,uBAAuB,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC;wBACxD,sBAAsB,CAAC,OAAO,EAAE;wBAChC,YAAY;wBACZ,gBAAgB;wBAChB,WAAW;wBACX,mBAAmB;wBACnB,YAAY;qBACb;oBACD,YAAY,EAAE;wBACZ,qBAAqB;wBACrB,sBAAsB;wBACtB,kBAAkB;wBAClB,iBAAiB;wBACjB,gBAAgB;wBAChB,mBAAmB;wBACnB,mBAAmB;wBACnB,2BAA2B;wBAC3B,kCAAkC;qBACnC;oBACD,OAAO,EAAE;wBACP,YAAY;wBACZ,gBAAgB;wBAChB,WAAW;wBACX,mBAAmB;wBACnB,YAAY;wBACZ,qBAAqB;wBACrB,sBAAsB;wBACtB,kBAAkB;wBAClB,iBAAiB;wBACjB,gBAAgB;wBAChB,mBAAmB;wBACnB,mBAAmB;wBACnB,2BAA2B;wBAC3B,gBAAgB;wBAChB,kCAAkC;qBACnC;oBACD,SAAS,EAAE,CAAC,gBAAgB,CAAC;oBAC7B,eAAe,EAAE,CAAC,qBAAqB,EAAE,sBAAsB,CAAC;iBACjE;;IA6BD,iBAAC;CAtED;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/npm/ng-packs/dist/core/lib/directives/ellipsis.directive.d.ts b/npm/ng-packs/dist/core/lib/directives/ellipsis.directive.d.ts index 25b011d787..6bc522d0ae 100644 --- a/npm/ng-packs/dist/core/lib/directives/ellipsis.directive.d.ts +++ b/npm/ng-packs/dist/core/lib/directives/ellipsis.directive.d.ts @@ -2,7 +2,7 @@ import { AfterContentInit, ChangeDetectorRef, ElementRef } from '@angular/core'; export declare class EllipsisDirective implements AfterContentInit { private cdRef; private elRef; - witdh: string; + width: string; title: string; enabled: boolean; readonly class: boolean; diff --git a/npm/ng-packs/dist/core/lib/plugins/config.plugin.d.ts b/npm/ng-packs/dist/core/lib/plugins/config.plugin.d.ts index b46b7d801a..380a05d768 100644 --- a/npm/ng-packs/dist/core/lib/plugins/config.plugin.d.ts +++ b/npm/ng-packs/dist/core/lib/plugins/config.plugin.d.ts @@ -2,7 +2,7 @@ import { InjectionToken } from '@angular/core'; import { Router } from '@angular/router'; import { NgxsNextPluginFn, NgxsPlugin } from '@ngxs/store'; import { ABP } from '../models'; -export declare const NGXS_CONFIG_PLUGIN_OPTIONS: InjectionToken<{}>; +export declare const NGXS_CONFIG_PLUGIN_OPTIONS: InjectionToken; export declare class ConfigPlugin implements NgxsPlugin { private options; private router; diff --git a/npm/ng-packs/dist/core/lib/tokens/common.token.d.ts b/npm/ng-packs/dist/core/lib/tokens/common.token.d.ts index 57fff48eaa..5102a1104a 100644 --- a/npm/ng-packs/dist/core/lib/tokens/common.token.d.ts +++ b/npm/ng-packs/dist/core/lib/tokens/common.token.d.ts @@ -9,5 +9,5 @@ export declare function environmentFactory(environment: Config.Environment): { export declare function configFactory(config: Config.Requirements): { layouts: import("@angular/core").Type[]; }; -export declare const ENVIRONMENT: InjectionToken<{}>; -export declare const CONFIG: InjectionToken<{}>; +export declare const ENVIRONMENT: InjectionToken; +export declare const CONFIG: InjectionToken; diff --git a/npm/ng-packs/dist/identity/abp-ng.identity.metadata.json b/npm/ng-packs/dist/identity/abp-ng.identity.metadata.json index d52fdb7fa6..7386696299 100644 --- a/npm/ng-packs/dist/identity/abp-ng.identity.metadata.json +++ b/npm/ng-packs/dist/identity/abp-ng.identity.metadata.json @@ -1 +1 @@ -{"__symbolic":"module","version":4,"exports":[{"from":"./lib/models/identity"}],"metadata":{"IdentityModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":14,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"RolesComponent"},{"__symbolic":"reference","name":"ɵb"}],"imports":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"NgxsModule","line":17,"character":4},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"IdentityState"}]]},{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":18,"character":4},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbTabsetModule","line":20,"character":4},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ThemeSharedModule","line":21,"character":4},{"__symbolic":"reference","module":"primeng/table","name":"TableModule","line":22,"character":4},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbDropdownModule","line":23,"character":4},{"__symbolic":"reference","module":"@abp/ng.permission-management","name":"PermissionManagementModule","line":24,"character":4},{"__symbolic":"reference","module":"@ngx-validate/core","name":"NgxValidateCoreModule","line":25,"character":4},{"__symbolic":"reference","module":"ngx-perfect-scrollbar","name":"PerfectScrollbarModule","line":26,"character":4}]}]}],"members":{}},"GetRoles":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ABP","line":5,"character":31},"member":"PageQueryParams"}]}]},"statics":{"type":"[Identity] Get Roles"}},"GetRoleById":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Identity] Get Role By Id"}},"DeleteRole":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Identity] Delete Role"}},"CreateRole":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵa"},"member":"RoleSaveRequest"}]}]},"statics":{"type":"[Identity] Create Role"}},"UpdateRole":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵa"},"member":"RoleItem"}]}]},"statics":{"type":"[Identity] Update Role"}},"GetUsers":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ABP","line":30,"character":31},"member":"PageQueryParams"}]}]},"statics":{"type":"[Identity] Get Users"}},"GetUserById":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Identity] Get User By Id"}},"DeleteUser":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Identity] Delete User"}},"CreateUser":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵa"},"member":"UserSaveRequest"}]}]},"statics":{"type":"[Identity] Create User"}},"UpdateUser":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":50,"character":30,"module":"./lib/actions/identity.actions"}]}]},"statics":{"type":"[Identity] Update User"}},"GetUserRoles":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Identity] Get User Roles"}},"RolesComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"abp-roles","template":"
\n
\n
\n
\n
{{ 'AbpIdentity::Roles' | abpLocalization }}
\n
\n
\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::RoleName' | abpLocalization }}\n \n \n \n \n \n
\n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
\n \n \n \n
\n
\n \n {{ data.name }}\n \n
\n \n
\n
\n\n\n \n

{{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewRole') | abpLocalization }}

\n
\n\n \n
\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n
\n
\n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
\n\n\n"}]}],"members":{"data$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":16,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"IdentityState"},"member":"getRoles"}]}]}],"totalCount$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":19,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"IdentityState"},"member":"getRolesTotalCount"}]}]}],"modalContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":38,"character":3},"arguments":["modalContent",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ConfirmationService","line":41,"character":43},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":41,"character":76},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":41,"character":104}]}],"onSearch":[{"__symbolic":"method"}],"createForm":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"onAdd":[{"__symbolic":"method"}],"onEdit":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"onPageChange":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}]}},"IDENTITY_ROUTES":[{"name":"AbpUiNavigation::Menu:Administration","path":"","order":1,"wrapper":true},{"name":"AbpIdentity::Menu:IdentityManagement","path":"identity","order":1,"parentName":"AbpUiNavigation::Menu:Administration","layout":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"eLayoutType","line":14,"character":12},"member":"application"},"iconClass":"fa fa-id-card-o","children":[{"path":"roles","name":"AbpIdentity::Roles","order":2,"requiredPolicy":"AbpIdentity.Roles"},{"path":"users","name":"AbpIdentity::Users","order":1,"requiredPolicy":"AbpIdentity.Users"}]}],"RoleResolver":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":9,"character":29}]}],"resolve":[{"__symbolic":"method"}]}},"IdentityService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.core","name":"RestService","line":9,"character":28}]}],"getRoles":[{"__symbolic":"method"}],"getRoleById":[{"__symbolic":"method"}],"deleteRole":[{"__symbolic":"method"}],"createRole":[{"__symbolic":"method"}],"updateRole":[{"__symbolic":"method"}],"getUsers":[{"__symbolic":"method"}],"getUserById":[{"__symbolic":"method"}],"getUserRoles":[{"__symbolic":"method"}],"deleteUser":[{"__symbolic":"method"}],"createUser":[{"__symbolic":"method"}],"updateUser":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"IdentityState":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":18,"character":1},"arguments":[{"name":"IdentityState","defaults":{"roles":{},"selectedRole":{},"users":{},"selectedUser":{}}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"IdentityService"}]}],"getRoles":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":45,"character":3},"arguments":[{"__symbolic":"reference","name":"GetRoles"}]}]}],"getRole":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":56,"character":3},"arguments":[{"__symbolic":"reference","name":"GetRoleById"}]}]}],"deleteRole":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":67,"character":3},"arguments":[{"__symbolic":"reference","name":"DeleteRole"}]}]}],"addRole":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":72,"character":3},"arguments":[{"__symbolic":"reference","name":"CreateRole"}]}]}],"updateRole":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":77,"character":3},"arguments":[{"__symbolic":"reference","name":"UpdateRole"}]}]}],"getUsers":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":85,"character":3},"arguments":[{"__symbolic":"reference","name":"GetUsers"}]}]}],"getUser":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":96,"character":3},"arguments":[{"__symbolic":"reference","name":"GetUserById"}]}]}],"deleteUser":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":107,"character":3},"arguments":[{"__symbolic":"reference","name":"DeleteUser"}]}]}],"addUser":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":112,"character":3},"arguments":[{"__symbolic":"reference","name":"CreateUser"}]}]}],"updateUser":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":117,"character":3},"arguments":[{"__symbolic":"reference","name":"UpdateUser"}]}]}],"getUserRoles":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":125,"character":3},"arguments":[{"__symbolic":"reference","name":"GetUserRoles"}]}]}]},"statics":{"getRoles":{"__symbolic":"function","parameters":["roles"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"roles"},"member":"items"}},"getRolesTotalCount":{"__symbolic":"function","parameters":["roles"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"roles"},"member":"totalCount"}},"getUsers":{"__symbolic":"function","parameters":["users"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"users"},"member":"items"}},"getUsersTotalCount":{"__symbolic":"function","parameters":["users"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"users"},"member":"totalCount"}}}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":18,"character":1},"arguments":[{"selector":"abp-users","template":"
\n
\n
\n
\n
{{ 'AbpIdentity::Users' | abpLocalization }}
\n
\n
\n \n {{ 'AbpIdentity::NewUser' | abpLocalization }}\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::UserName' | abpLocalization }}\n {{ 'AbpIdentity::EmailAddress' | abpLocalization }}\n {{ 'AbpIdentity::PhoneNumber' | abpLocalization }}\n \n \n \n \n \n
\n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
\n \n \n \n
\n
\n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
\n \n
\n
\n\n\n \n

{{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewUser') | abpLocalization }}

\n
\n\n \n \n
\n \n \n \n
\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n
\n\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n
\n
\n
\n \n \n
\n \n \n \n
\n \n
\n
\n
\n
\n
\n
\n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
\n\n\n"}]}],"members":{"data$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":23,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"IdentityState"},"member":"getUsers"}]}]}],"totalCount$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":26,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"IdentityState"},"member":"getUsersTotalCount"}]}]}],"modalContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":29,"character":3},"arguments":["modalContent",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ConfirmationService","line":58,"character":43},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":58,"character":76},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":58,"character":104}]}],"onSearch":[{"__symbolic":"method"}],"buildForm":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"onAdd":[{"__symbolic":"method"}],"onEdit":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"onPageChange":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":32,"character":1},"arguments":[{"imports":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":33,"character":12},"member":"forChild"},"arguments":[[{"path":"","redirectTo":"roles","pathMatch":"full"},{"path":"roles","component":{"__symbolic":"reference","module":"@abp/ng.core","name":"DynamicLayoutComponent","line":12,"character":15},"canActivate":[{"__symbolic":"reference","module":"@abp/ng.core","name":"AuthGuard","line":13,"character":18},{"__symbolic":"reference","module":"@abp/ng.core","name":"PermissionGuard","line":13,"character":29}],"data":{"requiredPolicy":"AbpIdentity.Roles"},"children":[{"path":"","component":{"__symbolic":"reference","name":"RolesComponent"},"resolve":[{"__symbolic":"reference","name":"RoleResolver"}]}]},{"path":"users","component":{"__symbolic":"reference","module":"@abp/ng.core","name":"DynamicLayoutComponent","line":19,"character":15},"canActivate":[{"__symbolic":"reference","module":"@abp/ng.core","name":"AuthGuard","line":20,"character":18},{"__symbolic":"reference","module":"@abp/ng.core","name":"PermissionGuard","line":20,"character":29}],"data":{"requiredPolicy":"AbpIdentity.Users"},"children":[{"path":"","component":{"__symbolic":"reference","name":"ɵb"},"resolve":[{"__symbolic":"reference","name":"RoleResolver"},{"__symbolic":"reference","name":"ɵd"}]}]}]]}],"exports":[{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":34,"character":12}],"providers":[{"__symbolic":"reference","name":"RoleResolver"},{"__symbolic":"reference","name":"ɵd"}]}]}],"members":{}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":9,"character":29}]}],"resolve":[{"__symbolic":"method"}]}}},"origins":{"IdentityModule":"./lib/identity.module","GetRoles":"./lib/actions/identity.actions","GetRoleById":"./lib/actions/identity.actions","DeleteRole":"./lib/actions/identity.actions","CreateRole":"./lib/actions/identity.actions","UpdateRole":"./lib/actions/identity.actions","GetUsers":"./lib/actions/identity.actions","GetUserById":"./lib/actions/identity.actions","DeleteUser":"./lib/actions/identity.actions","CreateUser":"./lib/actions/identity.actions","UpdateUser":"./lib/actions/identity.actions","GetUserRoles":"./lib/actions/identity.actions","RolesComponent":"./lib/components/roles/roles.component","IDENTITY_ROUTES":"./lib/constants/routes","RoleResolver":"./lib/resolvers/roles.resolver","IdentityService":"./lib/services/identity.service","IdentityState":"./lib/states/identity.state","ɵa":"./lib/models/identity","ɵb":"./lib/components/users/users.component","ɵc":"./lib/identity-routing.module","ɵd":"./lib/resolvers/users.resolver"},"importAs":"@abp/ng.identity"} \ No newline at end of file +{"__symbolic":"module","version":4,"exports":[{"from":"./lib/models/identity"}],"metadata":{"IdentityModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":14,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"RolesComponent"},{"__symbolic":"reference","name":"ɵb"}],"imports":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"NgxsModule","line":17,"character":4},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"IdentityState"}]]},{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":18,"character":4},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbTabsetModule","line":20,"character":4},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ThemeSharedModule","line":21,"character":4},{"__symbolic":"reference","module":"primeng/table","name":"TableModule","line":22,"character":4},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbDropdownModule","line":23,"character":4},{"__symbolic":"reference","module":"@abp/ng.permission-management","name":"PermissionManagementModule","line":24,"character":4},{"__symbolic":"reference","module":"@ngx-validate/core","name":"NgxValidateCoreModule","line":25,"character":4},{"__symbolic":"reference","module":"ngx-perfect-scrollbar","name":"PerfectScrollbarModule","line":26,"character":4}]}]}],"members":{}},"GetRoles":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ABP","line":5,"character":31},"member":"PageQueryParams"}]}]},"statics":{"type":"[Identity] Get Roles"}},"GetRoleById":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Identity] Get Role By Id"}},"DeleteRole":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Identity] Delete Role"}},"CreateRole":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵa"},"member":"RoleSaveRequest"}]}]},"statics":{"type":"[Identity] Create Role"}},"UpdateRole":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵa"},"member":"RoleItem"}]}]},"statics":{"type":"[Identity] Update Role"}},"GetUsers":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ABP","line":30,"character":31},"member":"PageQueryParams"}]}]},"statics":{"type":"[Identity] Get Users"}},"GetUserById":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Identity] Get User By Id"}},"DeleteUser":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Identity] Delete User"}},"CreateUser":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵa"},"member":"UserSaveRequest"}]}]},"statics":{"type":"[Identity] Create User"}},"UpdateUser":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":50,"character":30,"module":"./lib/actions/identity.actions"}]}]},"statics":{"type":"[Identity] Update User"}},"GetUserRoles":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Identity] Get User Roles"}},"RolesComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"abp-roles","template":"
\n
\n
\n
\n
{{ 'AbpIdentity::Roles' | abpLocalization }}
\n
\n
\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::RoleName' | abpLocalization }}\n \n \n \n \n \n
\n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
\n \n \n \n
\n
\n \n {{ data.name }}\n \n
\n \n
\n
\n\n\n \n

{{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewRole') | abpLocalization }}

\n
\n\n \n
\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n
\n
\n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
\n\n\n"}]}],"members":{"data$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":16,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"IdentityState"},"member":"getRoles"}]}]}],"totalCount$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":19,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"IdentityState"},"member":"getRolesTotalCount"}]}]}],"modalContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":40,"character":3},"arguments":["modalContent",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ConfirmationService","line":43,"character":43},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":43,"character":76},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":43,"character":104}]}],"onSearch":[{"__symbolic":"method"}],"createForm":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"onAdd":[{"__symbolic":"method"}],"onEdit":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"onPageChange":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}]}},"IDENTITY_ROUTES":[{"name":"AbpUiNavigation::Menu:Administration","path":"","order":1,"wrapper":true},{"name":"AbpIdentity::Menu:IdentityManagement","path":"identity","order":1,"parentName":"AbpUiNavigation::Menu:Administration","layout":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"eLayoutType","line":14,"character":12},"member":"application"},"iconClass":"fa fa-id-card-o","children":[{"path":"roles","name":"AbpIdentity::Roles","order":2,"requiredPolicy":"AbpIdentity.Roles"},{"path":"users","name":"AbpIdentity::Users","order":1,"requiredPolicy":"AbpIdentity.Users"}]}],"RoleResolver":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":9,"character":29}]}],"resolve":[{"__symbolic":"method"}]}},"IdentityService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.core","name":"RestService","line":9,"character":28}]}],"getRoles":[{"__symbolic":"method"}],"getRoleById":[{"__symbolic":"method"}],"deleteRole":[{"__symbolic":"method"}],"createRole":[{"__symbolic":"method"}],"updateRole":[{"__symbolic":"method"}],"getUsers":[{"__symbolic":"method"}],"getUserById":[{"__symbolic":"method"}],"getUserRoles":[{"__symbolic":"method"}],"deleteUser":[{"__symbolic":"method"}],"createUser":[{"__symbolic":"method"}],"updateUser":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"IdentityState":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":18,"character":1},"arguments":[{"name":"IdentityState","defaults":{"roles":{},"selectedRole":{},"users":{},"selectedUser":{}}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"IdentityService"}]}],"getRoles":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":45,"character":3},"arguments":[{"__symbolic":"reference","name":"GetRoles"}]}]}],"getRole":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":56,"character":3},"arguments":[{"__symbolic":"reference","name":"GetRoleById"}]}]}],"deleteRole":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":67,"character":3},"arguments":[{"__symbolic":"reference","name":"DeleteRole"}]}]}],"addRole":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":72,"character":3},"arguments":[{"__symbolic":"reference","name":"CreateRole"}]}]}],"updateRole":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":77,"character":3},"arguments":[{"__symbolic":"reference","name":"UpdateRole"}]}]}],"getUsers":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":85,"character":3},"arguments":[{"__symbolic":"reference","name":"GetUsers"}]}]}],"getUser":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":96,"character":3},"arguments":[{"__symbolic":"reference","name":"GetUserById"}]}]}],"deleteUser":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":107,"character":3},"arguments":[{"__symbolic":"reference","name":"DeleteUser"}]}]}],"addUser":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":112,"character":3},"arguments":[{"__symbolic":"reference","name":"CreateUser"}]}]}],"updateUser":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":117,"character":3},"arguments":[{"__symbolic":"reference","name":"UpdateUser"}]}]}],"getUserRoles":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":125,"character":3},"arguments":[{"__symbolic":"reference","name":"GetUserRoles"}]}]}]},"statics":{"getRoles":{"__symbolic":"function","parameters":["roles"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"roles"},"member":"items"}},"getRolesTotalCount":{"__symbolic":"function","parameters":["roles"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"roles"},"member":"totalCount"}},"getUsers":{"__symbolic":"function","parameters":["users"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"users"},"member":"items"}},"getUsersTotalCount":{"__symbolic":"function","parameters":["users"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"users"},"member":"totalCount"}}}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":18,"character":1},"arguments":[{"selector":"abp-users","template":"
\n
\n
\n
\n
{{ 'AbpIdentity::Users' | abpLocalization }}
\n
\n
\n \n {{ 'AbpIdentity::NewUser' | abpLocalization }}\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::UserName' | abpLocalization }}\n {{ 'AbpIdentity::EmailAddress' | abpLocalization }}\n {{ 'AbpIdentity::PhoneNumber' | abpLocalization }}\n \n \n \n \n \n
\n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
\n \n \n \n
\n
\n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
\n \n
\n
\n\n\n \n

{{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewUser') | abpLocalization }}

\n
\n\n \n \n
\n \n \n \n
\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n
\n\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n
\n
\n
\n \n \n
\n \n \n \n
\n \n
\n
\n
\n
\n
\n
\n\n \n \n {{\n 'AbpIdentity::Save' | abpLocalization\n }}\n \n
\n\n\n"}]}],"members":{"data$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":23,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"IdentityState"},"member":"getUsers"}]}]}],"totalCount$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":26,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"IdentityState"},"member":"getUsersTotalCount"}]}]}],"modalContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":29,"character":3},"arguments":["modalContent",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ConfirmationService","line":60,"character":43},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":60,"character":76},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":60,"character":104}]}],"onSearch":[{"__symbolic":"method"}],"buildForm":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"onAdd":[{"__symbolic":"method"}],"onEdit":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"onPageChange":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":32,"character":1},"arguments":[{"imports":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":33,"character":12},"member":"forChild"},"arguments":[[{"path":"","redirectTo":"roles","pathMatch":"full"},{"path":"roles","component":{"__symbolic":"reference","module":"@abp/ng.core","name":"DynamicLayoutComponent","line":12,"character":15},"canActivate":[{"__symbolic":"reference","module":"@abp/ng.core","name":"AuthGuard","line":13,"character":18},{"__symbolic":"reference","module":"@abp/ng.core","name":"PermissionGuard","line":13,"character":29}],"data":{"requiredPolicy":"AbpIdentity.Roles"},"children":[{"path":"","component":{"__symbolic":"reference","name":"RolesComponent"},"resolve":[{"__symbolic":"reference","name":"RoleResolver"}]}]},{"path":"users","component":{"__symbolic":"reference","module":"@abp/ng.core","name":"DynamicLayoutComponent","line":19,"character":15},"canActivate":[{"__symbolic":"reference","module":"@abp/ng.core","name":"AuthGuard","line":20,"character":18},{"__symbolic":"reference","module":"@abp/ng.core","name":"PermissionGuard","line":20,"character":29}],"data":{"requiredPolicy":"AbpIdentity.Users"},"children":[{"path":"","component":{"__symbolic":"reference","name":"ɵb"},"resolve":[{"__symbolic":"reference","name":"RoleResolver"},{"__symbolic":"reference","name":"ɵd"}]}]}]]}],"exports":[{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":34,"character":12}],"providers":[{"__symbolic":"reference","name":"RoleResolver"},{"__symbolic":"reference","name":"ɵd"}]}]}],"members":{}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":9,"character":29}]}],"resolve":[{"__symbolic":"method"}]}}},"origins":{"IdentityModule":"./lib/identity.module","GetRoles":"./lib/actions/identity.actions","GetRoleById":"./lib/actions/identity.actions","DeleteRole":"./lib/actions/identity.actions","CreateRole":"./lib/actions/identity.actions","UpdateRole":"./lib/actions/identity.actions","GetUsers":"./lib/actions/identity.actions","GetUserById":"./lib/actions/identity.actions","DeleteUser":"./lib/actions/identity.actions","CreateUser":"./lib/actions/identity.actions","UpdateUser":"./lib/actions/identity.actions","GetUserRoles":"./lib/actions/identity.actions","RolesComponent":"./lib/components/roles/roles.component","IDENTITY_ROUTES":"./lib/constants/routes","RoleResolver":"./lib/resolvers/roles.resolver","IdentityService":"./lib/services/identity.service","IdentityState":"./lib/states/identity.state","ɵa":"./lib/models/identity","ɵb":"./lib/components/users/users.component","ɵc":"./lib/identity-routing.module","ɵd":"./lib/resolvers/users.resolver"},"importAs":"@abp/ng.identity"} \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.js b/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.js index 226588a8f9..02988894e2 100644 --- a/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.js +++ b/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.js @@ -20,6 +20,20 @@ See the Apache Version 2.0 License for specific language governing permissions and limitations under the License. ***************************************************************************** */ + /* global Reflect, Promise */ + + var extendStatics = function(d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + + function __extends(d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + } var __assign = function() { __assign = Object.assign || function __assign(t) { @@ -32,6 +46,18 @@ return __assign.apply(this, arguments); }; + function __rest(s, e) { + var t = {}; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; + } + function __decorate(decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -39,8 +65,142 @@ return c > 3 && r && Object.defineProperty(target, key, r), r; } + function __param(paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } + } + function __metadata(metadataKey, metadataValue) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); + } + + function __awaiter(thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + } + + function __generator(thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + 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; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } + } + + function __exportStar(m, exports) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + + function __values(o) { + var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0; + if (m) return m.call(o); + return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + } + + function __read(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } + catch (error) { e = { error: error }; } + finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } + finally { if (e) throw e.error; } + } + return ar; + } + + function __spread() { + for (var ar = [], i = 0; i < arguments.length; i++) + ar = ar.concat(__read(arguments[i])); + return ar; + } + + function __spreadArrays() { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; + }; + + function __await(v) { + return this instanceof __await ? (this.v = v, this) : new __await(v); + } + + function __asyncGenerator(thisArg, _arguments, generator) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var g = generator.apply(thisArg, _arguments || []), i, q = []; + return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; + 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); }); }; } + function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } + function fulfill(value) { resume("next", value); } + function reject(value) { resume("throw", value); } + function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } + } + + function __asyncDelegator(o) { + var i, p; + return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; + 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; } + } + + function __asyncValues(o) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var m = o[Symbol.asyncIterator], i; + 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); + 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); }); }; } + function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } + } + + function __makeTemplateObject(cooked, raw) { + if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + return cooked; + }; + + function __importStar(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result.default = mod; + return result; + } + + function __importDefault(mod) { + return (mod && mod.__esModule) ? mod : { default: mod }; } /** @@ -54,6 +214,12 @@ GetRoles.type = '[Identity] Get Roles'; return GetRoles; }()); + if (false) { + /** @type {?} */ + GetRoles.type; + /** @type {?} */ + GetRoles.prototype.payload; + } var GetRoleById = /** @class */ (function () { function GetRoleById(payload) { this.payload = payload; @@ -61,6 +227,12 @@ GetRoleById.type = '[Identity] Get Role By Id'; return GetRoleById; }()); + if (false) { + /** @type {?} */ + GetRoleById.type; + /** @type {?} */ + GetRoleById.prototype.payload; + } var DeleteRole = /** @class */ (function () { function DeleteRole(payload) { this.payload = payload; @@ -68,6 +240,12 @@ DeleteRole.type = '[Identity] Delete Role'; return DeleteRole; }()); + if (false) { + /** @type {?} */ + DeleteRole.type; + /** @type {?} */ + DeleteRole.prototype.payload; + } var CreateRole = /** @class */ (function () { function CreateRole(payload) { this.payload = payload; @@ -75,6 +253,12 @@ CreateRole.type = '[Identity] Create Role'; return CreateRole; }()); + if (false) { + /** @type {?} */ + CreateRole.type; + /** @type {?} */ + CreateRole.prototype.payload; + } var UpdateRole = /** @class */ (function () { function UpdateRole(payload) { this.payload = payload; @@ -82,6 +266,12 @@ UpdateRole.type = '[Identity] Update Role'; return UpdateRole; }()); + if (false) { + /** @type {?} */ + UpdateRole.type; + /** @type {?} */ + UpdateRole.prototype.payload; + } var GetUsers = /** @class */ (function () { function GetUsers(payload) { this.payload = payload; @@ -89,6 +279,12 @@ GetUsers.type = '[Identity] Get Users'; return GetUsers; }()); + if (false) { + /** @type {?} */ + GetUsers.type; + /** @type {?} */ + GetUsers.prototype.payload; + } var GetUserById = /** @class */ (function () { function GetUserById(payload) { this.payload = payload; @@ -96,6 +292,12 @@ GetUserById.type = '[Identity] Get User By Id'; return GetUserById; }()); + if (false) { + /** @type {?} */ + GetUserById.type; + /** @type {?} */ + GetUserById.prototype.payload; + } var DeleteUser = /** @class */ (function () { function DeleteUser(payload) { this.payload = payload; @@ -103,6 +305,12 @@ DeleteUser.type = '[Identity] Delete User'; return DeleteUser; }()); + if (false) { + /** @type {?} */ + DeleteUser.type; + /** @type {?} */ + DeleteUser.prototype.payload; + } var CreateUser = /** @class */ (function () { function CreateUser(payload) { this.payload = payload; @@ -110,6 +318,12 @@ CreateUser.type = '[Identity] Create User'; return CreateUser; }()); + if (false) { + /** @type {?} */ + CreateUser.type; + /** @type {?} */ + CreateUser.prototype.payload; + } var UpdateUser = /** @class */ (function () { function UpdateUser(payload) { this.payload = payload; @@ -117,6 +331,12 @@ UpdateUser.type = '[Identity] Update User'; return UpdateUser; }()); + if (false) { + /** @type {?} */ + UpdateUser.type; + /** @type {?} */ + UpdateUser.prototype.payload; + } var GetUserRoles = /** @class */ (function () { function GetUserRoles(payload) { this.payload = payload; @@ -124,6 +344,12 @@ GetUserRoles.type = '[Identity] Get User Roles'; return GetUserRoles; }()); + if (false) { + /** @type {?} */ + GetUserRoles.type; + /** @type {?} */ + GetUserRoles.prototype.payload; + } /** * @fileoverview added by tsickle @@ -335,6 +561,13 @@ /** @nocollapse */ IdentityService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function IdentityService_Factory() { return new IdentityService(core.ɵɵinject(ng_core.RestService)); }, token: IdentityService, providedIn: "root" }); return IdentityService; }()); + if (false) { + /** + * @type {?} + * @private + */ + IdentityService.prototype.rest; + } /** * @fileoverview added by tsickle @@ -722,6 +955,13 @@ ], IdentityState); return IdentityState; }()); + if (false) { + /** + * @type {?} + * @private + */ + IdentityState.prototype.identityService; + } /** * @fileoverview added by tsickle @@ -737,6 +977,7 @@ sorting: 'name', }; this.loading = false; + this.modalBusy = false; } /** * @param {?} value @@ -818,6 +1059,7 @@ var _this = this; if (!this.form.valid) return; + this.modalBusy = true; this.store .dispatch(this.selected.id ? new UpdateRole(__assign({}, this.form.value, { id: this.selected.id })) @@ -826,6 +1068,7 @@ * @return {?} */ function () { + _this.modalBusy = false; _this.isModalVisible = false; })); }; @@ -888,7 +1131,7 @@ RolesComponent.decorators = [ { type: core.Component, args: [{ selector: 'abp-roles', - template: "
\n
\n
\n
\n
{{ 'AbpIdentity::Roles' | abpLocalization }}
\n
\n
\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::RoleName' | abpLocalization }}\n \n \n \n \n \n
\n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
\n \n \n \n
\n
\n \n {{ data.name }}\n \n
\n \n
\n
\n\n\n \n

{{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewRole') | abpLocalization }}

\n
\n\n \n
\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n
\n
\n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
\n\n\n" + template: "
\n
\n
\n
\n
{{ 'AbpIdentity::Roles' | abpLocalization }}
\n
\n
\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::RoleName' | abpLocalization }}\n \n \n \n \n \n
\n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
\n \n \n \n
\n
\n \n {{ data.name }}\n \n
\n \n
\n
\n\n\n \n

{{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewRole') | abpLocalization }}

\n
\n\n \n
\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n
\n
\n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
\n\n\n" }] } ]; /** @nocollapse */ @@ -910,6 +1153,45 @@ ], RolesComponent.prototype, "totalCount$", void 0); return RolesComponent; }()); + if (false) { + /** @type {?} */ + RolesComponent.prototype.data$; + /** @type {?} */ + RolesComponent.prototype.totalCount$; + /** @type {?} */ + RolesComponent.prototype.form; + /** @type {?} */ + RolesComponent.prototype.selected; + /** @type {?} */ + RolesComponent.prototype.isModalVisible; + /** @type {?} */ + RolesComponent.prototype.visiblePermissions; + /** @type {?} */ + RolesComponent.prototype.providerKey; + /** @type {?} */ + RolesComponent.prototype.pageQuery; + /** @type {?} */ + RolesComponent.prototype.loading; + /** @type {?} */ + RolesComponent.prototype.modalBusy; + /** @type {?} */ + RolesComponent.prototype.modalContent; + /** + * @type {?} + * @private + */ + RolesComponent.prototype.confirmationService; + /** + * @type {?} + * @private + */ + RolesComponent.prototype.fb; + /** + * @type {?} + * @private + */ + RolesComponent.prototype.store; + } /** * @fileoverview added by tsickle @@ -939,6 +1221,13 @@ ]; }; return RoleResolver; }()); + if (false) { + /** + * @type {?} + * @private + */ + RoleResolver.prototype.store; + } /** * @fileoverview added by tsickle @@ -954,6 +1243,7 @@ sorting: 'userName', }; this.loading = false; + this.modalBusy = false; this.trackByFn = (/** * @param {?} index * @param {?} item @@ -1083,6 +1373,7 @@ var _this = this; if (!this.form.valid) return; + this.modalBusy = true; var roleNames = this.form.value.roleNames; /** @type {?} */ var mappedRoleNames = snq((/** @@ -1105,6 +1396,7 @@ * @return {?} */ function () { + _this.modalBusy = false; _this.isModalVisible = false; })); }; @@ -1167,7 +1459,7 @@ UsersComponent.decorators = [ { type: core.Component, args: [{ selector: 'abp-users', - template: "
\n
\n
\n
\n
{{ 'AbpIdentity::Users' | abpLocalization }}
\n
\n
\n \n {{ 'AbpIdentity::NewUser' | abpLocalization }}\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::UserName' | abpLocalization }}\n {{ 'AbpIdentity::EmailAddress' | abpLocalization }}\n {{ 'AbpIdentity::PhoneNumber' | abpLocalization }}\n \n \n \n \n \n
\n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
\n \n \n \n
\n
\n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
\n \n
\n
\n\n\n \n

{{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewUser') | abpLocalization }}

\n
\n\n \n \n
\n \n \n \n
\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n
\n\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n
\n
\n
\n \n \n
\n \n \n \n
\n \n
\n
\n
\n
\n
\n
\n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
\n\n\n" + template: "
\n
\n
\n
\n
{{ 'AbpIdentity::Users' | abpLocalization }}
\n
\n
\n \n {{ 'AbpIdentity::NewUser' | abpLocalization }}\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::UserName' | abpLocalization }}\n {{ 'AbpIdentity::EmailAddress' | abpLocalization }}\n {{ 'AbpIdentity::PhoneNumber' | abpLocalization }}\n \n \n \n \n \n
\n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
\n \n \n \n
\n
\n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
\n \n
\n
\n\n\n \n

{{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewUser') | abpLocalization }}

\n
\n\n \n \n
\n \n \n \n
\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n
\n\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n
\n
\n
\n \n \n
\n \n \n \n
\n \n
\n
\n
\n
\n
\n
\n\n \n \n {{\n 'AbpIdentity::Save' | abpLocalization\n }}\n \n
\n\n\n" }] } ]; /** @nocollapse */ @@ -1189,6 +1481,51 @@ ], UsersComponent.prototype, "totalCount$", void 0); return UsersComponent; }()); + if (false) { + /** @type {?} */ + UsersComponent.prototype.data$; + /** @type {?} */ + UsersComponent.prototype.totalCount$; + /** @type {?} */ + UsersComponent.prototype.modalContent; + /** @type {?} */ + UsersComponent.prototype.form; + /** @type {?} */ + UsersComponent.prototype.selected; + /** @type {?} */ + UsersComponent.prototype.selectedUserRoles; + /** @type {?} */ + UsersComponent.prototype.roles; + /** @type {?} */ + UsersComponent.prototype.visiblePermissions; + /** @type {?} */ + UsersComponent.prototype.providerKey; + /** @type {?} */ + UsersComponent.prototype.pageQuery; + /** @type {?} */ + UsersComponent.prototype.isModalVisible; + /** @type {?} */ + UsersComponent.prototype.loading; + /** @type {?} */ + UsersComponent.prototype.modalBusy; + /** @type {?} */ + UsersComponent.prototype.trackByFn; + /** + * @type {?} + * @private + */ + UsersComponent.prototype.confirmationService; + /** + * @type {?} + * @private + */ + UsersComponent.prototype.fb; + /** + * @type {?} + * @private + */ + UsersComponent.prototype.store; + } /** * @fileoverview added by tsickle @@ -1218,6 +1555,13 @@ ]; }; return UserResolver; }()); + if (false) { + /** + * @type {?} + * @private + */ + UserResolver.prototype.store; + } /** * @fileoverview added by tsickle @@ -1325,31 +1669,95 @@ */ function State() { } Identity.State = State; + if (false) { + /** @type {?} */ + State.prototype.roles; + /** @type {?} */ + State.prototype.users; + /** @type {?} */ + State.prototype.selectedRole; + /** @type {?} */ + State.prototype.selectedUser; + /** @type {?} */ + State.prototype.selectedUserRoles; + } /** * @record */ function RoleSaveRequest() { } Identity.RoleSaveRequest = RoleSaveRequest; + if (false) { + /** @type {?} */ + RoleSaveRequest.prototype.name; + /** @type {?} */ + RoleSaveRequest.prototype.isDefault; + /** @type {?} */ + RoleSaveRequest.prototype.isPublic; + } /** * @record */ function RoleItem() { } Identity.RoleItem = RoleItem; + if (false) { + /** @type {?} */ + RoleItem.prototype.isStatic; + /** @type {?} */ + RoleItem.prototype.concurrencyStamp; + /** @type {?} */ + RoleItem.prototype.id; + } /** * @record */ function UserItem() { } Identity.UserItem = UserItem; + if (false) { + /** @type {?} */ + UserItem.prototype.tenantId; + /** @type {?} */ + UserItem.prototype.emailConfirmed; + /** @type {?} */ + UserItem.prototype.phoneNumberConfirmed; + /** @type {?} */ + UserItem.prototype.isLockedOut; + /** @type {?} */ + UserItem.prototype.concurrencyStamp; + /** @type {?} */ + UserItem.prototype.id; + } /** * @record */ function User() { } Identity.User = User; + if (false) { + /** @type {?} */ + User.prototype.userName; + /** @type {?} */ + User.prototype.name; + /** @type {?} */ + User.prototype.surname; + /** @type {?} */ + User.prototype.email; + /** @type {?} */ + User.prototype.phoneNumber; + /** @type {?} */ + User.prototype.twoFactorEnabled; + /** @type {?} */ + User.prototype.lockoutEnabled; + } /** * @record */ function UserSaveRequest() { } Identity.UserSaveRequest = UserSaveRequest; + if (false) { + /** @type {?} */ + UserSaveRequest.prototype.password; + /** @type {?} */ + UserSaveRequest.prototype.roleNames; + } })(Identity || (Identity = {})); exports.CreateRole = CreateRole; diff --git a/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.js.map b/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.js.map index f24f269b58..95983ac34e 100644 --- a/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.js.map +++ b/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.identity.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.identity/lib/actions/identity.actions.ts","ng://@abp/ng.identity/lib/services/identity.service.ts","ng://@abp/ng.identity/lib/states/identity.state.ts","ng://@abp/ng.identity/lib/components/roles/roles.component.ts","ng://@abp/ng.identity/lib/resolvers/roles.resolver.ts","ng://@abp/ng.identity/lib/components/users/users.component.ts","ng://@abp/ng.identity/lib/resolvers/users.resolver.ts","ng://@abp/ng.identity/lib/identity-routing.module.ts","ng://@abp/ng.identity/lib/identity.module.ts","ng://@abp/ng.identity/lib/constants/routes.ts","ng://@abp/ng.identity/lib/models/identity.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","import { Identity } from '../models/identity';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetRoles {\n static readonly type = '[Identity] Get Roles';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetRoleById {\n static readonly type = '[Identity] Get Role By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteRole {\n static readonly type = '[Identity] Delete Role';\n constructor(public payload: string) {}\n}\n\nexport class CreateRole {\n static readonly type = '[Identity] Create Role';\n constructor(public payload: Identity.RoleSaveRequest) {}\n}\n\nexport class UpdateRole {\n static readonly type = '[Identity] Update Role';\n constructor(public payload: Identity.RoleItem) {}\n}\n\nexport class GetUsers {\n static readonly type = '[Identity] Get Users';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetUserById {\n static readonly type = '[Identity] Get User By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteUser {\n static readonly type = '[Identity] Delete User';\n constructor(public payload: string) {}\n}\n\nexport class CreateUser {\n static readonly type = '[Identity] Create User';\n constructor(public payload: Identity.UserSaveRequest) {}\n}\n\nexport class UpdateUser {\n static readonly type = '[Identity] Update User';\n constructor(public payload: Identity.UserSaveRequest & { id: string }) {}\n}\n\nexport class GetUserRoles {\n static readonly type = '[Identity] Get User Roles';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { Identity } from '../models/identity';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IdentityService {\n constructor(private rest: RestService) {}\n\n getRoles(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/roles',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getRoleById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteRole(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createRole(body: Identity.RoleSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/roles',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateRole(body: Identity.RoleItem): Observable {\n const url = `/api/identity/roles/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getUsers(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/users',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getUserById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n getUserRoles(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}/roles`,\n };\n\n return this.rest.request(request);\n }\n\n deleteUser(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createUser(body: Identity.UserSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/users',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateUser(body: Identity.UserItem): Observable {\n const url = `/api/identity/users/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap, pluck } from 'rxjs/operators';\nimport {\n CreateRole,\n CreateUser,\n DeleteRole,\n DeleteUser,\n GetRoleById,\n GetRoles,\n GetUserById,\n GetUsers,\n UpdateRole,\n UpdateUser,\n GetUserRoles,\n} from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityService } from '../services/identity.service';\n\n@State({\n name: 'IdentityState',\n defaults: { roles: {}, selectedRole: {}, users: {}, selectedUser: {} } as Identity.State,\n})\nexport class IdentityState {\n @Selector()\n static getRoles({ roles }: Identity.State): Identity.RoleItem[] {\n return roles.items;\n }\n\n @Selector()\n static getRolesTotalCount({ roles }: Identity.State): number {\n return roles.totalCount;\n }\n\n @Selector()\n static getUsers({ users }: Identity.State): Identity.UserItem[] {\n return users.items;\n }\n\n @Selector()\n static getUsersTotalCount({ users }: Identity.State): number {\n return users.totalCount;\n }\n\n constructor(private identityService: IdentityService) {}\n\n @Action(GetRoles)\n getRoles({ patchState }: StateContext, { payload }: GetRoles) {\n return this.identityService.getRoles(payload).pipe(\n tap(roles =>\n patchState({\n roles,\n }),\n ),\n );\n }\n\n @Action(GetRoleById)\n getRole({ patchState }: StateContext, { payload }: GetRoleById) {\n return this.identityService.getRoleById(payload).pipe(\n tap(selectedRole =>\n patchState({\n selectedRole,\n }),\n ),\n );\n }\n\n @Action(DeleteRole)\n deleteRole({ dispatch }: StateContext, { payload }: GetRoleById) {\n return this.identityService.deleteRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(CreateRole)\n addRole({ dispatch }: StateContext, { payload }: CreateRole) {\n return this.identityService.createRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(UpdateRole)\n updateRole({ getState, dispatch }: StateContext, { payload }: UpdateRole) {\n return dispatch(new GetRoleById(payload.id)).pipe(\n switchMap(() => this.identityService.updateRole({ ...getState().selectedRole, ...payload })),\n switchMap(() => dispatch(new GetRoles())),\n );\n }\n\n @Action(GetUsers)\n getUsers({ patchState }: StateContext, { payload }: GetUsers) {\n return this.identityService.getUsers(payload).pipe(\n tap(users =>\n patchState({\n users,\n }),\n ),\n );\n }\n\n @Action(GetUserById)\n getUser({ patchState }: StateContext, { payload }: GetUserById) {\n return this.identityService.getUserById(payload).pipe(\n tap(selectedUser =>\n patchState({\n selectedUser,\n }),\n ),\n );\n }\n\n @Action(DeleteUser)\n deleteUser({ dispatch }: StateContext, { payload }: GetUserById) {\n return this.identityService.deleteUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(CreateUser)\n addUser({ dispatch }: StateContext, { payload }: CreateUser) {\n return this.identityService.createUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(UpdateUser)\n updateUser({ getState, dispatch }: StateContext, { payload }: UpdateUser) {\n return dispatch(new GetUserById(payload.id)).pipe(\n switchMap(() => this.identityService.updateUser({ ...getState().selectedUser, ...payload })),\n switchMap(() => dispatch(new GetUsers())),\n );\n }\n\n @Action(GetUserRoles)\n getUserRoles({ patchState }: StateContext, { payload }: GetUserRoles) {\n return this.identityService.getUserRoles(payload).pipe(\n pluck('items'),\n tap(selectedUserRoles =>\n patchState({\n selectedUserRoles,\n }),\n ),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck } from 'rxjs/operators';\nimport { CreateRole, DeleteRole, GetRoleById, GetRoles, UpdateRole } from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n\n@Component({\n selector: 'abp-roles',\n templateUrl: './roles.component.html',\n})\nexport class RolesComponent {\n @Select(IdentityState.getRoles)\n data$: Observable;\n\n @Select(IdentityState.getRolesTotalCount)\n totalCount$: Observable;\n\n form: FormGroup;\n\n selected: Identity.RoleItem;\n\n isModalVisible: boolean;\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n createForm() {\n this.form = this.fb.group({\n name: new FormControl({ value: this.selected.name || '', disabled: this.selected.isStatic }, [\n Validators.required,\n Validators.maxLength(256),\n ]),\n isDefault: [this.selected.isDefault || false],\n isPublic: [this.selected.isPublic || false],\n });\n }\n\n openModal() {\n this.createForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.RoleItem;\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetRoleById(id))\n .pipe(pluck('IdentityState', 'selectedRole'))\n .subscribe(selectedRole => {\n this.selected = selectedRole;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateRole({ ...this.form.value, id: this.selected.id })\n : new CreateRole(this.form.value),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpIdentity::RoleDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteRole(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetRoles(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetRoles } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class RoleResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const roles = this.store.selectSnapshot(IdentityState.getRoles);\n return roles && roles.length ? null : this.store.dispatch(new GetRoles());\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, TrackByFunction, ViewChild } from '@angular/core';\nimport { AbstractControl, FormArray, FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport {\n CreateUser,\n DeleteUser,\n GetUserById,\n GetUserRoles,\n GetUsers,\n UpdateUser,\n} from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n@Component({\n selector: 'abp-users',\n templateUrl: './users.component.html',\n})\nexport class UsersComponent {\n @Select(IdentityState.getUsers)\n data$: Observable;\n\n @Select(IdentityState.getUsersTotalCount)\n totalCount$: Observable;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n selected: Identity.UserItem;\n\n selectedUserRoles: Identity.RoleItem[];\n\n roles: Identity.RoleItem[];\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'userName',\n };\n\n isModalVisible: boolean;\n\n loading: boolean = false;\n\n trackByFn: TrackByFunction = (index, item) => Object.keys(item)[0] || index;\n\n get roleGroups(): FormGroup[] {\n return snq(() => (this.form.get('roleNames') as FormArray).controls as FormGroup[], []);\n }\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n buildForm() {\n this.roles = this.store.selectSnapshot(IdentityState.getRoles);\n this.form = this.fb.group({\n userName: [this.selected.userName || '', [Validators.required, Validators.maxLength(256)]],\n email: [this.selected.email || '', [Validators.required, Validators.email, Validators.maxLength(256)]],\n name: [this.selected.name || '', [Validators.maxLength(64)]],\n surname: [this.selected.surname || '', [Validators.maxLength(64)]],\n phoneNumber: [this.selected.phoneNumber || '', [Validators.maxLength(16)]],\n lockoutEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n twoFactorEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n roleNames: this.fb.array(\n this.roles.map(role =>\n this.fb.group({\n [role.name]: [!!snq(() => this.selectedUserRoles.find(userRole => userRole.id === role.id))],\n }),\n ),\n ),\n });\n if (!this.selected.userName) {\n this.form.addControl('password', new FormControl('', [Validators.required, Validators.maxLength(32)]));\n }\n }\n\n openModal() {\n this.buildForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.UserItem;\n this.selectedUserRoles = [] as Identity.RoleItem[];\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetUserById(id))\n .pipe(\n switchMap(() => this.store.dispatch(new GetUserRoles(id))),\n pluck('IdentityState'),\n take(1),\n )\n .subscribe((state: Identity.State) => {\n this.selected = state.selectedUser;\n this.selectedUserRoles = state.selectedUserRoles;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n\n const { roleNames } = this.form.value;\n const mappedRoleNames = snq(\n () => roleNames.filter(role => !!role[Object.keys(role)[0]]).map(role => Object.keys(role)[0]),\n [],\n );\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateUser({\n ...this.form.value,\n id: this.selected.id,\n roleNames: mappedRoleNames,\n })\n : new CreateUser({\n ...this.form.value,\n roleNames: mappedRoleNames,\n }),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, userName: string) {\n this.confirmationService\n .warn('AbpIdentity::UserDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [userName],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteUser(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetUsers(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetUsers } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class UserResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const users = this.store.selectSnapshot(IdentityState.getUsers);\n return users && users.length ? null : this.store.dispatch(new GetUsers());\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { RoleResolver } from './resolvers/roles.resolver';\nimport { DynamicLayoutComponent, AuthGuard, PermissionGuard } from '@abp/ng.core';\nimport { UsersComponent } from './components/users/users.component';\nimport { UserResolver } from './resolvers/users.resolver';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'roles', pathMatch: 'full' },\n {\n path: 'roles',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Roles' },\n children: [{ path: '', component: RolesComponent, resolve: [RoleResolver] }],\n },\n {\n path: 'users',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Users' },\n children: [\n {\n path: '',\n component: UsersComponent,\n resolve: [RoleResolver, UserResolver],\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [RoleResolver, UserResolver],\n})\nexport class IdentityRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { IdentityRoutingModule } from './identity-routing.module';\nimport { IdentityState } from './states/identity.state';\nimport { NgbTabsetModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { UsersComponent } from './components/users/users.component';\nimport { PermissionManagementModule } from '@abp/ng.permission-management';\nimport { TableModule } from 'primeng/table';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [RolesComponent, UsersComponent],\n imports: [\n NgxsModule.forFeature([IdentityState]),\n CoreModule,\n IdentityRoutingModule,\n NgbTabsetModule,\n ThemeSharedModule,\n TableModule,\n NgbDropdownModule,\n PermissionManagementModule,\n NgxValidateCoreModule,\n PerfectScrollbarModule,\n ],\n})\nexport class IdentityModule {}\n","import { eLayoutType, ABP } from '@abp/ng.core';\n\nexport const IDENTITY_ROUTES = [\n {\n name: 'AbpUiNavigation::Menu:Administration',\n path: '',\n order: 1,\n wrapper: true,\n },\n {\n name: 'AbpIdentity::Menu:IdentityManagement',\n path: 'identity',\n order: 1,\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-id-card-o',\n children: [\n { path: 'roles', name: 'AbpIdentity::Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' },\n { path: 'users', name: 'AbpIdentity::Users', order: 1, requiredPolicy: 'AbpIdentity.Users' },\n ],\n },\n] as ABP.FullRoute[];\n","import { ABP } from '@abp/ng.core';\n\nexport namespace Identity {\n export interface State {\n roles: RoleResponse;\n users: UserResponse;\n selectedRole: RoleItem;\n selectedUser: UserItem;\n selectedUserRoles: RoleItem[];\n }\n\n export type RoleResponse = ABP.PagedResponse;\n\n export interface RoleSaveRequest {\n name: string;\n isDefault: boolean;\n isPublic: boolean;\n }\n\n export interface RoleItem extends RoleSaveRequest {\n isStatic: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export type UserResponse = ABP.PagedResponse;\n\n export interface UserItem extends User {\n tenantId: string;\n emailConfirmed: boolean;\n phoneNumberConfirmed: boolean;\n isLockedOut: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export interface User {\n userName: string;\n name: string;\n surname: string;\n email: string;\n phoneNumber: string;\n twoFactorEnabled: true;\n lockoutEnabled: true;\n }\n\n export interface UserSaveRequest extends User {\n password: string;\n roleNames: string[];\n }\n}\n"],"names":["Injectable","RestService","tap","switchMap","pluck","tslib_1.__decorate","Action","Selector","State","FormControl","Validators","finalize","Component","ConfirmationService","FormBuilder","Store","ViewChild","Select","Observable","take","DynamicLayoutComponent","AuthGuard","PermissionGuard","NgModule","RouterModule","NgxsModule","CoreModule","NgbTabsetModule","ThemeSharedModule","TableModule","NgbDropdownModule","PermissionManagementModule","NgxValidateCoreModule","PerfectScrollbarModule"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.identity.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.identity/lib/actions/identity.actions.ts","ng://@abp/ng.identity/lib/services/identity.service.ts","ng://@abp/ng.identity/lib/states/identity.state.ts","ng://@abp/ng.identity/lib/components/roles/roles.component.ts","ng://@abp/ng.identity/lib/resolvers/roles.resolver.ts","ng://@abp/ng.identity/lib/components/users/users.component.ts","ng://@abp/ng.identity/lib/resolvers/users.resolver.ts","ng://@abp/ng.identity/lib/identity-routing.module.ts","ng://@abp/ng.identity/lib/identity.module.ts","ng://@abp/ng.identity/lib/constants/routes.ts","ng://@abp/ng.identity/lib/models/identity.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","import { Identity } from '../models/identity';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetRoles {\n static readonly type = '[Identity] Get Roles';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetRoleById {\n static readonly type = '[Identity] Get Role By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteRole {\n static readonly type = '[Identity] Delete Role';\n constructor(public payload: string) {}\n}\n\nexport class CreateRole {\n static readonly type = '[Identity] Create Role';\n constructor(public payload: Identity.RoleSaveRequest) {}\n}\n\nexport class UpdateRole {\n static readonly type = '[Identity] Update Role';\n constructor(public payload: Identity.RoleItem) {}\n}\n\nexport class GetUsers {\n static readonly type = '[Identity] Get Users';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetUserById {\n static readonly type = '[Identity] Get User By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteUser {\n static readonly type = '[Identity] Delete User';\n constructor(public payload: string) {}\n}\n\nexport class CreateUser {\n static readonly type = '[Identity] Create User';\n constructor(public payload: Identity.UserSaveRequest) {}\n}\n\nexport class UpdateUser {\n static readonly type = '[Identity] Update User';\n constructor(public payload: Identity.UserSaveRequest & { id: string }) {}\n}\n\nexport class GetUserRoles {\n static readonly type = '[Identity] Get User Roles';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { Identity } from '../models/identity';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IdentityService {\n constructor(private rest: RestService) {}\n\n getRoles(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/roles',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getRoleById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteRole(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createRole(body: Identity.RoleSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/roles',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateRole(body: Identity.RoleItem): Observable {\n const url = `/api/identity/roles/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getUsers(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/users',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getUserById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n getUserRoles(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}/roles`,\n };\n\n return this.rest.request(request);\n }\n\n deleteUser(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createUser(body: Identity.UserSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/users',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateUser(body: Identity.UserItem): Observable {\n const url = `/api/identity/users/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap, pluck } from 'rxjs/operators';\nimport {\n CreateRole,\n CreateUser,\n DeleteRole,\n DeleteUser,\n GetRoleById,\n GetRoles,\n GetUserById,\n GetUsers,\n UpdateRole,\n UpdateUser,\n GetUserRoles,\n} from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityService } from '../services/identity.service';\n\n@State({\n name: 'IdentityState',\n defaults: { roles: {}, selectedRole: {}, users: {}, selectedUser: {} } as Identity.State,\n})\nexport class IdentityState {\n @Selector()\n static getRoles({ roles }: Identity.State): Identity.RoleItem[] {\n return roles.items;\n }\n\n @Selector()\n static getRolesTotalCount({ roles }: Identity.State): number {\n return roles.totalCount;\n }\n\n @Selector()\n static getUsers({ users }: Identity.State): Identity.UserItem[] {\n return users.items;\n }\n\n @Selector()\n static getUsersTotalCount({ users }: Identity.State): number {\n return users.totalCount;\n }\n\n constructor(private identityService: IdentityService) {}\n\n @Action(GetRoles)\n getRoles({ patchState }: StateContext, { payload }: GetRoles) {\n return this.identityService.getRoles(payload).pipe(\n tap(roles =>\n patchState({\n roles,\n }),\n ),\n );\n }\n\n @Action(GetRoleById)\n getRole({ patchState }: StateContext, { payload }: GetRoleById) {\n return this.identityService.getRoleById(payload).pipe(\n tap(selectedRole =>\n patchState({\n selectedRole,\n }),\n ),\n );\n }\n\n @Action(DeleteRole)\n deleteRole({ dispatch }: StateContext, { payload }: GetRoleById) {\n return this.identityService.deleteRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(CreateRole)\n addRole({ dispatch }: StateContext, { payload }: CreateRole) {\n return this.identityService.createRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(UpdateRole)\n updateRole({ getState, dispatch }: StateContext, { payload }: UpdateRole) {\n return dispatch(new GetRoleById(payload.id)).pipe(\n switchMap(() => this.identityService.updateRole({ ...getState().selectedRole, ...payload })),\n switchMap(() => dispatch(new GetRoles())),\n );\n }\n\n @Action(GetUsers)\n getUsers({ patchState }: StateContext, { payload }: GetUsers) {\n return this.identityService.getUsers(payload).pipe(\n tap(users =>\n patchState({\n users,\n }),\n ),\n );\n }\n\n @Action(GetUserById)\n getUser({ patchState }: StateContext, { payload }: GetUserById) {\n return this.identityService.getUserById(payload).pipe(\n tap(selectedUser =>\n patchState({\n selectedUser,\n }),\n ),\n );\n }\n\n @Action(DeleteUser)\n deleteUser({ dispatch }: StateContext, { payload }: GetUserById) {\n return this.identityService.deleteUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(CreateUser)\n addUser({ dispatch }: StateContext, { payload }: CreateUser) {\n return this.identityService.createUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(UpdateUser)\n updateUser({ getState, dispatch }: StateContext, { payload }: UpdateUser) {\n return dispatch(new GetUserById(payload.id)).pipe(\n switchMap(() => this.identityService.updateUser({ ...getState().selectedUser, ...payload })),\n switchMap(() => dispatch(new GetUsers())),\n );\n }\n\n @Action(GetUserRoles)\n getUserRoles({ patchState }: StateContext, { payload }: GetUserRoles) {\n return this.identityService.getUserRoles(payload).pipe(\n pluck('items'),\n tap(selectedUserRoles =>\n patchState({\n selectedUserRoles,\n }),\n ),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck } from 'rxjs/operators';\nimport { CreateRole, DeleteRole, GetRoleById, GetRoles, UpdateRole } from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n\n@Component({\n selector: 'abp-roles',\n templateUrl: './roles.component.html',\n})\nexport class RolesComponent {\n @Select(IdentityState.getRoles)\n data$: Observable;\n\n @Select(IdentityState.getRolesTotalCount)\n totalCount$: Observable;\n\n form: FormGroup;\n\n selected: Identity.RoleItem;\n\n isModalVisible: boolean;\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n createForm() {\n this.form = this.fb.group({\n name: new FormControl({ value: this.selected.name || '', disabled: this.selected.isStatic }, [\n Validators.required,\n Validators.maxLength(256),\n ]),\n isDefault: [this.selected.isDefault || false],\n isPublic: [this.selected.isPublic || false],\n });\n }\n\n openModal() {\n this.createForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.RoleItem;\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetRoleById(id))\n .pipe(pluck('IdentityState', 'selectedRole'))\n .subscribe(selectedRole => {\n this.selected = selectedRole;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateRole({ ...this.form.value, id: this.selected.id })\n : new CreateRole(this.form.value),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpIdentity::RoleDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteRole(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetRoles(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetRoles } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class RoleResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const roles = this.store.selectSnapshot(IdentityState.getRoles);\n return roles && roles.length ? null : this.store.dispatch(new GetRoles());\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, TrackByFunction, ViewChild } from '@angular/core';\nimport { AbstractControl, FormArray, FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport {\n CreateUser,\n DeleteUser,\n GetUserById,\n GetUserRoles,\n GetUsers,\n UpdateUser,\n} from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n@Component({\n selector: 'abp-users',\n templateUrl: './users.component.html',\n})\nexport class UsersComponent {\n @Select(IdentityState.getUsers)\n data$: Observable;\n\n @Select(IdentityState.getUsersTotalCount)\n totalCount$: Observable;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n selected: Identity.UserItem;\n\n selectedUserRoles: Identity.RoleItem[];\n\n roles: Identity.RoleItem[];\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'userName',\n };\n\n isModalVisible: boolean;\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n trackByFn: TrackByFunction = (index, item) => Object.keys(item)[0] || index;\n\n get roleGroups(): FormGroup[] {\n return snq(() => (this.form.get('roleNames') as FormArray).controls as FormGroup[], []);\n }\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n buildForm() {\n this.roles = this.store.selectSnapshot(IdentityState.getRoles);\n this.form = this.fb.group({\n userName: [this.selected.userName || '', [Validators.required, Validators.maxLength(256)]],\n email: [this.selected.email || '', [Validators.required, Validators.email, Validators.maxLength(256)]],\n name: [this.selected.name || '', [Validators.maxLength(64)]],\n surname: [this.selected.surname || '', [Validators.maxLength(64)]],\n phoneNumber: [this.selected.phoneNumber || '', [Validators.maxLength(16)]],\n lockoutEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n twoFactorEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n roleNames: this.fb.array(\n this.roles.map(role =>\n this.fb.group({\n [role.name]: [!!snq(() => this.selectedUserRoles.find(userRole => userRole.id === role.id))],\n }),\n ),\n ),\n });\n if (!this.selected.userName) {\n this.form.addControl('password', new FormControl('', [Validators.required, Validators.maxLength(32)]));\n }\n }\n\n openModal() {\n this.buildForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.UserItem;\n this.selectedUserRoles = [] as Identity.RoleItem[];\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetUserById(id))\n .pipe(\n switchMap(() => this.store.dispatch(new GetUserRoles(id))),\n pluck('IdentityState'),\n take(1),\n )\n .subscribe((state: Identity.State) => {\n this.selected = state.selectedUser;\n this.selectedUserRoles = state.selectedUserRoles;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n this.modalBusy = true;\n\n const { roleNames } = this.form.value;\n const mappedRoleNames = snq(\n () => roleNames.filter(role => !!role[Object.keys(role)[0]]).map(role => Object.keys(role)[0]),\n [],\n );\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateUser({\n ...this.form.value,\n id: this.selected.id,\n roleNames: mappedRoleNames,\n })\n : new CreateUser({\n ...this.form.value,\n roleNames: mappedRoleNames,\n }),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, userName: string) {\n this.confirmationService\n .warn('AbpIdentity::UserDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [userName],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteUser(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetUsers(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetUsers } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class UserResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const users = this.store.selectSnapshot(IdentityState.getUsers);\n return users && users.length ? null : this.store.dispatch(new GetUsers());\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { RoleResolver } from './resolvers/roles.resolver';\nimport { DynamicLayoutComponent, AuthGuard, PermissionGuard } from '@abp/ng.core';\nimport { UsersComponent } from './components/users/users.component';\nimport { UserResolver } from './resolvers/users.resolver';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'roles', pathMatch: 'full' },\n {\n path: 'roles',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Roles' },\n children: [{ path: '', component: RolesComponent, resolve: [RoleResolver] }],\n },\n {\n path: 'users',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Users' },\n children: [\n {\n path: '',\n component: UsersComponent,\n resolve: [RoleResolver, UserResolver],\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [RoleResolver, UserResolver],\n})\nexport class IdentityRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { IdentityRoutingModule } from './identity-routing.module';\nimport { IdentityState } from './states/identity.state';\nimport { NgbTabsetModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { UsersComponent } from './components/users/users.component';\nimport { PermissionManagementModule } from '@abp/ng.permission-management';\nimport { TableModule } from 'primeng/table';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [RolesComponent, UsersComponent],\n imports: [\n NgxsModule.forFeature([IdentityState]),\n CoreModule,\n IdentityRoutingModule,\n NgbTabsetModule,\n ThemeSharedModule,\n TableModule,\n NgbDropdownModule,\n PermissionManagementModule,\n NgxValidateCoreModule,\n PerfectScrollbarModule,\n ],\n})\nexport class IdentityModule {}\n","import { eLayoutType, ABP } from '@abp/ng.core';\n\nexport const IDENTITY_ROUTES = [\n {\n name: 'AbpUiNavigation::Menu:Administration',\n path: '',\n order: 1,\n wrapper: true,\n },\n {\n name: 'AbpIdentity::Menu:IdentityManagement',\n path: 'identity',\n order: 1,\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-id-card-o',\n children: [\n { path: 'roles', name: 'AbpIdentity::Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' },\n { path: 'users', name: 'AbpIdentity::Users', order: 1, requiredPolicy: 'AbpIdentity.Users' },\n ],\n },\n] as ABP.FullRoute[];\n","import { ABP } from '@abp/ng.core';\n\nexport namespace Identity {\n export interface State {\n roles: RoleResponse;\n users: UserResponse;\n selectedRole: RoleItem;\n selectedUser: UserItem;\n selectedUserRoles: RoleItem[];\n }\n\n export type RoleResponse = ABP.PagedResponse;\n\n export interface RoleSaveRequest {\n name: string;\n isDefault: boolean;\n isPublic: boolean;\n }\n\n export interface RoleItem extends RoleSaveRequest {\n isStatic: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export type UserResponse = ABP.PagedResponse;\n\n export interface UserItem extends User {\n tenantId: string;\n emailConfirmed: boolean;\n phoneNumberConfirmed: boolean;\n isLockedOut: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export interface User {\n userName: string;\n name: string;\n surname: string;\n email: string;\n phoneNumber: string;\n twoFactorEnabled: true;\n lockoutEnabled: true;\n }\n\n export interface UserSaveRequest extends User {\n password: string;\n roleNames: string[];\n }\n}\n"],"names":["Injectable","RestService","tap","switchMap","pluck","tslib_1.__decorate","Action","Selector","State","FormControl","Validators","finalize","Component","ConfirmationService","FormBuilder","Store","ViewChild","Select","Observable","take","DynamicLayoutComponent","AuthGuard","PermissionGuard","NgModule","RouterModule","NgxsModule","CoreModule","NgbTabsetModule","ThemeSharedModule","TableModule","NgbDropdownModule","PermissionManagementModule","NgxValidateCoreModule","PerfectScrollbarModule"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.min.js b/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.min.js index 8c41f4231f..41cb0524b4 100644 --- a/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.min.js +++ b/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.min.js @@ -1,2 +1,2 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@abp/ng.core"),require("@angular/core"),require("@ngxs/store"),require("@abp/ng.theme.shared"),require("@angular/forms"),require("rxjs"),require("rxjs/operators"),require("@angular/router"),require("snq"),require("@ng-bootstrap/ng-bootstrap"),require("@abp/ng.permission-management"),require("primeng/table"),require("@ngx-validate/core"),require("ngx-perfect-scrollbar")):"function"==typeof define&&define.amd?define("@abp/ng.identity",["exports","@abp/ng.core","@angular/core","@ngxs/store","@abp/ng.theme.shared","@angular/forms","rxjs","rxjs/operators","@angular/router","snq","@ng-bootstrap/ng-bootstrap","@abp/ng.permission-management","primeng/table","@ngx-validate/core","ngx-perfect-scrollbar"],t):t(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng.identity={}),e.ng_core,e.ng.core,e.store,e.ng_theme_shared,e.ng.forms,e.rxjs,e.rxjs.operators,e.ng.router,e.snq,e.ngBootstrap,e.ng_permissionManagement,e.table,e.core$1,e.ngxPerfectScrollbar)}(this,function(e,t,n,o,r,i,a,s,l,p,d,c,u,b,y){"use strict";p=p&&p.hasOwnProperty("default")?p.default:p;var m=function(){return(m=Object.assign||function(e){for(var t,n=1,o=arguments.length;n=0;s--)(r=e[s])&&(a=(i<3?r(a):i>3?r(t,n,a):r(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}function h(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}var g,v=function(){function e(e){this.payload=e}return e.type="[Identity] Get Roles",e}(),I=function(){function e(e){this.payload=e}return e.type="[Identity] Get Role By Id",e}(),R=function(){function e(e){this.payload=e}return e.type="[Identity] Delete Role",e}(),w=function(){function e(e){this.payload=e}return e.type="[Identity] Create Role",e}(),A=function(){function e(e){this.payload=e}return e.type="[Identity] Update Role",e}(),U=function(){function e(e){this.payload=e}return e.type="[Identity] Get Users",e}(),S=function(){function e(e){this.payload=e}return e.type="[Identity] Get User By Id",e}(),C=function(){function e(e){this.payload=e}return e.type="[Identity] Delete User",e}(),L=function(){function e(e){this.payload=e}return e.type="[Identity] Create User",e}(),N=function(){function e(e){this.payload=e}return e.type="[Identity] Update User",e}(),x=function(){function e(e){this.payload=e}return e.type="[Identity] Get User Roles",e}(),P=function(){function e(e){this.rest=e}return e.prototype.getRoles=function(e){void 0===e&&(e={});var t={method:"GET",url:"/api/identity/roles",params:e};return this.rest.request(t)},e.prototype.getRoleById=function(e){var t={method:"GET",url:"/api/identity/roles/"+e};return this.rest.request(t)},e.prototype.deleteRole=function(e){var t={method:"DELETE",url:"/api/identity/roles/"+e};return this.rest.request(t)},e.prototype.createRole=function(e){var t={method:"POST",url:"/api/identity/roles",body:e};return this.rest.request(t)},e.prototype.updateRole=function(e){var t="/api/identity/roles/"+e.id;delete e.id;var n={method:"PUT",url:t,body:e};return this.rest.request(n)},e.prototype.getUsers=function(e){void 0===e&&(e={});var t={method:"GET",url:"/api/identity/users",params:e};return this.rest.request(t)},e.prototype.getUserById=function(e){var t={method:"GET",url:"/api/identity/users/"+e};return this.rest.request(t)},e.prototype.getUserRoles=function(e){var t={method:"GET",url:"/api/identity/users/"+e+"/roles"};return this.rest.request(t)},e.prototype.deleteUser=function(e){var t={method:"DELETE",url:"/api/identity/users/"+e};return this.rest.request(t)},e.prototype.createUser=function(e){var t={method:"POST",url:"/api/identity/users",body:e};return this.rest.request(t)},e.prototype.updateUser=function(e){var t="/api/identity/users/"+e.id;delete e.id;var n={method:"PUT",url:t,body:e};return this.rest.request(n)},e.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:t.RestService}]},e.ngInjectableDef=n.ɵɵdefineInjectable({factory:function(){return new e(n.ɵɵinject(t.RestService))},token:e,providedIn:"root"}),e}(),z=function(){function e(e){this.identityService=e}return e.getRoles=function(e){return e.roles.items},e.getRolesTotalCount=function(e){return e.roles.totalCount},e.getUsers=function(e){return e.users.items},e.getUsersTotalCount=function(e){return e.users.totalCount},e.prototype.getRoles=function(e,t){var n=e.patchState,o=t.payload;return this.identityService.getRoles(o).pipe(s.tap(function(e){return n({roles:e})}))},e.prototype.getRole=function(e,t){var n=e.patchState,o=t.payload;return this.identityService.getRoleById(o).pipe(s.tap(function(e){return n({selectedRole:e})}))},e.prototype.deleteRole=function(e,t){var n=e.dispatch,o=t.payload;return this.identityService.deleteRole(o).pipe(s.switchMap(function(){return n(new v)}))},e.prototype.addRole=function(e,t){var n=e.dispatch,o=t.payload;return this.identityService.createRole(o).pipe(s.switchMap(function(){return n(new v)}))},e.prototype.updateRole=function(e,t){var n=this,o=e.getState,r=e.dispatch,i=t.payload;return r(new I(i.id)).pipe(s.switchMap(function(){return n.identityService.updateRole(m({},o().selectedRole,i))}),s.switchMap(function(){return r(new v)}))},e.prototype.getUsers=function(e,t){var n=e.patchState,o=t.payload;return this.identityService.getUsers(o).pipe(s.tap(function(e){return n({users:e})}))},e.prototype.getUser=function(e,t){var n=e.patchState,o=t.payload;return this.identityService.getUserById(o).pipe(s.tap(function(e){return n({selectedUser:e})}))},e.prototype.deleteUser=function(e,t){var n=e.dispatch,o=t.payload;return this.identityService.deleteUser(o).pipe(s.switchMap(function(){return n(new U)}))},e.prototype.addUser=function(e,t){var n=e.dispatch,o=t.payload;return this.identityService.createUser(o).pipe(s.switchMap(function(){return n(new U)}))},e.prototype.updateUser=function(e,t){var n=this,o=e.getState,r=e.dispatch,i=t.payload;return r(new S(i.id)).pipe(s.switchMap(function(){return n.identityService.updateUser(m({},o().selectedUser,i))}),s.switchMap(function(){return r(new U)}))},e.prototype.getUserRoles=function(e,t){var n=e.patchState,o=t.payload;return this.identityService.getUserRoles(o).pipe(s.pluck("items"),s.tap(function(e){return n({selectedUserRoles:e})}))},f([o.Action(v),h("design:type",Function),h("design:paramtypes",[Object,v]),h("design:returntype",void 0)],e.prototype,"getRoles",null),f([o.Action(I),h("design:type",Function),h("design:paramtypes",[Object,I]),h("design:returntype",void 0)],e.prototype,"getRole",null),f([o.Action(R),h("design:type",Function),h("design:paramtypes",[Object,I]),h("design:returntype",void 0)],e.prototype,"deleteRole",null),f([o.Action(w),h("design:type",Function),h("design:paramtypes",[Object,w]),h("design:returntype",void 0)],e.prototype,"addRole",null),f([o.Action(A),h("design:type",Function),h("design:paramtypes",[Object,A]),h("design:returntype",void 0)],e.prototype,"updateRole",null),f([o.Action(U),h("design:type",Function),h("design:paramtypes",[Object,U]),h("design:returntype",void 0)],e.prototype,"getUsers",null),f([o.Action(S),h("design:type",Function),h("design:paramtypes",[Object,S]),h("design:returntype",void 0)],e.prototype,"getUser",null),f([o.Action(C),h("design:type",Function),h("design:paramtypes",[Object,S]),h("design:returntype",void 0)],e.prototype,"deleteUser",null),f([o.Action(L),h("design:type",Function),h("design:paramtypes",[Object,L]),h("design:returntype",void 0)],e.prototype,"addUser",null),f([o.Action(N),h("design:type",Function),h("design:paramtypes",[Object,N]),h("design:returntype",void 0)],e.prototype,"updateUser",null),f([o.Action(x),h("design:type",Function),h("design:paramtypes",[Object,x]),h("design:returntype",void 0)],e.prototype,"getUserRoles",null),f([o.Selector(),h("design:type",Function),h("design:paramtypes",[Object]),h("design:returntype",Array)],e,"getRoles",null),f([o.Selector(),h("design:type",Function),h("design:paramtypes",[Object]),h("design:returntype",Number)],e,"getRolesTotalCount",null),f([o.Selector(),h("design:type",Function),h("design:paramtypes",[Object]),h("design:returntype",Array)],e,"getUsers",null),f([o.Selector(),h("design:type",Function),h("design:paramtypes",[Object]),h("design:returntype",Number)],e,"getUsersTotalCount",null),e=f([o.State({name:"IdentityState",defaults:{roles:{},selectedRole:{},users:{},selectedUser:{}}}),h("design:paramtypes",[P])],e)}(),M=function(){function e(e,t,n){this.confirmationService=e,this.fb=t,this.store=n,this.visiblePermissions=!1,this.pageQuery={sorting:"name"},this.loading=!1}return e.prototype.onSearch=function(e){this.pageQuery.filter=e,this.get()},e.prototype.createForm=function(){this.form=this.fb.group({name:new i.FormControl({value:this.selected.name||"",disabled:this.selected.isStatic},[i.Validators.required,i.Validators.maxLength(256)]),isDefault:[this.selected.isDefault||!1],isPublic:[this.selected.isPublic||!1]})},e.prototype.openModal=function(){this.createForm(),this.isModalVisible=!0},e.prototype.onAdd=function(){this.selected={},this.openModal()},e.prototype.onEdit=function(e){var t=this;this.store.dispatch(new I(e)).pipe(s.pluck("IdentityState","selectedRole")).subscribe(function(e){t.selected=e,t.openModal()})},e.prototype.save=function(){var e=this;this.form.valid&&this.store.dispatch(this.selected.id?new A(m({},this.form.value,{id:this.selected.id})):new w(this.form.value)).subscribe(function(){e.isModalVisible=!1})},e.prototype.delete=function(e,t){var n=this;this.confirmationService.warn("AbpIdentity::RoleDeletionConfirmationMessage","AbpIdentity::AreYouSure",{messageLocalizationParams:[t]}).subscribe(function(t){"confirm"===t&&n.store.dispatch(new R(e))})},e.prototype.onPageChange=function(e){this.pageQuery.skipCount=e.first,this.pageQuery.maxResultCount=e.rows,this.get()},e.prototype.get=function(){var e=this;this.loading=!0,this.store.dispatch(new v(this.pageQuery)).pipe(s.finalize(function(){return e.loading=!1})).subscribe()},e.decorators=[{type:n.Component,args:[{selector:"abp-roles",template:'
\n
\n
\n
\n
{{ \'AbpIdentity::Roles\' | abpLocalization }}
\n
\n
\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n {{ \'AbpIdentity::Actions\' | abpLocalization }}\n {{ \'AbpIdentity::RoleName\' | abpLocalization }}\n \n \n \n \n \n
\n \n {{ \'AbpIdentity::Actions\' | abpLocalization }}\n \n
\n \n \n \n
\n
\n \n {{ data.name }}\n \n
\n \n
\n
\n\n\n \n

{{ (selected?.id ? \'AbpIdentity::Edit\' : \'AbpIdentity::NewRole\') | abpLocalization }}

\n
\n\n \n
\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n
\n
\n\n \n \n {{ \'AbpIdentity::Save\' | abpLocalization }}\n \n
\n\n\n'}]}],e.ctorParameters=function(){return[{type:r.ConfirmationService},{type:i.FormBuilder},{type:o.Store}]},e.propDecorators={modalContent:[{type:n.ViewChild,args:["modalContent",{static:!1}]}]},f([o.Select(z.getRoles),h("design:type",a.Observable)],e.prototype,"data$",void 0),f([o.Select(z.getRolesTotalCount),h("design:type",a.Observable)],e.prototype,"totalCount$",void 0),e}(),k=function(){function e(e){this.store=e}return e.prototype.resolve=function(){var e=this.store.selectSnapshot(z.getRoles);return e&&e.length?null:this.store.dispatch(new v)},e.decorators=[{type:n.Injectable}],e.ctorParameters=function(){return[{type:o.Store}]},e}(),q=function(){function e(e,t,n){this.confirmationService=e,this.fb=t,this.store=n,this.visiblePermissions=!1,this.pageQuery={sorting:"userName"},this.loading=!1,this.trackByFn=function(e,t){return Object.keys(t)[0]||e}}return Object.defineProperty(e.prototype,"roleGroups",{get:function(){var e=this;return p(function(){return e.form.get("roleNames").controls},[])},enumerable:!0,configurable:!0}),e.prototype.onSearch=function(e){this.pageQuery.filter=e,this.get()},e.prototype.buildForm=function(){var e=this;this.roles=this.store.selectSnapshot(z.getRoles),this.form=this.fb.group({userName:[this.selected.userName||"",[i.Validators.required,i.Validators.maxLength(256)]],email:[this.selected.email||"",[i.Validators.required,i.Validators.email,i.Validators.maxLength(256)]],name:[this.selected.name||"",[i.Validators.maxLength(64)]],surname:[this.selected.surname||"",[i.Validators.maxLength(64)]],phoneNumber:[this.selected.phoneNumber||"",[i.Validators.maxLength(16)]],lockoutEnabled:[this.selected.twoFactorEnabled||!this.selected.id],twoFactorEnabled:[this.selected.twoFactorEnabled||!this.selected.id],roleNames:this.fb.array(this.roles.map(function(t){var n;return e.fb.group(((n={})[t.name]=[!!p(function(){return e.selectedUserRoles.find(function(e){return e.id===t.id})})],n))}))}),this.selected.userName||this.form.addControl("password",new i.FormControl("",[i.Validators.required,i.Validators.maxLength(32)]))},e.prototype.openModal=function(){this.buildForm(),this.isModalVisible=!0},e.prototype.onAdd=function(){this.selected={},this.selectedUserRoles=[],this.openModal()},e.prototype.onEdit=function(e){var t=this;this.store.dispatch(new S(e)).pipe(s.switchMap(function(){return t.store.dispatch(new x(e))}),s.pluck("IdentityState"),s.take(1)).subscribe(function(e){t.selected=e.selectedUser,t.selectedUserRoles=e.selectedUserRoles,t.openModal()})},e.prototype.save=function(){var e=this;if(this.form.valid){var t=this.form.value.roleNames,n=p(function(){return t.filter(function(e){return!!e[Object.keys(e)[0]]}).map(function(e){return Object.keys(e)[0]})},[]);this.store.dispatch(this.selected.id?new N(m({},this.form.value,{id:this.selected.id,roleNames:n})):new L(m({},this.form.value,{roleNames:n}))).subscribe(function(){e.isModalVisible=!1})}},e.prototype.delete=function(e,t){var n=this;this.confirmationService.warn("AbpIdentity::UserDeletionConfirmationMessage","AbpIdentity::AreYouSure",{messageLocalizationParams:[t]}).subscribe(function(t){"confirm"===t&&n.store.dispatch(new C(e))})},e.prototype.onPageChange=function(e){this.pageQuery.skipCount=e.first,this.pageQuery.maxResultCount=e.rows,this.get()},e.prototype.get=function(){var e=this;this.loading=!0,this.store.dispatch(new U(this.pageQuery)).pipe(s.finalize(function(){return e.loading=!1})).subscribe()},e.decorators=[{type:n.Component,args:[{selector:"abp-users",template:'
\n
\n
\n
\n
{{ \'AbpIdentity::Users\' | abpLocalization }}
\n
\n
\n \n {{ \'AbpIdentity::NewUser\' | abpLocalization }}\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n {{ \'AbpIdentity::Actions\' | abpLocalization }}\n {{ \'AbpIdentity::UserName\' | abpLocalization }}\n {{ \'AbpIdentity::EmailAddress\' | abpLocalization }}\n {{ \'AbpIdentity::PhoneNumber\' | abpLocalization }}\n \n \n \n \n \n
\n \n {{ \'AbpIdentity::Actions\' | abpLocalization }}\n \n
\n \n \n \n
\n
\n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
\n \n
\n
\n\n\n \n

{{ (selected?.id ? \'AbpIdentity::Edit\' : \'AbpIdentity::NewUser\') | abpLocalization }}

\n
\n\n \n \n
\n \n \n \n
\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n
\n\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n
\n
\n
\n \n \n
\n \n \n \n
\n \n
\n
\n
\n
\n
\n
\n\n \n \n {{ \'AbpIdentity::Save\' | abpLocalization }}\n \n
\n\n\n'}]}],e.ctorParameters=function(){return[{type:r.ConfirmationService},{type:i.FormBuilder},{type:o.Store}]},e.propDecorators={modalContent:[{type:n.ViewChild,args:["modalContent",{static:!1}]}]},f([o.Select(z.getUsers),h("design:type",a.Observable)],e.prototype,"data$",void 0),f([o.Select(z.getUsersTotalCount),h("design:type",a.Observable)],e.prototype,"totalCount$",void 0),e}(),D=function(){function e(e){this.store=e}return e.prototype.resolve=function(){var e=this.store.selectSnapshot(z.getUsers);return e&&e.length?null:this.store.dispatch(new U)},e.decorators=[{type:n.Injectable}],e.ctorParameters=function(){return[{type:o.Store}]},e}(),j=[{path:"",redirectTo:"roles",pathMatch:"full"},{path:"roles",component:t.DynamicLayoutComponent,canActivate:[t.AuthGuard,t.PermissionGuard],data:{requiredPolicy:"AbpIdentity.Roles"},children:[{path:"",component:M,resolve:[k]}]},{path:"users",component:t.DynamicLayoutComponent,canActivate:[t.AuthGuard,t.PermissionGuard],data:{requiredPolicy:"AbpIdentity.Users"},children:[{path:"",component:q,resolve:[k,D]}]}],O=function(){function e(){}return e.decorators=[{type:n.NgModule,args:[{imports:[l.RouterModule.forChild(j)],exports:[l.RouterModule],providers:[k,D]}]}],e}(),T=function(){function e(){}return e.decorators=[{type:n.NgModule,args:[{declarations:[M,q],imports:[o.NgxsModule.forFeature([z]),t.CoreModule,O,d.NgbTabsetModule,r.ThemeSharedModule,u.TableModule,d.NgbDropdownModule,c.PermissionManagementModule,b.NgxValidateCoreModule,y.PerfectScrollbarModule]}]}],e}();!function(e){e.State=function(){},e.RoleSaveRequest=function(){},e.RoleItem=function(){},e.UserItem=function(){},e.User=function(){},e.UserSaveRequest=function(){}}(g||(g={})),e.CreateRole=w,e.CreateUser=L,e.DeleteRole=R,e.DeleteUser=C,e.GetRoleById=I,e.GetRoles=v,e.GetUserById=S,e.GetUserRoles=x,e.GetUsers=U,e.IDENTITY_ROUTES=[{name:"AbpUiNavigation::Menu:Administration",path:"",order:1,wrapper:!0},{name:"AbpIdentity::Menu:IdentityManagement",path:"identity",order:1,parentName:"AbpUiNavigation::Menu:Administration",layout:"application",iconClass:"fa fa-id-card-o",children:[{path:"roles",name:"AbpIdentity::Roles",order:2,requiredPolicy:"AbpIdentity.Roles"},{path:"users",name:"AbpIdentity::Users",order:1,requiredPolicy:"AbpIdentity.Users"}]}],e.IdentityModule=T,e.IdentityService=P,e.IdentityState=z,e.RoleResolver=k,e.RolesComponent=M,e.UpdateRole=A,e.UpdateUser=N,e.ɵb=q,e.ɵc=O,e.ɵd=D,Object.defineProperty(e,"__esModule",{value:!0})}); +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@abp/ng.core"),require("@angular/core"),require("@ngxs/store"),require("@abp/ng.theme.shared"),require("@angular/forms"),require("rxjs"),require("rxjs/operators"),require("@angular/router"),require("snq"),require("@ng-bootstrap/ng-bootstrap"),require("@abp/ng.permission-management"),require("primeng/table"),require("@ngx-validate/core"),require("ngx-perfect-scrollbar")):"function"==typeof define&&define.amd?define("@abp/ng.identity",["exports","@abp/ng.core","@angular/core","@ngxs/store","@abp/ng.theme.shared","@angular/forms","rxjs","rxjs/operators","@angular/router","snq","@ng-bootstrap/ng-bootstrap","@abp/ng.permission-management","primeng/table","@ngx-validate/core","ngx-perfect-scrollbar"],t):t(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng.identity={}),e.ng_core,e.ng.core,e.store,e.ng_theme_shared,e.ng.forms,e.rxjs,e.rxjs.operators,e.ng.router,e.snq,e.ngBootstrap,e.ng_permissionManagement,e.table,e.core$1,e.ngxPerfectScrollbar)}(this,function(e,t,n,o,r,i,a,s,l,p,d,c,u,b,y){"use strict";p=p&&p.hasOwnProperty("default")?p.default:p;var m=function(){return(m=Object.assign||function(e){for(var t,n=1,o=arguments.length;n=0;s--)(r=e[s])&&(a=(i<3?r(a):i>3?r(t,n,a):r(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}function h(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}var g=function(){function e(e){this.payload=e}return e.type="[Identity] Get Roles",e}();var v=function(){function e(e){this.payload=e}return e.type="[Identity] Get Role By Id",e}();var I=function(){function e(e){this.payload=e}return e.type="[Identity] Delete Role",e}();var w=function(){function e(e){this.payload=e}return e.type="[Identity] Create Role",e}();var A=function(){function e(e){this.payload=e}return e.type="[Identity] Update Role",e}();var R=function(){function e(e){this.payload=e}return e.type="[Identity] Get Users",e}();var U=function(){function e(e){this.payload=e}return e.type="[Identity] Get User By Id",e}();var S=function(){function e(e){this.payload=e}return e.type="[Identity] Delete User",e}();var C=function(){function e(e){this.payload=e}return e.type="[Identity] Create User",e}();var L=function(){function e(e){this.payload=e}return e.type="[Identity] Update User",e}();var N=function(){function e(e){this.payload=e}return e.type="[Identity] Get User Roles",e}();var x=function(){function e(e){this.rest=e}return e.prototype.getRoles=function(e){void 0===e&&(e={});var t={method:"GET",url:"/api/identity/roles",params:e};return this.rest.request(t)},e.prototype.getRoleById=function(e){var t={method:"GET",url:"/api/identity/roles/"+e};return this.rest.request(t)},e.prototype.deleteRole=function(e){var t={method:"DELETE",url:"/api/identity/roles/"+e};return this.rest.request(t)},e.prototype.createRole=function(e){var t={method:"POST",url:"/api/identity/roles",body:e};return this.rest.request(t)},e.prototype.updateRole=function(e){var t="/api/identity/roles/"+e.id;delete e.id;var n={method:"PUT",url:t,body:e};return this.rest.request(n)},e.prototype.getUsers=function(e){void 0===e&&(e={});var t={method:"GET",url:"/api/identity/users",params:e};return this.rest.request(t)},e.prototype.getUserById=function(e){var t={method:"GET",url:"/api/identity/users/"+e};return this.rest.request(t)},e.prototype.getUserRoles=function(e){var t={method:"GET",url:"/api/identity/users/"+e+"/roles"};return this.rest.request(t)},e.prototype.deleteUser=function(e){var t={method:"DELETE",url:"/api/identity/users/"+e};return this.rest.request(t)},e.prototype.createUser=function(e){var t={method:"POST",url:"/api/identity/users",body:e};return this.rest.request(t)},e.prototype.updateUser=function(e){var t="/api/identity/users/"+e.id;delete e.id;var n={method:"PUT",url:t,body:e};return this.rest.request(n)},e.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:t.RestService}]},e.ngInjectableDef=n.ɵɵdefineInjectable({factory:function(){return new e(n.ɵɵinject(t.RestService))},token:e,providedIn:"root"}),e}();var z=function(){function e(e){this.identityService=e}return e.getRoles=function(e){return e.roles.items},e.getRolesTotalCount=function(e){return e.roles.totalCount},e.getUsers=function(e){return e.users.items},e.getUsersTotalCount=function(e){return e.users.totalCount},e.prototype.getRoles=function(e,t){var n=e.patchState,o=t.payload;return this.identityService.getRoles(o).pipe(s.tap(function(e){return n({roles:e})}))},e.prototype.getRole=function(e,t){var n=e.patchState,o=t.payload;return this.identityService.getRoleById(o).pipe(s.tap(function(e){return n({selectedRole:e})}))},e.prototype.deleteRole=function(e,t){var n=e.dispatch,o=t.payload;return this.identityService.deleteRole(o).pipe(s.switchMap(function(){return n(new g)}))},e.prototype.addRole=function(e,t){var n=e.dispatch,o=t.payload;return this.identityService.createRole(o).pipe(s.switchMap(function(){return n(new g)}))},e.prototype.updateRole=function(e,t){var n=this,o=e.getState,r=e.dispatch,i=t.payload;return r(new v(i.id)).pipe(s.switchMap(function(){return n.identityService.updateRole(m({},o().selectedRole,i))}),s.switchMap(function(){return r(new g)}))},e.prototype.getUsers=function(e,t){var n=e.patchState,o=t.payload;return this.identityService.getUsers(o).pipe(s.tap(function(e){return n({users:e})}))},e.prototype.getUser=function(e,t){var n=e.patchState,o=t.payload;return this.identityService.getUserById(o).pipe(s.tap(function(e){return n({selectedUser:e})}))},e.prototype.deleteUser=function(e,t){var n=e.dispatch,o=t.payload;return this.identityService.deleteUser(o).pipe(s.switchMap(function(){return n(new R)}))},e.prototype.addUser=function(e,t){var n=e.dispatch,o=t.payload;return this.identityService.createUser(o).pipe(s.switchMap(function(){return n(new R)}))},e.prototype.updateUser=function(e,t){var n=this,o=e.getState,r=e.dispatch,i=t.payload;return r(new U(i.id)).pipe(s.switchMap(function(){return n.identityService.updateUser(m({},o().selectedUser,i))}),s.switchMap(function(){return r(new R)}))},e.prototype.getUserRoles=function(e,t){var n=e.patchState,o=t.payload;return this.identityService.getUserRoles(o).pipe(s.pluck("items"),s.tap(function(e){return n({selectedUserRoles:e})}))},f([o.Action(g),h("design:type",Function),h("design:paramtypes",[Object,g]),h("design:returntype",void 0)],e.prototype,"getRoles",null),f([o.Action(v),h("design:type",Function),h("design:paramtypes",[Object,v]),h("design:returntype",void 0)],e.prototype,"getRole",null),f([o.Action(I),h("design:type",Function),h("design:paramtypes",[Object,v]),h("design:returntype",void 0)],e.prototype,"deleteRole",null),f([o.Action(w),h("design:type",Function),h("design:paramtypes",[Object,w]),h("design:returntype",void 0)],e.prototype,"addRole",null),f([o.Action(A),h("design:type",Function),h("design:paramtypes",[Object,A]),h("design:returntype",void 0)],e.prototype,"updateRole",null),f([o.Action(R),h("design:type",Function),h("design:paramtypes",[Object,R]),h("design:returntype",void 0)],e.prototype,"getUsers",null),f([o.Action(U),h("design:type",Function),h("design:paramtypes",[Object,U]),h("design:returntype",void 0)],e.prototype,"getUser",null),f([o.Action(S),h("design:type",Function),h("design:paramtypes",[Object,U]),h("design:returntype",void 0)],e.prototype,"deleteUser",null),f([o.Action(C),h("design:type",Function),h("design:paramtypes",[Object,C]),h("design:returntype",void 0)],e.prototype,"addUser",null),f([o.Action(L),h("design:type",Function),h("design:paramtypes",[Object,L]),h("design:returntype",void 0)],e.prototype,"updateUser",null),f([o.Action(N),h("design:type",Function),h("design:paramtypes",[Object,N]),h("design:returntype",void 0)],e.prototype,"getUserRoles",null),f([o.Selector(),h("design:type",Function),h("design:paramtypes",[Object]),h("design:returntype",Array)],e,"getRoles",null),f([o.Selector(),h("design:type",Function),h("design:paramtypes",[Object]),h("design:returntype",Number)],e,"getRolesTotalCount",null),f([o.Selector(),h("design:type",Function),h("design:paramtypes",[Object]),h("design:returntype",Array)],e,"getUsers",null),f([o.Selector(),h("design:type",Function),h("design:paramtypes",[Object]),h("design:returntype",Number)],e,"getUsersTotalCount",null),e=f([o.State({name:"IdentityState",defaults:{roles:{},selectedRole:{},users:{},selectedUser:{}}}),h("design:paramtypes",[x])],e)}();var P=function(){function e(e,t,n){this.confirmationService=e,this.fb=t,this.store=n,this.visiblePermissions=!1,this.pageQuery={sorting:"name"},this.loading=!1,this.modalBusy=!1}return e.prototype.onSearch=function(e){this.pageQuery.filter=e,this.get()},e.prototype.createForm=function(){this.form=this.fb.group({name:new i.FormControl({value:this.selected.name||"",disabled:this.selected.isStatic},[i.Validators.required,i.Validators.maxLength(256)]),isDefault:[this.selected.isDefault||!1],isPublic:[this.selected.isPublic||!1]})},e.prototype.openModal=function(){this.createForm(),this.isModalVisible=!0},e.prototype.onAdd=function(){this.selected={},this.openModal()},e.prototype.onEdit=function(e){var t=this;this.store.dispatch(new v(e)).pipe(s.pluck("IdentityState","selectedRole")).subscribe(function(e){t.selected=e,t.openModal()})},e.prototype.save=function(){var e=this;this.form.valid&&(this.modalBusy=!0,this.store.dispatch(this.selected.id?new A(m({},this.form.value,{id:this.selected.id})):new w(this.form.value)).subscribe(function(){e.modalBusy=!1,e.isModalVisible=!1}))},e.prototype.delete=function(e,t){var n=this;this.confirmationService.warn("AbpIdentity::RoleDeletionConfirmationMessage","AbpIdentity::AreYouSure",{messageLocalizationParams:[t]}).subscribe(function(t){"confirm"===t&&n.store.dispatch(new I(e))})},e.prototype.onPageChange=function(e){this.pageQuery.skipCount=e.first,this.pageQuery.maxResultCount=e.rows,this.get()},e.prototype.get=function(){var e=this;this.loading=!0,this.store.dispatch(new g(this.pageQuery)).pipe(s.finalize(function(){return e.loading=!1})).subscribe()},e.decorators=[{type:n.Component,args:[{selector:"abp-roles",template:'
\n
\n
\n
\n
{{ \'AbpIdentity::Roles\' | abpLocalization }}
\n
\n
\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n {{ \'AbpIdentity::Actions\' | abpLocalization }}\n {{ \'AbpIdentity::RoleName\' | abpLocalization }}\n \n \n \n \n \n
\n \n {{ \'AbpIdentity::Actions\' | abpLocalization }}\n \n
\n \n \n \n
\n
\n \n {{ data.name }}\n \n
\n \n
\n
\n\n\n \n

{{ (selected?.id ? \'AbpIdentity::Edit\' : \'AbpIdentity::NewRole\') | abpLocalization }}

\n
\n\n \n
\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n
\n
\n\n \n \n {{ \'AbpIdentity::Save\' | abpLocalization }}\n \n
\n\n\n'}]}],e.ctorParameters=function(){return[{type:r.ConfirmationService},{type:i.FormBuilder},{type:o.Store}]},e.propDecorators={modalContent:[{type:n.ViewChild,args:["modalContent",{static:!1}]}]},f([o.Select(z.getRoles),h("design:type",a.Observable)],e.prototype,"data$",void 0),f([o.Select(z.getRolesTotalCount),h("design:type",a.Observable)],e.prototype,"totalCount$",void 0),e}();var M=function(){function e(e){this.store=e}return e.prototype.resolve=function(){var e=this.store.selectSnapshot(z.getRoles);return e&&e.length?null:this.store.dispatch(new g)},e.decorators=[{type:n.Injectable}],e.ctorParameters=function(){return[{type:o.Store}]},e}();var k=function(){function e(e,t,n){this.confirmationService=e,this.fb=t,this.store=n,this.visiblePermissions=!1,this.pageQuery={sorting:"userName"},this.loading=!1,this.modalBusy=!1,this.trackByFn=function(e,t){return Object.keys(t)[0]||e}}return Object.defineProperty(e.prototype,"roleGroups",{get:function(){var e=this;return p(function(){return e.form.get("roleNames").controls},[])},enumerable:!0,configurable:!0}),e.prototype.onSearch=function(e){this.pageQuery.filter=e,this.get()},e.prototype.buildForm=function(){var e=this;this.roles=this.store.selectSnapshot(z.getRoles),this.form=this.fb.group({userName:[this.selected.userName||"",[i.Validators.required,i.Validators.maxLength(256)]],email:[this.selected.email||"",[i.Validators.required,i.Validators.email,i.Validators.maxLength(256)]],name:[this.selected.name||"",[i.Validators.maxLength(64)]],surname:[this.selected.surname||"",[i.Validators.maxLength(64)]],phoneNumber:[this.selected.phoneNumber||"",[i.Validators.maxLength(16)]],lockoutEnabled:[this.selected.twoFactorEnabled||!this.selected.id],twoFactorEnabled:[this.selected.twoFactorEnabled||!this.selected.id],roleNames:this.fb.array(this.roles.map(function(t){var n;return e.fb.group(((n={})[t.name]=[!!p(function(){return e.selectedUserRoles.find(function(e){return e.id===t.id})})],n))}))}),this.selected.userName||this.form.addControl("password",new i.FormControl("",[i.Validators.required,i.Validators.maxLength(32)]))},e.prototype.openModal=function(){this.buildForm(),this.isModalVisible=!0},e.prototype.onAdd=function(){this.selected={},this.selectedUserRoles=[],this.openModal()},e.prototype.onEdit=function(e){var t=this;this.store.dispatch(new U(e)).pipe(s.switchMap(function(){return t.store.dispatch(new N(e))}),s.pluck("IdentityState"),s.take(1)).subscribe(function(e){t.selected=e.selectedUser,t.selectedUserRoles=e.selectedUserRoles,t.openModal()})},e.prototype.save=function(){var e=this;if(this.form.valid){this.modalBusy=!0;var t=this.form.value.roleNames,n=p(function(){return t.filter(function(e){return!!e[Object.keys(e)[0]]}).map(function(e){return Object.keys(e)[0]})},[]);this.store.dispatch(this.selected.id?new L(m({},this.form.value,{id:this.selected.id,roleNames:n})):new C(m({},this.form.value,{roleNames:n}))).subscribe(function(){e.modalBusy=!1,e.isModalVisible=!1})}},e.prototype.delete=function(e,t){var n=this;this.confirmationService.warn("AbpIdentity::UserDeletionConfirmationMessage","AbpIdentity::AreYouSure",{messageLocalizationParams:[t]}).subscribe(function(t){"confirm"===t&&n.store.dispatch(new S(e))})},e.prototype.onPageChange=function(e){this.pageQuery.skipCount=e.first,this.pageQuery.maxResultCount=e.rows,this.get()},e.prototype.get=function(){var e=this;this.loading=!0,this.store.dispatch(new R(this.pageQuery)).pipe(s.finalize(function(){return e.loading=!1})).subscribe()},e.decorators=[{type:n.Component,args:[{selector:"abp-users",template:'
\n
\n
\n
\n
{{ \'AbpIdentity::Users\' | abpLocalization }}
\n
\n
\n \n {{ \'AbpIdentity::NewUser\' | abpLocalization }}\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n {{ \'AbpIdentity::Actions\' | abpLocalization }}\n {{ \'AbpIdentity::UserName\' | abpLocalization }}\n {{ \'AbpIdentity::EmailAddress\' | abpLocalization }}\n {{ \'AbpIdentity::PhoneNumber\' | abpLocalization }}\n \n \n \n \n \n
\n \n {{ \'AbpIdentity::Actions\' | abpLocalization }}\n \n
\n \n \n \n
\n
\n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
\n \n
\n
\n\n\n \n

{{ (selected?.id ? \'AbpIdentity::Edit\' : \'AbpIdentity::NewUser\') | abpLocalization }}

\n
\n\n \n \n
\n \n \n \n
\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n
\n\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n
\n
\n
\n \n \n
\n \n \n \n
\n \n
\n
\n
\n
\n
\n
\n\n \n \n {{\n \'AbpIdentity::Save\' | abpLocalization\n }}\n \n
\n\n\n'}]}],e.ctorParameters=function(){return[{type:r.ConfirmationService},{type:i.FormBuilder},{type:o.Store}]},e.propDecorators={modalContent:[{type:n.ViewChild,args:["modalContent",{static:!1}]}]},f([o.Select(z.getUsers),h("design:type",a.Observable)],e.prototype,"data$",void 0),f([o.Select(z.getUsersTotalCount),h("design:type",a.Observable)],e.prototype,"totalCount$",void 0),e}();var D=function(){function e(e){this.store=e}return e.prototype.resolve=function(){var e=this.store.selectSnapshot(z.getUsers);return e&&e.length?null:this.store.dispatch(new R)},e.decorators=[{type:n.Injectable}],e.ctorParameters=function(){return[{type:o.Store}]},e}();var j,q=[{path:"",redirectTo:"roles",pathMatch:"full"},{path:"roles",component:t.DynamicLayoutComponent,canActivate:[t.AuthGuard,t.PermissionGuard],data:{requiredPolicy:"AbpIdentity.Roles"},children:[{path:"",component:P,resolve:[M]}]},{path:"users",component:t.DynamicLayoutComponent,canActivate:[t.AuthGuard,t.PermissionGuard],data:{requiredPolicy:"AbpIdentity.Users"},children:[{path:"",component:k,resolve:[M,D]}]}],O=function(){function e(){}return e.decorators=[{type:n.NgModule,args:[{imports:[l.RouterModule.forChild(q)],exports:[l.RouterModule],providers:[M,D]}]}],e}(),F=function(){function e(){}return e.decorators=[{type:n.NgModule,args:[{declarations:[P,k],imports:[o.NgxsModule.forFeature([z]),t.CoreModule,O,d.NgbTabsetModule,r.ThemeSharedModule,u.TableModule,d.NgbDropdownModule,c.PermissionManagementModule,b.NgxValidateCoreModule,y.PerfectScrollbarModule]}]}],e}();!function(e){function t(){}function n(){}function o(){}function r(){}function i(){}function a(){}e.State=t,e.RoleSaveRequest=n,e.RoleItem=o,e.UserItem=r,e.User=i,e.UserSaveRequest=a}(j||(j={})),e.CreateRole=w,e.CreateUser=C,e.DeleteRole=I,e.DeleteUser=S,e.GetRoleById=v,e.GetRoles=g,e.GetUserById=U,e.GetUserRoles=N,e.GetUsers=R,e.IDENTITY_ROUTES=[{name:"AbpUiNavigation::Menu:Administration",path:"",order:1,wrapper:!0},{name:"AbpIdentity::Menu:IdentityManagement",path:"identity",order:1,parentName:"AbpUiNavigation::Menu:Administration",layout:"application",iconClass:"fa fa-id-card-o",children:[{path:"roles",name:"AbpIdentity::Roles",order:2,requiredPolicy:"AbpIdentity.Roles"},{path:"users",name:"AbpIdentity::Users",order:1,requiredPolicy:"AbpIdentity.Users"}]}],e.IdentityModule=F,e.IdentityService=x,e.IdentityState=z,e.RoleResolver=M,e.RolesComponent=P,e.UpdateRole=A,e.UpdateUser=L,e.ɵb=k,e.ɵc=O,e.ɵd=D,Object.defineProperty(e,"__esModule",{value:!0})}); //# sourceMappingURL=abp-ng.identity.umd.min.js.map \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.min.js.map b/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.min.js.map index ca0d172159..4bd3e3e6f5 100644 --- a/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.min.js.map +++ b/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.identity/lib/actions/identity.actions.ts","ng://@abp/ng.identity/lib/models/identity.ts","ng://@abp/ng.identity/lib/services/identity.service.ts","ng://@abp/ng.identity/lib/states/identity.state.ts","ng://@abp/ng.identity/lib/components/roles/roles.component.ts","ng://@abp/ng.identity/lib/resolvers/roles.resolver.ts","ng://@abp/ng.identity/lib/components/users/users.component.ts","ng://@abp/ng.identity/lib/resolvers/users.resolver.ts","ng://@abp/ng.identity/lib/identity-routing.module.ts","ng://@abp/ng.identity/lib/identity.module.ts","ng://@abp/ng.identity/lib/constants/routes.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__metadata","metadataKey","metadataValue","metadata","Identity","GetRoles","payload","type","GetRoleById","DeleteRole","CreateRole","UpdateRole","GetUsers","GetUserById","DeleteUser","CreateUser","UpdateUser","GetUserRoles","IdentityService","rest","getRoles","params","request","method","url","getRoleById","id","deleteRole","createRole","body","updateRole","getUsers","getUserById","getUserRoles","deleteUser","createUser","updateUser","Injectable","args","providedIn","RestService","IdentityState","identityService","_a","roles","items","getRolesTotalCount","totalCount","users","getUsersTotalCount","_b","patchState","pipe","tap","getRole","selectedRole","dispatch","switchMap","addRole","_this","getState","getUser","selectedUser","addUser","pluck","selectedUserRoles","tslib_1.__decorate","Action","Selector","State","name","defaults","RolesComponent","confirmationService","fb","store","visiblePermissions","pageQuery","sorting","loading","onSearch","value","filter","get","createForm","form","group","FormControl","selected","disabled","isStatic","Validators","required","maxLength","isDefault","isPublic","openModal","isModalVisible","onAdd","onEdit","subscribe","save","valid","delete","warn","messageLocalizationParams","status","onPageChange","data","skipCount","first","maxResultCount","rows","finalize","Component","selector","template","ConfirmationService","FormBuilder","Store","ViewChild","static","Select","Observable","RoleResolver","resolve","selectSnapshot","UsersComponent","trackByFn","index","item","keys","snq","buildForm","userName","email","surname","phoneNumber","lockoutEnabled","twoFactorEnabled","roleNames","array","map","role","find","userRole","addControl","take","state","mappedRoleNames","UserResolver","routes","path","redirectTo","pathMatch","component","DynamicLayoutComponent","canActivate","AuthGuard","PermissionGuard","requiredPolicy","children","IdentityRoutingModule","NgModule","imports","RouterModule","forChild","exports","providers","IdentityModule","declarations","NgxsModule","forFeature","CoreModule","NgbTabsetModule","ThemeSharedModule","TableModule","NgbDropdownModule","PermissionManagementModule","NgxValidateCoreModule","PerfectScrollbarModule","order","wrapper","parentName","layout","iconClass"],"mappings":"8nCA6BO,IAAIA,EAAW,WAQlB,OAPAA,EAAWC,OAAOC,QAAU,SAAkBC,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAII,KADTL,EAAIG,UAAUF,GACOJ,OAAOS,UAAUC,eAAeC,KAAKR,EAAGK,KAAIN,EAAEM,GAAKL,EAAEK,IAE9E,OAAON,IAEKU,MAAMC,KAAMP,YAezB,SAASQ,EAAWC,EAAYC,EAAQC,EAAKC,GAChD,IAA2HC,EAAvHC,EAAId,UAAUC,OAAQc,EAAID,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOlB,OAAOsB,yBAAyBN,EAAQC,GAAOC,EACrH,GAAuB,iBAAZK,SAAoD,mBAArBA,QAAQC,SAAyBH,EAAIE,QAAQC,SAAST,EAAYC,EAAQC,EAAKC,QACpH,IAAK,IAAId,EAAIW,EAAWR,OAAS,EAAGH,GAAK,EAAGA,KAASe,EAAIJ,EAAWX,MAAIiB,GAAKD,EAAI,EAAID,EAAEE,GAAKD,EAAI,EAAID,EAAEH,EAAQC,EAAKI,GAAKF,EAAEH,EAAQC,KAASI,GAChJ,OAAOD,EAAI,GAAKC,GAAKrB,OAAOyB,eAAeT,EAAQC,EAAKI,GAAIA,EAOzD,SAASK,EAAWC,EAAaC,GACpC,GAAuB,iBAAZL,SAAoD,mBAArBA,QAAQM,SAAyB,OAAON,QAAQM,SAASF,EAAaC,GC7DpH,ICDiBE,EDCjBC,EAAA,WAEE,SAAAA,EAAmBC,GAAAnB,KAAAmB,QAAAA,EACrB,OAFkBD,EAAAE,KAAO,uBAEzBF,EAHA,gBAOE,SAAAG,EAAmBF,GAAAnB,KAAAmB,QAAAA,EACrB,OAFkBE,EAAAD,KAAO,4BAEzBC,kBAIE,SAAAC,EAAmBH,GAAAnB,KAAAmB,QAAAA,EACrB,OAFkBG,EAAAF,KAAO,yBAEzBE,kBAIE,SAAAC,EAAmBJ,GAAAnB,KAAAmB,QAAAA,EACrB,OAFkBI,EAAAH,KAAO,yBAEzBG,kBAIE,SAAAC,EAAmBL,GAAAnB,KAAAmB,QAAAA,EACrB,OAFkBK,EAAAJ,KAAO,yBAEzBI,kBAIE,SAAAC,EAAmBN,GAAAnB,KAAAmB,QAAAA,EACrB,OAFkBM,EAAAL,KAAO,uBAEzBK,kBAIE,SAAAC,EAAmBP,GAAAnB,KAAAmB,QAAAA,EACrB,OAFkBO,EAAAN,KAAO,4BAEzBM,kBAIE,SAAAC,EAAmBR,GAAAnB,KAAAmB,QAAAA,EACrB,OAFkBQ,EAAAP,KAAO,yBAEzBO,kBAIE,SAAAC,EAAmBT,GAAAnB,KAAAmB,QAAAA,EACrB,OAFkBS,EAAAR,KAAO,yBAEzBQ,kBAIE,SAAAC,EAAmBV,GAAAnB,KAAAmB,QAAAA,EACrB,OAFkBU,EAAAT,KAAO,yBAEzBS,kBAIE,SAAAC,EAAmBX,GAAAnB,KAAAmB,QAAAA,EACrB,OAFkBW,EAAAV,KAAO,4BAEzBU,KExDAC,EAAA,WASE,SAAAA,EAAoBC,GAAAhC,KAAAgC,KAAAA,SAEpBD,EAAAnC,UAAAqC,SAAA,SAASC,QAAA,IAAAA,IAAAA,EAAA,QACDC,EAA8B,CAClCC,OAAQ,MACRC,IAAK,sBACLH,OAAMA,GAGR,OAAOlC,KAAKgC,KAAKG,QAAqCA,IAGxDJ,EAAAnC,UAAA0C,YAAA,SAAYC,OACJJ,EAA8B,CAClCC,OAAQ,MACRC,IAAK,uBAAuBE,GAG9B,OAAOvC,KAAKgC,KAAKG,QAAiCA,IAGpDJ,EAAAnC,UAAA4C,WAAA,SAAWD,OACHJ,EAA8B,CAClCC,OAAQ,SACRC,IAAK,uBAAuBE,GAG9B,OAAOvC,KAAKgC,KAAKG,QAAiCA,IAGpDJ,EAAAnC,UAAA6C,WAAA,SAAWC,OACHP,EAAkD,CACtDC,OAAQ,OACRC,IAAK,sBACLK,KAAIA,GAGN,OAAO1C,KAAKgC,KAAKG,QAAqDA,IAGxEJ,EAAAnC,UAAA+C,WAAA,SAAWD,OACHL,EAAM,uBAAuBK,EAAKH,UACjCG,EAAKH,OAENJ,EAA2C,CAC/CC,OAAQ,MACRC,IAAGA,EACHK,KAAIA,GAGN,OAAO1C,KAAKgC,KAAKG,QAA8CA,IAGjEJ,EAAAnC,UAAAgD,SAAA,SAASV,QAAA,IAAAA,IAAAA,EAAA,QACDC,EAA8B,CAClCC,OAAQ,MACRC,IAAK,sBACLH,OAAMA,GAGR,OAAOlC,KAAKgC,KAAKG,QAAqCA,IAGxDJ,EAAAnC,UAAAiD,YAAA,SAAYN,OACJJ,EAA8B,CAClCC,OAAQ,MACRC,IAAK,uBAAuBE,GAG9B,OAAOvC,KAAKgC,KAAKG,QAAiCA,IAGpDJ,EAAAnC,UAAAkD,aAAA,SAAaP,OACLJ,EAA8B,CAClCC,OAAQ,MACRC,IAAK,uBAAuBE,EAAE,UAGhC,OAAOvC,KAAKgC,KAAKG,QAAqCA,IAGxDJ,EAAAnC,UAAAmD,WAAA,SAAWR,OACHJ,EAA8B,CAClCC,OAAQ,SACRC,IAAK,uBAAuBE,GAG9B,OAAOvC,KAAKgC,KAAKG,QAAoBA,IAGvCJ,EAAAnC,UAAAoD,WAAA,SAAWN,OACHP,EAAkD,CACtDC,OAAQ,OACRC,IAAK,sBACLK,KAAIA,GAGN,OAAO1C,KAAKgC,KAAKG,QAAqDA,IAGxEJ,EAAAnC,UAAAqD,WAAA,SAAWP,OACHL,EAAM,uBAAuBK,EAAKH,UACjCG,EAAKH,OAENJ,EAA2C,CAC/CC,OAAQ,MACRC,IAAGA,EACHK,KAAIA,GAGN,OAAO1C,KAAKgC,KAAKG,QAA8CA,wBAlHlEe,EAAAA,WAAUC,KAAA,CAAC,CACVC,WAAY,oDAJLC,EAAAA,iJAFT,gBC2CE,SAAAC,EAAoBC,GAAAvD,KAAAuD,gBAAAA,EA6FtB,OAhHSD,EAAArB,SAAP,SAAgBuB,GACd,OADgBA,EAAAC,MACHC,OAIRJ,EAAAK,mBAAP,SAA0BH,GACxB,OAD0BA,EAAAC,MACbG,YAIRN,EAAAV,SAAP,SAAgBY,GACd,OADgBA,EAAAK,MACHH,OAIRJ,EAAAQ,mBAAP,SAA0BN,GACxB,OAD0BA,EAAAK,MACbD,YAMfN,EAAA1D,UAAAqC,SAAA,SAASuB,EAA8CO,OAA5CC,EAAAR,EAAAQ,WAA8C7C,EAAA4C,EAAA5C,QACvD,OAAOnB,KAAKuD,gBAAgBtB,SAASd,GAAS8C,KAC5CC,EAAAA,IAAG,SAACT,GACF,OAAAO,EAAW,CACTP,MAAKA,QAObH,EAAA1D,UAAAuE,QAAA,SAAQX,EAA8CO,OAA5CC,EAAAR,EAAAQ,WAA8C7C,EAAA4C,EAAA5C,QACtD,OAAOnB,KAAKuD,gBAAgBjB,YAAYnB,GAAS8C,KAC/CC,EAAAA,IAAG,SAACE,GACF,OAAAJ,EAAW,CACTI,aAAYA,QAOpBd,EAAA1D,UAAA4C,WAAA,SAAWgB,EAA4CO,OAA1CM,EAAAb,EAAAa,SAA4ClD,EAAA4C,EAAA5C,QACvD,OAAOnB,KAAKuD,gBAAgBf,WAAWrB,GAAS8C,KAAKK,EAAAA,UAAS,WAAO,OAAAD,EAAS,IAAInD,OAIpFoC,EAAA1D,UAAA2E,QAAA,SAAQf,EAA4CO,OAA1CM,EAAAb,EAAAa,SAA4ClD,EAAA4C,EAAA5C,QACpD,OAAOnB,KAAKuD,gBAAgBd,WAAWtB,GAAS8C,KAAKK,EAAAA,UAAS,WAAO,OAAAD,EAAS,IAAInD,OAIpFoC,EAAA1D,UAAA+C,WAAA,SAAWa,EAAsDO,GADjE,IAAAS,EAAAxE,KACayE,EAAAjB,EAAAiB,SAAUJ,EAAAb,EAAAa,SAA4ClD,EAAA4C,EAAA5C,QACjE,OAAOkD,EAAS,IAAIhD,EAAYF,EAAQoB,KAAK0B,KAC3CK,EAAAA,UAAS,WAAO,OAAAE,EAAKjB,gBAAgBZ,WAAUzD,EAAA,GAAMuF,IAAWL,aAAiBjD,MACjFmD,EAAAA,UAAS,WAAO,OAAAD,EAAS,IAAInD,OAKjCoC,EAAA1D,UAAAgD,SAAA,SAASY,EAA8CO,OAA5CC,EAAAR,EAAAQ,WAA8C7C,EAAA4C,EAAA5C,QACvD,OAAOnB,KAAKuD,gBAAgBX,SAASzB,GAAS8C,KAC5CC,EAAAA,IAAG,SAACL,GACF,OAAAG,EAAW,CACTH,MAAKA,QAObP,EAAA1D,UAAA8E,QAAA,SAAQlB,EAA8CO,OAA5CC,EAAAR,EAAAQ,WAA8C7C,EAAA4C,EAAA5C,QACtD,OAAOnB,KAAKuD,gBAAgBV,YAAY1B,GAAS8C,KAC/CC,EAAAA,IAAG,SAACS,GACF,OAAAX,EAAW,CACTW,aAAYA,QAOpBrB,EAAA1D,UAAAmD,WAAA,SAAWS,EAA4CO,OAA1CM,EAAAb,EAAAa,SAA4ClD,EAAA4C,EAAA5C,QACvD,OAAOnB,KAAKuD,gBAAgBR,WAAW5B,GAAS8C,KAAKK,EAAAA,UAAS,WAAO,OAAAD,EAAS,IAAI5C,OAIpF6B,EAAA1D,UAAAgF,QAAA,SAAQpB,EAA4CO,OAA1CM,EAAAb,EAAAa,SAA4ClD,EAAA4C,EAAA5C,QACpD,OAAOnB,KAAKuD,gBAAgBP,WAAW7B,GAAS8C,KAAKK,EAAAA,UAAS,WAAO,OAAAD,EAAS,IAAI5C,OAIpF6B,EAAA1D,UAAAqD,WAAA,SAAWO,EAAsDO,GADjE,IAAAS,EAAAxE,KACayE,EAAAjB,EAAAiB,SAAUJ,EAAAb,EAAAa,SAA4ClD,EAAA4C,EAAA5C,QACjE,OAAOkD,EAAS,IAAI3C,EAAYP,EAAQoB,KAAK0B,KAC3CK,EAAAA,UAAS,WAAO,OAAAE,EAAKjB,gBAAgBN,WAAU/D,EAAA,GAAMuF,IAAWE,aAAiBxD,MACjFmD,EAAAA,UAAS,WAAO,OAAAD,EAAS,IAAI5C,OAKjC6B,EAAA1D,UAAAkD,aAAA,SAAaU,EAA8CO,OAA5CC,EAAAR,EAAAQ,WAA8C7C,EAAA4C,EAAA5C,QAC3D,OAAOnB,KAAKuD,gBAAgBT,aAAa3B,GAAS8C,KAChDY,EAAAA,MAAM,SACNX,EAAAA,IAAG,SAACY,GACF,OAAAd,EAAW,CACTc,kBAAiBA,QArFzBC,EAAAA,CADCC,EAAAA,OAAO9D,2DAC4DA,gEAWpE6D,EAAAA,CADCC,EAAAA,OAAO3D,2DAC2DA,+DAWnE0D,EAAAA,CADCC,EAAAA,OAAO1D,2DAC4DD,kEAKpE0D,EAAAA,CADCC,EAAAA,OAAOzD,2DACyDA,+DAKjEwD,EAAAA,CADCC,EAAAA,OAAOxD,2DACsEA,kEAQ9EuD,EAAAA,CADCC,EAAAA,OAAOvD,2DAC4DA,gEAWpEsD,EAAAA,CADCC,EAAAA,OAAOtD,2DAC2DA,+DAWnEqD,EAAAA,CADCC,EAAAA,OAAOrD,2DAC4DD,kEAKpEqD,EAAAA,CADCC,EAAAA,OAAOpD,2DACyDA,+DAKjEmD,EAAAA,CADCC,EAAAA,OAAOnD,2DACsEA,kEAQ9EkD,EAAAA,CADCC,EAAAA,OAAOlD,2DACgEA,oEAtGxEiD,EAAAA,CADCE,EAAAA,sHAMDF,EAAAA,CADCE,EAAAA,iIAMDF,EAAAA,CADCE,EAAAA,sHAMDF,EAAAA,CADCE,EAAAA,iIAhBU3B,EAAarD,EAAA,CAJzBiF,EAAAA,MAAsB,CACrBC,KAAM,gBACNC,SAAQ,CAAI3B,MAAO,GAAIW,aAAc,GAAIP,MAAO,GAAIc,aAAc,6BAuB7B5C,KArB1BuB,mBCmBX,SAAA+B,EAAoBC,EAAkDC,EAAyBC,GAA3ExF,KAAAsF,oBAAAA,EAAkDtF,KAAAuF,GAAAA,EAAyBvF,KAAAwF,MAAAA,EAb/FxF,KAAAyF,oBAA8B,EAI9BzF,KAAA0F,UAAiC,CAC/BC,QAAS,QAGX3F,KAAA4F,SAAmB,EAmFrB,OA5EEP,EAAAzF,UAAAiG,SAAA,SAASC,GACP9F,KAAK0F,UAAUK,OAASD,EACxB9F,KAAKgG,OAGPX,EAAAzF,UAAAqG,WAAA,WACEjG,KAAKkG,KAAOlG,KAAKuF,GAAGY,MAAM,CACxBhB,KAAM,IAAIiB,EAAAA,YAAY,CAAEN,MAAO9F,KAAKqG,SAASlB,MAAQ,GAAImB,SAAUtG,KAAKqG,SAASE,UAAY,CAC3FC,EAAAA,WAAWC,SACXD,EAAAA,WAAWE,UAAU,OAEvBC,UAAW,CAAC3G,KAAKqG,SAASM,YAAa,GACvCC,SAAU,CAAC5G,KAAKqG,SAASO,WAAY,MAIzCvB,EAAAzF,UAAAiH,UAAA,WACE7G,KAAKiG,aACLjG,KAAK8G,gBAAiB,GAGxBzB,EAAAzF,UAAAmH,MAAA,WACE/G,KAAKqG,SAAQ,GACbrG,KAAK6G,aAGPxB,EAAAzF,UAAAoH,OAAA,SAAOzE,GAAP,IAAAiC,EAAAxE,KACEA,KAAKwF,MACFnB,SAAS,IAAIhD,EAAYkB,IACzB0B,KAAKY,EAAAA,MAAM,gBAAiB,iBAC5BoC,UAAS,SAAC7C,GACTI,EAAK6B,SAAWjC,EAChBI,EAAKqC,eAIXxB,EAAAzF,UAAAsH,KAAA,WAAA,IAAA1C,EAAAxE,KACOA,KAAKkG,KAAKiB,OAEfnH,KAAKwF,MACFnB,SACCrE,KAAKqG,SAAS9D,GACV,IAAIf,EAAUtC,EAAA,GAAMc,KAAKkG,KAAKJ,MAAK,CAAEvD,GAAIvC,KAAKqG,SAAS9D,MACvD,IAAIhB,EAAWvB,KAAKkG,KAAKJ,QAE9BmB,UAAS,WACRzC,EAAKsC,gBAAiB,KAI5BzB,EAAAzF,UAAAwH,OAAA,SAAO7E,EAAY4C,GAAnB,IAAAX,EAAAxE,KACEA,KAAKsF,oBACF+B,KAAK,+CAAgD,0BAA2B,CAC/EC,0BAA2B,CAACnC,KAE7B8B,UAAS,SAAEM,GACA,YAANA,GACF/C,EAAKgB,MAAMnB,SAAS,IAAI/C,EAAWiB,OAK3C8C,EAAAzF,UAAA4H,aAAA,SAAaC,GACXzH,KAAK0F,UAAUgC,UAAYD,EAAKE,MAChC3H,KAAK0F,UAAUkC,eAAiBH,EAAKI,KAErC7H,KAAKgG,OAGPX,EAAAzF,UAAAoG,IAAA,WAAA,IAAAxB,EAAAxE,KACEA,KAAK4F,SAAU,EACf5F,KAAKwF,MACFnB,SAAS,IAAInD,EAASlB,KAAK0F,YAC3BzB,KAAK6D,EAAAA,SAAQ,WAAO,OAACtD,EAAKoB,SAAU,KACpCqB,iCA1GNc,EAAAA,UAAS5E,KAAA,CAAC,CACT6E,SAAU,YACVC,SAAA,+zIAZOC,EAAAA,2BAEAC,EAAAA,mBACQC,EAAAA,+CAkCdC,EAAAA,UAASlF,KAAA,CAAC,eAAgB,CAAEmF,QAAQ,OArBrCvD,EAAAA,CADCwD,EAAAA,OAAOjF,EAAcrB,0BACfuG,EAAAA,yCAGPzD,EAAAA,CADCwD,EAAAA,OAAOjF,EAAcK,oCACT6E,EAAAA,+CAmGfnD,KCvHAoD,EAAA,WASE,SAAAA,EAAoBjD,GAAAxF,KAAAwF,MAAAA,EAMtB,OAJEiD,EAAA7I,UAAA8I,QAAA,eACQjF,EAAQzD,KAAKwF,MAAMmD,eAAerF,EAAcrB,UACtD,OAAOwB,GAASA,EAAM/D,OAAS,KAAOM,KAAKwF,MAAMnB,SAAS,IAAInD,wBANjEgC,EAAAA,sDALQkF,EAAAA,SAaTK,EAfA,gBC0DE,SAAAG,EAAoBtD,EAAkDC,EAAyBC,GAA3ExF,KAAAsF,oBAAAA,EAAkDtF,KAAAuF,GAAAA,EAAyBvF,KAAAwF,MAAAA,EAlB/FxF,KAAAyF,oBAA8B,EAI9BzF,KAAA0F,UAAiC,CAC/BC,QAAS,YAKX3F,KAAA4F,SAAmB,EAEnB5F,KAAA6I,UAAS,SAAsCC,EAAOC,GAAS,OAAA5J,OAAO6J,KAAKD,GAAM,IAAMD,GAmHzF,OAjHE3J,OAAAyB,eAAIgI,EAAAhJ,UAAA,aAAU,KAAd,WAAA,IAAA4E,EAAAxE,KACE,OAAOiJ,EAAG,WAAC,OAAOzE,EAAK0B,KAAKF,IAAI,aAAmC,UAAiB,qCAKtF4C,EAAAhJ,UAAAiG,SAAA,SAASC,GACP9F,KAAK0F,UAAUK,OAASD,EACxB9F,KAAKgG,OAGP4C,EAAAhJ,UAAAsJ,UAAA,WAAA,IAAA1E,EAAAxE,KACEA,KAAKyD,MAAQzD,KAAKwF,MAAMmD,eAAerF,EAAcrB,UACrDjC,KAAKkG,KAAOlG,KAAKuF,GAAGY,MAAM,CACxBgD,SAAU,CAACnJ,KAAKqG,SAAS8C,UAAY,GAAI,CAAC3C,EAAAA,WAAWC,SAAUD,EAAAA,WAAWE,UAAU,OACpF0C,MAAO,CAACpJ,KAAKqG,SAAS+C,OAAS,GAAI,CAAC5C,EAAAA,WAAWC,SAAUD,EAAAA,WAAW4C,MAAO5C,EAAAA,WAAWE,UAAU,OAChGvB,KAAM,CAACnF,KAAKqG,SAASlB,MAAQ,GAAI,CAACqB,EAAAA,WAAWE,UAAU,MACvD2C,QAAS,CAACrJ,KAAKqG,SAASgD,SAAW,GAAI,CAAC7C,EAAAA,WAAWE,UAAU,MAC7D4C,YAAa,CAACtJ,KAAKqG,SAASiD,aAAe,GAAI,CAAC9C,EAAAA,WAAWE,UAAU,MACrE6C,eAAgB,CAACvJ,KAAKqG,SAASmD,mBAAqBxJ,KAAKqG,SAAS9D,IAClEiH,iBAAkB,CAACxJ,KAAKqG,SAASmD,mBAAqBxJ,KAAKqG,SAAS9D,IACpEkH,UAAWzJ,KAAKuF,GAAGmE,MACjB1J,KAAKyD,MAAMkG,IAAG,SAACC,SACb,OAAApF,EAAKe,GAAGY,QAAK3C,EAAA,IACVoG,EAAKzE,MAAO,GAAG8D,EAAG,WAAO,OAAAzE,EAAKM,kBAAkB+E,KAAI,SAACC,GAAY,OAAAA,EAASvH,KAAOqH,EAAKrH,iBAK1FvC,KAAKqG,SAAS8C,UACjBnJ,KAAKkG,KAAK6D,WAAW,WAAY,IAAI3D,EAAAA,YAAY,GAAI,CAACI,EAAAA,WAAWC,SAAUD,EAAAA,WAAWE,UAAU,QAIpGkC,EAAAhJ,UAAAiH,UAAA,WACE7G,KAAKkJ,YACLlJ,KAAK8G,gBAAiB,GAGxB8B,EAAAhJ,UAAAmH,MAAA,WACE/G,KAAKqG,SAAQ,GACbrG,KAAK8E,kBAAiB,GACtB9E,KAAK6G,aAGP+B,EAAAhJ,UAAAoH,OAAA,SAAOzE,GAAP,IAAAiC,EAAAxE,KACEA,KAAKwF,MACFnB,SAAS,IAAI3C,EAAYa,IACzB0B,KACCK,EAAAA,UAAS,WAAO,OAAAE,EAAKgB,MAAMnB,SAAS,IAAIvC,EAAaS,MACrDsC,EAAAA,MAAM,iBACNmF,EAAAA,KAAK,IAEN/C,UAAS,SAAEgD,GACVzF,EAAK6B,SAAW4D,EAAMtF,aACtBH,EAAKM,kBAAoBmF,EAAMnF,kBAC/BN,EAAKqC,eAIX+B,EAAAhJ,UAAAsH,KAAA,WAAA,IAAA1C,EAAAxE,KACE,GAAKA,KAAKkG,KAAKiB,MAAf,CAEQ,IAAAsC,EAAAzJ,KAAAkG,KAAAJ,MAAA2D,UACFS,EAAkBjB,EAAG,WACnB,OAAAQ,EAAU1D,OAAM,SAAC6D,GAAQ,QAAEA,EAAKzK,OAAO6J,KAAKY,GAAM,MAAKD,IAAG,SAACC,GAAQ,OAAAzK,OAAO6J,KAAKY,GAAM,MAC3F,IAGF5J,KAAKwF,MACFnB,SACCrE,KAAKqG,SAAS9D,GACV,IAAIV,EAAU3C,EAAA,GACTc,KAAKkG,KAAKJ,MAAK,CAClBvD,GAAIvC,KAAKqG,SAAS9D,GAClBkH,UAAWS,KAEb,IAAItI,EAAU1C,EAAA,GACTc,KAAKkG,KAAKJ,MAAK,CAClB2D,UAAWS,MAGlBjD,UAAS,WACRzC,EAAKsC,gBAAiB,MAI5B8B,EAAAhJ,UAAAwH,OAAA,SAAO7E,EAAY4G,GAAnB,IAAA3E,EAAAxE,KACEA,KAAKsF,oBACF+B,KAAK,+CAAgD,0BAA2B,CAC/EC,0BAA2B,CAAC6B,KAE7BlC,UAAS,SAAEM,GACA,YAANA,GACF/C,EAAKgB,MAAMnB,SAAS,IAAI1C,EAAWY,OAK3CqG,EAAAhJ,UAAA4H,aAAA,SAAaC,GACXzH,KAAK0F,UAAUgC,UAAYD,EAAKE,MAChC3H,KAAK0F,UAAUkC,eAAiBH,EAAKI,KAErC7H,KAAKgG,OAGP4C,EAAAhJ,UAAAoG,IAAA,WAAA,IAAAxB,EAAAxE,KACEA,KAAK4F,SAAU,EACf5F,KAAKwF,MACFnB,SAAS,IAAI5C,EAASzB,KAAK0F,YAC3BzB,KAAK6D,EAAAA,SAAQ,WAAO,OAACtD,EAAKoB,SAAU,KACpCqB,iCAnJNc,EAAAA,UAAS5E,KAAA,CAAC,CACT6E,SAAU,YACVC,SAAA,47PAnBOC,EAAAA,2BAE4BC,EAAAA,mBACpBC,EAAAA,+CAyBdC,EAAAA,UAASlF,KAAA,CAAC,eAAgB,CAAEmF,QAAQ,OALrCvD,EAAAA,CADCwD,EAAAA,OAAOjF,EAAcV,0BACf4F,EAAAA,yCAGPzD,EAAAA,CADCwD,EAAAA,OAAOjF,EAAcQ,oCACT0E,EAAAA,+CA4IfI,KCvKAuB,EAAA,WASE,SAAAA,EAAoB3E,GAAAxF,KAAAwF,MAAAA,EAMtB,OAJE2E,EAAAvK,UAAA8I,QAAA,eACQ7E,EAAQ7D,KAAKwF,MAAMmD,eAAerF,EAAcV,UACtD,OAAOiB,GAASA,EAAMnE,OAAS,KAAOM,KAAKwF,MAAMnB,SAAS,IAAI5C,wBANjEyB,EAAAA,sDALQkF,EAAAA,SAaT+B,EAfA,GCQMC,EAAiB,CACrB,CAAEC,KAAM,GAAIC,WAAY,QAASC,UAAW,QAC5C,CACEF,KAAM,QACNG,UAAWC,EAAAA,uBACXC,YAAa,CAACC,EAAAA,UAAWC,EAAAA,iBACzBnD,KAAM,CAAEoD,eAAgB,qBACxBC,SAAU,CAAC,CAAET,KAAM,GAAIG,UAAWnF,EAAgBqD,QAAS,CAACD,MAE9D,CACE4B,KAAM,QACNG,UAAWC,EAAAA,uBACXC,YAAa,CAACC,EAAAA,UAAWC,EAAAA,iBACzBnD,KAAM,CAAEoD,eAAgB,qBACxBC,SAAU,CACR,CACET,KAAM,GACNG,UAAW5B,EACXF,QAAS,CAACD,EAAc0B,OAMhCY,EAAA,WAAA,SAAAA,KAKoC,2BALnCC,EAAAA,SAAQ7H,KAAA,CAAC,CACR8H,QAAS,CAACC,EAAAA,aAAaC,SAASf,IAChCgB,QAAS,CAACF,EAAAA,cACVG,UAAW,CAAC5C,EAAc0B,OAEQY,EALpC,GChCAO,EAAA,WAcA,SAAAA,KAe6B,2BAf5BN,EAAAA,SAAQ7H,KAAA,CAAC,CACRoI,aAAc,CAAClG,EAAgBuD,GAC/BqC,QAAS,CACPO,EAAAA,WAAWC,WAAW,CAACnI,IACvBoI,EAAAA,WACAX,EACAY,EAAAA,gBACAC,EAAAA,kBACAC,EAAAA,YACAC,EAAAA,kBACAC,EAAAA,2BACAC,EAAAA,sBACAC,EAAAA,4BAGyBX,EA7B7B,IREA,SAAiBrK,WACf,+BAUA,wBAMA,wBAQA,oBASA,+BAUA,aA5CF,CAAiBA,IAAAA,EAAQ,8JSAG,CAC1B,CACEkE,KAAM,uCACNkF,KAAM,GACN6B,MAAO,EACPC,SAAS,GAEX,CACEhH,KAAM,uCACNkF,KAAM,WACN6B,MAAO,EACPE,WAAY,uCACZC,OAAM,cACNC,UAAW,kBACXxB,SAAU,CACR,CAAET,KAAM,QAASlF,KAAM,qBAAsB+G,MAAO,EAAGrB,eAAgB,qBACvE,CAAER,KAAM,QAASlF,KAAM,qBAAsB+G,MAAO,EAAGrB,eAAgB","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","import { Identity } from '../models/identity';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetRoles {\n static readonly type = '[Identity] Get Roles';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetRoleById {\n static readonly type = '[Identity] Get Role By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteRole {\n static readonly type = '[Identity] Delete Role';\n constructor(public payload: string) {}\n}\n\nexport class CreateRole {\n static readonly type = '[Identity] Create Role';\n constructor(public payload: Identity.RoleSaveRequest) {}\n}\n\nexport class UpdateRole {\n static readonly type = '[Identity] Update Role';\n constructor(public payload: Identity.RoleItem) {}\n}\n\nexport class GetUsers {\n static readonly type = '[Identity] Get Users';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetUserById {\n static readonly type = '[Identity] Get User By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteUser {\n static readonly type = '[Identity] Delete User';\n constructor(public payload: string) {}\n}\n\nexport class CreateUser {\n static readonly type = '[Identity] Create User';\n constructor(public payload: Identity.UserSaveRequest) {}\n}\n\nexport class UpdateUser {\n static readonly type = '[Identity] Update User';\n constructor(public payload: Identity.UserSaveRequest & { id: string }) {}\n}\n\nexport class GetUserRoles {\n static readonly type = '[Identity] Get User Roles';\n constructor(public payload: string) {}\n}\n","import { ABP } from '@abp/ng.core';\n\nexport namespace Identity {\n export interface State {\n roles: RoleResponse;\n users: UserResponse;\n selectedRole: RoleItem;\n selectedUser: UserItem;\n selectedUserRoles: RoleItem[];\n }\n\n export type RoleResponse = ABP.PagedResponse;\n\n export interface RoleSaveRequest {\n name: string;\n isDefault: boolean;\n isPublic: boolean;\n }\n\n export interface RoleItem extends RoleSaveRequest {\n isStatic: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export type UserResponse = ABP.PagedResponse;\n\n export interface UserItem extends User {\n tenantId: string;\n emailConfirmed: boolean;\n phoneNumberConfirmed: boolean;\n isLockedOut: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export interface User {\n userName: string;\n name: string;\n surname: string;\n email: string;\n phoneNumber: string;\n twoFactorEnabled: true;\n lockoutEnabled: true;\n }\n\n export interface UserSaveRequest extends User {\n password: string;\n roleNames: string[];\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { Identity } from '../models/identity';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IdentityService {\n constructor(private rest: RestService) {}\n\n getRoles(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/roles',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getRoleById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteRole(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createRole(body: Identity.RoleSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/roles',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateRole(body: Identity.RoleItem): Observable {\n const url = `/api/identity/roles/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getUsers(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/users',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getUserById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n getUserRoles(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}/roles`,\n };\n\n return this.rest.request(request);\n }\n\n deleteUser(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createUser(body: Identity.UserSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/users',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateUser(body: Identity.UserItem): Observable {\n const url = `/api/identity/users/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap, pluck } from 'rxjs/operators';\nimport {\n CreateRole,\n CreateUser,\n DeleteRole,\n DeleteUser,\n GetRoleById,\n GetRoles,\n GetUserById,\n GetUsers,\n UpdateRole,\n UpdateUser,\n GetUserRoles,\n} from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityService } from '../services/identity.service';\n\n@State({\n name: 'IdentityState',\n defaults: { roles: {}, selectedRole: {}, users: {}, selectedUser: {} } as Identity.State,\n})\nexport class IdentityState {\n @Selector()\n static getRoles({ roles }: Identity.State): Identity.RoleItem[] {\n return roles.items;\n }\n\n @Selector()\n static getRolesTotalCount({ roles }: Identity.State): number {\n return roles.totalCount;\n }\n\n @Selector()\n static getUsers({ users }: Identity.State): Identity.UserItem[] {\n return users.items;\n }\n\n @Selector()\n static getUsersTotalCount({ users }: Identity.State): number {\n return users.totalCount;\n }\n\n constructor(private identityService: IdentityService) {}\n\n @Action(GetRoles)\n getRoles({ patchState }: StateContext, { payload }: GetRoles) {\n return this.identityService.getRoles(payload).pipe(\n tap(roles =>\n patchState({\n roles,\n }),\n ),\n );\n }\n\n @Action(GetRoleById)\n getRole({ patchState }: StateContext, { payload }: GetRoleById) {\n return this.identityService.getRoleById(payload).pipe(\n tap(selectedRole =>\n patchState({\n selectedRole,\n }),\n ),\n );\n }\n\n @Action(DeleteRole)\n deleteRole({ dispatch }: StateContext, { payload }: GetRoleById) {\n return this.identityService.deleteRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(CreateRole)\n addRole({ dispatch }: StateContext, { payload }: CreateRole) {\n return this.identityService.createRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(UpdateRole)\n updateRole({ getState, dispatch }: StateContext, { payload }: UpdateRole) {\n return dispatch(new GetRoleById(payload.id)).pipe(\n switchMap(() => this.identityService.updateRole({ ...getState().selectedRole, ...payload })),\n switchMap(() => dispatch(new GetRoles())),\n );\n }\n\n @Action(GetUsers)\n getUsers({ patchState }: StateContext, { payload }: GetUsers) {\n return this.identityService.getUsers(payload).pipe(\n tap(users =>\n patchState({\n users,\n }),\n ),\n );\n }\n\n @Action(GetUserById)\n getUser({ patchState }: StateContext, { payload }: GetUserById) {\n return this.identityService.getUserById(payload).pipe(\n tap(selectedUser =>\n patchState({\n selectedUser,\n }),\n ),\n );\n }\n\n @Action(DeleteUser)\n deleteUser({ dispatch }: StateContext, { payload }: GetUserById) {\n return this.identityService.deleteUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(CreateUser)\n addUser({ dispatch }: StateContext, { payload }: CreateUser) {\n return this.identityService.createUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(UpdateUser)\n updateUser({ getState, dispatch }: StateContext, { payload }: UpdateUser) {\n return dispatch(new GetUserById(payload.id)).pipe(\n switchMap(() => this.identityService.updateUser({ ...getState().selectedUser, ...payload })),\n switchMap(() => dispatch(new GetUsers())),\n );\n }\n\n @Action(GetUserRoles)\n getUserRoles({ patchState }: StateContext, { payload }: GetUserRoles) {\n return this.identityService.getUserRoles(payload).pipe(\n pluck('items'),\n tap(selectedUserRoles =>\n patchState({\n selectedUserRoles,\n }),\n ),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck } from 'rxjs/operators';\nimport { CreateRole, DeleteRole, GetRoleById, GetRoles, UpdateRole } from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n\n@Component({\n selector: 'abp-roles',\n templateUrl: './roles.component.html',\n})\nexport class RolesComponent {\n @Select(IdentityState.getRoles)\n data$: Observable;\n\n @Select(IdentityState.getRolesTotalCount)\n totalCount$: Observable;\n\n form: FormGroup;\n\n selected: Identity.RoleItem;\n\n isModalVisible: boolean;\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n createForm() {\n this.form = this.fb.group({\n name: new FormControl({ value: this.selected.name || '', disabled: this.selected.isStatic }, [\n Validators.required,\n Validators.maxLength(256),\n ]),\n isDefault: [this.selected.isDefault || false],\n isPublic: [this.selected.isPublic || false],\n });\n }\n\n openModal() {\n this.createForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.RoleItem;\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetRoleById(id))\n .pipe(pluck('IdentityState', 'selectedRole'))\n .subscribe(selectedRole => {\n this.selected = selectedRole;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateRole({ ...this.form.value, id: this.selected.id })\n : new CreateRole(this.form.value),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpIdentity::RoleDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteRole(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetRoles(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetRoles } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class RoleResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const roles = this.store.selectSnapshot(IdentityState.getRoles);\n return roles && roles.length ? null : this.store.dispatch(new GetRoles());\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, TrackByFunction, ViewChild } from '@angular/core';\nimport { AbstractControl, FormArray, FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport {\n CreateUser,\n DeleteUser,\n GetUserById,\n GetUserRoles,\n GetUsers,\n UpdateUser,\n} from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n@Component({\n selector: 'abp-users',\n templateUrl: './users.component.html',\n})\nexport class UsersComponent {\n @Select(IdentityState.getUsers)\n data$: Observable;\n\n @Select(IdentityState.getUsersTotalCount)\n totalCount$: Observable;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n selected: Identity.UserItem;\n\n selectedUserRoles: Identity.RoleItem[];\n\n roles: Identity.RoleItem[];\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'userName',\n };\n\n isModalVisible: boolean;\n\n loading: boolean = false;\n\n trackByFn: TrackByFunction = (index, item) => Object.keys(item)[0] || index;\n\n get roleGroups(): FormGroup[] {\n return snq(() => (this.form.get('roleNames') as FormArray).controls as FormGroup[], []);\n }\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n buildForm() {\n this.roles = this.store.selectSnapshot(IdentityState.getRoles);\n this.form = this.fb.group({\n userName: [this.selected.userName || '', [Validators.required, Validators.maxLength(256)]],\n email: [this.selected.email || '', [Validators.required, Validators.email, Validators.maxLength(256)]],\n name: [this.selected.name || '', [Validators.maxLength(64)]],\n surname: [this.selected.surname || '', [Validators.maxLength(64)]],\n phoneNumber: [this.selected.phoneNumber || '', [Validators.maxLength(16)]],\n lockoutEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n twoFactorEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n roleNames: this.fb.array(\n this.roles.map(role =>\n this.fb.group({\n [role.name]: [!!snq(() => this.selectedUserRoles.find(userRole => userRole.id === role.id))],\n }),\n ),\n ),\n });\n if (!this.selected.userName) {\n this.form.addControl('password', new FormControl('', [Validators.required, Validators.maxLength(32)]));\n }\n }\n\n openModal() {\n this.buildForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.UserItem;\n this.selectedUserRoles = [] as Identity.RoleItem[];\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetUserById(id))\n .pipe(\n switchMap(() => this.store.dispatch(new GetUserRoles(id))),\n pluck('IdentityState'),\n take(1),\n )\n .subscribe((state: Identity.State) => {\n this.selected = state.selectedUser;\n this.selectedUserRoles = state.selectedUserRoles;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n\n const { roleNames } = this.form.value;\n const mappedRoleNames = snq(\n () => roleNames.filter(role => !!role[Object.keys(role)[0]]).map(role => Object.keys(role)[0]),\n [],\n );\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateUser({\n ...this.form.value,\n id: this.selected.id,\n roleNames: mappedRoleNames,\n })\n : new CreateUser({\n ...this.form.value,\n roleNames: mappedRoleNames,\n }),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, userName: string) {\n this.confirmationService\n .warn('AbpIdentity::UserDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [userName],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteUser(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetUsers(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetUsers } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class UserResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const users = this.store.selectSnapshot(IdentityState.getUsers);\n return users && users.length ? null : this.store.dispatch(new GetUsers());\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { RoleResolver } from './resolvers/roles.resolver';\nimport { DynamicLayoutComponent, AuthGuard, PermissionGuard } from '@abp/ng.core';\nimport { UsersComponent } from './components/users/users.component';\nimport { UserResolver } from './resolvers/users.resolver';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'roles', pathMatch: 'full' },\n {\n path: 'roles',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Roles' },\n children: [{ path: '', component: RolesComponent, resolve: [RoleResolver] }],\n },\n {\n path: 'users',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Users' },\n children: [\n {\n path: '',\n component: UsersComponent,\n resolve: [RoleResolver, UserResolver],\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [RoleResolver, UserResolver],\n})\nexport class IdentityRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { IdentityRoutingModule } from './identity-routing.module';\nimport { IdentityState } from './states/identity.state';\nimport { NgbTabsetModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { UsersComponent } from './components/users/users.component';\nimport { PermissionManagementModule } from '@abp/ng.permission-management';\nimport { TableModule } from 'primeng/table';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [RolesComponent, UsersComponent],\n imports: [\n NgxsModule.forFeature([IdentityState]),\n CoreModule,\n IdentityRoutingModule,\n NgbTabsetModule,\n ThemeSharedModule,\n TableModule,\n NgbDropdownModule,\n PermissionManagementModule,\n NgxValidateCoreModule,\n PerfectScrollbarModule,\n ],\n})\nexport class IdentityModule {}\n","import { eLayoutType, ABP } from '@abp/ng.core';\n\nexport const IDENTITY_ROUTES = [\n {\n name: 'AbpUiNavigation::Menu:Administration',\n path: '',\n order: 1,\n wrapper: true,\n },\n {\n name: 'AbpIdentity::Menu:IdentityManagement',\n path: 'identity',\n order: 1,\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-id-card-o',\n children: [\n { path: 'roles', name: 'AbpIdentity::Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' },\n { path: 'users', name: 'AbpIdentity::Users', order: 1, requiredPolicy: 'AbpIdentity.Users' },\n ],\n },\n] as ABP.FullRoute[];\n"]} \ No newline at end of file +{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.identity/lib/actions/identity.actions.ts","ng://@abp/ng.identity/lib/services/identity.service.ts","ng://@abp/ng.identity/lib/states/identity.state.ts","ng://@abp/ng.identity/lib/components/roles/roles.component.ts","ng://@abp/ng.identity/lib/resolvers/roles.resolver.ts","ng://@abp/ng.identity/lib/components/users/users.component.ts","ng://@abp/ng.identity/lib/resolvers/users.resolver.ts","ng://@abp/ng.identity/lib/identity-routing.module.ts","ng://@abp/ng.identity/lib/models/identity.ts","ng://@abp/ng.identity/lib/identity.module.ts","ng://@abp/ng.identity/lib/constants/routes.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__metadata","metadataKey","metadataValue","metadata","GetRoles","payload","type","GetRoleById","DeleteRole","CreateRole","UpdateRole","GetUsers","GetUserById","DeleteUser","CreateUser","UpdateUser","GetUserRoles","IdentityService","rest","getRoles","params","request","method","url","getRoleById","id","deleteRole","createRole","body","updateRole","getUsers","getUserById","getUserRoles","deleteUser","createUser","updateUser","Injectable","args","providedIn","RestService","IdentityState","identityService","_a","roles","items","getRolesTotalCount","totalCount","users","getUsersTotalCount","_b","patchState","pipe","tap","getRole","selectedRole","dispatch","switchMap","addRole","_this","getState","getUser","selectedUser","addUser","pluck","selectedUserRoles","tslib_1.__decorate","Action","Selector","State","name","defaults","RolesComponent","confirmationService","fb","store","visiblePermissions","pageQuery","sorting","loading","modalBusy","onSearch","value","filter","get","createForm","form","group","FormControl","selected","disabled","isStatic","Validators","required","maxLength","isDefault","isPublic","openModal","isModalVisible","onAdd","onEdit","subscribe","save","valid","delete","warn","messageLocalizationParams","status","onPageChange","data","skipCount","first","maxResultCount","rows","finalize","Component","selector","template","ConfirmationService","FormBuilder","Store","ViewChild","static","Select","Observable","RoleResolver","resolve","selectSnapshot","UsersComponent","trackByFn","index","item","keys","snq","buildForm","userName","email","surname","phoneNumber","lockoutEnabled","twoFactorEnabled","roleNames","array","map","role","find","userRole","addControl","take","state","mappedRoleNames","UserResolver","Identity","routes","path","redirectTo","pathMatch","component","DynamicLayoutComponent","canActivate","AuthGuard","PermissionGuard","requiredPolicy","children","IdentityRoutingModule","NgModule","imports","RouterModule","forChild","exports","providers","IdentityModule","declarations","NgxsModule","forFeature","CoreModule","NgbTabsetModule","ThemeSharedModule","TableModule","NgbDropdownModule","PermissionManagementModule","NgxValidateCoreModule","PerfectScrollbarModule","RoleSaveRequest","RoleItem","UserItem","User","UserSaveRequest","order","wrapper","parentName","layout","iconClass"],"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","import { Identity } from '../models/identity';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetRoles {\n static readonly type = '[Identity] Get Roles';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetRoleById {\n static readonly type = '[Identity] Get Role By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteRole {\n static readonly type = '[Identity] Delete Role';\n constructor(public payload: string) {}\n}\n\nexport class CreateRole {\n static readonly type = '[Identity] Create Role';\n constructor(public payload: Identity.RoleSaveRequest) {}\n}\n\nexport class UpdateRole {\n static readonly type = '[Identity] Update Role';\n constructor(public payload: Identity.RoleItem) {}\n}\n\nexport class GetUsers {\n static readonly type = '[Identity] Get Users';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetUserById {\n static readonly type = '[Identity] Get User By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteUser {\n static readonly type = '[Identity] Delete User';\n constructor(public payload: string) {}\n}\n\nexport class CreateUser {\n static readonly type = '[Identity] Create User';\n constructor(public payload: Identity.UserSaveRequest) {}\n}\n\nexport class UpdateUser {\n static readonly type = '[Identity] Update User';\n constructor(public payload: Identity.UserSaveRequest & { id: string }) {}\n}\n\nexport class GetUserRoles {\n static readonly type = '[Identity] Get User Roles';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { Identity } from '../models/identity';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IdentityService {\n constructor(private rest: RestService) {}\n\n getRoles(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/roles',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getRoleById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteRole(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createRole(body: Identity.RoleSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/roles',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateRole(body: Identity.RoleItem): Observable {\n const url = `/api/identity/roles/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getUsers(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/users',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getUserById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n getUserRoles(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}/roles`,\n };\n\n return this.rest.request(request);\n }\n\n deleteUser(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createUser(body: Identity.UserSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/users',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateUser(body: Identity.UserItem): Observable {\n const url = `/api/identity/users/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap, pluck } from 'rxjs/operators';\nimport {\n CreateRole,\n CreateUser,\n DeleteRole,\n DeleteUser,\n GetRoleById,\n GetRoles,\n GetUserById,\n GetUsers,\n UpdateRole,\n UpdateUser,\n GetUserRoles,\n} from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityService } from '../services/identity.service';\n\n@State({\n name: 'IdentityState',\n defaults: { roles: {}, selectedRole: {}, users: {}, selectedUser: {} } as Identity.State,\n})\nexport class IdentityState {\n @Selector()\n static getRoles({ roles }: Identity.State): Identity.RoleItem[] {\n return roles.items;\n }\n\n @Selector()\n static getRolesTotalCount({ roles }: Identity.State): number {\n return roles.totalCount;\n }\n\n @Selector()\n static getUsers({ users }: Identity.State): Identity.UserItem[] {\n return users.items;\n }\n\n @Selector()\n static getUsersTotalCount({ users }: Identity.State): number {\n return users.totalCount;\n }\n\n constructor(private identityService: IdentityService) {}\n\n @Action(GetRoles)\n getRoles({ patchState }: StateContext, { payload }: GetRoles) {\n return this.identityService.getRoles(payload).pipe(\n tap(roles =>\n patchState({\n roles,\n }),\n ),\n );\n }\n\n @Action(GetRoleById)\n getRole({ patchState }: StateContext, { payload }: GetRoleById) {\n return this.identityService.getRoleById(payload).pipe(\n tap(selectedRole =>\n patchState({\n selectedRole,\n }),\n ),\n );\n }\n\n @Action(DeleteRole)\n deleteRole({ dispatch }: StateContext, { payload }: GetRoleById) {\n return this.identityService.deleteRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(CreateRole)\n addRole({ dispatch }: StateContext, { payload }: CreateRole) {\n return this.identityService.createRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(UpdateRole)\n updateRole({ getState, dispatch }: StateContext, { payload }: UpdateRole) {\n return dispatch(new GetRoleById(payload.id)).pipe(\n switchMap(() => this.identityService.updateRole({ ...getState().selectedRole, ...payload })),\n switchMap(() => dispatch(new GetRoles())),\n );\n }\n\n @Action(GetUsers)\n getUsers({ patchState }: StateContext, { payload }: GetUsers) {\n return this.identityService.getUsers(payload).pipe(\n tap(users =>\n patchState({\n users,\n }),\n ),\n );\n }\n\n @Action(GetUserById)\n getUser({ patchState }: StateContext, { payload }: GetUserById) {\n return this.identityService.getUserById(payload).pipe(\n tap(selectedUser =>\n patchState({\n selectedUser,\n }),\n ),\n );\n }\n\n @Action(DeleteUser)\n deleteUser({ dispatch }: StateContext, { payload }: GetUserById) {\n return this.identityService.deleteUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(CreateUser)\n addUser({ dispatch }: StateContext, { payload }: CreateUser) {\n return this.identityService.createUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(UpdateUser)\n updateUser({ getState, dispatch }: StateContext, { payload }: UpdateUser) {\n return dispatch(new GetUserById(payload.id)).pipe(\n switchMap(() => this.identityService.updateUser({ ...getState().selectedUser, ...payload })),\n switchMap(() => dispatch(new GetUsers())),\n );\n }\n\n @Action(GetUserRoles)\n getUserRoles({ patchState }: StateContext, { payload }: GetUserRoles) {\n return this.identityService.getUserRoles(payload).pipe(\n pluck('items'),\n tap(selectedUserRoles =>\n patchState({\n selectedUserRoles,\n }),\n ),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck } from 'rxjs/operators';\nimport { CreateRole, DeleteRole, GetRoleById, GetRoles, UpdateRole } from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n\n@Component({\n selector: 'abp-roles',\n templateUrl: './roles.component.html',\n})\nexport class RolesComponent {\n @Select(IdentityState.getRoles)\n data$: Observable;\n\n @Select(IdentityState.getRolesTotalCount)\n totalCount$: Observable;\n\n form: FormGroup;\n\n selected: Identity.RoleItem;\n\n isModalVisible: boolean;\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n createForm() {\n this.form = this.fb.group({\n name: new FormControl({ value: this.selected.name || '', disabled: this.selected.isStatic }, [\n Validators.required,\n Validators.maxLength(256),\n ]),\n isDefault: [this.selected.isDefault || false],\n isPublic: [this.selected.isPublic || false],\n });\n }\n\n openModal() {\n this.createForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.RoleItem;\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetRoleById(id))\n .pipe(pluck('IdentityState', 'selectedRole'))\n .subscribe(selectedRole => {\n this.selected = selectedRole;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateRole({ ...this.form.value, id: this.selected.id })\n : new CreateRole(this.form.value),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpIdentity::RoleDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteRole(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetRoles(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetRoles } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class RoleResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const roles = this.store.selectSnapshot(IdentityState.getRoles);\n return roles && roles.length ? null : this.store.dispatch(new GetRoles());\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, TrackByFunction, ViewChild } from '@angular/core';\nimport { AbstractControl, FormArray, FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport {\n CreateUser,\n DeleteUser,\n GetUserById,\n GetUserRoles,\n GetUsers,\n UpdateUser,\n} from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n@Component({\n selector: 'abp-users',\n templateUrl: './users.component.html',\n})\nexport class UsersComponent {\n @Select(IdentityState.getUsers)\n data$: Observable;\n\n @Select(IdentityState.getUsersTotalCount)\n totalCount$: Observable;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n selected: Identity.UserItem;\n\n selectedUserRoles: Identity.RoleItem[];\n\n roles: Identity.RoleItem[];\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'userName',\n };\n\n isModalVisible: boolean;\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n trackByFn: TrackByFunction = (index, item) => Object.keys(item)[0] || index;\n\n get roleGroups(): FormGroup[] {\n return snq(() => (this.form.get('roleNames') as FormArray).controls as FormGroup[], []);\n }\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n buildForm() {\n this.roles = this.store.selectSnapshot(IdentityState.getRoles);\n this.form = this.fb.group({\n userName: [this.selected.userName || '', [Validators.required, Validators.maxLength(256)]],\n email: [this.selected.email || '', [Validators.required, Validators.email, Validators.maxLength(256)]],\n name: [this.selected.name || '', [Validators.maxLength(64)]],\n surname: [this.selected.surname || '', [Validators.maxLength(64)]],\n phoneNumber: [this.selected.phoneNumber || '', [Validators.maxLength(16)]],\n lockoutEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n twoFactorEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n roleNames: this.fb.array(\n this.roles.map(role =>\n this.fb.group({\n [role.name]: [!!snq(() => this.selectedUserRoles.find(userRole => userRole.id === role.id))],\n }),\n ),\n ),\n });\n if (!this.selected.userName) {\n this.form.addControl('password', new FormControl('', [Validators.required, Validators.maxLength(32)]));\n }\n }\n\n openModal() {\n this.buildForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.UserItem;\n this.selectedUserRoles = [] as Identity.RoleItem[];\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetUserById(id))\n .pipe(\n switchMap(() => this.store.dispatch(new GetUserRoles(id))),\n pluck('IdentityState'),\n take(1),\n )\n .subscribe((state: Identity.State) => {\n this.selected = state.selectedUser;\n this.selectedUserRoles = state.selectedUserRoles;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n this.modalBusy = true;\n\n const { roleNames } = this.form.value;\n const mappedRoleNames = snq(\n () => roleNames.filter(role => !!role[Object.keys(role)[0]]).map(role => Object.keys(role)[0]),\n [],\n );\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateUser({\n ...this.form.value,\n id: this.selected.id,\n roleNames: mappedRoleNames,\n })\n : new CreateUser({\n ...this.form.value,\n roleNames: mappedRoleNames,\n }),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, userName: string) {\n this.confirmationService\n .warn('AbpIdentity::UserDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [userName],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteUser(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetUsers(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetUsers } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class UserResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const users = this.store.selectSnapshot(IdentityState.getUsers);\n return users && users.length ? null : this.store.dispatch(new GetUsers());\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { RoleResolver } from './resolvers/roles.resolver';\nimport { DynamicLayoutComponent, AuthGuard, PermissionGuard } from '@abp/ng.core';\nimport { UsersComponent } from './components/users/users.component';\nimport { UserResolver } from './resolvers/users.resolver';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'roles', pathMatch: 'full' },\n {\n path: 'roles',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Roles' },\n children: [{ path: '', component: RolesComponent, resolve: [RoleResolver] }],\n },\n {\n path: 'users',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Users' },\n children: [\n {\n path: '',\n component: UsersComponent,\n resolve: [RoleResolver, UserResolver],\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [RoleResolver, UserResolver],\n})\nexport class IdentityRoutingModule {}\n","import { ABP } from '@abp/ng.core';\n\nexport namespace Identity {\n export interface State {\n roles: RoleResponse;\n users: UserResponse;\n selectedRole: RoleItem;\n selectedUser: UserItem;\n selectedUserRoles: RoleItem[];\n }\n\n export type RoleResponse = ABP.PagedResponse;\n\n export interface RoleSaveRequest {\n name: string;\n isDefault: boolean;\n isPublic: boolean;\n }\n\n export interface RoleItem extends RoleSaveRequest {\n isStatic: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export type UserResponse = ABP.PagedResponse;\n\n export interface UserItem extends User {\n tenantId: string;\n emailConfirmed: boolean;\n phoneNumberConfirmed: boolean;\n isLockedOut: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export interface User {\n userName: string;\n name: string;\n surname: string;\n email: string;\n phoneNumber: string;\n twoFactorEnabled: true;\n lockoutEnabled: true;\n }\n\n export interface UserSaveRequest extends User {\n password: string;\n roleNames: string[];\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { IdentityRoutingModule } from './identity-routing.module';\nimport { IdentityState } from './states/identity.state';\nimport { NgbTabsetModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { UsersComponent } from './components/users/users.component';\nimport { PermissionManagementModule } from '@abp/ng.permission-management';\nimport { TableModule } from 'primeng/table';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [RolesComponent, UsersComponent],\n imports: [\n NgxsModule.forFeature([IdentityState]),\n CoreModule,\n IdentityRoutingModule,\n NgbTabsetModule,\n ThemeSharedModule,\n TableModule,\n NgbDropdownModule,\n PermissionManagementModule,\n NgxValidateCoreModule,\n PerfectScrollbarModule,\n ],\n})\nexport class IdentityModule {}\n","import { eLayoutType, ABP } from '@abp/ng.core';\n\nexport const IDENTITY_ROUTES = [\n {\n name: 'AbpUiNavigation::Menu:Administration',\n path: '',\n order: 1,\n wrapper: true,\n },\n {\n name: 'AbpIdentity::Menu:IdentityManagement',\n path: 'identity',\n order: 1,\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-id-card-o',\n children: [\n { path: 'roles', name: 'AbpIdentity::Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' },\n { path: 'users', name: 'AbpIdentity::Users', order: 1, requiredPolicy: 'AbpIdentity.Users' },\n ],\n },\n] as ABP.FullRoute[];\n"]} \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/esm2015/lib/components/roles/roles.component.js b/npm/ng-packs/dist/identity/esm2015/lib/components/roles/roles.component.js index e40a2751e5..890edde843 100644 --- a/npm/ng-packs/dist/identity/esm2015/lib/components/roles/roles.component.js +++ b/npm/ng-packs/dist/identity/esm2015/lib/components/roles/roles.component.js @@ -26,6 +26,7 @@ export class RolesComponent { sorting: 'name', }; this.loading = false; + this.modalBusy = false; } /** * @param {?} value @@ -85,6 +86,7 @@ export class RolesComponent { save() { if (!this.form.valid) return; + this.modalBusy = true; this.store .dispatch(this.selected.id ? new UpdateRole(Object.assign({}, this.form.value, { id: this.selected.id })) @@ -93,6 +95,7 @@ export class RolesComponent { * @return {?} */ () => { + this.modalBusy = false; this.isModalVisible = false; })); } @@ -142,7 +145,7 @@ export class RolesComponent { RolesComponent.decorators = [ { type: Component, args: [{ selector: 'abp-roles', - template: "
\n
\n
\n
\n
{{ 'AbpIdentity::Roles' | abpLocalization }}
\n
\n
\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::RoleName' | abpLocalization }}\n \n \n \n \n \n
\n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
\n \n \n \n
\n
\n \n {{ data.name }}\n \n
\n \n
\n
\n\n\n \n

{{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewRole') | abpLocalization }}

\n
\n\n \n
\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n
\n
\n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
\n\n\n" + template: "
\n
\n
\n
\n
{{ 'AbpIdentity::Roles' | abpLocalization }}
\n
\n
\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::RoleName' | abpLocalization }}\n \n \n \n \n \n
\n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
\n \n \n \n
\n
\n \n {{ data.name }}\n \n
\n \n
\n
\n\n\n \n

{{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewRole') | abpLocalization }}

\n
\n\n \n
\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n
\n
\n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
\n\n\n" }] } ]; /** @nocollapse */ @@ -182,6 +185,8 @@ if (false) { /** @type {?} */ RolesComponent.prototype.loading; /** @type {?} */ + RolesComponent.prototype.modalBusy; + /** @type {?} */ RolesComponent.prototype.modalContent; /** * @type {?} @@ -199,4 +204,4 @@ if (false) { */ RolesComponent.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5pZGVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3JvbGVzL3JvbGVzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUUzRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFNNUQsTUFBTSxPQUFPLGNBQWM7Ozs7OztJQTBCekIsWUFBb0IsbUJBQXdDLEVBQVUsRUFBZSxFQUFVLEtBQVk7UUFBdkYsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUFVLE9BQUUsR0FBRixFQUFFLENBQWE7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBYjNHLHVCQUFrQixHQUFZLEtBQUssQ0FBQztRQUlwQyxjQUFTLEdBQXdCO1lBQy9CLE9BQU8sRUFBRSxNQUFNO1NBQ2hCLENBQUM7UUFFRixZQUFPLEdBQVksS0FBSyxDQUFDO0lBS3FGLENBQUM7Ozs7O0lBRS9HLFFBQVEsQ0FBQyxLQUFLO1FBQ1osSUFBSSxDQUFD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Q0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNiLENBQUM7Ozs7SUFFRCxHQUFHO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLEtBQUs7YUFDUCxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3RDLElBQUksQ0FBQyxRQUFROzs7UUFBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLEVBQUMsQ0FBQzthQUM1QyxTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDOzs7WUEzR0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxXQUFXO2dCQUNyQixpNElBQXFDO2FBQ3RDOzs7O1lBYlEsbUJBQW1CO1lBRW5CLFdBQVc7WUFDSCxLQUFLOzs7MkJBa0NuQixTQUFTLFNBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTs7QUFyQjVDO0lBREMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUM7c0NBQ3hCLFVBQVU7NkNBQXNCO0FBR3ZDO0lBREMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQztzQ0FDNUIsVUFBVTttREFBUzs7O0lBSmhDLCtCQUN1Qzs7SUFFdkMscUNBQ2dDOztJQUVoQyw4QkFBZ0I7O0lBRWhCLGtDQUE0Qjs7SUFFNUIsd0NBQXdCOztJQUV4Qiw0Q0FBb0M7O0lBRXBDLHFDQUFvQjs7SUFFcEIsbUNBRUU7O0lBRUYsaUNBQXlCOztJQUV6QixzQ0FDK0I7Ozs7O0lBRW5CLDZDQUFnRDs7Ozs7SUFBRSw0QkFBdUI7Ozs7O0lBQUUsK0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQUJQIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UsIFRvYXN0ZXIgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XG5pbXBvcnQgeyBDb21wb25lbnQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMsIEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbmFsaXplLCBwbHVjayB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENyZWF0ZVJvbGUsIERlbGV0ZVJvbGUsIEdldFJvbGVCeUlkLCBHZXRSb2xlcywgVXBkYXRlUm9sZSB9IGZyb20gJy4uLy4uL2FjdGlvbnMvaWRlbnRpdHkuYWN0aW9ucyc7XG5pbXBvcnQgeyBJZGVudGl0eSB9IGZyb20gJy4uLy4uL21vZGVscy9pZGVudGl0eSc7XG5pbXBvcnQgeyBJZGVudGl0eVN0YXRlIH0gZnJvbSAnLi4vLi4vc3RhdGVzL2lkZW50aXR5LnN0YXRlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLXJvbGVzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JvbGVzLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgUm9sZXNDb21wb25lbnQge1xuICBAU2VsZWN0KElkZW50aXR5U3RhdGUuZ2V0Um9sZXMpXG4gIGRhdGEkOiBPYnNlcnZhYmxlPElkZW50aXR5LlJvbGVJdGVtW10+O1xuXG4gIEBTZWxlY3QoSWRlbnRpdHlTdGF0ZS5nZXRSb2xlc1RvdGFsQ291bnQpXG4gIHRvdGFsQ291bnQkOiBPYnNlcnZhYmxlPG51bWJlcj47XG5cbiAgZm9ybTogRm9ybUdyb3VwO1xuXG4gIHNlbGVjdGVkOiBJZGVudGl0eS5Sb2xlSXRlbTtcblxuICBpc01vZGFsVmlzaWJsZTogYm9vbGVhbjtcblxuICB2aXNpYmxlUGVybWlzc2lvbnM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcm92aWRlcktleTogc3RyaW5nO1xuXG4gIHBhZ2VRdWVyeTogQUJQLlBhZ2VRdWVyeVBhcmFtcyA9IHtcbiAgICBzb3J0aW5nOiAnbmFtZScsXG4gIH07XG5cbiAgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoJ21vZGFsQ29udGVudCcsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBtb2RhbENvbnRlbnQ6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlLCBwcml2YXRlIGZiOiBGb3JtQnVpbGRlciwgcHJpdmF0ZSBzdG9yZTogU3RvcmUpIHt9XG5cbiAgb25TZWFyY2godmFsdWUpIHtcbiAgICB0aGlzLnBhZ2VRdWVyeS5maWx0ZXIgPSB2YWx1ZTtcbiAgICB0aGlzLmdldCgpO1xuICB9XG5cbiAgY3JlYXRlRm9ybSgpIHtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIG5hbWU6IG5ldyBGb3JtQ29udHJvbCh7IHZhbHVlOiB0aGlzLnNlbGVjdGVkLm5hbWUgfHwgJycsIGRpc2FibGVkOiB0aGlzLnNlbGVjdGVkLmlzU3RhdGljIH0sIFtcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjU2KSxcbiAgICAgIF0pLFxuICAgICAgaXNEZWZhdWx0OiBbdGhpcy5zZWxlY3RlZC5pc0RlZmF1bHQgfHwgZmFsc2VdLFxuICAgICAgaXNQdWJsaWM6IFt0aGlzLnNlbGVjdGVkLmlzUHVibGljIHx8IGZhbHNlXSxcbiAgICB9KTtcbiAgfVxuXG4gIG9wZW5Nb2RhbCgpIHtcbiAgICB0aGlzLmNyZWF0ZUZvcm0oKTtcbiAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gdHJ1ZTtcbiAgfVxuXG4gIG9uQWRkKCkge1xuICAgIHRoaXMuc2VsZWN0ZWQgPSB7fSBhcyBJZGVudGl0eS5Sb2xlSXRlbTtcbiAgICB0aGlzLm9wZW5Nb2RhbCgpO1xuICB9XG5cbiAgb25FZGl0KGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFJvbGVCeUlkKGlkKSlcbiAgICAgIC5waXBlKHBsdWNrKCdJZGVudGl0eVN0YXRlJywgJ3NlbGVjdGVkUm9sZScpKVxuICAgICAgLnN1YnNjcmliZShzZWxlY3RlZFJvbGUgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdGVkID0gc2VsZWN0ZWRSb2xlO1xuICAgICAgICB0aGlzLm9wZW5Nb2RhbCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBzYXZlKCkge1xuICAgIGlmICghdGhpcy5mb3JtLnZhbGlkKSByZXR1cm47XG5cbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2goXG4gICAgICAgIHRoaXMuc2VsZWN0ZWQuaWRcbiAgICAgICAgICA/IG5ldyBVcGRhdGVSb2xlKHsgLi4udGhpcy5mb3JtLnZhbHVlLCBpZDogdGhpcy5zZWxlY3RlZC5pZCB9KVxuICAgICAgICAgIDogbmV3IENyZWF0ZVJvbGUodGhpcy5mb3JtLnZhbHVlKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gZmFsc2U7XG4gICAgICB9KTtcbiAgfVxuXG4gIGRlbGV0ZShpZDogc3RyaW5nLCBuYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2VcbiAgICAgIC53YXJuKCdBYnBJZGVudGl0eTo6Um9sZURlbGV0aW9uQ29uZmlybWF0aW9uTWVzc2FnZScsICdBYnBJZGVudGl0eTo6QXJlWW91U3VyZScsIHtcbiAgICAgICAgbWVzc2FnZUxvY2FsaXphdGlvblBhcmFtczogW25hbWVdLFxuICAgICAgfSlcbiAgICAgIC5zdWJzY3JpYmUoKHN0YXR1czogVG9hc3Rlci5TdGF0dXMpID0+IHtcbiAgICAgICAgaWYgKHN0YXR1cyA9PT0gVG9hc3Rlci5TdGF0dXMuY29uZmlybSkge1xuICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IERlbGV0ZVJvbGUoaWQpKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBvblBhZ2VDaGFuZ2UoZGF0YSkge1xuICAgIHRoaXMucGFnZVF1ZXJ5LnNraXBDb3VudCA9IGRhdGEuZmlyc3Q7XG4gICAgdGhpcy5wYWdlUXVlcnkubWF4UmVzdWx0Q291bnQgPSBkYXRhLnJvd3M7XG5cbiAgICB0aGlzLmdldCgpO1xuICB9XG5cbiAgZ2V0KCkge1xuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKG5ldyBHZXRSb2xlcyh0aGlzLnBhZ2VRdWVyeSkpXG4gICAgICAucGlwZShmaW5hbGl6ZSgoKSA9PiAodGhpcy5sb2FkaW5nID0gZmFsc2UpKSlcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5pZGVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3JvbGVzL3JvbGVzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUUzRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFNNUQsTUFBTSxPQUFPLGNBQWM7Ozs7OztJQTRCekIsWUFBb0IsbUJBQXdDLEVBQVUsRUFBZSxFQUFVLEtBQVk7UUFBdkYsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUFVLE9BQUUsR0FBRixFQUFFLENBQWE7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBZjNHLHVCQUFrQixHQUFZLEtBQUssQ0FBQztRQUlwQyxjQUFTLEdBQXdCO1lBQy9CLE9BQU8sRUFBRSxNQUFNO1NBQ2hCLENBQUM7UUFFRixZQUFPLEdBQVksS0FBSyxDQUFDO1FBRXpCLGNBQVMsR0FBWSxLQUFLLENBQUM7SUFLbUYsQ0FBQzs7Ozs7SUFFL0csUUFB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ZSc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlLCBUb2FzdGVyIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzLCBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaW5hbGl6ZSwgcGx1Y2sgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDcmVhdGVSb2xlLCBEZWxldGVSb2xlLCBHZXRSb2xlQnlJZCwgR2V0Um9sZXMsIFVwZGF0ZVJvbGUgfSBmcm9tICcuLi8uLi9hY3Rpb25zL2lkZW50aXR5LmFjdGlvbnMnO1xuaW1wb3J0IHsgSWRlbnRpdHkgfSBmcm9tICcuLi8uLi9tb2RlbHMvaWRlbnRpdHknO1xuaW1wb3J0IHsgSWRlbnRpdHlTdGF0ZSB9IGZyb20gJy4uLy4uL3N0YXRlcy9pZGVudGl0eS5zdGF0ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1yb2xlcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9yb2xlcy5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFJvbGVzQ29tcG9uZW50IHtcbiAgQFNlbGVjdChJZGVudGl0eVN0YXRlLmdldFJvbGVzKVxuICBkYXRhJDogT2JzZXJ2YWJsZTxJZGVudGl0eS5Sb2xlSXRlbVtdPjtcblxuICBAU2VsZWN0KElkZW50aXR5U3RhdGUuZ2V0Um9sZXNUb3RhbENvdW50KVxuICB0b3RhbENvdW50JDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuXG4gIGZvcm06IEZvcm1Hcm91cDtcblxuICBzZWxlY3RlZDogSWRlbnRpdHkuUm9sZUl0ZW07XG5cbiAgaXNNb2RhbFZpc2libGU6IGJvb2xlYW47XG5cbiAgdmlzaWJsZVBlcm1pc3Npb25zOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJvdmlkZXJLZXk6IHN0cmluZztcblxuICBwYWdlUXVlcnk6IEFCUC5QYWdlUXVlcnlQYXJhbXMgPSB7XG4gICAgc29ydGluZzogJ25hbWUnLFxuICB9O1xuXG4gIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBtb2RhbEJ1c3k6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKCdtb2RhbENvbnRlbnQnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgbW9kYWxDb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlybWF0aW9uU2VydmljZTogQ29uZmlybWF0aW9uU2VydmljZSwgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxuXG4gIG9uU2VhcmNoKHZhbHVlKSB7XG4gICAgdGhpcy5wYWdlUXVlcnkuZmlsdGVyID0gdmFsdWU7XG4gICAgdGhpcy5nZXQoKTtcbiAgfVxuXG4gIGNyZWF0ZUZvcm0oKSB7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBuYW1lOiBuZXcgRm9ybUNvbnRyb2woeyB2YWx1ZTogdGhpcy5zZWxlY3RlZC5uYW1lIHx8ICcnLCBkaXNhYmxlZDogdGhpcy5zZWxlY3RlZC5pc1N0YXRpYyB9LCBbXG4gICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDI1NiksXG4gICAgICBdKSxcbiAgICAgIGlzRGVmYXVsdDogW3RoaXMuc2VsZWN0ZWQuaXNEZWZhdWx0IHx8IGZhbHNlXSxcbiAgICAgIGlzUHVibGljOiBbdGhpcy5zZWxlY3RlZC5pc1B1YmxpYyB8fCBmYWxzZV0sXG4gICAgfSk7XG4gIH1cblxuICBvcGVuTW9kYWwoKSB7XG4gICAgdGhpcy5jcmVhdGVGb3JtKCk7XG4gICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IHRydWU7XG4gIH1cblxuICBvbkFkZCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkID0ge30gYXMgSWRlbnRpdHkuUm9sZUl0ZW07XG4gICAgdGhpcy5vcGVuTW9kYWwoKTtcbiAgfVxuXG4gIG9uRWRpdChpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKG5ldyBHZXRSb2xlQnlJZChpZCkpXG4gICAgICAucGlwZShwbHVjaygnSWRlbnRpdHlTdGF0ZScsICdzZWxlY3RlZFJvbGUnKSlcbiAgICAgIC5zdWJzY3JpYmUoc2VsZWN0ZWRSb2xlID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkUm9sZTtcbiAgICAgICAgdGhpcy5vcGVuTW9kYWwoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgc2F2ZSgpIHtcbiAgICBpZiAoIXRoaXMuZm9ybS52YWxpZCkgcmV0dXJuO1xuICAgIHRoaXMubW9kYWxCdXN5ID0gdHJ1ZTtcblxuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5kaXNwYXRjaChcbiAgICAgICAgdGhpcy5zZWxlY3RlZC5pZFxuICAgICAgICAgID8gbmV3IFVwZGF0ZVJvbGUoeyAuLi50aGlzLmZvcm0udmFsdWUsIGlkOiB0aGlzLnNlbGVjdGVkLmlkIH0pXG4gICAgICAgICAgOiBuZXcgQ3JlYXRlUm9sZSh0aGlzLmZvcm0udmFsdWUpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMubW9kYWxCdXN5ID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSBmYWxzZTtcbiAgICAgIH0pO1xuICB9XG5cbiAgZGVsZXRlKGlkOiBzdHJpbmcsIG5hbWU6IHN0cmluZykge1xuICAgIHRoaXMuY29uZmlybWF0aW9uU2VydmljZVxuICAgICAgLndhcm4oJ0FicElkZW50aXR5OjpSb2xlRGVsZXRpb25Db25maXJtYXRpb25NZXNzYWdlJywgJ0FicElkZW50aXR5OjpBcmVZb3VTdXJlJywge1xuICAgICAgICBtZXNzYWdlTG9jYWxpemF0aW9uUGFyYW1zOiBbbmFtZV0sXG4gICAgICB9KVxuICAgICAgLnN1YnNjcmliZSgoc3RhdHVzOiBUb2FzdGVyLlN0YXR1cykgPT4ge1xuICAgICAgICBpZiAoc3RhdHVzID09PSBUb2FzdGVyLlN0YXR1cy5jb25maXJtKSB7XG4gICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgRGVsZXRlUm9sZShpZCkpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIG9uUGFnZUNoYW5nZShkYXRhKSB7XG4gICAgdGhpcy5wYWdlUXVlcnkuc2tpcENvdW50ID0gZGF0YS5maXJzdDtcbiAgICB0aGlzLnBhZ2VRdWVyeS5tYXhSZXN1bHRDb3VudCA9IGRhdGEucm93cztcblxuICAgIHRoaXMuZ2V0KCk7XG4gIH1cblxuICBnZXQoKSB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFJvbGVzKHRoaXMucGFnZVF1ZXJ5KSlcbiAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+ICh0aGlzLmxvYWRpbmcgPSBmYWxzZSkpKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/esm2015/lib/components/users/users.component.js b/npm/ng-packs/dist/identity/esm2015/lib/components/users/users.component.js index b1c121f3cf..2587277861 100644 --- a/npm/ng-packs/dist/identity/esm2015/lib/components/users/users.component.js +++ b/npm/ng-packs/dist/identity/esm2015/lib/components/users/users.component.js @@ -27,6 +27,7 @@ export class UsersComponent { sorting: 'userName', }; this.loading = false; + this.modalBusy = false; this.trackByFn = (/** * @param {?} index * @param {?} item @@ -125,6 +126,7 @@ export class UsersComponent { save() { if (!this.form.valid) return; + this.modalBusy = true; const { roleNames } = this.form.value; /** @type {?} */ const mappedRoleNames = snq((/** @@ -147,6 +149,7 @@ export class UsersComponent { * @return {?} */ () => { + this.modalBusy = false; this.isModalVisible = false; })); } @@ -196,7 +199,7 @@ export class UsersComponent { UsersComponent.decorators = [ { type: Component, args: [{ selector: 'abp-users', - template: "
\n
\n
\n
\n
{{ 'AbpIdentity::Users' | abpLocalization }}
\n
\n
\n \n {{ 'AbpIdentity::NewUser' | abpLocalization }}\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::UserName' | abpLocalization }}\n {{ 'AbpIdentity::EmailAddress' | abpLocalization }}\n {{ 'AbpIdentity::PhoneNumber' | abpLocalization }}\n \n \n \n \n \n
\n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
\n \n \n \n
\n
\n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
\n \n
\n
\n\n\n \n

{{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewUser') | abpLocalization }}

\n
\n\n \n \n
\n \n \n \n
\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n
\n\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n
\n
\n
\n \n \n
\n \n \n \n
\n \n
\n
\n
\n
\n
\n
\n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
\n\n\n" + template: "
\n
\n
\n
\n
{{ 'AbpIdentity::Users' | abpLocalization }}
\n
\n
\n \n {{ 'AbpIdentity::NewUser' | abpLocalization }}\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::UserName' | abpLocalization }}\n {{ 'AbpIdentity::EmailAddress' | abpLocalization }}\n {{ 'AbpIdentity::PhoneNumber' | abpLocalization }}\n \n \n \n \n \n
\n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
\n \n \n \n
\n
\n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
\n \n
\n
\n\n\n \n

{{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewUser') | abpLocalization }}

\n
\n\n \n \n
\n \n \n \n
\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n
\n\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n
\n
\n
\n \n \n
\n \n \n \n
\n \n
\n
\n
\n
\n
\n
\n\n \n \n {{\n 'AbpIdentity::Save' | abpLocalization\n }}\n \n
\n\n\n" }] } ]; /** @nocollapse */ @@ -242,6 +245,8 @@ if (false) { /** @type {?} */ UsersComponent.prototype.loading; /** @type {?} */ + UsersComponent.prototype.modalBusy; + /** @type {?} */ UsersComponent.prototype.trackByFn; /** * @type {?} @@ -259,4 +264,4 @@ if (false) { */ UsersComponent.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5pZGVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3VzZXJzL3VzZXJzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFtQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUE4QixXQUFXLEVBQWEsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdHLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQztBQUN0QixPQUFPLEVBQ0wsVUFBVSxFQUNWLFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLFFBQVEsRUFDUixVQUFVLEdBQ1gsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV4QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFLNUQsTUFBTSxPQUFPLGNBQWM7Ozs7OztJQW9DekIsWUFBb0IsbUJBQXdDLEVBQVUsRUFBZSxFQUFVLEtBQVk7UUFBdkYsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUFVLE9BQUUsR0FBRixFQUFFLENBQWE7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBbEIzRyx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFJcEMsY0FBUyxHQUF3QjtZQUMvQixPQUFPLEVBQUUsVUFBVTtTQUNwQixDQUFDO1FBSUYsWUFBTyxH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LGtDQUE0Qjs7SUFFNUIsMkNBQXVDOztJQUV2QywrQkFBMkI7O0lBRTNCLDRDQUFvQzs7SUFFcEMscUNBQW9COztJQUVwQixtQ0FFRTs7SUFFRix3Q0FBd0I7O0lBRXhCLGlDQUF5Qjs7SUFFekIsbUNBQTZGOzs7OztJQU1qRiw2Q0FBZ0Q7Ozs7O0lBQUUsNEJBQXVCOzs7OztJQUFFLCtCQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFCUCB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlLCBUb2FzdGVyIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBUZW1wbGF0ZVJlZiwgVHJhY2tCeUZ1bmN0aW9uLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUFycmF5LCBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzLCBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaW5hbGl6ZSwgcGx1Y2ssIHN3aXRjaE1hcCwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCBzbnEgZnJvbSAnc25xJztcbmltcG9ydCB7XG4gIENyZWF0ZVVzZXIsXG4gIERlbGV0ZVVzZXIsXG4gIEdldFVzZXJCeUlkLFxuICBHZXRVc2VyUm9sZXMsXG4gIEdldFVzZXJzLFxuICBVcGRhdGVVc2VyLFxufSBmcm9tICcuLi8uLi9hY3Rpb25zL2lkZW50aXR5LmFjdGlvbnMnO1xuaW1wb3J0IHsgSWRlbnRpdHkgfSBmcm9tICcuLi8uLi9tb2RlbHMvaWRlbnRpdHknO1xuaW1wb3J0IHsgSWRlbnRpdHlTdGF0ZSB9IGZyb20gJy4uLy4uL3N0YXRlcy9pZGVudGl0eS5zdGF0ZSc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtdXNlcnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vdXNlcnMuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBVc2Vyc0NvbXBvbmVudCB7XG4gIEBTZWxlY3QoSWRlbnRpdHlTdGF0ZS5nZXRVc2VycylcbiAgZGF0YSQ6IE9ic2VydmFibGU8SWRlbnRpdHkuVXNlckl0ZW1bXT47XG5cbiAgQFNlbGVjdChJZGVudGl0eVN0YXRlLmdldFVzZXJzVG90YWxDb3VudClcbiAgdG90YWxDb3VudCQ6IE9ic2VydmFibGU8bnVtYmVyPjtcblxuICBAVmlld0NoaWxkKCdtb2RhbENvbnRlbnQnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgbW9kYWxDb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIGZvcm06IEZvcm1Hcm91cDtcblxuICBzZWxlY3RlZDogSWRlbnRpdHkuVXNlckl0ZW07XG5cbiAgc2VsZWN0ZWRVc2VyUm9sZXM6IElkZW50aXR5LlJvbGVJdGVtW107XG5cbiAgcm9sZXM6IElkZW50aXR5LlJvbGVJdGVtW107XG5cbiAgdmlzaWJsZVBlcm1pc3Npb25zOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJvdmlkZXJLZXk6IHN0cmluZztcblxuICBwYWdlUXVlcnk6IEFCUC5QYWdlUXVlcnlQYXJhbXMgPSB7XG4gICAgc29ydGluZzogJ3VzZXJOYW1lJyxcbiAgfTtcblxuICBpc01vZGFsVmlzaWJsZTogYm9vbGVhbjtcblxuICBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgdHJhY2tCeUZuOiBUcmFja0J5RnVuY3Rpb248QWJzdHJhY3RDb250cm9sPiA9IChpbmRleCwgaXRlbSkgPT4gT2JqZWN0LmtleXMoaXRlbSlbMF0gfHwgaW5kZXg7XG5cbiAgZ2V0IHJvbGVHcm91cHMoKTogRm9ybUdyb3VwW10ge1xuICAgIHJldHVybiBzbnEoKCkgPT4gKHRoaXMuZm9ybS5nZXQoJ3JvbGVOYW1lcycpIGFzIEZvcm1BcnJheSkuY29udHJvbHMgYXMgRm9ybUdyb3VwW10sIFtdKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlybWF0aW9uU2VydmljZTogQ29uZmlybWF0aW9uU2VydmljZSwgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxuXG4gIG9uU2VhcmNoKHZhbHVlKSB7XG4gICAgdGhpcy5wYWdlUXVlcnkuZmlsdGVyID0gdmFsdWU7XG4gICAgdGhpcy5nZXQoKTtcbiAgfVxuXG4gIGJ1aWxkRm9ybSgpIHtcbiAgICB0aGlzLnJvbGVzID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChJZGVudGl0eVN0YXRlLmdldFJvbGVzKTtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIHVzZXJOYW1lOiBbdGhpcy5zZWxlY3RlZC51c2VyTmFtZSB8fCAnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDI1NildXSxcbiAgICAgIGVtYWlsOiBbdGhpcy5zZWxlY3RlZC5lbWFpbCB8fCAnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMuZW1haWwsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDI1NildXSxcbiAgICAgIG5hbWU6IFt0aGlzLnNlbGVjdGVkLm5hbWUgfHwgJycsIFtWYWxpZGF0b3JzLm1heExlbmd0aCg2NCldXSxcbiAgICAgIHN1cm5hbWU6IFt0aGlzLnNlbGVjdGVkLnN1cm5hbWUgfHwgJycsIFtWYWxpZGF0b3JzLm1heExlbmd0aCg2NCldXSxcbiAgICAgIHBob25lTnVtYmVyOiBbdGhpcy5zZWxlY3RlZC5waG9uZU51bWJlciB8fCAnJywgW1ZhbGlkYXRvcnMubWF4TGVuZ3RoKDE2KV1dLFxuICAgICAgbG9ja291dEVuYWJsZWQ6IFt0aGlzLnNlbGVjdGVkLnR3b0ZhY3RvckVuYWJsZWQgfHwgKHRoaXMuc2VsZWN0ZWQuaWQgPyBmYWxzZSA6IHRydWUpXSxcbiAgICAgIHR3b0ZhY3RvckVuYWJsZWQ6IFt0aGlzLnNlbGVjdGVkLnR3b0ZhY3RvckVuYWJsZWQgfHwgKHRoaXMuc2VsZWN0ZWQuaWQgPyBmYWxzZSA6IHRydWUpXSxcbiAgICAgIHJvbGVOYW1lczogdGhpcy5mYi5hcnJheShcbiAgICAgICAgdGhpcy5yb2xlcy5tYXAocm9sZSA9PlxuICAgICAgICAgIHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgICAgICAgW3JvbGUubmFtZV06IFshIXNucSgoKSA9PiB0aGlzLnNlbGVjdGVkVXNlclJvbGVzLmZpbmQodXNlclJvbGUgPT4gdXNlclJvbGUuaWQgPT09IHJvbGUuaWQpKV0sXG4gICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgICApLFxuICAgIH0pO1xuICAgIGlmICghdGhpcy5zZWxlY3RlZC51c2VyTmFtZSkge1xuICAgICAgdGhpcy5mb3JtLmFkZENvbnRyb2woJ3Bhc3N3b3JkJywgbmV3IEZvcm1Db250cm9sKCcnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMzIpXSkpO1xuICAgIH1cbiAgfVxuXG4gIG9wZW5Nb2RhbCgpIHtcbiAgICB0aGlzLmJ1aWxkRm9ybSgpO1xuICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSB0cnVlO1xuICB9XG5cbiAgb25BZGQoKSB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHt9IGFzIElkZW50aXR5LlVzZXJJdGVtO1xuICAgIHRoaXMuc2VsZWN0ZWRVc2VyUm9sZXMgPSBbXSBhcyBJZGVudGl0eS5Sb2xlSXRlbVtdO1xuICAgIHRoaXMub3Blbk1vZGFsKCk7XG4gIH1cblxuICBvbkVkaXQoaWQ6IHN0cmluZykge1xuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5kaXNwYXRjaChuZXcgR2V0VXNlckJ5SWQoaWQpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBHZXRVc2VyUm9sZXMoaWQpKSksXG4gICAgICAgIHBsdWNrKCdJZGVudGl0eVN0YXRlJyksXG4gICAgICAgIHRha2UoMSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChzdGF0ZTogSWRlbnRpdHkuU3RhdGUpID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHN0YXRlLnNlbGVjdGVkVXNlcjtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFVzZXJSb2xlcyA9IHN0YXRlLnNlbGVjdGVkVXNlclJvbGVzO1xuICAgICAgICB0aGlzLm9wZW5Nb2RhbCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBzYXZlKCkge1xuICAgIGlmICghdGhpcy5mb3JtLnZhbGlkKSByZXR1cm47XG5cbiAgICBjb25zdCB7IHJvbGVOYW1lcyB9ID0gdGhpcy5mb3JtLnZhbHVlO1xuICAgIGNvbnN0IG1hcHBlZFJvbGVOYW1lcyA9IHNucShcbiAgICAgICgpID0+IHJvbGVOYW1lcy5maWx0ZXIocm9sZSA9PiAhIXJvbGVbT2JqZWN0LmtleXMocm9sZSlbMF1dKS5tYXAocm9sZSA9PiBPYmplY3Qua2V5cyhyb2xlKVswXSksXG4gICAgICBbXSxcbiAgICApO1xuXG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKFxuICAgICAgICB0aGlzLnNlbGVjdGVkLmlkXG4gICAgICAgICAgPyBuZXcgVXBkYXRlVXNlcih7XG4gICAgICAgICAgICAgIC4uLnRoaXMuZm9ybS52YWx1ZSxcbiAgICAgICAgICAgICAgaWQ6IHRoaXMuc2VsZWN0ZWQuaWQsXG4gICAgICAgICAgICAgIHJvbGVOYW1lczogbWFwcGVkUm9sZU5hbWVzLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICA6IG5ldyBDcmVhdGVVc2VyKHtcbiAgICAgICAgICAgICAgLi4udGhpcy5mb3JtLnZhbHVlLFxuICAgICAgICAgICAgICByb2xlTmFtZXM6IG1hcHBlZFJvbGVOYW1lcyxcbiAgICAgICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSBmYWxzZTtcbiAgICAgIH0pO1xuICB9XG5cbiAgZGVsZXRlKGlkOiBzdHJpbmcsIHVzZXJOYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2VcbiAgICAgIC53YXJuKCdBYnBJZGVudGl0eTo6VXNlckRlbGV0aW9uQ29uZmlybWF0aW9uTWVzc2FnZScsICdBYnBJZGVudGl0eTo6QXJlWW91U3VyZScsIHtcbiAgICAgICAgbWVzc2FnZUxvY2FsaXphdGlvblBhcmFtczogW3VzZXJOYW1lXSxcbiAgICAgIH0pXG4gICAgICAuc3Vic2NyaWJlKChzdGF0dXM6IFRvYXN0ZXIuU3RhdHVzKSA9PiB7XG4gICAgICAgIGlmIChzdGF0dXMgPT09IFRvYXN0ZXIuU3RhdHVzLmNvbmZpcm0pIHtcbiAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBEZWxldGVVc2VyKGlkKSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgb25QYWdlQ2hhbmdlKGRhdGEpIHtcbiAgICB0aGlzLnBhZ2VRdWVyeS5za2lwQ291bnQgPSBkYXRhLmZpcnN0O1xuICAgIHRoaXMucGFnZVF1ZXJ5Lm1heFJlc3VsdENvdW50ID0gZGF0YS5yb3dzO1xuXG4gICAgdGhpcy5nZXQoKTtcbiAgfVxuXG4gIGdldCgpIHtcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5kaXNwYXRjaChuZXcgR2V0VXNlcnModGhpcy5wYWdlUXVlcnkpKVxuICAgICAgLnBpcGUoZmluYWxpemUoKCkgPT4gKHRoaXMubG9hZGluZyA9IGZhbHNlKSkpXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5pZGVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3VzZXJzL3VzZXJzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFtQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUE4QixXQUFXLEVBQWEsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdHLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQztBQUN0QixPQUFPLEVBQ0wsVUFBVSxFQUNWLFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLFFBQVEsRUFDUixVQUFVLEdBQ1gsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV4QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFLNUQsTUFBTSxPQUFPLGNBQWM7Ozs7OztJQXNDekIsWUFBb0IsbUJBQXdDLEVBQVUsRUFBZSxFQUFVLEtBQVk7UUFBdkYsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUFVLE9BQUUsR0FBRixFQUFFLENBQWE7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBcEIzRyx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFJcEMsY0FBUyxHQUF3QjtZQUMvQixPQUFPLEVBQUUsVUFBVTtTQUNwQixDQUFDO1FBSUYsWUFBTyxH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Q0FBQyxrQkFBa0IsQ0FBQztzQ0FDNUIsVUFBVTttREFBUzs7O0lBSmhDLCtCQUN1Qzs7SUFFdkMscUNBQ2dDOztJQUVoQyxzQ0FDK0I7O0lBRS9CLDhCQUFnQjs7SUFFaEIsa0NBQTRCOztJQUU1QiwyQ0FBdUM7O0lBRXZDLCtCQUEyQjs7SUFFM0IsNENBQW9DOztJQUVwQyxxQ0FBb0I7O0lBRXBCLG1DQUVFOztJQUVGLHdDQUF3Qjs7SUFFeEIsaUNBQXlCOztJQUV6QixtQ0FBMkI7O0lBRTNCLG1DQUE2Rjs7Ozs7SUFNakYsNkNBQWdEOzs7OztJQUFFLDRCQUF1Qjs7Ozs7SUFBRSwrQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBQlAgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSwgVG9hc3RlciB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7IENvbXBvbmVudCwgVGVtcGxhdGVSZWYsIFRyYWNrQnlGdW5jdGlvbiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1BcnJheSwgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycywgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmluYWxpemUsIHBsdWNrLCBzd2l0Y2hNYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgc25xIGZyb20gJ3NucSc7XG5pbXBvcnQge1xuICBDcmVhdGVVc2VyLFxuICBEZWxldGVVc2VyLFxuICBHZXRVc2VyQnlJZCxcbiAgR2V0VXNlclJvbGVzLFxuICBHZXRVc2VycyxcbiAgVXBkYXRlVXNlcixcbn0gZnJvbSAnLi4vLi4vYWN0aW9ucy9pZGVudGl0eS5hY3Rpb25zJztcbmltcG9ydCB7IElkZW50aXR5IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2lkZW50aXR5JztcbmltcG9ydCB7IElkZW50aXR5U3RhdGUgfSBmcm9tICcuLi8uLi9zdGF0ZXMvaWRlbnRpdHkuc3RhdGUnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLXVzZXJzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3VzZXJzLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgVXNlcnNDb21wb25lbnQge1xuICBAU2VsZWN0KElkZW50aXR5U3RhdGUuZ2V0VXNlcnMpXG4gIGRhdGEkOiBPYnNlcnZhYmxlPElkZW50aXR5LlVzZXJJdGVtW10+O1xuXG4gIEBTZWxlY3QoSWRlbnRpdHlTdGF0ZS5nZXRVc2Vyc1RvdGFsQ291bnQpXG4gIHRvdGFsQ291bnQkOiBPYnNlcnZhYmxlPG51bWJlcj47XG5cbiAgQFZpZXdDaGlsZCgnbW9kYWxDb250ZW50JywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIG1vZGFsQ29udGVudDogVGVtcGxhdGVSZWY8YW55PjtcblxuICBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgc2VsZWN0ZWQ6IElkZW50aXR5LlVzZXJJdGVtO1xuXG4gIHNlbGVjdGVkVXNlclJvbGVzOiBJZGVudGl0eS5Sb2xlSXRlbVtdO1xuXG4gIHJvbGVzOiBJZGVudGl0eS5Sb2xlSXRlbVtdO1xuXG4gIHZpc2libGVQZXJtaXNzaW9uczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByb3ZpZGVyS2V5OiBzdHJpbmc7XG5cbiAgcGFnZVF1ZXJ5OiBBQlAuUGFnZVF1ZXJ5UGFyYW1zID0ge1xuICAgIHNvcnRpbmc6ICd1c2VyTmFtZScsXG4gIH07XG5cbiAgaXNNb2RhbFZpc2libGU6IGJvb2xlYW47XG5cbiAgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIG1vZGFsQnVzeTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHRyYWNrQnlGbjogVHJhY2tCeUZ1bmN0aW9uPEFic3RyYWN0Q29udHJvbD4gPSAoaW5kZXgsIGl0ZW0pID0+IE9iamVjdC5rZXlzKGl0ZW0pWzBdIHx8IGluZGV4O1xuXG4gIGdldCByb2xlR3JvdXBzKCk6IEZvcm1Hcm91cFtdIHtcbiAgICByZXR1cm4gc25xKCgpID0+ICh0aGlzLmZvcm0uZ2V0KCdyb2xlTmFtZXMnKSBhcyBGb3JtQXJyYXkpLmNvbnRyb2xzIGFzIEZvcm1Hcm91cFtdLCBbXSk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIHN0b3JlOiBTdG9yZSkge31cblxuICBvblNlYXJjaCh2YWx1ZSkge1xuICAgIHRoaXMucGFnZVF1ZXJ5LmZpbHRlciA9IHZhbHVlO1xuICAgIHRoaXMuZ2V0KCk7XG4gIH1cblxuICBidWlsZEZvcm0oKSB7XG4gICAgdGhpcy5yb2xlcyA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoSWRlbnRpdHlTdGF0ZS5nZXRSb2xlcyk7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICB1c2VyTmFtZTogW3RoaXMuc2VsZWN0ZWQudXNlck5hbWUgfHwgJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1heExlbmd0aCgyNTYpXV0sXG4gICAgICBlbWFpbDogW3RoaXMuc2VsZWN0ZWQuZW1haWwgfHwgJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLmVtYWlsLCBWYWxpZGF0b3JzLm1heExlbmd0aCgyNTYpXV0sXG4gICAgICBuYW1lOiBbdGhpcy5zZWxlY3RlZC5uYW1lIHx8ICcnLCBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoNjQpXV0sXG4gICAgICBzdXJuYW1lOiBbdGhpcy5zZWxlY3RlZC5zdXJuYW1lIHx8ICcnLCBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoNjQpXV0sXG4gICAgICBwaG9uZU51bWJlcjogW3RoaXMuc2VsZWN0ZWQucGhvbmVOdW1iZXIgfHwgJycsIFtWYWxpZGF0b3JzLm1heExlbmd0aCgxNildXSxcbiAgICAgIGxvY2tvdXRFbmFibGVkOiBbdGhpcy5zZWxlY3RlZC50d29GYWN0b3JFbmFibGVkIHx8ICh0aGlzLnNlbGVjdGVkLmlkID8gZmFsc2UgOiB0cnVlKV0sXG4gICAgICB0d29GYWN0b3JFbmFibGVkOiBbdGhpcy5zZWxlY3RlZC50d29GYWN0b3JFbmFibGVkIHx8ICh0aGlzLnNlbGVjdGVkLmlkID8gZmFsc2UgOiB0cnVlKV0sXG4gICAgICByb2xlTmFtZXM6IHRoaXMuZmIuYXJyYXkoXG4gICAgICAgIHRoaXMucm9sZXMubWFwKHJvbGUgPT5cbiAgICAgICAgICB0aGlzLmZiLmdyb3VwKHtcbiAgICAgICAgICAgIFtyb2xlLm5hbWVdOiBbISFzbnEoKCkgPT4gdGhpcy5zZWxlY3RlZFVzZXJSb2xlcy5maW5kKHVzZXJSb2xlID0+IHVzZXJSb2xlLmlkID09PSByb2xlLmlkKSldLFxuICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICB9KTtcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWQudXNlck5hbWUpIHtcbiAgICAgIHRoaXMuZm9ybS5hZGRDb250cm9sKCdwYXNzd29yZCcsIG5ldyBGb3JtQ29udHJvbCgnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDMyKV0pKTtcbiAgICB9XG4gIH1cblxuICBvcGVuTW9kYWwoKSB7XG4gICAgdGhpcy5idWlsZEZvcm0oKTtcbiAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gdHJ1ZTtcbiAgfVxuXG4gIG9uQWRkKCkge1xuICAgIHRoaXMuc2VsZWN0ZWQgPSB7fSBhcyBJZGVudGl0eS5Vc2VySXRlbTtcbiAgICB0aGlzLnNlbGVjdGVkVXNlclJvbGVzID0gW10gYXMgSWRlbnRpdHkuUm9sZUl0ZW1bXTtcbiAgICB0aGlzLm9wZW5Nb2RhbCgpO1xuICB9XG5cbiAgb25FZGl0KGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFVzZXJCeUlkKGlkKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgR2V0VXNlclJvbGVzKGlkKSkpLFxuICAgICAgICBwbHVjaygnSWRlbnRpdHlTdGF0ZScpLFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoc3RhdGU6IElkZW50aXR5LlN0YXRlKSA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBzdGF0ZS5zZWxlY3RlZFVzZXI7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRVc2VyUm9sZXMgPSBzdGF0ZS5zZWxlY3RlZFVzZXJSb2xlcztcbiAgICAgICAgdGhpcy5vcGVuTW9kYWwoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgc2F2ZSgpIHtcbiAgICBpZiAoIXRoaXMuZm9ybS52YWxpZCkgcmV0dXJuO1xuICAgIHRoaXMubW9kYWxCdXN5ID0gdHJ1ZTtcblxuICAgIGNvbnN0IHsgcm9sZU5hbWVzIH0gPSB0aGlzLmZvcm0udmFsdWU7XG4gICAgY29uc3QgbWFwcGVkUm9sZU5hbWVzID0gc25xKFxuICAgICAgKCkgPT4gcm9sZU5hbWVzLmZpbHRlcihyb2xlID0+ICEhcm9sZVtPYmplY3Qua2V5cyhyb2xlKVswXV0pLm1hcChyb2xlID0+IE9iamVjdC5rZXlzKHJvbGUpWzBdKSxcbiAgICAgIFtdLFxuICAgICk7XG5cbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2goXG4gICAgICAgIHRoaXMuc2VsZWN0ZWQuaWRcbiAgICAgICAgICA/IG5ldyBVcGRhdGVVc2VyKHtcbiAgICAgICAgICAgICAgLi4udGhpcy5mb3JtLnZhbHVlLFxuICAgICAgICAgICAgICBpZDogdGhpcy5zZWxlY3RlZC5pZCxcbiAgICAgICAgICAgICAgcm9sZU5hbWVzOiBtYXBwZWRSb2xlTmFtZXMsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIDogbmV3IENyZWF0ZVVzZXIoe1xuICAgICAgICAgICAgICAuLi50aGlzLmZvcm0udmFsdWUsXG4gICAgICAgICAgICAgIHJvbGVOYW1lczogbWFwcGVkUm9sZU5hbWVzLFxuICAgICAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5tb2RhbEJ1c3kgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgfSk7XG4gIH1cblxuICBkZWxldGUoaWQ6IHN0cmluZywgdXNlck5hbWU6IHN0cmluZykge1xuICAgIHRoaXMuY29uZmlybWF0aW9uU2VydmljZVxuICAgICAgLndhcm4oJ0FicElkZW50aXR5OjpVc2VyRGVsZXRpb25Db25maXJtYXRpb25NZXNzYWdlJywgJ0FicElkZW50aXR5OjpBcmVZb3VTdXJlJywge1xuICAgICAgICBtZXNzYWdlTG9jYWxpemF0aW9uUGFyYW1zOiBbdXNlck5hbWVdLFxuICAgICAgfSlcbiAgICAgIC5zdWJzY3JpYmUoKHN0YXR1czogVG9hc3Rlci5TdGF0dXMpID0+IHtcbiAgICAgICAgaWYgKHN0YXR1cyA9PT0gVG9hc3Rlci5TdGF0dXMuY29uZmlybSkge1xuICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IERlbGV0ZVVzZXIoaWQpKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBvblBhZ2VDaGFuZ2UoZGF0YSkge1xuICAgIHRoaXMucGFnZVF1ZXJ5LnNraXBDb3VudCA9IGRhdGEuZmlyc3Q7XG4gICAgdGhpcy5wYWdlUXVlcnkubWF4UmVzdWx0Q291bnQgPSBkYXRhLnJvd3M7XG5cbiAgICB0aGlzLmdldCgpO1xuICB9XG5cbiAgZ2V0KCkge1xuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKG5ldyBHZXRVc2Vycyh0aGlzLnBhZ2VRdWVyeSkpXG4gICAgICAucGlwZShmaW5hbGl6ZSgoKSA9PiAodGhpcy5sb2FkaW5nID0gZmFsc2UpKSlcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/esm5/lib/components/roles/roles.component.js b/npm/ng-packs/dist/identity/esm5/lib/components/roles/roles.component.js index 081515bf94..b2ca28f3aa 100644 --- a/npm/ng-packs/dist/identity/esm5/lib/components/roles/roles.component.js +++ b/npm/ng-packs/dist/identity/esm5/lib/components/roles/roles.component.js @@ -21,6 +21,7 @@ var RolesComponent = /** @class */ (function () { sorting: 'name', }; this.loading = false; + this.modalBusy = false; } /** * @param {?} value @@ -102,6 +103,7 @@ var RolesComponent = /** @class */ (function () { var _this = this; if (!this.form.valid) return; + this.modalBusy = true; this.store .dispatch(this.selected.id ? new UpdateRole(tslib_1.__assign({}, this.form.value, { id: this.selected.id })) @@ -110,6 +112,7 @@ var RolesComponent = /** @class */ (function () { * @return {?} */ function () { + _this.modalBusy = false; _this.isModalVisible = false; })); }; @@ -172,7 +175,7 @@ var RolesComponent = /** @class */ (function () { RolesComponent.decorators = [ { type: Component, args: [{ selector: 'abp-roles', - template: "
\n
\n
\n
\n
{{ 'AbpIdentity::Roles' | abpLocalization }}
\n
\n
\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::RoleName' | abpLocalization }}\n \n \n \n \n \n
\n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
\n \n \n \n
\n
\n \n {{ data.name }}\n \n
\n \n
\n
\n\n\n \n

{{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewRole') | abpLocalization }}

\n
\n\n \n
\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n
\n
\n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
\n\n\n" + template: "
\n
\n
\n
\n
{{ 'AbpIdentity::Roles' | abpLocalization }}
\n
\n
\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::RoleName' | abpLocalization }}\n \n \n \n \n \n
\n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
\n \n \n \n
\n
\n \n {{ data.name }}\n \n
\n \n
\n
\n\n\n \n

{{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewRole') | abpLocalization }}

\n
\n\n \n
\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n
\n
\n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
\n\n\n" }] } ]; /** @nocollapse */ @@ -215,6 +218,8 @@ if (false) { /** @type {?} */ RolesComponent.prototype.loading; /** @type {?} */ + RolesComponent.prototype.modalBusy; + /** @type {?} */ RolesComponent.prototype.modalContent; /** * @type {?} @@ -232,4 +237,4 @@ if (false) { */ RolesComponent.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5pZGVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3JvbGVzL3JvbGVzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUUzRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFNUQ7SUE4QkUsd0JBQW9CLG1CQUF3QyxFQUFVLEVBQWUsRUFBVSxLQUFZO1FBQXZGLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBTztRQWIzRyx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFJcEMsY0FBUyxHQUF3QjtZQUMvQixPQUFPLEVBQUUsTUFBTTtTQUNoQixDQUFDO1FBRUYsWUFBTyxHQUFZLEtBQUssQ0FBQztJQUtxRixDQUFDOzs7OztJQUUvRyxpQ0FBUTs7OztJQUFSLFVBQVMsS0FBSztRQUNaLElBQUksQ0FBQyxTQUFTLENBQUMs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ZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UsIFRvYXN0ZXIgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XG5pbXBvcnQgeyBDb21wb25lbnQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMsIEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbmFsaXplLCBwbHVjayB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENyZWF0ZVJvbGUsIERlbGV0ZVJvbGUsIEdldFJvbGVCeUlkLCBHZXRSb2xlcywgVXBkYXRlUm9sZSB9IGZyb20gJy4uLy4uL2FjdGlvbnMvaWRlbnRpdHkuYWN0aW9ucyc7XG5pbXBvcnQgeyBJZGVudGl0eSB9IGZyb20gJy4uLy4uL21vZGVscy9pZGVudGl0eSc7XG5pbXBvcnQgeyBJZGVudGl0eVN0YXRlIH0gZnJvbSAnLi4vLi4vc3RhdGVzL2lkZW50aXR5LnN0YXRlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLXJvbGVzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JvbGVzLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgUm9sZXNDb21wb25lbnQge1xuICBAU2VsZWN0KElkZW50aXR5U3RhdGUuZ2V0Um9sZXMpXG4gIGRhdGEkOiBPYnNlcnZhYmxlPElkZW50aXR5LlJvbGVJdGVtW10+O1xuXG4gIEBTZWxlY3QoSWRlbnRpdHlTdGF0ZS5nZXRSb2xlc1RvdGFsQ291bnQpXG4gIHRvdGFsQ291bnQkOiBPYnNlcnZhYmxlPG51bWJlcj47XG5cbiAgZm9ybTogRm9ybUdyb3VwO1xuXG4gIHNlbGVjdGVkOiBJZGVudGl0eS5Sb2xlSXRlbTtcblxuICBpc01vZGFsVmlzaWJsZTogYm9vbGVhbjtcblxuICB2aXNpYmxlUGVybWlzc2lvbnM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcm92aWRlcktleTogc3RyaW5nO1xuXG4gIHBhZ2VRdWVyeTogQUJQLlBhZ2VRdWVyeVBhcmFtcyA9IHtcbiAgICBzb3J0aW5nOiAnbmFtZScsXG4gIH07XG5cbiAgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoJ21vZGFsQ29udGVudCcsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBtb2RhbENvbnRlbnQ6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlLCBwcml2YXRlIGZiOiBGb3JtQnVpbGRlciwgcHJpdmF0ZSBzdG9yZTogU3RvcmUpIHt9XG5cbiAgb25TZWFyY2godmFsdWUpIHtcbiAgICB0aGlzLnBhZ2VRdWVyeS5maWx0ZXIgPSB2YWx1ZTtcbiAgICB0aGlzLmdldCgpO1xuICB9XG5cbiAgY3JlYXRlRm9ybSgpIHtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIG5hbWU6IG5ldyBGb3JtQ29udHJvbCh7IHZhbHVlOiB0aGlzLnNlbGVjdGVkLm5hbWUgfHwgJycsIGRpc2FibGVkOiB0aGlzLnNlbGVjdGVkLmlzU3RhdGljIH0sIFtcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjU2KSxcbiAgICAgIF0pLFxuICAgICAgaXNEZWZhdWx0OiBbdGhpcy5zZWxlY3RlZC5pc0RlZmF1bHQgfHwgZmFsc2VdLFxuICAgICAgaXNQdWJsaWM6IFt0aGlzLnNlbGVjdGVkLmlzUHVibGljIHx8IGZhbHNlXSxcbiAgICB9KTtcbiAgfVxuXG4gIG9wZW5Nb2RhbCgpIHtcbiAgICB0aGlzLmNyZWF0ZUZvcm0oKTtcbiAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gdHJ1ZTtcbiAgfVxuXG4gIG9uQWRkKCkge1xuICAgIHRoaXMuc2VsZWN0ZWQgPSB7fSBhcyBJZGVudGl0eS5Sb2xlSXRlbTtcbiAgICB0aGlzLm9wZW5Nb2RhbCgpO1xuICB9XG5cbiAgb25FZGl0KGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFJvbGVCeUlkKGlkKSlcbiAgICAgIC5waXBlKHBsdWNrKCdJZGVudGl0eVN0YXRlJywgJ3NlbGVjdGVkUm9sZScpKVxuICAgICAgLnN1YnNjcmliZShzZWxlY3RlZFJvbGUgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdGVkID0gc2VsZWN0ZWRSb2xlO1xuICAgICAgICB0aGlzLm9wZW5Nb2RhbCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBzYXZlKCkge1xuICAgIGlmICghdGhpcy5mb3JtLnZhbGlkKSByZXR1cm47XG5cbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2goXG4gICAgICAgIHRoaXMuc2VsZWN0ZWQuaWRcbiAgICAgICAgICA/IG5ldyBVcGRhdGVSb2xlKHsgLi4udGhpcy5mb3JtLnZhbHVlLCBpZDogdGhpcy5zZWxlY3RlZC5pZCB9KVxuICAgICAgICAgIDogbmV3IENyZWF0ZVJvbGUodGhpcy5mb3JtLnZhbHVlKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gZmFsc2U7XG4gICAgICB9KTtcbiAgfVxuXG4gIGRlbGV0ZShpZDogc3RyaW5nLCBuYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2VcbiAgICAgIC53YXJuKCdBYnBJZGVudGl0eTo6Um9sZURlbGV0aW9uQ29uZmlybWF0aW9uTWVzc2FnZScsICdBYnBJZGVudGl0eTo6QXJlWW91U3VyZScsIHtcbiAgICAgICAgbWVzc2FnZUxvY2FsaXphdGlvblBhcmFtczogW25hbWVdLFxuICAgICAgfSlcbiAgICAgIC5zdWJzY3JpYmUoKHN0YXR1czogVG9hc3Rlci5TdGF0dXMpID0+IHtcbiAgICAgICAgaWYgKHN0YXR1cyA9PT0gVG9hc3Rlci5TdGF0dXMuY29uZmlybSkge1xuICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IERlbGV0ZVJvbGUoaWQpKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBvblBhZ2VDaGFuZ2UoZGF0YSkge1xuICAgIHRoaXMucGFnZVF1ZXJ5LnNraXBDb3VudCA9IGRhdGEuZmlyc3Q7XG4gICAgdGhpcy5wYWdlUXVlcnkubWF4UmVzdWx0Q291bnQgPSBkYXRhLnJvd3M7XG5cbiAgICB0aGlzLmdldCgpO1xuICB9XG5cbiAgZ2V0KCkge1xuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKG5ldyBHZXRSb2xlcyh0aGlzLnBhZ2VRdWVyeSkpXG4gICAgICAucGlwZShmaW5hbGl6ZSgoKSA9PiAodGhpcy5sb2FkaW5nID0gZmFsc2UpKSlcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5pZGVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3JvbGVzL3JvbGVzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUUzRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFNUQ7SUFnQ0Usd0JBQW9CLG1CQUF3QyxFQUFVLEVBQWUsRUFBVSxLQUFZO1FBQXZGLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBTztRQWYzRyx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFJcEMsY0FBUyxHQUF3QjtZQUMvQixPQUFPLEVBQUUsTUFBTTtTQUNoQixDQUFDO1FBRUYsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUV6QixjQUFTLEdBQVksS0FBSyxDQUFDO0lBS21GLENBQUM7Ozs7O0lBRS9HLGlDQUFROzs7O0lBQVIsVUFBUyxLQUFLO1FBQ1osSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQzlCLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNiLENBQUM7Ozs7SUFFRCxtQ0FBVTs7O0lBQVY7UUFDRSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ3hCLElBQUksRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQzNGLFVBQVUsQ0FBQyxRQUFRO2dCQUNuQixVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQzthQUMxQixDQUFDO1lBQ0YsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLElBQUksS0FBSyxDQUFDO1lBQzdDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQztTQUM1QyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7O0lBRUQsa0NBQVM7OztJQUFUO1FBQ0UsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQzdCLENBQUM7Ozs7SUFFRCw4QkFBSzs7O0lBQUw7UUFDRSxJQUFJLENBQUMsUUFBUSxHQUFHLG1CQUFBLEVBQUUsRUFBcUIsQ0FBQztRQUN4QyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQzs7Ozs7SUFFRCwrQkFBTTs7OztJQUFOLFVBQU8sRUFBVTtRQUFqQixpQkFRQztRQVBDLElBQUksQ0FBQyxLQUFLO2FBQ1AsUUFBUSxDQUFDLElBQUksV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLGNBQWMsQ0FBQyxDQUFDO2FBQzVDLFNBQVM7Ozs7UUFBQyxVQUFBLFlBQVk7WUFDckIsS0FBSSxDQUFDLFFBQVEsR0FBRyxZQUFZLENBQUM7WUFDN0IsS0FBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ25CLENBQUMsRUFBQyxDQUFDO0lBQ1AsQ0FBQzs7OztJQUVELDZCQUFJOzs7SUFBSjtRQUFBLGlCQWNDO1FBYkMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU87UUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFFdEIsSUFBSSxDQUFDLEtBQUs7YUFDUCxRQUFRLENBQ1AsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ2QsQ0FBQyxDQUFDLElBQUksVUFBVSxzQkFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUc7WUFDOUQsQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQ3BDO2FBQ0EsU0FBUzs7O1FBQUM7WUFDVCxLQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixLQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztRQUM5QixDQUFDLEVBQUMsQ0FBQztJQUNQLENBQUM7Ozs7OztJQUVELCtCQUFNOzs7OztJQUFOLFVBQU8sRUFBVSxFQUFFLElBQVk7UUFBL0IsaUJBVUM7UUFUQyxJQUFJLENBQUMsbUJBQW1CO2FBQ3JCLElBQUksQ0FBQyw4Q0FBOEMsRUFBRSx5QkFBeUIsRUFBRTtZQUMvRSx5QkFBeUIsRUFBRSxDQUFDLElBQUksQ0FBQztTQUNsQyxDQUFDO2FBQ0QsU0FBUzs7OztRQUFDLFVBQUMsTUFBc0I7WUFDaEMsSUFBSSxNQUFNLDRCQUEyQixFQUFFO2dCQUNyQyxLQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ3pDO1FBQ0gsQ0FBQyxFQUFDLENBQUM7SUFDUCxDQUFDOzs7OztJQUVELHFDQUFZOzs7O0lBQVosVUFBYSxJQUFJO1FBQ2YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN0QyxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBRTFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNiLENBQUM7Ozs7SUFFRCw0QkFBRzs7O0lBQUg7UUFBQSxpQkFNQztRQUxDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxLQUFLO2FBQ1AsUUFBUSxDQUFDLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUN0QyxJQUFJLENBQUMsUUFBUTs7O1FBQUMsY0FBTSxPQUFBLENBQUMsS0FBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsRUFBdEIsQ0FBc0IsRUFBQyxDQUFDO2FBQzVDLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7O2dCQS9HRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLHl6SUFBcUM7aUJBQ3RDOzs7O2dCQWJRLG1CQUFtQjtnQkFFbkIsV0FBVztnQkFDSCxLQUFLOzs7K0JBb0NuQixTQUFTLFNBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTs7SUF2QjVDO1FBREMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUM7MENBQ3hCLFVBQVU7aURBQXNCO0lBR3ZDO1FBREMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQzswQ0FDNUIsVUFBVTt1REFBUztJQXVHbEMscUJBQUM7Q0FBQSxBQWhIRCxJQWdIQztTQTVHWSxjQUFjOzs7SUFDekIsK0JBQ3VDOztJQUV2QyxxQ0FDZ0M7O0lBRWhDLDhCQUFnQjs7SUFFaEIsa0NBQTRCOztJQUU1Qix3Q0FBd0I7O0lBRXhCLDRDQUFvQzs7SUFFcEMscUNBQW9COztJQUVwQixtQ0FFRTs7SUFFRixpQ0FBeUI7O0lBRXpCLG1DQUEyQjs7SUFFM0Isc0NBQytCOzs7OztJQUVuQiw2Q0FBZ0Q7Ozs7O0lBQUUsNEJBQXVCOzs7OztJQUFFLCtCQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFCUCB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlLCBUb2FzdGVyIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzLCBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaW5hbGl6ZSwgcGx1Y2sgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDcmVhdGVSb2xlLCBEZWxldGVSb2xlLCBHZXRSb2xlQnlJZCwgR2V0Um9sZXMsIFVwZGF0ZVJvbGUgfSBmcm9tICcuLi8uLi9hY3Rpb25zL2lkZW50aXR5LmFjdGlvbnMnO1xuaW1wb3J0IHsgSWRlbnRpdHkgfSBmcm9tICcuLi8uLi9tb2RlbHMvaWRlbnRpdHknO1xuaW1wb3J0IHsgSWRlbnRpdHlTdGF0ZSB9IGZyb20gJy4uLy4uL3N0YXRlcy9pZGVudGl0eS5zdGF0ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1yb2xlcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9yb2xlcy5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFJvbGVzQ29tcG9uZW50IHtcbiAgQFNlbGVjdChJZGVudGl0eVN0YXRlLmdldFJvbGVzKVxuICBkYXRhJDogT2JzZXJ2YWJsZTxJZGVudGl0eS5Sb2xlSXRlbVtdPjtcblxuICBAU2VsZWN0KElkZW50aXR5U3RhdGUuZ2V0Um9sZXNUb3RhbENvdW50KVxuICB0b3RhbENvdW50JDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuXG4gIGZvcm06IEZvcm1Hcm91cDtcblxuICBzZWxlY3RlZDogSWRlbnRpdHkuUm9sZUl0ZW07XG5cbiAgaXNNb2RhbFZpc2libGU6IGJvb2xlYW47XG5cbiAgdmlzaWJsZVBlcm1pc3Npb25zOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJvdmlkZXJLZXk6IHN0cmluZztcblxuICBwYWdlUXVlcnk6IEFCUC5QYWdlUXVlcnlQYXJhbXMgPSB7XG4gICAgc29ydGluZzogJ25hbWUnLFxuICB9O1xuXG4gIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBtb2RhbEJ1c3k6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKCdtb2RhbENvbnRlbnQnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgbW9kYWxDb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlybWF0aW9uU2VydmljZTogQ29uZmlybWF0aW9uU2VydmljZSwgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxuXG4gIG9uU2VhcmNoKHZhbHVlKSB7XG4gICAgdGhpcy5wYWdlUXVlcnkuZmlsdGVyID0gdmFsdWU7XG4gICAgdGhpcy5nZXQoKTtcbiAgfVxuXG4gIGNyZWF0ZUZvcm0oKSB7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBuYW1lOiBuZXcgRm9ybUNvbnRyb2woeyB2YWx1ZTogdGhpcy5zZWxlY3RlZC5uYW1lIHx8ICcnLCBkaXNhYmxlZDogdGhpcy5zZWxlY3RlZC5pc1N0YXRpYyB9LCBbXG4gICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDI1NiksXG4gICAgICBdKSxcbiAgICAgIGlzRGVmYXVsdDogW3RoaXMuc2VsZWN0ZWQuaXNEZWZhdWx0IHx8IGZhbHNlXSxcbiAgICAgIGlzUHVibGljOiBbdGhpcy5zZWxlY3RlZC5pc1B1YmxpYyB8fCBmYWxzZV0sXG4gICAgfSk7XG4gIH1cblxuICBvcGVuTW9kYWwoKSB7XG4gICAgdGhpcy5jcmVhdGVGb3JtKCk7XG4gICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IHRydWU7XG4gIH1cblxuICBvbkFkZCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkID0ge30gYXMgSWRlbnRpdHkuUm9sZUl0ZW07XG4gICAgdGhpcy5vcGVuTW9kYWwoKTtcbiAgfVxuXG4gIG9uRWRpdChpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKG5ldyBHZXRSb2xlQnlJZChpZCkpXG4gICAgICAucGlwZShwbHVjaygnSWRlbnRpdHlTdGF0ZScsICdzZWxlY3RlZFJvbGUnKSlcbiAgICAgIC5zdWJzY3JpYmUoc2VsZWN0ZWRSb2xlID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkUm9sZTtcbiAgICAgICAgdGhpcy5vcGVuTW9kYWwoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgc2F2ZSgpIHtcbiAgICBpZiAoIXRoaXMuZm9ybS52YWxpZCkgcmV0dXJuO1xuICAgIHRoaXMubW9kYWxCdXN5ID0gdHJ1ZTtcblxuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5kaXNwYXRjaChcbiAgICAgICAgdGhpcy5zZWxlY3RlZC5pZFxuICAgICAgICAgID8gbmV3IFVwZGF0ZVJvbGUoeyAuLi50aGlzLmZvcm0udmFsdWUsIGlkOiB0aGlzLnNlbGVjdGVkLmlkIH0pXG4gICAgICAgICAgOiBuZXcgQ3JlYXRlUm9sZSh0aGlzLmZvcm0udmFsdWUpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMubW9kYWxCdXN5ID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSBmYWxzZTtcbiAgICAgIH0pO1xuICB9XG5cbiAgZGVsZXRlKGlkOiBzdHJpbmcsIG5hbWU6IHN0cmluZykge1xuICAgIHRoaXMuY29uZmlybWF0aW9uU2VydmljZVxuICAgICAgLndhcm4oJ0FicElkZW50aXR5OjpSb2xlRGVsZXRpb25Db25maXJtYXRpb25NZXNzYWdlJywgJ0FicElkZW50aXR5OjpBcmVZb3VTdXJlJywge1xuICAgICAgICBtZXNzYWdlTG9jYWxpemF0aW9uUGFyYW1zOiBbbmFtZV0sXG4gICAgICB9KVxuICAgICAgLnN1YnNjcmliZSgoc3RhdHVzOiBUb2FzdGVyLlN0YXR1cykgPT4ge1xuICAgICAgICBpZiAoc3RhdHVzID09PSBUb2FzdGVyLlN0YXR1cy5jb25maXJtKSB7XG4gICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgRGVsZXRlUm9sZShpZCkpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIG9uUGFnZUNoYW5nZShkYXRhKSB7XG4gICAgdGhpcy5wYWdlUXVlcnkuc2tpcENvdW50ID0gZGF0YS5maXJzdDtcbiAgICB0aGlzLnBhZ2VRdWVyeS5tYXhSZXN1bHRDb3VudCA9IGRhdGEucm93cztcblxuICAgIHRoaXMuZ2V0KCk7XG4gIH1cblxuICBnZXQoKSB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFJvbGVzKHRoaXMucGFnZVF1ZXJ5KSlcbiAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+ICh0aGlzLmxvYWRpbmcgPSBmYWxzZSkpKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/esm5/lib/components/users/users.component.js b/npm/ng-packs/dist/identity/esm5/lib/components/users/users.component.js index 5ba640606e..273bf12567 100644 --- a/npm/ng-packs/dist/identity/esm5/lib/components/users/users.component.js +++ b/npm/ng-packs/dist/identity/esm5/lib/components/users/users.component.js @@ -22,6 +22,7 @@ var UsersComponent = /** @class */ (function () { sorting: 'userName', }; this.loading = false; + this.modalBusy = false; this.trackByFn = (/** * @param {?} index * @param {?} item @@ -151,6 +152,7 @@ var UsersComponent = /** @class */ (function () { var _this = this; if (!this.form.valid) return; + this.modalBusy = true; var roleNames = this.form.value.roleNames; /** @type {?} */ var mappedRoleNames = snq((/** @@ -173,6 +175,7 @@ var UsersComponent = /** @class */ (function () { * @return {?} */ function () { + _this.modalBusy = false; _this.isModalVisible = false; })); }; @@ -235,7 +238,7 @@ var UsersComponent = /** @class */ (function () { UsersComponent.decorators = [ { type: Component, args: [{ selector: 'abp-users', - template: "
\n
\n
\n
\n
{{ 'AbpIdentity::Users' | abpLocalization }}
\n
\n
\n \n {{ 'AbpIdentity::NewUser' | abpLocalization }}\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::UserName' | abpLocalization }}\n {{ 'AbpIdentity::EmailAddress' | abpLocalization }}\n {{ 'AbpIdentity::PhoneNumber' | abpLocalization }}\n \n \n \n \n \n
\n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
\n \n \n \n
\n
\n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
\n \n
\n
\n\n\n \n

{{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewUser') | abpLocalization }}

\n
\n\n \n \n
\n \n \n \n
\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n
\n\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n
\n
\n
\n \n \n
\n \n \n \n
\n \n
\n
\n
\n
\n
\n
\n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
\n\n\n" + template: "
\n
\n
\n
\n
{{ 'AbpIdentity::Users' | abpLocalization }}
\n
\n
\n \n {{ 'AbpIdentity::NewUser' | abpLocalization }}\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::UserName' | abpLocalization }}\n {{ 'AbpIdentity::EmailAddress' | abpLocalization }}\n {{ 'AbpIdentity::PhoneNumber' | abpLocalization }}\n \n \n \n \n \n
\n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
\n \n \n \n
\n
\n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
\n \n
\n
\n\n\n \n

{{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewUser') | abpLocalization }}

\n
\n\n \n \n
\n \n \n \n
\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n
\n\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n
\n
\n
\n \n \n
\n \n \n \n
\n \n
\n
\n
\n
\n
\n
\n\n \n \n {{\n 'AbpIdentity::Save' | abpLocalization\n }}\n \n
\n\n\n" }] } ]; /** @nocollapse */ @@ -284,6 +287,8 @@ if (false) { /** @type {?} */ UsersComponent.prototype.loading; /** @type {?} */ + UsersComponent.prototype.modalBusy; + /** @type {?} */ UsersComponent.prototype.trackByFn; /** * @type {?} @@ -301,4 +306,4 @@ if (false) { */ UsersComponent.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5pZGVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3VzZXJzL3VzZXJzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFtQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUE4QixXQUFXLEVBQWEsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdHLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQztBQUN0QixPQUFPLEVBQ0wsVUFBVSxFQUNWLFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLFFBQVEsRUFDUixVQUFVLEdBQ1gsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV4QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQ7SUF3Q0Usd0JBQW9CLG1CQUF3QyxFQUFVLEVBQWUsRUFBVSxLQUFZO1FBQXZGLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBTztRQWxCM0csdUJBQWtCLEdBQVksS0FBSyxDQUFDO1FBSXBDLGNBQVMsR0FBd0I7WUFDL0IsT0FBTyxFQUFFLFVBQVU7U0FDcEIsQ0FBQztRQUlGLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFekIs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QUM7MENBQ3hCLFVBQVU7aURBQXNCO0lBR3ZDO1FBREMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQzswQ0FDNUIsVUFBVTt1REFBUztJQTRJbEMscUJBQUM7Q0FBQSxBQXJKRCxJQXFKQztTQWpKWSxjQUFjOzs7SUFDekIsK0JBQ3VDOztJQUV2QyxxQ0FDZ0M7O0lBRWhDLHNDQUMrQjs7SUFFL0IsOEJBQWdCOztJQUVoQixrQ0FBNEI7O0lBRTVCLDJDQUF1Qzs7SUFFdkMsK0JBQTJCOztJQUUzQiw0Q0FBb0M7O0lBRXBDLHFDQUFvQjs7SUFFcEIsbUNBRUU7O0lBRUYsd0NBQXdCOztJQUV4QixpQ0FBeUI7O0lBRXpCLG1DQUE2Rjs7Ozs7SUFNakYsNkNBQWdEOzs7OztJQUFFLDRCQUF1Qjs7Ozs7SUFBRSwrQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBQlAgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSwgVG9hc3RlciB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7IENvbXBvbmVudCwgVGVtcGxhdGVSZWYsIFRyYWNrQnlGdW5jdGlvbiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1BcnJheSwgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycywgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmluYWxpemUsIHBsdWNrLCBzd2l0Y2hNYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgc25xIGZyb20gJ3NucSc7XG5pbXBvcnQge1xuICBDcmVhdGVVc2VyLFxuICBEZWxldGVVc2VyLFxuICBHZXRVc2VyQnlJZCxcbiAgR2V0VXNlclJvbGVzLFxuICBHZXRVc2VycyxcbiAgVXBkYXRlVXNlcixcbn0gZnJvbSAnLi4vLi4vYWN0aW9ucy9pZGVudGl0eS5hY3Rpb25zJztcbmltcG9ydCB7IElkZW50aXR5IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2lkZW50aXR5JztcbmltcG9ydCB7IElkZW50aXR5U3RhdGUgfSBmcm9tICcuLi8uLi9zdGF0ZXMvaWRlbnRpdHkuc3RhdGUnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLXVzZXJzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3VzZXJzLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgVXNlcnNDb21wb25lbnQge1xuICBAU2VsZWN0KElkZW50aXR5U3RhdGUuZ2V0VXNlcnMpXG4gIGRhdGEkOiBPYnNlcnZhYmxlPElkZW50aXR5LlVzZXJJdGVtW10+O1xuXG4gIEBTZWxlY3QoSWRlbnRpdHlTdGF0ZS5nZXRVc2Vyc1RvdGFsQ291bnQpXG4gIHRvdGFsQ291bnQkOiBPYnNlcnZhYmxlPG51bWJlcj47XG5cbiAgQFZpZXdDaGlsZCgnbW9kYWxDb250ZW50JywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIG1vZGFsQ29udGVudDogVGVtcGxhdGVSZWY8YW55PjtcblxuICBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgc2VsZWN0ZWQ6IElkZW50aXR5LlVzZXJJdGVtO1xuXG4gIHNlbGVjdGVkVXNlclJvbGVzOiBJZGVudGl0eS5Sb2xlSXRlbVtdO1xuXG4gIHJvbGVzOiBJZGVudGl0eS5Sb2xlSXRlbVtdO1xuXG4gIHZpc2libGVQZXJtaXNzaW9uczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByb3ZpZGVyS2V5OiBzdHJpbmc7XG5cbiAgcGFnZVF1ZXJ5OiBBQlAuUGFnZVF1ZXJ5UGFyYW1zID0ge1xuICAgIHNvcnRpbmc6ICd1c2VyTmFtZScsXG4gIH07XG5cbiAgaXNNb2RhbFZpc2libGU6IGJvb2xlYW47XG5cbiAgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHRyYWNrQnlGbjogVHJhY2tCeUZ1bmN0aW9uPEFic3RyYWN0Q29udHJvbD4gPSAoaW5kZXgsIGl0ZW0pID0+IE9iamVjdC5rZXlzKGl0ZW0pWzBdIHx8IGluZGV4O1xuXG4gIGdldCByb2xlR3JvdXBzKCk6IEZvcm1Hcm91cFtdIHtcbiAgICByZXR1cm4gc25xKCgpID0+ICh0aGlzLmZvcm0uZ2V0KCdyb2xlTmFtZXMnKSBhcyBGb3JtQXJyYXkpLmNvbnRyb2xzIGFzIEZvcm1Hcm91cFtdLCBbXSk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIHN0b3JlOiBTdG9yZSkge31cblxuICBvblNlYXJjaCh2YWx1ZSkge1xuICAgIHRoaXMucGFnZVF1ZXJ5LmZpbHRlciA9IHZhbHVlO1xuICAgIHRoaXMuZ2V0KCk7XG4gIH1cblxuICBidWlsZEZvcm0oKSB7XG4gICAgdGhpcy5yb2xlcyA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoSWRlbnRpdHlTdGF0ZS5nZXRSb2xlcyk7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICB1c2VyTmFtZTogW3RoaXMuc2VsZWN0ZWQudXNlck5hbWUgfHwgJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1heExlbmd0aCgyNTYpXV0sXG4gICAgICBlbWFpbDogW3RoaXMuc2VsZWN0ZWQuZW1haWwgfHwgJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLmVtYWlsLCBWYWxpZGF0b3JzLm1heExlbmd0aCgyNTYpXV0sXG4gICAgICBuYW1lOiBbdGhpcy5zZWxlY3RlZC5uYW1lIHx8ICcnLCBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoNjQpXV0sXG4gICAgICBzdXJuYW1lOiBbdGhpcy5zZWxlY3RlZC5zdXJuYW1lIHx8ICcnLCBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoNjQpXV0sXG4gICAgICBwaG9uZU51bWJlcjogW3RoaXMuc2VsZWN0ZWQucGhvbmVOdW1iZXIgfHwgJycsIFtWYWxpZGF0b3JzLm1heExlbmd0aCgxNildXSxcbiAgICAgIGxvY2tvdXRFbmFibGVkOiBbdGhpcy5zZWxlY3RlZC50d29GYWN0b3JFbmFibGVkIHx8ICh0aGlzLnNlbGVjdGVkLmlkID8gZmFsc2UgOiB0cnVlKV0sXG4gICAgICB0d29GYWN0b3JFbmFibGVkOiBbdGhpcy5zZWxlY3RlZC50d29GYWN0b3JFbmFibGVkIHx8ICh0aGlzLnNlbGVjdGVkLmlkID8gZmFsc2UgOiB0cnVlKV0sXG4gICAgICByb2xlTmFtZXM6IHRoaXMuZmIuYXJyYXkoXG4gICAgICAgIHRoaXMucm9sZXMubWFwKHJvbGUgPT5cbiAgICAgICAgICB0aGlzLmZiLmdyb3VwKHtcbiAgICAgICAgICAgIFtyb2xlLm5hbWVdOiBbISFzbnEoKCkgPT4gdGhpcy5zZWxlY3RlZFVzZXJSb2xlcy5maW5kKHVzZXJSb2xlID0+IHVzZXJSb2xlLmlkID09PSByb2xlLmlkKSldLFxuICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICB9KTtcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWQudXNlck5hbWUpIHtcbiAgICAgIHRoaXMuZm9ybS5hZGRDb250cm9sKCdwYXNzd29yZCcsIG5ldyBGb3JtQ29udHJvbCgnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDMyKV0pKTtcbiAgICB9XG4gIH1cblxuICBvcGVuTW9kYWwoKSB7XG4gICAgdGhpcy5idWlsZEZvcm0oKTtcbiAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gdHJ1ZTtcbiAgfVxuXG4gIG9uQWRkKCkge1xuICAgIHRoaXMuc2VsZWN0ZWQgPSB7fSBhcyBJZGVudGl0eS5Vc2VySXRlbTtcbiAgICB0aGlzLnNlbGVjdGVkVXNlclJvbGVzID0gW10gYXMgSWRlbnRpdHkuUm9sZUl0ZW1bXTtcbiAgICB0aGlzLm9wZW5Nb2RhbCgpO1xuICB9XG5cbiAgb25FZGl0KGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFVzZXJCeUlkKGlkKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgR2V0VXNlclJvbGVzKGlkKSkpLFxuICAgICAgICBwbHVjaygnSWRlbnRpdHlTdGF0ZScpLFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoc3RhdGU6IElkZW50aXR5LlN0YXRlKSA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBzdGF0ZS5zZWxlY3RlZFVzZXI7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRVc2VyUm9sZXMgPSBzdGF0ZS5zZWxlY3RlZFVzZXJSb2xlcztcbiAgICAgICAgdGhpcy5vcGVuTW9kYWwoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgc2F2ZSgpIHtcbiAgICBpZiAoIXRoaXMuZm9ybS52YWxpZCkgcmV0dXJuO1xuXG4gICAgY29uc3QgeyByb2xlTmFtZXMgfSA9IHRoaXMuZm9ybS52YWx1ZTtcbiAgICBjb25zdCBtYXBwZWRSb2xlTmFtZXMgPSBzbnEoXG4gICAgICAoKSA9PiByb2xlTmFtZXMuZmlsdGVyKHJvbGUgPT4gISFyb2xlW09iamVjdC5rZXlzKHJvbGUpWzBdXSkubWFwKHJvbGUgPT4gT2JqZWN0LmtleXMocm9sZSlbMF0pLFxuICAgICAgW10sXG4gICAgKTtcblxuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5kaXNwYXRjaChcbiAgICAgICAgdGhpcy5zZWxlY3RlZC5pZFxuICAgICAgICAgID8gbmV3IFVwZGF0ZVVzZXIoe1xuICAgICAgICAgICAgICAuLi50aGlzLmZvcm0udmFsdWUsXG4gICAgICAgICAgICAgIGlkOiB0aGlzLnNlbGVjdGVkLmlkLFxuICAgICAgICAgICAgICByb2xlTmFtZXM6IG1hcHBlZFJvbGVOYW1lcyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgOiBuZXcgQ3JlYXRlVXNlcih7XG4gICAgICAgICAgICAgIC4uLnRoaXMuZm9ybS52YWx1ZSxcbiAgICAgICAgICAgICAgcm9sZU5hbWVzOiBtYXBwZWRSb2xlTmFtZXMsXG4gICAgICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gZmFsc2U7XG4gICAgICB9KTtcbiAgfVxuXG4gIGRlbGV0ZShpZDogc3RyaW5nLCB1c2VyTmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlXG4gICAgICAud2FybignQWJwSWRlbnRpdHk6OlVzZXJEZWxldGlvbkNvbmZpcm1hdGlvbk1lc3NhZ2UnLCAnQWJwSWRlbnRpdHk6OkFyZVlvdVN1cmUnLCB7XG4gICAgICAgIG1lc3NhZ2VMb2NhbGl6YXRpb25QYXJhbXM6IFt1c2VyTmFtZV0sXG4gICAgICB9KVxuICAgICAgLnN1YnNjcmliZSgoc3RhdHVzOiBUb2FzdGVyLlN0YXR1cykgPT4ge1xuICAgICAgICBpZiAoc3RhdHVzID09PSBUb2FzdGVyLlN0YXR1cy5jb25maXJtKSB7XG4gICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgRGVsZXRlVXNlcihpZCkpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIG9uUGFnZUNoYW5nZShkYXRhKSB7XG4gICAgdGhpcy5wYWdlUXVlcnkuc2tpcENvdW50ID0gZGF0YS5maXJzdDtcbiAgICB0aGlzLnBhZ2VRdWVyeS5tYXhSZXN1bHRDb3VudCA9IGRhdGEucm93cztcblxuICAgIHRoaXMuZ2V0KCk7XG4gIH1cblxuICBnZXQoKSB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFVzZXJzKHRoaXMucGFnZVF1ZXJ5KSlcbiAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+ICh0aGlzLmxvYWRpbmcgPSBmYWxzZSkpKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5pZGVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3VzZXJzL3VzZXJzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFtQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUE4QixXQUFXLEVBQWEsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdHLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQztBQUN0QixPQUFPLEVBQ0wsVUFBVSxFQUNWLFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLFFBQVEsRUFDUixVQUFVLEdBQ1gsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV4QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQ7SUEwQ0Usd0JBQW9CLG1CQUF3QyxFQUFVLEVBQWUsRUFBVSxLQUFZO1FBQXZGLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBTztRQXBCM0csdUJBQWtCLEdBQVksS0FBSyxDQUFDO1FBSXBDLGNBQVMsR0FBd0I7WUFDL0IsT0FBTyxFQUFFLFVBQVU7U0FDcEIsQ0FBQztRQUlGLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFekIs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QUs7OzsrQkF5Qm5CLFNBQVMsU0FBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOztJQUw1QztRQURDLE1BQU0sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDOzBDQUN4QixVQUFVO2lEQUFzQjtJQUd2QztRQURDLE1BQU0sQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUM7MENBQzVCLFVBQVU7dURBQVM7SUFnSmxDLHFCQUFDO0NBQUEsQUF6SkQsSUF5SkM7U0FySlksY0FBYzs7O0lBQ3pCLCtCQUN1Qzs7SUFFdkMscUNBQ2dDOztJQUVoQyxzQ0FDK0I7O0lBRS9CLDhCQUFnQjs7SUFFaEIsa0NBQTRCOztJQUU1QiwyQ0FBdUM7O0lBRXZDLCtCQUEyQjs7SUFFM0IsNENBQW9DOztJQUVwQyxxQ0FBb0I7O0lBRXBCLG1DQUVFOztJQUVGLHdDQUF3Qjs7SUFFeEIsaUNBQXlCOztJQUV6QixtQ0FBMkI7O0lBRTNCLG1DQUE2Rjs7Ozs7SUFNakYsNkNBQWdEOzs7OztJQUFFLDRCQUF1Qjs7Ozs7SUFBRSwrQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBQlAgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSwgVG9hc3RlciB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7IENvbXBvbmVudCwgVGVtcGxhdGVSZWYsIFRyYWNrQnlGdW5jdGlvbiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1BcnJheSwgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycywgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmluYWxpemUsIHBsdWNrLCBzd2l0Y2hNYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgc25xIGZyb20gJ3NucSc7XG5pbXBvcnQge1xuICBDcmVhdGVVc2VyLFxuICBEZWxldGVVc2VyLFxuICBHZXRVc2VyQnlJZCxcbiAgR2V0VXNlclJvbGVzLFxuICBHZXRVc2VycyxcbiAgVXBkYXRlVXNlcixcbn0gZnJvbSAnLi4vLi4vYWN0aW9ucy9pZGVudGl0eS5hY3Rpb25zJztcbmltcG9ydCB7IElkZW50aXR5IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2lkZW50aXR5JztcbmltcG9ydCB7IElkZW50aXR5U3RhdGUgfSBmcm9tICcuLi8uLi9zdGF0ZXMvaWRlbnRpdHkuc3RhdGUnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLXVzZXJzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3VzZXJzLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgVXNlcnNDb21wb25lbnQge1xuICBAU2VsZWN0KElkZW50aXR5U3RhdGUuZ2V0VXNlcnMpXG4gIGRhdGEkOiBPYnNlcnZhYmxlPElkZW50aXR5LlVzZXJJdGVtW10+O1xuXG4gIEBTZWxlY3QoSWRlbnRpdHlTdGF0ZS5nZXRVc2Vyc1RvdGFsQ291bnQpXG4gIHRvdGFsQ291bnQkOiBPYnNlcnZhYmxlPG51bWJlcj47XG5cbiAgQFZpZXdDaGlsZCgnbW9kYWxDb250ZW50JywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIG1vZGFsQ29udGVudDogVGVtcGxhdGVSZWY8YW55PjtcblxuICBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgc2VsZWN0ZWQ6IElkZW50aXR5LlVzZXJJdGVtO1xuXG4gIHNlbGVjdGVkVXNlclJvbGVzOiBJZGVudGl0eS5Sb2xlSXRlbVtdO1xuXG4gIHJvbGVzOiBJZGVudGl0eS5Sb2xlSXRlbVtdO1xuXG4gIHZpc2libGVQZXJtaXNzaW9uczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByb3ZpZGVyS2V5OiBzdHJpbmc7XG5cbiAgcGFnZVF1ZXJ5OiBBQlAuUGFnZVF1ZXJ5UGFyYW1zID0ge1xuICAgIHNvcnRpbmc6ICd1c2VyTmFtZScsXG4gIH07XG5cbiAgaXNNb2RhbFZpc2libGU6IGJvb2xlYW47XG5cbiAgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIG1vZGFsQnVzeTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHRyYWNrQnlGbjogVHJhY2tCeUZ1bmN0aW9uPEFic3RyYWN0Q29udHJvbD4gPSAoaW5kZXgsIGl0ZW0pID0+IE9iamVjdC5rZXlzKGl0ZW0pWzBdIHx8IGluZGV4O1xuXG4gIGdldCByb2xlR3JvdXBzKCk6IEZvcm1Hcm91cFtdIHtcbiAgICByZXR1cm4gc25xKCgpID0+ICh0aGlzLmZvcm0uZ2V0KCdyb2xlTmFtZXMnKSBhcyBGb3JtQXJyYXkpLmNvbnRyb2xzIGFzIEZvcm1Hcm91cFtdLCBbXSk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIHN0b3JlOiBTdG9yZSkge31cblxuICBvblNlYXJjaCh2YWx1ZSkge1xuICAgIHRoaXMucGFnZVF1ZXJ5LmZpbHRlciA9IHZhbHVlO1xuICAgIHRoaXMuZ2V0KCk7XG4gIH1cblxuICBidWlsZEZvcm0oKSB7XG4gICAgdGhpcy5yb2xlcyA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoSWRlbnRpdHlTdGF0ZS5nZXRSb2xlcyk7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICB1c2VyTmFtZTogW3RoaXMuc2VsZWN0ZWQudXNlck5hbWUgfHwgJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1heExlbmd0aCgyNTYpXV0sXG4gICAgICBlbWFpbDogW3RoaXMuc2VsZWN0ZWQuZW1haWwgfHwgJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLmVtYWlsLCBWYWxpZGF0b3JzLm1heExlbmd0aCgyNTYpXV0sXG4gICAgICBuYW1lOiBbdGhpcy5zZWxlY3RlZC5uYW1lIHx8ICcnLCBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoNjQpXV0sXG4gICAgICBzdXJuYW1lOiBbdGhpcy5zZWxlY3RlZC5zdXJuYW1lIHx8ICcnLCBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoNjQpXV0sXG4gICAgICBwaG9uZU51bWJlcjogW3RoaXMuc2VsZWN0ZWQucGhvbmVOdW1iZXIgfHwgJycsIFtWYWxpZGF0b3JzLm1heExlbmd0aCgxNildXSxcbiAgICAgIGxvY2tvdXRFbmFibGVkOiBbdGhpcy5zZWxlY3RlZC50d29GYWN0b3JFbmFibGVkIHx8ICh0aGlzLnNlbGVjdGVkLmlkID8gZmFsc2UgOiB0cnVlKV0sXG4gICAgICB0d29GYWN0b3JFbmFibGVkOiBbdGhpcy5zZWxlY3RlZC50d29GYWN0b3JFbmFibGVkIHx8ICh0aGlzLnNlbGVjdGVkLmlkID8gZmFsc2UgOiB0cnVlKV0sXG4gICAgICByb2xlTmFtZXM6IHRoaXMuZmIuYXJyYXkoXG4gICAgICAgIHRoaXMucm9sZXMubWFwKHJvbGUgPT5cbiAgICAgICAgICB0aGlzLmZiLmdyb3VwKHtcbiAgICAgICAgICAgIFtyb2xlLm5hbWVdOiBbISFzbnEoKCkgPT4gdGhpcy5zZWxlY3RlZFVzZXJSb2xlcy5maW5kKHVzZXJSb2xlID0+IHVzZXJSb2xlLmlkID09PSByb2xlLmlkKSldLFxuICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICB9KTtcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWQudXNlck5hbWUpIHtcbiAgICAgIHRoaXMuZm9ybS5hZGRDb250cm9sKCdwYXNzd29yZCcsIG5ldyBGb3JtQ29udHJvbCgnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDMyKV0pKTtcbiAgICB9XG4gIH1cblxuICBvcGVuTW9kYWwoKSB7XG4gICAgdGhpcy5idWlsZEZvcm0oKTtcbiAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gdHJ1ZTtcbiAgfVxuXG4gIG9uQWRkKCkge1xuICAgIHRoaXMuc2VsZWN0ZWQgPSB7fSBhcyBJZGVudGl0eS5Vc2VySXRlbTtcbiAgICB0aGlzLnNlbGVjdGVkVXNlclJvbGVzID0gW10gYXMgSWRlbnRpdHkuUm9sZUl0ZW1bXTtcbiAgICB0aGlzLm9wZW5Nb2RhbCgpO1xuICB9XG5cbiAgb25FZGl0KGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFVzZXJCeUlkKGlkKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgR2V0VXNlclJvbGVzKGlkKSkpLFxuICAgICAgICBwbHVjaygnSWRlbnRpdHlTdGF0ZScpLFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoc3RhdGU6IElkZW50aXR5LlN0YXRlKSA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBzdGF0ZS5zZWxlY3RlZFVzZXI7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRVc2VyUm9sZXMgPSBzdGF0ZS5zZWxlY3RlZFVzZXJSb2xlcztcbiAgICAgICAgdGhpcy5vcGVuTW9kYWwoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgc2F2ZSgpIHtcbiAgICBpZiAoIXRoaXMuZm9ybS52YWxpZCkgcmV0dXJuO1xuICAgIHRoaXMubW9kYWxCdXN5ID0gdHJ1ZTtcblxuICAgIGNvbnN0IHsgcm9sZU5hbWVzIH0gPSB0aGlzLmZvcm0udmFsdWU7XG4gICAgY29uc3QgbWFwcGVkUm9sZU5hbWVzID0gc25xKFxuICAgICAgKCkgPT4gcm9sZU5hbWVzLmZpbHRlcihyb2xlID0+ICEhcm9sZVtPYmplY3Qua2V5cyhyb2xlKVswXV0pLm1hcChyb2xlID0+IE9iamVjdC5rZXlzKHJvbGUpWzBdKSxcbiAgICAgIFtdLFxuICAgICk7XG5cbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2goXG4gICAgICAgIHRoaXMuc2VsZWN0ZWQuaWRcbiAgICAgICAgICA/IG5ldyBVcGRhdGVVc2VyKHtcbiAgICAgICAgICAgICAgLi4udGhpcy5mb3JtLnZhbHVlLFxuICAgICAgICAgICAgICBpZDogdGhpcy5zZWxlY3RlZC5pZCxcbiAgICAgICAgICAgICAgcm9sZU5hbWVzOiBtYXBwZWRSb2xlTmFtZXMsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIDogbmV3IENyZWF0ZVVzZXIoe1xuICAgICAgICAgICAgICAuLi50aGlzLmZvcm0udmFsdWUsXG4gICAgICAgICAgICAgIHJvbGVOYW1lczogbWFwcGVkUm9sZU5hbWVzLFxuICAgICAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5tb2RhbEJ1c3kgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgfSk7XG4gIH1cblxuICBkZWxldGUoaWQ6IHN0cmluZywgdXNlck5hbWU6IHN0cmluZykge1xuICAgIHRoaXMuY29uZmlybWF0aW9uU2VydmljZVxuICAgICAgLndhcm4oJ0FicElkZW50aXR5OjpVc2VyRGVsZXRpb25Db25maXJtYXRpb25NZXNzYWdlJywgJ0FicElkZW50aXR5OjpBcmVZb3VTdXJlJywge1xuICAgICAgICBtZXNzYWdlTG9jYWxpemF0aW9uUGFyYW1zOiBbdXNlck5hbWVdLFxuICAgICAgfSlcbiAgICAgIC5zdWJzY3JpYmUoKHN0YXR1czogVG9hc3Rlci5TdGF0dXMpID0+IHtcbiAgICAgICAgaWYgKHN0YXR1cyA9PT0gVG9hc3Rlci5TdGF0dXMuY29uZmlybSkge1xuICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IERlbGV0ZVVzZXIoaWQpKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBvblBhZ2VDaGFuZ2UoZGF0YSkge1xuICAgIHRoaXMucGFnZVF1ZXJ5LnNraXBDb3VudCA9IGRhdGEuZmlyc3Q7XG4gICAgdGhpcy5wYWdlUXVlcnkubWF4UmVzdWx0Q291bnQgPSBkYXRhLnJvd3M7XG5cbiAgICB0aGlzLmdldCgpO1xuICB9XG5cbiAgZ2V0KCkge1xuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKG5ldyBHZXRVc2Vycyh0aGlzLnBhZ2VRdWVyeSkpXG4gICAgICAucGlwZShmaW5hbGl6ZSgoKSA9PiAodGhpcy5sb2FkaW5nID0gZmFsc2UpKSlcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/fesm2015/abp-ng.identity.js b/npm/ng-packs/dist/identity/fesm2015/abp-ng.identity.js index 582e158e7f..57a5f31b70 100644 --- a/npm/ng-packs/dist/identity/fesm2015/abp-ng.identity.js +++ b/npm/ng-packs/dist/identity/fesm2015/abp-ng.identity.js @@ -27,6 +27,12 @@ class GetRoles { } } GetRoles.type = '[Identity] Get Roles'; +if (false) { + /** @type {?} */ + GetRoles.type; + /** @type {?} */ + GetRoles.prototype.payload; +} class GetRoleById { /** * @param {?} payload @@ -36,6 +42,12 @@ class GetRoleById { } } GetRoleById.type = '[Identity] Get Role By Id'; +if (false) { + /** @type {?} */ + GetRoleById.type; + /** @type {?} */ + GetRoleById.prototype.payload; +} class DeleteRole { /** * @param {?} payload @@ -45,6 +57,12 @@ class DeleteRole { } } DeleteRole.type = '[Identity] Delete Role'; +if (false) { + /** @type {?} */ + DeleteRole.type; + /** @type {?} */ + DeleteRole.prototype.payload; +} class CreateRole { /** * @param {?} payload @@ -54,6 +72,12 @@ class CreateRole { } } CreateRole.type = '[Identity] Create Role'; +if (false) { + /** @type {?} */ + CreateRole.type; + /** @type {?} */ + CreateRole.prototype.payload; +} class UpdateRole { /** * @param {?} payload @@ -63,6 +87,12 @@ class UpdateRole { } } UpdateRole.type = '[Identity] Update Role'; +if (false) { + /** @type {?} */ + UpdateRole.type; + /** @type {?} */ + UpdateRole.prototype.payload; +} class GetUsers { /** * @param {?=} payload @@ -72,6 +102,12 @@ class GetUsers { } } GetUsers.type = '[Identity] Get Users'; +if (false) { + /** @type {?} */ + GetUsers.type; + /** @type {?} */ + GetUsers.prototype.payload; +} class GetUserById { /** * @param {?} payload @@ -81,6 +117,12 @@ class GetUserById { } } GetUserById.type = '[Identity] Get User By Id'; +if (false) { + /** @type {?} */ + GetUserById.type; + /** @type {?} */ + GetUserById.prototype.payload; +} class DeleteUser { /** * @param {?} payload @@ -90,6 +132,12 @@ class DeleteUser { } } DeleteUser.type = '[Identity] Delete User'; +if (false) { + /** @type {?} */ + DeleteUser.type; + /** @type {?} */ + DeleteUser.prototype.payload; +} class CreateUser { /** * @param {?} payload @@ -99,6 +147,12 @@ class CreateUser { } } CreateUser.type = '[Identity] Create User'; +if (false) { + /** @type {?} */ + CreateUser.type; + /** @type {?} */ + CreateUser.prototype.payload; +} class UpdateUser { /** * @param {?} payload @@ -108,6 +162,12 @@ class UpdateUser { } } UpdateUser.type = '[Identity] Update User'; +if (false) { + /** @type {?} */ + UpdateUser.type; + /** @type {?} */ + UpdateUser.prototype.payload; +} class GetUserRoles { /** * @param {?} payload @@ -117,6 +177,12 @@ class GetUserRoles { } } GetUserRoles.type = '[Identity] Get User Roles'; +if (false) { + /** @type {?} */ + GetUserRoles.type; + /** @type {?} */ + GetUserRoles.prototype.payload; +} /** * @fileoverview added by tsickle @@ -284,6 +350,13 @@ IdentityService.ctorParameters = () => [ { type: RestService } ]; /** @nocollapse */ IdentityService.ngInjectableDef = ɵɵdefineInjectable({ factory: function IdentityService_Factory() { return new IdentityService(ɵɵinject(RestService)); }, token: IdentityService, providedIn: "root" }); +if (false) { + /** + * @type {?} + * @private + */ + IdentityService.prototype.rest; +} /** * @fileoverview added by tsickle @@ -564,6 +637,13 @@ IdentityState = __decorate([ }), __metadata("design:paramtypes", [IdentityService]) ], IdentityState); +if (false) { + /** + * @type {?} + * @private + */ + IdentityState.prototype.identityService; +} /** * @fileoverview added by tsickle @@ -584,6 +664,7 @@ class RolesComponent { sorting: 'name', }; this.loading = false; + this.modalBusy = false; } /** * @param {?} value @@ -643,6 +724,7 @@ class RolesComponent { save() { if (!this.form.valid) return; + this.modalBusy = true; this.store .dispatch(this.selected.id ? new UpdateRole(Object.assign({}, this.form.value, { id: this.selected.id })) @@ -651,6 +733,7 @@ class RolesComponent { * @return {?} */ () => { + this.modalBusy = false; this.isModalVisible = false; })); } @@ -700,7 +783,7 @@ class RolesComponent { RolesComponent.decorators = [ { type: Component, args: [{ selector: 'abp-roles', - template: "
\n
\n
\n
\n
{{ 'AbpIdentity::Roles' | abpLocalization }}
\n
\n
\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::RoleName' | abpLocalization }}\n \n \n \n \n \n
\n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
\n \n \n \n
\n
\n \n {{ data.name }}\n \n
\n \n
\n
\n\n\n \n

{{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewRole') | abpLocalization }}

\n
\n\n \n
\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n
\n
\n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
\n\n\n" + template: "
\n
\n
\n
\n
{{ 'AbpIdentity::Roles' | abpLocalization }}
\n
\n
\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::RoleName' | abpLocalization }}\n \n \n \n \n \n
\n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
\n \n \n \n
\n
\n \n {{ data.name }}\n \n
\n \n
\n
\n\n\n \n

{{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewRole') | abpLocalization }}

\n
\n\n \n
\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n
\n
\n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
\n\n\n" }] } ]; /** @nocollapse */ @@ -720,6 +803,45 @@ __decorate([ Select(IdentityState.getRolesTotalCount), __metadata("design:type", Observable) ], RolesComponent.prototype, "totalCount$", void 0); +if (false) { + /** @type {?} */ + RolesComponent.prototype.data$; + /** @type {?} */ + RolesComponent.prototype.totalCount$; + /** @type {?} */ + RolesComponent.prototype.form; + /** @type {?} */ + RolesComponent.prototype.selected; + /** @type {?} */ + RolesComponent.prototype.isModalVisible; + /** @type {?} */ + RolesComponent.prototype.visiblePermissions; + /** @type {?} */ + RolesComponent.prototype.providerKey; + /** @type {?} */ + RolesComponent.prototype.pageQuery; + /** @type {?} */ + RolesComponent.prototype.loading; + /** @type {?} */ + RolesComponent.prototype.modalBusy; + /** @type {?} */ + RolesComponent.prototype.modalContent; + /** + * @type {?} + * @private + */ + RolesComponent.prototype.confirmationService; + /** + * @type {?} + * @private + */ + RolesComponent.prototype.fb; + /** + * @type {?} + * @private + */ + RolesComponent.prototype.store; +} /** * @fileoverview added by tsickle @@ -748,6 +870,13 @@ RoleResolver.decorators = [ RoleResolver.ctorParameters = () => [ { type: Store } ]; +if (false) { + /** + * @type {?} + * @private + */ + RoleResolver.prototype.store; +} /** * @fileoverview added by tsickle @@ -768,6 +897,7 @@ class UsersComponent { sorting: 'userName', }; this.loading = false; + this.modalBusy = false; this.trackByFn = (/** * @param {?} index * @param {?} item @@ -866,6 +996,7 @@ class UsersComponent { save() { if (!this.form.valid) return; + this.modalBusy = true; const { roleNames } = this.form.value; /** @type {?} */ const mappedRoleNames = snq((/** @@ -888,6 +1019,7 @@ class UsersComponent { * @return {?} */ () => { + this.modalBusy = false; this.isModalVisible = false; })); } @@ -937,7 +1069,7 @@ class UsersComponent { UsersComponent.decorators = [ { type: Component, args: [{ selector: 'abp-users', - template: "
\n
\n
\n
\n
{{ 'AbpIdentity::Users' | abpLocalization }}
\n
\n
\n \n {{ 'AbpIdentity::NewUser' | abpLocalization }}\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::UserName' | abpLocalization }}\n {{ 'AbpIdentity::EmailAddress' | abpLocalization }}\n {{ 'AbpIdentity::PhoneNumber' | abpLocalization }}\n \n \n \n \n \n
\n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
\n \n \n \n
\n
\n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
\n \n
\n
\n\n\n \n

{{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewUser') | abpLocalization }}

\n
\n\n \n \n
\n \n \n \n
\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n
\n\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n
\n
\n
\n \n \n
\n \n \n \n
\n \n
\n
\n
\n
\n
\n
\n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
\n\n\n" + template: "
\n
\n
\n
\n
{{ 'AbpIdentity::Users' | abpLocalization }}
\n
\n
\n \n {{ 'AbpIdentity::NewUser' | abpLocalization }}\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::UserName' | abpLocalization }}\n {{ 'AbpIdentity::EmailAddress' | abpLocalization }}\n {{ 'AbpIdentity::PhoneNumber' | abpLocalization }}\n \n \n \n \n \n
\n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
\n \n \n \n
\n
\n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
\n \n
\n
\n\n\n \n

{{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewUser') | abpLocalization }}

\n
\n\n \n \n
\n \n \n \n
\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n
\n\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n
\n
\n
\n \n \n
\n \n \n \n
\n \n
\n
\n
\n
\n
\n
\n\n \n \n {{\n 'AbpIdentity::Save' | abpLocalization\n }}\n \n
\n\n\n" }] } ]; /** @nocollapse */ @@ -957,6 +1089,51 @@ __decorate([ Select(IdentityState.getUsersTotalCount), __metadata("design:type", Observable) ], UsersComponent.prototype, "totalCount$", void 0); +if (false) { + /** @type {?} */ + UsersComponent.prototype.data$; + /** @type {?} */ + UsersComponent.prototype.totalCount$; + /** @type {?} */ + UsersComponent.prototype.modalContent; + /** @type {?} */ + UsersComponent.prototype.form; + /** @type {?} */ + UsersComponent.prototype.selected; + /** @type {?} */ + UsersComponent.prototype.selectedUserRoles; + /** @type {?} */ + UsersComponent.prototype.roles; + /** @type {?} */ + UsersComponent.prototype.visiblePermissions; + /** @type {?} */ + UsersComponent.prototype.providerKey; + /** @type {?} */ + UsersComponent.prototype.pageQuery; + /** @type {?} */ + UsersComponent.prototype.isModalVisible; + /** @type {?} */ + UsersComponent.prototype.loading; + /** @type {?} */ + UsersComponent.prototype.modalBusy; + /** @type {?} */ + UsersComponent.prototype.trackByFn; + /** + * @type {?} + * @private + */ + UsersComponent.prototype.confirmationService; + /** + * @type {?} + * @private + */ + UsersComponent.prototype.fb; + /** + * @type {?} + * @private + */ + UsersComponent.prototype.store; +} /** * @fileoverview added by tsickle @@ -985,6 +1162,13 @@ UserResolver.decorators = [ UserResolver.ctorParameters = () => [ { type: Store } ]; +if (false) { + /** + * @type {?} + * @private + */ + UserResolver.prototype.store; +} /** * @fileoverview added by tsickle @@ -1086,32 +1270,106 @@ var Identity; */ function State() { } Identity.State = State; + if (false) { + /** @type {?} */ + State.prototype.roles; + /** @type {?} */ + State.prototype.users; + /** @type {?} */ + State.prototype.selectedRole; + /** @type {?} */ + State.prototype.selectedUser; + /** @type {?} */ + State.prototype.selectedUserRoles; + } /** * @record */ function RoleSaveRequest() { } Identity.RoleSaveRequest = RoleSaveRequest; + if (false) { + /** @type {?} */ + RoleSaveRequest.prototype.name; + /** @type {?} */ + RoleSaveRequest.prototype.isDefault; + /** @type {?} */ + RoleSaveRequest.prototype.isPublic; + } /** * @record */ function RoleItem() { } Identity.RoleItem = RoleItem; + if (false) { + /** @type {?} */ + RoleItem.prototype.isStatic; + /** @type {?} */ + RoleItem.prototype.concurrencyStamp; + /** @type {?} */ + RoleItem.prototype.id; + } /** * @record */ function UserItem() { } Identity.UserItem = UserItem; + if (false) { + /** @type {?} */ + UserItem.prototype.tenantId; + /** @type {?} */ + UserItem.prototype.emailConfirmed; + /** @type {?} */ + UserItem.prototype.phoneNumberConfirmed; + /** @type {?} */ + UserItem.prototype.isLockedOut; + /** @type {?} */ + UserItem.prototype.concurrencyStamp; + /** @type {?} */ + UserItem.prototype.id; + } /** * @record */ function User() { } Identity.User = User; + if (false) { + /** @type {?} */ + User.prototype.userName; + /** @type {?} */ + User.prototype.name; + /** @type {?} */ + User.prototype.surname; + /** @type {?} */ + User.prototype.email; + /** @type {?} */ + User.prototype.phoneNumber; + /** @type {?} */ + User.prototype.twoFactorEnabled; + /** @type {?} */ + User.prototype.lockoutEnabled; + } /** * @record */ function UserSaveRequest() { } Identity.UserSaveRequest = UserSaveRequest; + if (false) { + /** @type {?} */ + UserSaveRequest.prototype.password; + /** @type {?} */ + UserSaveRequest.prototype.roleNames; + } })(Identity || (Identity = {})); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + export { CreateRole, CreateUser, DeleteRole, DeleteUser, GetRoleById, GetRoles, GetUserById, GetUserRoles, GetUsers, IDENTITY_ROUTES, IdentityModule, IdentityService, IdentityState, RoleResolver, RolesComponent, UpdateRole, UpdateUser, UsersComponent as ɵb, IdentityRoutingModule as ɵc, UserResolver as ɵd }; //# sourceMappingURL=abp-ng.identity.js.map diff --git a/npm/ng-packs/dist/identity/fesm2015/abp-ng.identity.js.map b/npm/ng-packs/dist/identity/fesm2015/abp-ng.identity.js.map index 332d00fe10..7e7ab82947 100644 --- a/npm/ng-packs/dist/identity/fesm2015/abp-ng.identity.js.map +++ b/npm/ng-packs/dist/identity/fesm2015/abp-ng.identity.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.identity.js","sources":["ng://@abp/ng.identity/lib/actions/identity.actions.ts","ng://@abp/ng.identity/lib/services/identity.service.ts","ng://@abp/ng.identity/lib/states/identity.state.ts","ng://@abp/ng.identity/lib/components/roles/roles.component.ts","ng://@abp/ng.identity/lib/resolvers/roles.resolver.ts","ng://@abp/ng.identity/lib/components/users/users.component.ts","ng://@abp/ng.identity/lib/resolvers/users.resolver.ts","ng://@abp/ng.identity/lib/identity-routing.module.ts","ng://@abp/ng.identity/lib/identity.module.ts","ng://@abp/ng.identity/lib/constants/routes.ts","ng://@abp/ng.identity/lib/models/identity.ts"],"sourcesContent":["import { Identity } from '../models/identity';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetRoles {\n static readonly type = '[Identity] Get Roles';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetRoleById {\n static readonly type = '[Identity] Get Role By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteRole {\n static readonly type = '[Identity] Delete Role';\n constructor(public payload: string) {}\n}\n\nexport class CreateRole {\n static readonly type = '[Identity] Create Role';\n constructor(public payload: Identity.RoleSaveRequest) {}\n}\n\nexport class UpdateRole {\n static readonly type = '[Identity] Update Role';\n constructor(public payload: Identity.RoleItem) {}\n}\n\nexport class GetUsers {\n static readonly type = '[Identity] Get Users';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetUserById {\n static readonly type = '[Identity] Get User By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteUser {\n static readonly type = '[Identity] Delete User';\n constructor(public payload: string) {}\n}\n\nexport class CreateUser {\n static readonly type = '[Identity] Create User';\n constructor(public payload: Identity.UserSaveRequest) {}\n}\n\nexport class UpdateUser {\n static readonly type = '[Identity] Update User';\n constructor(public payload: Identity.UserSaveRequest & { id: string }) {}\n}\n\nexport class GetUserRoles {\n static readonly type = '[Identity] Get User Roles';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { Identity } from '../models/identity';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IdentityService {\n constructor(private rest: RestService) {}\n\n getRoles(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/roles',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getRoleById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteRole(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createRole(body: Identity.RoleSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/roles',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateRole(body: Identity.RoleItem): Observable {\n const url = `/api/identity/roles/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getUsers(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/users',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getUserById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n getUserRoles(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}/roles`,\n };\n\n return this.rest.request(request);\n }\n\n deleteUser(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createUser(body: Identity.UserSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/users',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateUser(body: Identity.UserItem): Observable {\n const url = `/api/identity/users/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap, pluck } from 'rxjs/operators';\nimport {\n CreateRole,\n CreateUser,\n DeleteRole,\n DeleteUser,\n GetRoleById,\n GetRoles,\n GetUserById,\n GetUsers,\n UpdateRole,\n UpdateUser,\n GetUserRoles,\n} from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityService } from '../services/identity.service';\n\n@State({\n name: 'IdentityState',\n defaults: { roles: {}, selectedRole: {}, users: {}, selectedUser: {} } as Identity.State,\n})\nexport class IdentityState {\n @Selector()\n static getRoles({ roles }: Identity.State): Identity.RoleItem[] {\n return roles.items;\n }\n\n @Selector()\n static getRolesTotalCount({ roles }: Identity.State): number {\n return roles.totalCount;\n }\n\n @Selector()\n static getUsers({ users }: Identity.State): Identity.UserItem[] {\n return users.items;\n }\n\n @Selector()\n static getUsersTotalCount({ users }: Identity.State): number {\n return users.totalCount;\n }\n\n constructor(private identityService: IdentityService) {}\n\n @Action(GetRoles)\n getRoles({ patchState }: StateContext, { payload }: GetRoles) {\n return this.identityService.getRoles(payload).pipe(\n tap(roles =>\n patchState({\n roles,\n }),\n ),\n );\n }\n\n @Action(GetRoleById)\n getRole({ patchState }: StateContext, { payload }: GetRoleById) {\n return this.identityService.getRoleById(payload).pipe(\n tap(selectedRole =>\n patchState({\n selectedRole,\n }),\n ),\n );\n }\n\n @Action(DeleteRole)\n deleteRole({ dispatch }: StateContext, { payload }: GetRoleById) {\n return this.identityService.deleteRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(CreateRole)\n addRole({ dispatch }: StateContext, { payload }: CreateRole) {\n return this.identityService.createRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(UpdateRole)\n updateRole({ getState, dispatch }: StateContext, { payload }: UpdateRole) {\n return dispatch(new GetRoleById(payload.id)).pipe(\n switchMap(() => this.identityService.updateRole({ ...getState().selectedRole, ...payload })),\n switchMap(() => dispatch(new GetRoles())),\n );\n }\n\n @Action(GetUsers)\n getUsers({ patchState }: StateContext, { payload }: GetUsers) {\n return this.identityService.getUsers(payload).pipe(\n tap(users =>\n patchState({\n users,\n }),\n ),\n );\n }\n\n @Action(GetUserById)\n getUser({ patchState }: StateContext, { payload }: GetUserById) {\n return this.identityService.getUserById(payload).pipe(\n tap(selectedUser =>\n patchState({\n selectedUser,\n }),\n ),\n );\n }\n\n @Action(DeleteUser)\n deleteUser({ dispatch }: StateContext, { payload }: GetUserById) {\n return this.identityService.deleteUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(CreateUser)\n addUser({ dispatch }: StateContext, { payload }: CreateUser) {\n return this.identityService.createUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(UpdateUser)\n updateUser({ getState, dispatch }: StateContext, { payload }: UpdateUser) {\n return dispatch(new GetUserById(payload.id)).pipe(\n switchMap(() => this.identityService.updateUser({ ...getState().selectedUser, ...payload })),\n switchMap(() => dispatch(new GetUsers())),\n );\n }\n\n @Action(GetUserRoles)\n getUserRoles({ patchState }: StateContext, { payload }: GetUserRoles) {\n return this.identityService.getUserRoles(payload).pipe(\n pluck('items'),\n tap(selectedUserRoles =>\n patchState({\n selectedUserRoles,\n }),\n ),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck } from 'rxjs/operators';\nimport { CreateRole, DeleteRole, GetRoleById, GetRoles, UpdateRole } from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n\n@Component({\n selector: 'abp-roles',\n templateUrl: './roles.component.html',\n})\nexport class RolesComponent {\n @Select(IdentityState.getRoles)\n data$: Observable;\n\n @Select(IdentityState.getRolesTotalCount)\n totalCount$: Observable;\n\n form: FormGroup;\n\n selected: Identity.RoleItem;\n\n isModalVisible: boolean;\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n createForm() {\n this.form = this.fb.group({\n name: new FormControl({ value: this.selected.name || '', disabled: this.selected.isStatic }, [\n Validators.required,\n Validators.maxLength(256),\n ]),\n isDefault: [this.selected.isDefault || false],\n isPublic: [this.selected.isPublic || false],\n });\n }\n\n openModal() {\n this.createForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.RoleItem;\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetRoleById(id))\n .pipe(pluck('IdentityState', 'selectedRole'))\n .subscribe(selectedRole => {\n this.selected = selectedRole;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateRole({ ...this.form.value, id: this.selected.id })\n : new CreateRole(this.form.value),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpIdentity::RoleDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteRole(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetRoles(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetRoles } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class RoleResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const roles = this.store.selectSnapshot(IdentityState.getRoles);\n return roles && roles.length ? null : this.store.dispatch(new GetRoles());\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, TrackByFunction, ViewChild } from '@angular/core';\nimport { AbstractControl, FormArray, FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport {\n CreateUser,\n DeleteUser,\n GetUserById,\n GetUserRoles,\n GetUsers,\n UpdateUser,\n} from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n@Component({\n selector: 'abp-users',\n templateUrl: './users.component.html',\n})\nexport class UsersComponent {\n @Select(IdentityState.getUsers)\n data$: Observable;\n\n @Select(IdentityState.getUsersTotalCount)\n totalCount$: Observable;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n selected: Identity.UserItem;\n\n selectedUserRoles: Identity.RoleItem[];\n\n roles: Identity.RoleItem[];\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'userName',\n };\n\n isModalVisible: boolean;\n\n loading: boolean = false;\n\n trackByFn: TrackByFunction = (index, item) => Object.keys(item)[0] || index;\n\n get roleGroups(): FormGroup[] {\n return snq(() => (this.form.get('roleNames') as FormArray).controls as FormGroup[], []);\n }\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n buildForm() {\n this.roles = this.store.selectSnapshot(IdentityState.getRoles);\n this.form = this.fb.group({\n userName: [this.selected.userName || '', [Validators.required, Validators.maxLength(256)]],\n email: [this.selected.email || '', [Validators.required, Validators.email, Validators.maxLength(256)]],\n name: [this.selected.name || '', [Validators.maxLength(64)]],\n surname: [this.selected.surname || '', [Validators.maxLength(64)]],\n phoneNumber: [this.selected.phoneNumber || '', [Validators.maxLength(16)]],\n lockoutEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n twoFactorEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n roleNames: this.fb.array(\n this.roles.map(role =>\n this.fb.group({\n [role.name]: [!!snq(() => this.selectedUserRoles.find(userRole => userRole.id === role.id))],\n }),\n ),\n ),\n });\n if (!this.selected.userName) {\n this.form.addControl('password', new FormControl('', [Validators.required, Validators.maxLength(32)]));\n }\n }\n\n openModal() {\n this.buildForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.UserItem;\n this.selectedUserRoles = [] as Identity.RoleItem[];\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetUserById(id))\n .pipe(\n switchMap(() => this.store.dispatch(new GetUserRoles(id))),\n pluck('IdentityState'),\n take(1),\n )\n .subscribe((state: Identity.State) => {\n this.selected = state.selectedUser;\n this.selectedUserRoles = state.selectedUserRoles;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n\n const { roleNames } = this.form.value;\n const mappedRoleNames = snq(\n () => roleNames.filter(role => !!role[Object.keys(role)[0]]).map(role => Object.keys(role)[0]),\n [],\n );\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateUser({\n ...this.form.value,\n id: this.selected.id,\n roleNames: mappedRoleNames,\n })\n : new CreateUser({\n ...this.form.value,\n roleNames: mappedRoleNames,\n }),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, userName: string) {\n this.confirmationService\n .warn('AbpIdentity::UserDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [userName],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteUser(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetUsers(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetUsers } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class UserResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const users = this.store.selectSnapshot(IdentityState.getUsers);\n return users && users.length ? null : this.store.dispatch(new GetUsers());\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { RoleResolver } from './resolvers/roles.resolver';\nimport { DynamicLayoutComponent, AuthGuard, PermissionGuard } from '@abp/ng.core';\nimport { UsersComponent } from './components/users/users.component';\nimport { UserResolver } from './resolvers/users.resolver';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'roles', pathMatch: 'full' },\n {\n path: 'roles',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Roles' },\n children: [{ path: '', component: RolesComponent, resolve: [RoleResolver] }],\n },\n {\n path: 'users',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Users' },\n children: [\n {\n path: '',\n component: UsersComponent,\n resolve: [RoleResolver, UserResolver],\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [RoleResolver, UserResolver],\n})\nexport class IdentityRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { IdentityRoutingModule } from './identity-routing.module';\nimport { IdentityState } from './states/identity.state';\nimport { NgbTabsetModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { UsersComponent } from './components/users/users.component';\nimport { PermissionManagementModule } from '@abp/ng.permission-management';\nimport { TableModule } from 'primeng/table';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [RolesComponent, UsersComponent],\n imports: [\n NgxsModule.forFeature([IdentityState]),\n CoreModule,\n IdentityRoutingModule,\n NgbTabsetModule,\n ThemeSharedModule,\n TableModule,\n NgbDropdownModule,\n PermissionManagementModule,\n NgxValidateCoreModule,\n PerfectScrollbarModule,\n ],\n})\nexport class IdentityModule {}\n","import { eLayoutType, ABP } from '@abp/ng.core';\n\nexport const IDENTITY_ROUTES = [\n {\n name: 'AbpUiNavigation::Menu:Administration',\n path: '',\n order: 1,\n wrapper: true,\n },\n {\n name: 'AbpIdentity::Menu:IdentityManagement',\n path: 'identity',\n order: 1,\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-id-card-o',\n children: [\n { path: 'roles', name: 'AbpIdentity::Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' },\n { path: 'users', name: 'AbpIdentity::Users', order: 1, requiredPolicy: 'AbpIdentity.Users' },\n ],\n },\n] as ABP.FullRoute[];\n","import { ABP } from '@abp/ng.core';\n\nexport namespace Identity {\n export interface State {\n roles: RoleResponse;\n users: UserResponse;\n selectedRole: RoleItem;\n selectedUser: UserItem;\n selectedUserRoles: RoleItem[];\n }\n\n export type RoleResponse = ABP.PagedResponse;\n\n export interface RoleSaveRequest {\n name: string;\n isDefault: boolean;\n isPublic: boolean;\n }\n\n export interface RoleItem extends RoleSaveRequest {\n isStatic: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export type UserResponse = ABP.PagedResponse;\n\n export interface UserItem extends User {\n tenantId: string;\n emailConfirmed: boolean;\n phoneNumberConfirmed: boolean;\n isLockedOut: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export interface User {\n userName: string;\n name: string;\n surname: string;\n email: string;\n phoneNumber: string;\n twoFactorEnabled: true;\n lockoutEnabled: true;\n }\n\n export interface UserSaveRequest extends User {\n password: string;\n roleNames: string[];\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.identity.js","sources":["ng://@abp/ng.identity/lib/actions/identity.actions.ts","ng://@abp/ng.identity/lib/services/identity.service.ts","ng://@abp/ng.identity/lib/states/identity.state.ts","ng://@abp/ng.identity/lib/components/roles/roles.component.ts","ng://@abp/ng.identity/lib/resolvers/roles.resolver.ts","ng://@abp/ng.identity/lib/components/users/users.component.ts","ng://@abp/ng.identity/lib/resolvers/users.resolver.ts","ng://@abp/ng.identity/lib/identity-routing.module.ts","ng://@abp/ng.identity/lib/identity.module.ts","ng://@abp/ng.identity/lib/constants/routes.ts","ng://@abp/ng.identity/lib/models/identity.ts"],"sourcesContent":["import { Identity } from '../models/identity';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetRoles {\n static readonly type = '[Identity] Get Roles';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetRoleById {\n static readonly type = '[Identity] Get Role By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteRole {\n static readonly type = '[Identity] Delete Role';\n constructor(public payload: string) {}\n}\n\nexport class CreateRole {\n static readonly type = '[Identity] Create Role';\n constructor(public payload: Identity.RoleSaveRequest) {}\n}\n\nexport class UpdateRole {\n static readonly type = '[Identity] Update Role';\n constructor(public payload: Identity.RoleItem) {}\n}\n\nexport class GetUsers {\n static readonly type = '[Identity] Get Users';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetUserById {\n static readonly type = '[Identity] Get User By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteUser {\n static readonly type = '[Identity] Delete User';\n constructor(public payload: string) {}\n}\n\nexport class CreateUser {\n static readonly type = '[Identity] Create User';\n constructor(public payload: Identity.UserSaveRequest) {}\n}\n\nexport class UpdateUser {\n static readonly type = '[Identity] Update User';\n constructor(public payload: Identity.UserSaveRequest & { id: string }) {}\n}\n\nexport class GetUserRoles {\n static readonly type = '[Identity] Get User Roles';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { Identity } from '../models/identity';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IdentityService {\n constructor(private rest: RestService) {}\n\n getRoles(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/roles',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getRoleById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteRole(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createRole(body: Identity.RoleSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/roles',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateRole(body: Identity.RoleItem): Observable {\n const url = `/api/identity/roles/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getUsers(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/users',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getUserById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n getUserRoles(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}/roles`,\n };\n\n return this.rest.request(request);\n }\n\n deleteUser(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createUser(body: Identity.UserSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/users',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateUser(body: Identity.UserItem): Observable {\n const url = `/api/identity/users/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap, pluck } from 'rxjs/operators';\nimport {\n CreateRole,\n CreateUser,\n DeleteRole,\n DeleteUser,\n GetRoleById,\n GetRoles,\n GetUserById,\n GetUsers,\n UpdateRole,\n UpdateUser,\n GetUserRoles,\n} from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityService } from '../services/identity.service';\n\n@State({\n name: 'IdentityState',\n defaults: { roles: {}, selectedRole: {}, users: {}, selectedUser: {} } as Identity.State,\n})\nexport class IdentityState {\n @Selector()\n static getRoles({ roles }: Identity.State): Identity.RoleItem[] {\n return roles.items;\n }\n\n @Selector()\n static getRolesTotalCount({ roles }: Identity.State): number {\n return roles.totalCount;\n }\n\n @Selector()\n static getUsers({ users }: Identity.State): Identity.UserItem[] {\n return users.items;\n }\n\n @Selector()\n static getUsersTotalCount({ users }: Identity.State): number {\n return users.totalCount;\n }\n\n constructor(private identityService: IdentityService) {}\n\n @Action(GetRoles)\n getRoles({ patchState }: StateContext, { payload }: GetRoles) {\n return this.identityService.getRoles(payload).pipe(\n tap(roles =>\n patchState({\n roles,\n }),\n ),\n );\n }\n\n @Action(GetRoleById)\n getRole({ patchState }: StateContext, { payload }: GetRoleById) {\n return this.identityService.getRoleById(payload).pipe(\n tap(selectedRole =>\n patchState({\n selectedRole,\n }),\n ),\n );\n }\n\n @Action(DeleteRole)\n deleteRole({ dispatch }: StateContext, { payload }: GetRoleById) {\n return this.identityService.deleteRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(CreateRole)\n addRole({ dispatch }: StateContext, { payload }: CreateRole) {\n return this.identityService.createRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(UpdateRole)\n updateRole({ getState, dispatch }: StateContext, { payload }: UpdateRole) {\n return dispatch(new GetRoleById(payload.id)).pipe(\n switchMap(() => this.identityService.updateRole({ ...getState().selectedRole, ...payload })),\n switchMap(() => dispatch(new GetRoles())),\n );\n }\n\n @Action(GetUsers)\n getUsers({ patchState }: StateContext, { payload }: GetUsers) {\n return this.identityService.getUsers(payload).pipe(\n tap(users =>\n patchState({\n users,\n }),\n ),\n );\n }\n\n @Action(GetUserById)\n getUser({ patchState }: StateContext, { payload }: GetUserById) {\n return this.identityService.getUserById(payload).pipe(\n tap(selectedUser =>\n patchState({\n selectedUser,\n }),\n ),\n );\n }\n\n @Action(DeleteUser)\n deleteUser({ dispatch }: StateContext, { payload }: GetUserById) {\n return this.identityService.deleteUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(CreateUser)\n addUser({ dispatch }: StateContext, { payload }: CreateUser) {\n return this.identityService.createUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(UpdateUser)\n updateUser({ getState, dispatch }: StateContext, { payload }: UpdateUser) {\n return dispatch(new GetUserById(payload.id)).pipe(\n switchMap(() => this.identityService.updateUser({ ...getState().selectedUser, ...payload })),\n switchMap(() => dispatch(new GetUsers())),\n );\n }\n\n @Action(GetUserRoles)\n getUserRoles({ patchState }: StateContext, { payload }: GetUserRoles) {\n return this.identityService.getUserRoles(payload).pipe(\n pluck('items'),\n tap(selectedUserRoles =>\n patchState({\n selectedUserRoles,\n }),\n ),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck } from 'rxjs/operators';\nimport { CreateRole, DeleteRole, GetRoleById, GetRoles, UpdateRole } from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n\n@Component({\n selector: 'abp-roles',\n templateUrl: './roles.component.html',\n})\nexport class RolesComponent {\n @Select(IdentityState.getRoles)\n data$: Observable;\n\n @Select(IdentityState.getRolesTotalCount)\n totalCount$: Observable;\n\n form: FormGroup;\n\n selected: Identity.RoleItem;\n\n isModalVisible: boolean;\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n createForm() {\n this.form = this.fb.group({\n name: new FormControl({ value: this.selected.name || '', disabled: this.selected.isStatic }, [\n Validators.required,\n Validators.maxLength(256),\n ]),\n isDefault: [this.selected.isDefault || false],\n isPublic: [this.selected.isPublic || false],\n });\n }\n\n openModal() {\n this.createForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.RoleItem;\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetRoleById(id))\n .pipe(pluck('IdentityState', 'selectedRole'))\n .subscribe(selectedRole => {\n this.selected = selectedRole;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateRole({ ...this.form.value, id: this.selected.id })\n : new CreateRole(this.form.value),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpIdentity::RoleDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteRole(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetRoles(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetRoles } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class RoleResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const roles = this.store.selectSnapshot(IdentityState.getRoles);\n return roles && roles.length ? null : this.store.dispatch(new GetRoles());\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, TrackByFunction, ViewChild } from '@angular/core';\nimport { AbstractControl, FormArray, FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport {\n CreateUser,\n DeleteUser,\n GetUserById,\n GetUserRoles,\n GetUsers,\n UpdateUser,\n} from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n@Component({\n selector: 'abp-users',\n templateUrl: './users.component.html',\n})\nexport class UsersComponent {\n @Select(IdentityState.getUsers)\n data$: Observable;\n\n @Select(IdentityState.getUsersTotalCount)\n totalCount$: Observable;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n selected: Identity.UserItem;\n\n selectedUserRoles: Identity.RoleItem[];\n\n roles: Identity.RoleItem[];\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'userName',\n };\n\n isModalVisible: boolean;\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n trackByFn: TrackByFunction = (index, item) => Object.keys(item)[0] || index;\n\n get roleGroups(): FormGroup[] {\n return snq(() => (this.form.get('roleNames') as FormArray).controls as FormGroup[], []);\n }\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n buildForm() {\n this.roles = this.store.selectSnapshot(IdentityState.getRoles);\n this.form = this.fb.group({\n userName: [this.selected.userName || '', [Validators.required, Validators.maxLength(256)]],\n email: [this.selected.email || '', [Validators.required, Validators.email, Validators.maxLength(256)]],\n name: [this.selected.name || '', [Validators.maxLength(64)]],\n surname: [this.selected.surname || '', [Validators.maxLength(64)]],\n phoneNumber: [this.selected.phoneNumber || '', [Validators.maxLength(16)]],\n lockoutEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n twoFactorEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n roleNames: this.fb.array(\n this.roles.map(role =>\n this.fb.group({\n [role.name]: [!!snq(() => this.selectedUserRoles.find(userRole => userRole.id === role.id))],\n }),\n ),\n ),\n });\n if (!this.selected.userName) {\n this.form.addControl('password', new FormControl('', [Validators.required, Validators.maxLength(32)]));\n }\n }\n\n openModal() {\n this.buildForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.UserItem;\n this.selectedUserRoles = [] as Identity.RoleItem[];\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetUserById(id))\n .pipe(\n switchMap(() => this.store.dispatch(new GetUserRoles(id))),\n pluck('IdentityState'),\n take(1),\n )\n .subscribe((state: Identity.State) => {\n this.selected = state.selectedUser;\n this.selectedUserRoles = state.selectedUserRoles;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n this.modalBusy = true;\n\n const { roleNames } = this.form.value;\n const mappedRoleNames = snq(\n () => roleNames.filter(role => !!role[Object.keys(role)[0]]).map(role => Object.keys(role)[0]),\n [],\n );\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateUser({\n ...this.form.value,\n id: this.selected.id,\n roleNames: mappedRoleNames,\n })\n : new CreateUser({\n ...this.form.value,\n roleNames: mappedRoleNames,\n }),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, userName: string) {\n this.confirmationService\n .warn('AbpIdentity::UserDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [userName],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteUser(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetUsers(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetUsers } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class UserResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const users = this.store.selectSnapshot(IdentityState.getUsers);\n return users && users.length ? null : this.store.dispatch(new GetUsers());\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { RoleResolver } from './resolvers/roles.resolver';\nimport { DynamicLayoutComponent, AuthGuard, PermissionGuard } from '@abp/ng.core';\nimport { UsersComponent } from './components/users/users.component';\nimport { UserResolver } from './resolvers/users.resolver';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'roles', pathMatch: 'full' },\n {\n path: 'roles',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Roles' },\n children: [{ path: '', component: RolesComponent, resolve: [RoleResolver] }],\n },\n {\n path: 'users',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Users' },\n children: [\n {\n path: '',\n component: UsersComponent,\n resolve: [RoleResolver, UserResolver],\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [RoleResolver, UserResolver],\n})\nexport class IdentityRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { IdentityRoutingModule } from './identity-routing.module';\nimport { IdentityState } from './states/identity.state';\nimport { NgbTabsetModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { UsersComponent } from './components/users/users.component';\nimport { PermissionManagementModule } from '@abp/ng.permission-management';\nimport { TableModule } from 'primeng/table';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [RolesComponent, UsersComponent],\n imports: [\n NgxsModule.forFeature([IdentityState]),\n CoreModule,\n IdentityRoutingModule,\n NgbTabsetModule,\n ThemeSharedModule,\n TableModule,\n NgbDropdownModule,\n PermissionManagementModule,\n NgxValidateCoreModule,\n PerfectScrollbarModule,\n ],\n})\nexport class IdentityModule {}\n","import { eLayoutType, ABP } from '@abp/ng.core';\n\nexport const IDENTITY_ROUTES = [\n {\n name: 'AbpUiNavigation::Menu:Administration',\n path: '',\n order: 1,\n wrapper: true,\n },\n {\n name: 'AbpIdentity::Menu:IdentityManagement',\n path: 'identity',\n order: 1,\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-id-card-o',\n children: [\n { path: 'roles', name: 'AbpIdentity::Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' },\n { path: 'users', name: 'AbpIdentity::Users', order: 1, requiredPolicy: 'AbpIdentity.Users' },\n ],\n },\n] as ABP.FullRoute[];\n","import { ABP } from '@abp/ng.core';\n\nexport namespace Identity {\n export interface State {\n roles: RoleResponse;\n users: UserResponse;\n selectedRole: RoleItem;\n selectedUser: UserItem;\n selectedUserRoles: RoleItem[];\n }\n\n export type RoleResponse = ABP.PagedResponse;\n\n export interface RoleSaveRequest {\n name: string;\n isDefault: boolean;\n isPublic: boolean;\n }\n\n export interface RoleItem extends RoleSaveRequest {\n isStatic: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export type UserResponse = ABP.PagedResponse;\n\n export interface UserItem extends User {\n tenantId: string;\n emailConfirmed: boolean;\n phoneNumberConfirmed: boolean;\n isLockedOut: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export interface User {\n userName: string;\n name: string;\n surname: string;\n email: string;\n phoneNumber: string;\n twoFactorEnabled: true;\n lockoutEnabled: true;\n }\n\n export interface UserSaveRequest extends User {\n password: string;\n roleNames: string[];\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/fesm5/abp-ng.identity.js b/npm/ng-packs/dist/identity/fesm5/abp-ng.identity.js index 21756ce49a..114f1ce534 100644 --- a/npm/ng-packs/dist/identity/fesm5/abp-ng.identity.js +++ b/npm/ng-packs/dist/identity/fesm5/abp-ng.identity.js @@ -25,6 +25,12 @@ var GetRoles = /** @class */ (function () { GetRoles.type = '[Identity] Get Roles'; return GetRoles; }()); +if (false) { + /** @type {?} */ + GetRoles.type; + /** @type {?} */ + GetRoles.prototype.payload; +} var GetRoleById = /** @class */ (function () { function GetRoleById(payload) { this.payload = payload; @@ -32,6 +38,12 @@ var GetRoleById = /** @class */ (function () { GetRoleById.type = '[Identity] Get Role By Id'; return GetRoleById; }()); +if (false) { + /** @type {?} */ + GetRoleById.type; + /** @type {?} */ + GetRoleById.prototype.payload; +} var DeleteRole = /** @class */ (function () { function DeleteRole(payload) { this.payload = payload; @@ -39,6 +51,12 @@ var DeleteRole = /** @class */ (function () { DeleteRole.type = '[Identity] Delete Role'; return DeleteRole; }()); +if (false) { + /** @type {?} */ + DeleteRole.type; + /** @type {?} */ + DeleteRole.prototype.payload; +} var CreateRole = /** @class */ (function () { function CreateRole(payload) { this.payload = payload; @@ -46,6 +64,12 @@ var CreateRole = /** @class */ (function () { CreateRole.type = '[Identity] Create Role'; return CreateRole; }()); +if (false) { + /** @type {?} */ + CreateRole.type; + /** @type {?} */ + CreateRole.prototype.payload; +} var UpdateRole = /** @class */ (function () { function UpdateRole(payload) { this.payload = payload; @@ -53,6 +77,12 @@ var UpdateRole = /** @class */ (function () { UpdateRole.type = '[Identity] Update Role'; return UpdateRole; }()); +if (false) { + /** @type {?} */ + UpdateRole.type; + /** @type {?} */ + UpdateRole.prototype.payload; +} var GetUsers = /** @class */ (function () { function GetUsers(payload) { this.payload = payload; @@ -60,6 +90,12 @@ var GetUsers = /** @class */ (function () { GetUsers.type = '[Identity] Get Users'; return GetUsers; }()); +if (false) { + /** @type {?} */ + GetUsers.type; + /** @type {?} */ + GetUsers.prototype.payload; +} var GetUserById = /** @class */ (function () { function GetUserById(payload) { this.payload = payload; @@ -67,6 +103,12 @@ var GetUserById = /** @class */ (function () { GetUserById.type = '[Identity] Get User By Id'; return GetUserById; }()); +if (false) { + /** @type {?} */ + GetUserById.type; + /** @type {?} */ + GetUserById.prototype.payload; +} var DeleteUser = /** @class */ (function () { function DeleteUser(payload) { this.payload = payload; @@ -74,6 +116,12 @@ var DeleteUser = /** @class */ (function () { DeleteUser.type = '[Identity] Delete User'; return DeleteUser; }()); +if (false) { + /** @type {?} */ + DeleteUser.type; + /** @type {?} */ + DeleteUser.prototype.payload; +} var CreateUser = /** @class */ (function () { function CreateUser(payload) { this.payload = payload; @@ -81,6 +129,12 @@ var CreateUser = /** @class */ (function () { CreateUser.type = '[Identity] Create User'; return CreateUser; }()); +if (false) { + /** @type {?} */ + CreateUser.type; + /** @type {?} */ + CreateUser.prototype.payload; +} var UpdateUser = /** @class */ (function () { function UpdateUser(payload) { this.payload = payload; @@ -88,6 +142,12 @@ var UpdateUser = /** @class */ (function () { UpdateUser.type = '[Identity] Update User'; return UpdateUser; }()); +if (false) { + /** @type {?} */ + UpdateUser.type; + /** @type {?} */ + UpdateUser.prototype.payload; +} var GetUserRoles = /** @class */ (function () { function GetUserRoles(payload) { this.payload = payload; @@ -95,6 +155,12 @@ var GetUserRoles = /** @class */ (function () { GetUserRoles.type = '[Identity] Get User Roles'; return GetUserRoles; }()); +if (false) { + /** @type {?} */ + GetUserRoles.type; + /** @type {?} */ + GetUserRoles.prototype.payload; +} /** * @fileoverview added by tsickle @@ -306,6 +372,13 @@ var IdentityService = /** @class */ (function () { /** @nocollapse */ IdentityService.ngInjectableDef = ɵɵdefineInjectable({ factory: function IdentityService_Factory() { return new IdentityService(ɵɵinject(RestService)); }, token: IdentityService, providedIn: "root" }); return IdentityService; }()); +if (false) { + /** + * @type {?} + * @private + */ + IdentityService.prototype.rest; +} /** * @fileoverview added by tsickle @@ -693,6 +766,13 @@ var IdentityState = /** @class */ (function () { ], IdentityState); return IdentityState; }()); +if (false) { + /** + * @type {?} + * @private + */ + IdentityState.prototype.identityService; +} /** * @fileoverview added by tsickle @@ -708,6 +788,7 @@ var RolesComponent = /** @class */ (function () { sorting: 'name', }; this.loading = false; + this.modalBusy = false; } /** * @param {?} value @@ -789,6 +870,7 @@ var RolesComponent = /** @class */ (function () { var _this = this; if (!this.form.valid) return; + this.modalBusy = true; this.store .dispatch(this.selected.id ? new UpdateRole(__assign({}, this.form.value, { id: this.selected.id })) @@ -797,6 +879,7 @@ var RolesComponent = /** @class */ (function () { * @return {?} */ function () { + _this.modalBusy = false; _this.isModalVisible = false; })); }; @@ -859,7 +942,7 @@ var RolesComponent = /** @class */ (function () { RolesComponent.decorators = [ { type: Component, args: [{ selector: 'abp-roles', - template: "
\n
\n
\n
\n
{{ 'AbpIdentity::Roles' | abpLocalization }}
\n
\n
\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::RoleName' | abpLocalization }}\n \n \n \n \n \n
\n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
\n \n \n \n
\n
\n \n {{ data.name }}\n \n
\n \n
\n
\n\n\n \n

{{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewRole') | abpLocalization }}

\n
\n\n \n
\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n
\n
\n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
\n\n\n" + template: "
\n
\n
\n
\n
{{ 'AbpIdentity::Roles' | abpLocalization }}
\n
\n
\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::RoleName' | abpLocalization }}\n \n \n \n \n \n
\n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
\n \n \n \n
\n
\n \n {{ data.name }}\n \n
\n \n
\n
\n\n\n \n

{{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewRole') | abpLocalization }}

\n
\n\n \n
\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n
\n
\n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
\n\n\n" }] } ]; /** @nocollapse */ @@ -881,6 +964,45 @@ var RolesComponent = /** @class */ (function () { ], RolesComponent.prototype, "totalCount$", void 0); return RolesComponent; }()); +if (false) { + /** @type {?} */ + RolesComponent.prototype.data$; + /** @type {?} */ + RolesComponent.prototype.totalCount$; + /** @type {?} */ + RolesComponent.prototype.form; + /** @type {?} */ + RolesComponent.prototype.selected; + /** @type {?} */ + RolesComponent.prototype.isModalVisible; + /** @type {?} */ + RolesComponent.prototype.visiblePermissions; + /** @type {?} */ + RolesComponent.prototype.providerKey; + /** @type {?} */ + RolesComponent.prototype.pageQuery; + /** @type {?} */ + RolesComponent.prototype.loading; + /** @type {?} */ + RolesComponent.prototype.modalBusy; + /** @type {?} */ + RolesComponent.prototype.modalContent; + /** + * @type {?} + * @private + */ + RolesComponent.prototype.confirmationService; + /** + * @type {?} + * @private + */ + RolesComponent.prototype.fb; + /** + * @type {?} + * @private + */ + RolesComponent.prototype.store; +} /** * @fileoverview added by tsickle @@ -910,6 +1032,13 @@ var RoleResolver = /** @class */ (function () { ]; }; return RoleResolver; }()); +if (false) { + /** + * @type {?} + * @private + */ + RoleResolver.prototype.store; +} /** * @fileoverview added by tsickle @@ -925,6 +1054,7 @@ var UsersComponent = /** @class */ (function () { sorting: 'userName', }; this.loading = false; + this.modalBusy = false; this.trackByFn = (/** * @param {?} index * @param {?} item @@ -1054,6 +1184,7 @@ var UsersComponent = /** @class */ (function () { var _this = this; if (!this.form.valid) return; + this.modalBusy = true; var roleNames = this.form.value.roleNames; /** @type {?} */ var mappedRoleNames = snq((/** @@ -1076,6 +1207,7 @@ var UsersComponent = /** @class */ (function () { * @return {?} */ function () { + _this.modalBusy = false; _this.isModalVisible = false; })); }; @@ -1138,7 +1270,7 @@ var UsersComponent = /** @class */ (function () { UsersComponent.decorators = [ { type: Component, args: [{ selector: 'abp-users', - template: "
\n
\n
\n
\n
{{ 'AbpIdentity::Users' | abpLocalization }}
\n
\n
\n \n {{ 'AbpIdentity::NewUser' | abpLocalization }}\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::UserName' | abpLocalization }}\n {{ 'AbpIdentity::EmailAddress' | abpLocalization }}\n {{ 'AbpIdentity::PhoneNumber' | abpLocalization }}\n \n \n \n \n \n
\n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
\n \n \n \n
\n
\n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
\n \n
\n
\n\n\n \n

{{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewUser') | abpLocalization }}

\n
\n\n \n \n
\n \n \n \n
\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n
\n\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n
\n
\n
\n \n \n
\n \n \n \n
\n \n
\n
\n
\n
\n
\n
\n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
\n\n\n" + template: "
\n
\n
\n
\n
{{ 'AbpIdentity::Users' | abpLocalization }}
\n
\n
\n \n {{ 'AbpIdentity::NewUser' | abpLocalization }}\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::UserName' | abpLocalization }}\n {{ 'AbpIdentity::EmailAddress' | abpLocalization }}\n {{ 'AbpIdentity::PhoneNumber' | abpLocalization }}\n \n \n \n \n \n
\n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
\n \n \n \n
\n
\n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
\n \n
\n
\n\n\n \n

{{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewUser') | abpLocalization }}

\n
\n\n \n \n
\n \n \n \n
\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n
\n\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n
\n
\n
\n \n \n
\n \n \n \n
\n \n
\n
\n
\n
\n
\n
\n\n \n \n {{\n 'AbpIdentity::Save' | abpLocalization\n }}\n \n
\n\n\n" }] } ]; /** @nocollapse */ @@ -1160,6 +1292,51 @@ var UsersComponent = /** @class */ (function () { ], UsersComponent.prototype, "totalCount$", void 0); return UsersComponent; }()); +if (false) { + /** @type {?} */ + UsersComponent.prototype.data$; + /** @type {?} */ + UsersComponent.prototype.totalCount$; + /** @type {?} */ + UsersComponent.prototype.modalContent; + /** @type {?} */ + UsersComponent.prototype.form; + /** @type {?} */ + UsersComponent.prototype.selected; + /** @type {?} */ + UsersComponent.prototype.selectedUserRoles; + /** @type {?} */ + UsersComponent.prototype.roles; + /** @type {?} */ + UsersComponent.prototype.visiblePermissions; + /** @type {?} */ + UsersComponent.prototype.providerKey; + /** @type {?} */ + UsersComponent.prototype.pageQuery; + /** @type {?} */ + UsersComponent.prototype.isModalVisible; + /** @type {?} */ + UsersComponent.prototype.loading; + /** @type {?} */ + UsersComponent.prototype.modalBusy; + /** @type {?} */ + UsersComponent.prototype.trackByFn; + /** + * @type {?} + * @private + */ + UsersComponent.prototype.confirmationService; + /** + * @type {?} + * @private + */ + UsersComponent.prototype.fb; + /** + * @type {?} + * @private + */ + UsersComponent.prototype.store; +} /** * @fileoverview added by tsickle @@ -1189,6 +1366,13 @@ var UserResolver = /** @class */ (function () { ]; }; return UserResolver; }()); +if (false) { + /** + * @type {?} + * @private + */ + UserResolver.prototype.store; +} /** * @fileoverview added by tsickle @@ -1296,32 +1480,106 @@ var Identity; */ function State() { } Identity.State = State; + if (false) { + /** @type {?} */ + State.prototype.roles; + /** @type {?} */ + State.prototype.users; + /** @type {?} */ + State.prototype.selectedRole; + /** @type {?} */ + State.prototype.selectedUser; + /** @type {?} */ + State.prototype.selectedUserRoles; + } /** * @record */ function RoleSaveRequest() { } Identity.RoleSaveRequest = RoleSaveRequest; + if (false) { + /** @type {?} */ + RoleSaveRequest.prototype.name; + /** @type {?} */ + RoleSaveRequest.prototype.isDefault; + /** @type {?} */ + RoleSaveRequest.prototype.isPublic; + } /** * @record */ function RoleItem() { } Identity.RoleItem = RoleItem; + if (false) { + /** @type {?} */ + RoleItem.prototype.isStatic; + /** @type {?} */ + RoleItem.prototype.concurrencyStamp; + /** @type {?} */ + RoleItem.prototype.id; + } /** * @record */ function UserItem() { } Identity.UserItem = UserItem; + if (false) { + /** @type {?} */ + UserItem.prototype.tenantId; + /** @type {?} */ + UserItem.prototype.emailConfirmed; + /** @type {?} */ + UserItem.prototype.phoneNumberConfirmed; + /** @type {?} */ + UserItem.prototype.isLockedOut; + /** @type {?} */ + UserItem.prototype.concurrencyStamp; + /** @type {?} */ + UserItem.prototype.id; + } /** * @record */ function User() { } Identity.User = User; + if (false) { + /** @type {?} */ + User.prototype.userName; + /** @type {?} */ + User.prototype.name; + /** @type {?} */ + User.prototype.surname; + /** @type {?} */ + User.prototype.email; + /** @type {?} */ + User.prototype.phoneNumber; + /** @type {?} */ + User.prototype.twoFactorEnabled; + /** @type {?} */ + User.prototype.lockoutEnabled; + } /** * @record */ function UserSaveRequest() { } Identity.UserSaveRequest = UserSaveRequest; + if (false) { + /** @type {?} */ + UserSaveRequest.prototype.password; + /** @type {?} */ + UserSaveRequest.prototype.roleNames; + } })(Identity || (Identity = {})); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + export { CreateRole, CreateUser, DeleteRole, DeleteUser, GetRoleById, GetRoles, GetUserById, GetUserRoles, GetUsers, IDENTITY_ROUTES, IdentityModule, IdentityService, IdentityState, RoleResolver, RolesComponent, UpdateRole, UpdateUser, UsersComponent as ɵb, IdentityRoutingModule as ɵc, UserResolver as ɵd }; //# sourceMappingURL=abp-ng.identity.js.map diff --git a/npm/ng-packs/dist/identity/fesm5/abp-ng.identity.js.map b/npm/ng-packs/dist/identity/fesm5/abp-ng.identity.js.map index f6cd981177..058d951806 100644 --- a/npm/ng-packs/dist/identity/fesm5/abp-ng.identity.js.map +++ b/npm/ng-packs/dist/identity/fesm5/abp-ng.identity.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.identity.js","sources":["ng://@abp/ng.identity/lib/actions/identity.actions.ts","ng://@abp/ng.identity/lib/services/identity.service.ts","ng://@abp/ng.identity/lib/states/identity.state.ts","ng://@abp/ng.identity/lib/components/roles/roles.component.ts","ng://@abp/ng.identity/lib/resolvers/roles.resolver.ts","ng://@abp/ng.identity/lib/components/users/users.component.ts","ng://@abp/ng.identity/lib/resolvers/users.resolver.ts","ng://@abp/ng.identity/lib/identity-routing.module.ts","ng://@abp/ng.identity/lib/identity.module.ts","ng://@abp/ng.identity/lib/constants/routes.ts","ng://@abp/ng.identity/lib/models/identity.ts"],"sourcesContent":["import { Identity } from '../models/identity';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetRoles {\n static readonly type = '[Identity] Get Roles';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetRoleById {\n static readonly type = '[Identity] Get Role By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteRole {\n static readonly type = '[Identity] Delete Role';\n constructor(public payload: string) {}\n}\n\nexport class CreateRole {\n static readonly type = '[Identity] Create Role';\n constructor(public payload: Identity.RoleSaveRequest) {}\n}\n\nexport class UpdateRole {\n static readonly type = '[Identity] Update Role';\n constructor(public payload: Identity.RoleItem) {}\n}\n\nexport class GetUsers {\n static readonly type = '[Identity] Get Users';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetUserById {\n static readonly type = '[Identity] Get User By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteUser {\n static readonly type = '[Identity] Delete User';\n constructor(public payload: string) {}\n}\n\nexport class CreateUser {\n static readonly type = '[Identity] Create User';\n constructor(public payload: Identity.UserSaveRequest) {}\n}\n\nexport class UpdateUser {\n static readonly type = '[Identity] Update User';\n constructor(public payload: Identity.UserSaveRequest & { id: string }) {}\n}\n\nexport class GetUserRoles {\n static readonly type = '[Identity] Get User Roles';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { Identity } from '../models/identity';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IdentityService {\n constructor(private rest: RestService) {}\n\n getRoles(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/roles',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getRoleById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteRole(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createRole(body: Identity.RoleSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/roles',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateRole(body: Identity.RoleItem): Observable {\n const url = `/api/identity/roles/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getUsers(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/users',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getUserById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n getUserRoles(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}/roles`,\n };\n\n return this.rest.request(request);\n }\n\n deleteUser(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createUser(body: Identity.UserSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/users',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateUser(body: Identity.UserItem): Observable {\n const url = `/api/identity/users/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap, pluck } from 'rxjs/operators';\nimport {\n CreateRole,\n CreateUser,\n DeleteRole,\n DeleteUser,\n GetRoleById,\n GetRoles,\n GetUserById,\n GetUsers,\n UpdateRole,\n UpdateUser,\n GetUserRoles,\n} from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityService } from '../services/identity.service';\n\n@State({\n name: 'IdentityState',\n defaults: { roles: {}, selectedRole: {}, users: {}, selectedUser: {} } as Identity.State,\n})\nexport class IdentityState {\n @Selector()\n static getRoles({ roles }: Identity.State): Identity.RoleItem[] {\n return roles.items;\n }\n\n @Selector()\n static getRolesTotalCount({ roles }: Identity.State): number {\n return roles.totalCount;\n }\n\n @Selector()\n static getUsers({ users }: Identity.State): Identity.UserItem[] {\n return users.items;\n }\n\n @Selector()\n static getUsersTotalCount({ users }: Identity.State): number {\n return users.totalCount;\n }\n\n constructor(private identityService: IdentityService) {}\n\n @Action(GetRoles)\n getRoles({ patchState }: StateContext, { payload }: GetRoles) {\n return this.identityService.getRoles(payload).pipe(\n tap(roles =>\n patchState({\n roles,\n }),\n ),\n );\n }\n\n @Action(GetRoleById)\n getRole({ patchState }: StateContext, { payload }: GetRoleById) {\n return this.identityService.getRoleById(payload).pipe(\n tap(selectedRole =>\n patchState({\n selectedRole,\n }),\n ),\n );\n }\n\n @Action(DeleteRole)\n deleteRole({ dispatch }: StateContext, { payload }: GetRoleById) {\n return this.identityService.deleteRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(CreateRole)\n addRole({ dispatch }: StateContext, { payload }: CreateRole) {\n return this.identityService.createRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(UpdateRole)\n updateRole({ getState, dispatch }: StateContext, { payload }: UpdateRole) {\n return dispatch(new GetRoleById(payload.id)).pipe(\n switchMap(() => this.identityService.updateRole({ ...getState().selectedRole, ...payload })),\n switchMap(() => dispatch(new GetRoles())),\n );\n }\n\n @Action(GetUsers)\n getUsers({ patchState }: StateContext, { payload }: GetUsers) {\n return this.identityService.getUsers(payload).pipe(\n tap(users =>\n patchState({\n users,\n }),\n ),\n );\n }\n\n @Action(GetUserById)\n getUser({ patchState }: StateContext, { payload }: GetUserById) {\n return this.identityService.getUserById(payload).pipe(\n tap(selectedUser =>\n patchState({\n selectedUser,\n }),\n ),\n );\n }\n\n @Action(DeleteUser)\n deleteUser({ dispatch }: StateContext, { payload }: GetUserById) {\n return this.identityService.deleteUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(CreateUser)\n addUser({ dispatch }: StateContext, { payload }: CreateUser) {\n return this.identityService.createUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(UpdateUser)\n updateUser({ getState, dispatch }: StateContext, { payload }: UpdateUser) {\n return dispatch(new GetUserById(payload.id)).pipe(\n switchMap(() => this.identityService.updateUser({ ...getState().selectedUser, ...payload })),\n switchMap(() => dispatch(new GetUsers())),\n );\n }\n\n @Action(GetUserRoles)\n getUserRoles({ patchState }: StateContext, { payload }: GetUserRoles) {\n return this.identityService.getUserRoles(payload).pipe(\n pluck('items'),\n tap(selectedUserRoles =>\n patchState({\n selectedUserRoles,\n }),\n ),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck } from 'rxjs/operators';\nimport { CreateRole, DeleteRole, GetRoleById, GetRoles, UpdateRole } from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n\n@Component({\n selector: 'abp-roles',\n templateUrl: './roles.component.html',\n})\nexport class RolesComponent {\n @Select(IdentityState.getRoles)\n data$: Observable;\n\n @Select(IdentityState.getRolesTotalCount)\n totalCount$: Observable;\n\n form: FormGroup;\n\n selected: Identity.RoleItem;\n\n isModalVisible: boolean;\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n createForm() {\n this.form = this.fb.group({\n name: new FormControl({ value: this.selected.name || '', disabled: this.selected.isStatic }, [\n Validators.required,\n Validators.maxLength(256),\n ]),\n isDefault: [this.selected.isDefault || false],\n isPublic: [this.selected.isPublic || false],\n });\n }\n\n openModal() {\n this.createForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.RoleItem;\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetRoleById(id))\n .pipe(pluck('IdentityState', 'selectedRole'))\n .subscribe(selectedRole => {\n this.selected = selectedRole;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateRole({ ...this.form.value, id: this.selected.id })\n : new CreateRole(this.form.value),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpIdentity::RoleDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteRole(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetRoles(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetRoles } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class RoleResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const roles = this.store.selectSnapshot(IdentityState.getRoles);\n return roles && roles.length ? null : this.store.dispatch(new GetRoles());\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, TrackByFunction, ViewChild } from '@angular/core';\nimport { AbstractControl, FormArray, FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport {\n CreateUser,\n DeleteUser,\n GetUserById,\n GetUserRoles,\n GetUsers,\n UpdateUser,\n} from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n@Component({\n selector: 'abp-users',\n templateUrl: './users.component.html',\n})\nexport class UsersComponent {\n @Select(IdentityState.getUsers)\n data$: Observable;\n\n @Select(IdentityState.getUsersTotalCount)\n totalCount$: Observable;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n selected: Identity.UserItem;\n\n selectedUserRoles: Identity.RoleItem[];\n\n roles: Identity.RoleItem[];\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'userName',\n };\n\n isModalVisible: boolean;\n\n loading: boolean = false;\n\n trackByFn: TrackByFunction = (index, item) => Object.keys(item)[0] || index;\n\n get roleGroups(): FormGroup[] {\n return snq(() => (this.form.get('roleNames') as FormArray).controls as FormGroup[], []);\n }\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n buildForm() {\n this.roles = this.store.selectSnapshot(IdentityState.getRoles);\n this.form = this.fb.group({\n userName: [this.selected.userName || '', [Validators.required, Validators.maxLength(256)]],\n email: [this.selected.email || '', [Validators.required, Validators.email, Validators.maxLength(256)]],\n name: [this.selected.name || '', [Validators.maxLength(64)]],\n surname: [this.selected.surname || '', [Validators.maxLength(64)]],\n phoneNumber: [this.selected.phoneNumber || '', [Validators.maxLength(16)]],\n lockoutEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n twoFactorEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n roleNames: this.fb.array(\n this.roles.map(role =>\n this.fb.group({\n [role.name]: [!!snq(() => this.selectedUserRoles.find(userRole => userRole.id === role.id))],\n }),\n ),\n ),\n });\n if (!this.selected.userName) {\n this.form.addControl('password', new FormControl('', [Validators.required, Validators.maxLength(32)]));\n }\n }\n\n openModal() {\n this.buildForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.UserItem;\n this.selectedUserRoles = [] as Identity.RoleItem[];\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetUserById(id))\n .pipe(\n switchMap(() => this.store.dispatch(new GetUserRoles(id))),\n pluck('IdentityState'),\n take(1),\n )\n .subscribe((state: Identity.State) => {\n this.selected = state.selectedUser;\n this.selectedUserRoles = state.selectedUserRoles;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n\n const { roleNames } = this.form.value;\n const mappedRoleNames = snq(\n () => roleNames.filter(role => !!role[Object.keys(role)[0]]).map(role => Object.keys(role)[0]),\n [],\n );\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateUser({\n ...this.form.value,\n id: this.selected.id,\n roleNames: mappedRoleNames,\n })\n : new CreateUser({\n ...this.form.value,\n roleNames: mappedRoleNames,\n }),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, userName: string) {\n this.confirmationService\n .warn('AbpIdentity::UserDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [userName],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteUser(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetUsers(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetUsers } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class UserResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const users = this.store.selectSnapshot(IdentityState.getUsers);\n return users && users.length ? null : this.store.dispatch(new GetUsers());\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { RoleResolver } from './resolvers/roles.resolver';\nimport { DynamicLayoutComponent, AuthGuard, PermissionGuard } from '@abp/ng.core';\nimport { UsersComponent } from './components/users/users.component';\nimport { UserResolver } from './resolvers/users.resolver';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'roles', pathMatch: 'full' },\n {\n path: 'roles',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Roles' },\n children: [{ path: '', component: RolesComponent, resolve: [RoleResolver] }],\n },\n {\n path: 'users',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Users' },\n children: [\n {\n path: '',\n component: UsersComponent,\n resolve: [RoleResolver, UserResolver],\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [RoleResolver, UserResolver],\n})\nexport class IdentityRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { IdentityRoutingModule } from './identity-routing.module';\nimport { IdentityState } from './states/identity.state';\nimport { NgbTabsetModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { UsersComponent } from './components/users/users.component';\nimport { PermissionManagementModule } from '@abp/ng.permission-management';\nimport { TableModule } from 'primeng/table';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [RolesComponent, UsersComponent],\n imports: [\n NgxsModule.forFeature([IdentityState]),\n CoreModule,\n IdentityRoutingModule,\n NgbTabsetModule,\n ThemeSharedModule,\n TableModule,\n NgbDropdownModule,\n PermissionManagementModule,\n NgxValidateCoreModule,\n PerfectScrollbarModule,\n ],\n})\nexport class IdentityModule {}\n","import { eLayoutType, ABP } from '@abp/ng.core';\n\nexport const IDENTITY_ROUTES = [\n {\n name: 'AbpUiNavigation::Menu:Administration',\n path: '',\n order: 1,\n wrapper: true,\n },\n {\n name: 'AbpIdentity::Menu:IdentityManagement',\n path: 'identity',\n order: 1,\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-id-card-o',\n children: [\n { path: 'roles', name: 'AbpIdentity::Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' },\n { path: 'users', name: 'AbpIdentity::Users', order: 1, requiredPolicy: 'AbpIdentity.Users' },\n ],\n },\n] as ABP.FullRoute[];\n","import { ABP } from '@abp/ng.core';\n\nexport namespace Identity {\n export interface State {\n roles: RoleResponse;\n users: UserResponse;\n selectedRole: RoleItem;\n selectedUser: UserItem;\n selectedUserRoles: RoleItem[];\n }\n\n export type RoleResponse = ABP.PagedResponse;\n\n export interface RoleSaveRequest {\n name: string;\n isDefault: boolean;\n isPublic: boolean;\n }\n\n export interface RoleItem extends RoleSaveRequest {\n isStatic: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export type UserResponse = ABP.PagedResponse;\n\n export interface UserItem extends User {\n tenantId: string;\n emailConfirmed: boolean;\n phoneNumberConfirmed: boolean;\n isLockedOut: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export interface User {\n userName: string;\n name: string;\n surname: string;\n email: string;\n phoneNumber: string;\n twoFactorEnabled: true;\n lockoutEnabled: true;\n }\n\n export interface UserSaveRequest extends User {\n password: string;\n roleNames: string[];\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.identity.js","sources":["ng://@abp/ng.identity/lib/actions/identity.actions.ts","ng://@abp/ng.identity/lib/services/identity.service.ts","ng://@abp/ng.identity/lib/states/identity.state.ts","ng://@abp/ng.identity/lib/components/roles/roles.component.ts","ng://@abp/ng.identity/lib/resolvers/roles.resolver.ts","ng://@abp/ng.identity/lib/components/users/users.component.ts","ng://@abp/ng.identity/lib/resolvers/users.resolver.ts","ng://@abp/ng.identity/lib/identity-routing.module.ts","ng://@abp/ng.identity/lib/identity.module.ts","ng://@abp/ng.identity/lib/constants/routes.ts","ng://@abp/ng.identity/lib/models/identity.ts"],"sourcesContent":["import { Identity } from '../models/identity';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetRoles {\n static readonly type = '[Identity] Get Roles';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetRoleById {\n static readonly type = '[Identity] Get Role By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteRole {\n static readonly type = '[Identity] Delete Role';\n constructor(public payload: string) {}\n}\n\nexport class CreateRole {\n static readonly type = '[Identity] Create Role';\n constructor(public payload: Identity.RoleSaveRequest) {}\n}\n\nexport class UpdateRole {\n static readonly type = '[Identity] Update Role';\n constructor(public payload: Identity.RoleItem) {}\n}\n\nexport class GetUsers {\n static readonly type = '[Identity] Get Users';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetUserById {\n static readonly type = '[Identity] Get User By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteUser {\n static readonly type = '[Identity] Delete User';\n constructor(public payload: string) {}\n}\n\nexport class CreateUser {\n static readonly type = '[Identity] Create User';\n constructor(public payload: Identity.UserSaveRequest) {}\n}\n\nexport class UpdateUser {\n static readonly type = '[Identity] Update User';\n constructor(public payload: Identity.UserSaveRequest & { id: string }) {}\n}\n\nexport class GetUserRoles {\n static readonly type = '[Identity] Get User Roles';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { Identity } from '../models/identity';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IdentityService {\n constructor(private rest: RestService) {}\n\n getRoles(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/roles',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getRoleById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteRole(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createRole(body: Identity.RoleSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/roles',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateRole(body: Identity.RoleItem): Observable {\n const url = `/api/identity/roles/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getUsers(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/users',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getUserById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n getUserRoles(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}/roles`,\n };\n\n return this.rest.request(request);\n }\n\n deleteUser(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createUser(body: Identity.UserSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/users',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateUser(body: Identity.UserItem): Observable {\n const url = `/api/identity/users/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap, pluck } from 'rxjs/operators';\nimport {\n CreateRole,\n CreateUser,\n DeleteRole,\n DeleteUser,\n GetRoleById,\n GetRoles,\n GetUserById,\n GetUsers,\n UpdateRole,\n UpdateUser,\n GetUserRoles,\n} from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityService } from '../services/identity.service';\n\n@State({\n name: 'IdentityState',\n defaults: { roles: {}, selectedRole: {}, users: {}, selectedUser: {} } as Identity.State,\n})\nexport class IdentityState {\n @Selector()\n static getRoles({ roles }: Identity.State): Identity.RoleItem[] {\n return roles.items;\n }\n\n @Selector()\n static getRolesTotalCount({ roles }: Identity.State): number {\n return roles.totalCount;\n }\n\n @Selector()\n static getUsers({ users }: Identity.State): Identity.UserItem[] {\n return users.items;\n }\n\n @Selector()\n static getUsersTotalCount({ users }: Identity.State): number {\n return users.totalCount;\n }\n\n constructor(private identityService: IdentityService) {}\n\n @Action(GetRoles)\n getRoles({ patchState }: StateContext, { payload }: GetRoles) {\n return this.identityService.getRoles(payload).pipe(\n tap(roles =>\n patchState({\n roles,\n }),\n ),\n );\n }\n\n @Action(GetRoleById)\n getRole({ patchState }: StateContext, { payload }: GetRoleById) {\n return this.identityService.getRoleById(payload).pipe(\n tap(selectedRole =>\n patchState({\n selectedRole,\n }),\n ),\n );\n }\n\n @Action(DeleteRole)\n deleteRole({ dispatch }: StateContext, { payload }: GetRoleById) {\n return this.identityService.deleteRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(CreateRole)\n addRole({ dispatch }: StateContext, { payload }: CreateRole) {\n return this.identityService.createRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(UpdateRole)\n updateRole({ getState, dispatch }: StateContext, { payload }: UpdateRole) {\n return dispatch(new GetRoleById(payload.id)).pipe(\n switchMap(() => this.identityService.updateRole({ ...getState().selectedRole, ...payload })),\n switchMap(() => dispatch(new GetRoles())),\n );\n }\n\n @Action(GetUsers)\n getUsers({ patchState }: StateContext, { payload }: GetUsers) {\n return this.identityService.getUsers(payload).pipe(\n tap(users =>\n patchState({\n users,\n }),\n ),\n );\n }\n\n @Action(GetUserById)\n getUser({ patchState }: StateContext, { payload }: GetUserById) {\n return this.identityService.getUserById(payload).pipe(\n tap(selectedUser =>\n patchState({\n selectedUser,\n }),\n ),\n );\n }\n\n @Action(DeleteUser)\n deleteUser({ dispatch }: StateContext, { payload }: GetUserById) {\n return this.identityService.deleteUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(CreateUser)\n addUser({ dispatch }: StateContext, { payload }: CreateUser) {\n return this.identityService.createUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(UpdateUser)\n updateUser({ getState, dispatch }: StateContext, { payload }: UpdateUser) {\n return dispatch(new GetUserById(payload.id)).pipe(\n switchMap(() => this.identityService.updateUser({ ...getState().selectedUser, ...payload })),\n switchMap(() => dispatch(new GetUsers())),\n );\n }\n\n @Action(GetUserRoles)\n getUserRoles({ patchState }: StateContext, { payload }: GetUserRoles) {\n return this.identityService.getUserRoles(payload).pipe(\n pluck('items'),\n tap(selectedUserRoles =>\n patchState({\n selectedUserRoles,\n }),\n ),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck } from 'rxjs/operators';\nimport { CreateRole, DeleteRole, GetRoleById, GetRoles, UpdateRole } from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n\n@Component({\n selector: 'abp-roles',\n templateUrl: './roles.component.html',\n})\nexport class RolesComponent {\n @Select(IdentityState.getRoles)\n data$: Observable;\n\n @Select(IdentityState.getRolesTotalCount)\n totalCount$: Observable;\n\n form: FormGroup;\n\n selected: Identity.RoleItem;\n\n isModalVisible: boolean;\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n createForm() {\n this.form = this.fb.group({\n name: new FormControl({ value: this.selected.name || '', disabled: this.selected.isStatic }, [\n Validators.required,\n Validators.maxLength(256),\n ]),\n isDefault: [this.selected.isDefault || false],\n isPublic: [this.selected.isPublic || false],\n });\n }\n\n openModal() {\n this.createForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.RoleItem;\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetRoleById(id))\n .pipe(pluck('IdentityState', 'selectedRole'))\n .subscribe(selectedRole => {\n this.selected = selectedRole;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateRole({ ...this.form.value, id: this.selected.id })\n : new CreateRole(this.form.value),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpIdentity::RoleDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteRole(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetRoles(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetRoles } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class RoleResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const roles = this.store.selectSnapshot(IdentityState.getRoles);\n return roles && roles.length ? null : this.store.dispatch(new GetRoles());\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, TrackByFunction, ViewChild } from '@angular/core';\nimport { AbstractControl, FormArray, FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport {\n CreateUser,\n DeleteUser,\n GetUserById,\n GetUserRoles,\n GetUsers,\n UpdateUser,\n} from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n@Component({\n selector: 'abp-users',\n templateUrl: './users.component.html',\n})\nexport class UsersComponent {\n @Select(IdentityState.getUsers)\n data$: Observable;\n\n @Select(IdentityState.getUsersTotalCount)\n totalCount$: Observable;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n selected: Identity.UserItem;\n\n selectedUserRoles: Identity.RoleItem[];\n\n roles: Identity.RoleItem[];\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'userName',\n };\n\n isModalVisible: boolean;\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n trackByFn: TrackByFunction = (index, item) => Object.keys(item)[0] || index;\n\n get roleGroups(): FormGroup[] {\n return snq(() => (this.form.get('roleNames') as FormArray).controls as FormGroup[], []);\n }\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n buildForm() {\n this.roles = this.store.selectSnapshot(IdentityState.getRoles);\n this.form = this.fb.group({\n userName: [this.selected.userName || '', [Validators.required, Validators.maxLength(256)]],\n email: [this.selected.email || '', [Validators.required, Validators.email, Validators.maxLength(256)]],\n name: [this.selected.name || '', [Validators.maxLength(64)]],\n surname: [this.selected.surname || '', [Validators.maxLength(64)]],\n phoneNumber: [this.selected.phoneNumber || '', [Validators.maxLength(16)]],\n lockoutEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n twoFactorEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n roleNames: this.fb.array(\n this.roles.map(role =>\n this.fb.group({\n [role.name]: [!!snq(() => this.selectedUserRoles.find(userRole => userRole.id === role.id))],\n }),\n ),\n ),\n });\n if (!this.selected.userName) {\n this.form.addControl('password', new FormControl('', [Validators.required, Validators.maxLength(32)]));\n }\n }\n\n openModal() {\n this.buildForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.UserItem;\n this.selectedUserRoles = [] as Identity.RoleItem[];\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetUserById(id))\n .pipe(\n switchMap(() => this.store.dispatch(new GetUserRoles(id))),\n pluck('IdentityState'),\n take(1),\n )\n .subscribe((state: Identity.State) => {\n this.selected = state.selectedUser;\n this.selectedUserRoles = state.selectedUserRoles;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n this.modalBusy = true;\n\n const { roleNames } = this.form.value;\n const mappedRoleNames = snq(\n () => roleNames.filter(role => !!role[Object.keys(role)[0]]).map(role => Object.keys(role)[0]),\n [],\n );\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateUser({\n ...this.form.value,\n id: this.selected.id,\n roleNames: mappedRoleNames,\n })\n : new CreateUser({\n ...this.form.value,\n roleNames: mappedRoleNames,\n }),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, userName: string) {\n this.confirmationService\n .warn('AbpIdentity::UserDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [userName],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteUser(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetUsers(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetUsers } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class UserResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const users = this.store.selectSnapshot(IdentityState.getUsers);\n return users && users.length ? null : this.store.dispatch(new GetUsers());\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { RoleResolver } from './resolvers/roles.resolver';\nimport { DynamicLayoutComponent, AuthGuard, PermissionGuard } from '@abp/ng.core';\nimport { UsersComponent } from './components/users/users.component';\nimport { UserResolver } from './resolvers/users.resolver';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'roles', pathMatch: 'full' },\n {\n path: 'roles',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Roles' },\n children: [{ path: '', component: RolesComponent, resolve: [RoleResolver] }],\n },\n {\n path: 'users',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Users' },\n children: [\n {\n path: '',\n component: UsersComponent,\n resolve: [RoleResolver, UserResolver],\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [RoleResolver, UserResolver],\n})\nexport class IdentityRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { IdentityRoutingModule } from './identity-routing.module';\nimport { IdentityState } from './states/identity.state';\nimport { NgbTabsetModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { UsersComponent } from './components/users/users.component';\nimport { PermissionManagementModule } from '@abp/ng.permission-management';\nimport { TableModule } from 'primeng/table';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [RolesComponent, UsersComponent],\n imports: [\n NgxsModule.forFeature([IdentityState]),\n CoreModule,\n IdentityRoutingModule,\n NgbTabsetModule,\n ThemeSharedModule,\n TableModule,\n NgbDropdownModule,\n PermissionManagementModule,\n NgxValidateCoreModule,\n PerfectScrollbarModule,\n ],\n})\nexport class IdentityModule {}\n","import { eLayoutType, ABP } from '@abp/ng.core';\n\nexport const IDENTITY_ROUTES = [\n {\n name: 'AbpUiNavigation::Menu:Administration',\n path: '',\n order: 1,\n wrapper: true,\n },\n {\n name: 'AbpIdentity::Menu:IdentityManagement',\n path: 'identity',\n order: 1,\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-id-card-o',\n children: [\n { path: 'roles', name: 'AbpIdentity::Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' },\n { path: 'users', name: 'AbpIdentity::Users', order: 1, requiredPolicy: 'AbpIdentity.Users' },\n ],\n },\n] as ABP.FullRoute[];\n","import { ABP } from '@abp/ng.core';\n\nexport namespace Identity {\n export interface State {\n roles: RoleResponse;\n users: UserResponse;\n selectedRole: RoleItem;\n selectedUser: UserItem;\n selectedUserRoles: RoleItem[];\n }\n\n export type RoleResponse = ABP.PagedResponse;\n\n export interface RoleSaveRequest {\n name: string;\n isDefault: boolean;\n isPublic: boolean;\n }\n\n export interface RoleItem extends RoleSaveRequest {\n isStatic: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export type UserResponse = ABP.PagedResponse;\n\n export interface UserItem extends User {\n tenantId: string;\n emailConfirmed: boolean;\n phoneNumberConfirmed: boolean;\n isLockedOut: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export interface User {\n userName: string;\n name: string;\n surname: string;\n email: string;\n phoneNumber: string;\n twoFactorEnabled: true;\n lockoutEnabled: true;\n }\n\n export interface UserSaveRequest extends User {\n password: string;\n roleNames: string[];\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/lib/components/roles/roles.component.d.ts b/npm/ng-packs/dist/identity/lib/components/roles/roles.component.d.ts index 68584bf177..9f27f62856 100644 --- a/npm/ng-packs/dist/identity/lib/components/roles/roles.component.d.ts +++ b/npm/ng-packs/dist/identity/lib/components/roles/roles.component.d.ts @@ -18,6 +18,7 @@ export declare class RolesComponent { providerKey: string; pageQuery: ABP.PageQueryParams; loading: boolean; + modalBusy: boolean; modalContent: TemplateRef; constructor(confirmationService: ConfirmationService, fb: FormBuilder, store: Store); onSearch(value: any): void; diff --git a/npm/ng-packs/dist/identity/lib/components/users/users.component.d.ts b/npm/ng-packs/dist/identity/lib/components/users/users.component.d.ts index a9f99333d4..36010fa626 100644 --- a/npm/ng-packs/dist/identity/lib/components/users/users.component.d.ts +++ b/npm/ng-packs/dist/identity/lib/components/users/users.component.d.ts @@ -21,6 +21,7 @@ export declare class UsersComponent { pageQuery: ABP.PageQueryParams; isModalVisible: boolean; loading: boolean; + modalBusy: boolean; trackByFn: TrackByFunction; readonly roleGroups: FormGroup[]; constructor(confirmationService: ConfirmationService, fb: FormBuilder, store: Store); diff --git a/npm/ng-packs/dist/permission-management/abp-ng.permission-management.metadata.json b/npm/ng-packs/dist/permission-management/abp-ng.permission-management.metadata.json index 10da5a3628..81ad357603 100644 --- a/npm/ng-packs/dist/permission-management/abp-ng.permission-management.metadata.json +++ b/npm/ng-packs/dist/permission-management/abp-ng.permission-management.metadata.json @@ -1 +1 @@ -{"__symbolic":"module","version":4,"exports":[{"from":"./lib/permission-management.state"}],"metadata":{"PermissionManagementModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":8,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵa"}],"imports":[{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":10,"character":12},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ThemeSharedModule","line":10,"character":24},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"NgxsModule","line":10,"character":43},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"ɵb"}]]},{"__symbolic":"reference","module":"ngx-perfect-scrollbar","name":"PerfectScrollbarModule","line":10,"character":95}],"exports":[{"__symbolic":"reference","name":"ɵa"}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":20,"character":1},"arguments":[{"selector":"abp-permission-management","template":"\n \n \n

{{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

\n
\n \n
\n \n \n
\n\n
\n
\n
\n
    \n \n
  • \n {{ group?.displayName }}\n
  • \n
    \n
\n
\n
\n

{{ selectedGroup.displayName }}

\n
\n
\n
\n \n \n
\n
\n \n \n 0\"\n />\n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
\n \n
\n
\n \n
\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
\n
\n"}]}],"members":{"providerName":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"providerKey":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"visible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3}}]}],"visibleChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":49,"character":3}}]}],"groups$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":52,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵb"},"member":"getPermissionGroups"}]}]}],"entityName$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":55,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵb"},"member":"getEntitiyDisplayName"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":86,"character":29},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":86,"character":54}]}],"ngOnInit":[{"__symbolic":"method"}],"getChecked":[{"__symbolic":"method"}],"onClickCheckbox":[{"__symbolic":"method"}],"setTabCheckboxState":[{"__symbolic":"method"}],"setGrantCheckboxState":[{"__symbolic":"method"}],"onClickSelectThisTab":[{"__symbolic":"method"}],"onClickSelectAll":[{"__symbolic":"method"}],"onChangeGroup":[{"__symbolic":"method"}],"onSubmit":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"initModal":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":6,"character":1},"arguments":[{"name":"PermissionManagementState","defaults":{"permissionRes":{}}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"}]}],"permissionManagementGet":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":23,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵd"}]}]}],"permissionManagementUpdate":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":34,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵe"}]}]}]},"statics":{"getPermissionGroups":{"__symbolic":"function","parameters":["permissionRes"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"permissionRes"},"member":"groups"},"right":[]}},"getEntitiyDisplayName":{"__symbolic":"function","parameters":["permissionRes"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"permissionRes"},"member":"entityDisplayName"}}}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.core","name":"RestService","line":9,"character":28}]}],"getPermissions":[{"__symbolic":"method"}],"updatePermissions":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵd":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵf"},"member":"GrantedProvider"}]}]},"statics":{"type":"[PermissionManagement] Get Permissions"}},"ɵe":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":9,"character":30,"module":"./lib/actions/permission-management.actions"}]}]},"statics":{"type":"[PermissionManagement] Update Permissions"}}},"origins":{"PermissionManagementModule":"./lib/permission-management.module","ɵa":"./lib/components/permission-management.component","ɵb":"./lib/states/permission-management.state","ɵc":"./lib/services/permission-management.service","ɵd":"./lib/actions/permission-management.actions","ɵe":"./lib/actions/permission-management.actions","ɵf":"./lib/models/permission-management"},"importAs":"@abp/ng.permission-management"} \ No newline at end of file +{"__symbolic":"module","version":4,"exports":[{"from":"./lib/permission-management.state"}],"metadata":{"PermissionManagementModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":8,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵa"}],"imports":[{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":10,"character":12},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ThemeSharedModule","line":10,"character":24},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"NgxsModule","line":10,"character":43},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"ɵb"}]]},{"__symbolic":"reference","module":"ngx-perfect-scrollbar","name":"PerfectScrollbarModule","line":10,"character":95}],"exports":[{"__symbolic":"reference","name":"ɵa"}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":20,"character":1},"arguments":[{"selector":"abp-permission-management","template":"\n \n \n

{{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

\n
\n \n
\n \n \n
\n\n
\n
\n
\n
    \n \n
  • \n {{ group?.displayName }}\n
  • \n
    \n
\n
\n
\n

{{ selectedGroup.displayName }}

\n
\n
\n
\n \n \n
\n
\n \n \n \n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
\n \n
\n
\n \n
\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
\n
\n"}]}],"members":{"providerName":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"providerKey":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"visible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3}}]}],"visibleChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":49,"character":3}}]}],"groups$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":52,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵb"},"member":"getPermissionGroups"}]}]}],"entityName$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":55,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵb"},"member":"getEntitiyDisplayName"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":88,"character":29},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":88,"character":54}]}],"ngOnInit":[{"__symbolic":"method"}],"getChecked":[{"__symbolic":"method"}],"isGrantedByRole":[{"__symbolic":"method"}],"onClickCheckbox":[{"__symbolic":"method"}],"setTabCheckboxState":[{"__symbolic":"method"}],"setGrantCheckboxState":[{"__symbolic":"method"}],"onClickSelectThisTab":[{"__symbolic":"method"}],"onClickSelectAll":[{"__symbolic":"method"}],"onChangeGroup":[{"__symbolic":"method"}],"onSubmit":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"initModal":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":6,"character":1},"arguments":[{"name":"PermissionManagementState","defaults":{"permissionRes":{}}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"}]}],"permissionManagementGet":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":23,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵd"}]}]}],"permissionManagementUpdate":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":34,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵe"}]}]}]},"statics":{"getPermissionGroups":{"__symbolic":"function","parameters":["permissionRes"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"permissionRes"},"member":"groups"},"right":[]}},"getEntitiyDisplayName":{"__symbolic":"function","parameters":["permissionRes"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"permissionRes"},"member":"entityDisplayName"}}}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.core","name":"RestService","line":9,"character":28}]}],"getPermissions":[{"__symbolic":"method"}],"updatePermissions":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵd":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵf"},"member":"GrantedProvider"}]}]},"statics":{"type":"[PermissionManagement] Get Permissions"}},"ɵe":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":9,"character":30,"module":"./lib/actions/permission-management.actions"}]}]},"statics":{"type":"[PermissionManagement] Update Permissions"}}},"origins":{"PermissionManagementModule":"./lib/permission-management.module","ɵa":"./lib/components/permission-management.component","ɵb":"./lib/states/permission-management.state","ɵc":"./lib/services/permission-management.service","ɵd":"./lib/actions/permission-management.actions","ɵe":"./lib/actions/permission-management.actions","ɵf":"./lib/models/permission-management"},"importAs":"@abp/ng.permission-management"} \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.js b/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.js index cb40477261..e77395058c 100644 --- a/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.js +++ b/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.js @@ -18,6 +18,20 @@ See the Apache Version 2.0 License for specific language governing permissions and limitations under the License. ***************************************************************************** */ + /* global Reflect, Promise */ + + var extendStatics = function(d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + + function __extends(d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + } var __assign = function() { __assign = Object.assign || function __assign(t) { @@ -30,6 +44,18 @@ return __assign.apply(this, arguments); }; + function __rest(s, e) { + var t = {}; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; + } + function __decorate(decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -37,10 +63,66 @@ return c > 3 && r && Object.defineProperty(target, key, r), r; } + function __param(paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } + } + function __metadata(metadataKey, metadataValue) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); } + function __awaiter(thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + } + + function __generator(thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + 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; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } + } + + function __exportStar(m, exports) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + + function __values(o) { + var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0; + if (m) return m.call(o); + return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + } + function __read(o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; @@ -62,6 +144,61 @@ for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); return ar; + } + + function __spreadArrays() { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; + }; + + function __await(v) { + return this instanceof __await ? (this.v = v, this) : new __await(v); + } + + function __asyncGenerator(thisArg, _arguments, generator) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var g = generator.apply(thisArg, _arguments || []), i, q = []; + return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; + 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); }); }; } + function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } + function fulfill(value) { resume("next", value); } + function reject(value) { resume("throw", value); } + function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } + } + + function __asyncDelegator(o) { + var i, p; + return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; + 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; } + } + + function __asyncValues(o) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var m = o[Symbol.asyncIterator], i; + 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); + 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); }); }; } + function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } + } + + function __makeTemplateObject(cooked, raw) { + if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + return cooked; + }; + + function __importStar(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result.default = mod; + return result; + } + + function __importDefault(mod) { + return (mod && mod.__esModule) ? mod : { default: mod }; } /** @@ -75,6 +212,12 @@ GetPermissions.type = '[PermissionManagement] Get Permissions'; return GetPermissions; }()); + if (false) { + /** @type {?} */ + GetPermissions.type; + /** @type {?} */ + GetPermissions.prototype.payload; + } var UpdatePermissions = /** @class */ (function () { function UpdatePermissions(payload) { this.payload = payload; @@ -82,6 +225,12 @@ UpdatePermissions.type = '[PermissionManagement] Update Permissions'; return UpdatePermissions; }()); + if (false) { + /** @type {?} */ + UpdatePermissions.type; + /** @type {?} */ + UpdatePermissions.prototype.payload; + } /** * @fileoverview added by tsickle @@ -139,6 +288,13 @@ /** @nocollapse */ PermissionManagementService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function PermissionManagementService_Factory() { return new PermissionManagementService(core.ɵɵinject(ng_core.RestService)); }, token: PermissionManagementService, providedIn: "root" }); return PermissionManagementService; }()); + if (false) { + /** + * @type {?} + * @private + */ + PermissionManagementService.prototype.rest; + } /** * @fileoverview added by tsickle @@ -242,6 +398,13 @@ ], PermissionManagementState); return PermissionManagementState; }()); + if (false) { + /** + * @type {?} + * @private + */ + PermissionManagementState.prototype.permissionManagementService; + } /** * @fileoverview added by tsickle @@ -255,6 +418,7 @@ this.permissions = []; this.selectThisTab = false; this.selectAllTab = false; + this.modalBusy = false; this.trackByFn = (/** * @param {?} _ * @param {?} item @@ -344,6 +508,24 @@ */ function (per) { return per.name === name; })) || { isGranted: false }).isGranted; }; + /** + * @param {?} grantedProviders + * @return {?} + */ + PermissionManagementComponent.prototype.isGrantedByRole = /** + * @param {?} grantedProviders + * @return {?} + */ + function (grantedProviders) { + if (grantedProviders.length) { + return grantedProviders.findIndex((/** + * @param {?} p + * @return {?} + */ + function (p) { return p.providerName === 'Role'; })) > -1; + } + return false; + }; /** * @param {?} clickedPermission * @param {?} value @@ -356,7 +538,7 @@ */ function (clickedPermission, value) { var _this = this; - if (clickedPermission.isGranted && clickedPermission.grantedProviders.length > 0) + if (clickedPermission.isGranted && this.isGrantedByRole(clickedPermission.grantedProviders)) return; setTimeout((/** * @return {?} @@ -461,7 +643,7 @@ * @return {?} */ function (permission) { - if (permission.isGranted && permission.grantedProviders.length > 0) + if (permission.isGranted && _this.isGrantedByRole(permission.grantedProviders)) return; /** @type {?} */ var index = _this.permissions.findIndex((/** @@ -511,6 +693,7 @@ */ function () { var _this = this; + this.modalBusy = true; /** @type {?} */ var unchangedPermissions = getPermissions(this.store.selectSnapshot(PermissionManagementState.getPermissionGroups)); /** @type {?} */ @@ -545,10 +728,12 @@ * @return {?} */ function () { + _this.modalBusy = false; _this.visible = false; })); } else { + this.modalBusy = false; this.visible = false; } }; @@ -608,7 +793,7 @@ PermissionManagementComponent.decorators = [ { type: core.Component, args: [{ selector: 'abp-permission-management', - template: "\n \n \n

{{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

\n
\n \n
\n \n \n
\n\n
\n
\n
\n
    \n \n
  • \n {{ group?.displayName }}\n
  • \n
    \n
\n
\n
\n

{{ selectedGroup.displayName }}

\n
\n
\n
\n \n \n
\n
\n \n \n 0\"\n />\n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
\n \n
\n
\n \n
\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
\n
\n" + template: "\n \n \n

{{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

\n
\n \n
\n \n \n
\n\n
\n
\n
\n
    \n \n
  • \n {{ group?.displayName }}\n
  • \n
    \n
\n
\n
\n

{{ selectedGroup.displayName }}

\n
\n
\n
\n \n \n
\n
\n \n \n \n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
\n \n
\n
\n \n
\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
\n
\n" }] } ]; /** @nocollapse */ @@ -632,6 +817,45 @@ ], PermissionManagementComponent.prototype, "entityName$", void 0); return PermissionManagementComponent; }()); + if (false) { + /** @type {?} */ + PermissionManagementComponent.prototype.providerName; + /** @type {?} */ + PermissionManagementComponent.prototype.providerKey; + /** + * @type {?} + * @protected + */ + PermissionManagementComponent.prototype._visible; + /** @type {?} */ + PermissionManagementComponent.prototype.visibleChange; + /** @type {?} */ + PermissionManagementComponent.prototype.groups$; + /** @type {?} */ + PermissionManagementComponent.prototype.entityName$; + /** @type {?} */ + PermissionManagementComponent.prototype.selectedGroup; + /** @type {?} */ + PermissionManagementComponent.prototype.permissions; + /** @type {?} */ + PermissionManagementComponent.prototype.selectThisTab; + /** @type {?} */ + PermissionManagementComponent.prototype.selectAllTab; + /** @type {?} */ + PermissionManagementComponent.prototype.modalBusy; + /** @type {?} */ + PermissionManagementComponent.prototype.trackByFn; + /** + * @type {?} + * @private + */ + PermissionManagementComponent.prototype.store; + /** + * @type {?} + * @private + */ + PermissionManagementComponent.prototype.renderer; + } /** * @param {?} permissions * @param {?} permission @@ -681,6 +905,16 @@ return PermissionManagementModule; }()); + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -692,36 +926,80 @@ */ function State() { } PermissionManagement.State = State; + if (false) { + /** @type {?} */ + State.prototype.permissionRes; + } /** * @record */ function Response() { } PermissionManagement.Response = Response; + if (false) { + /** @type {?} */ + Response.prototype.entityDisplayName; + /** @type {?} */ + Response.prototype.groups; + } /** * @record */ function Group() { } PermissionManagement.Group = Group; + if (false) { + /** @type {?} */ + Group.prototype.name; + /** @type {?} */ + Group.prototype.displayName; + /** @type {?} */ + Group.prototype.permissions; + } /** * @record */ function MinimumPermission() { } PermissionManagement.MinimumPermission = MinimumPermission; + if (false) { + /** @type {?} */ + MinimumPermission.prototype.name; + /** @type {?} */ + MinimumPermission.prototype.isGranted; + } /** * @record */ function Permission() { } PermissionManagement.Permission = Permission; + if (false) { + /** @type {?} */ + Permission.prototype.displayName; + /** @type {?} */ + Permission.prototype.parentName; + /** @type {?} */ + Permission.prototype.allowedProviders; + /** @type {?} */ + Permission.prototype.grantedProviders; + } /** * @record */ function GrantedProvider() { } PermissionManagement.GrantedProvider = GrantedProvider; + if (false) { + /** @type {?} */ + GrantedProvider.prototype.providerName; + /** @type {?} */ + GrantedProvider.prototype.providerKey; + } /** * @record */ function UpdateRequest() { } PermissionManagement.UpdateRequest = UpdateRequest; + if (false) { + /** @type {?} */ + UpdateRequest.prototype.permissions; + } })(PermissionManagement || (PermissionManagement = {})); exports.GetPermissions = GetPermissions; diff --git a/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.js.map b/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.js.map index 45a40ee711..9f01b5311e 100644 --- a/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.js.map +++ b/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.permission-management.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.permission-management/lib/actions/permission-management.actions.ts","ng://@abp/ng.permission-management/lib/services/permission-management.service.ts","ng://@abp/ng.permission-management/lib/states/permission-management.state.ts","ng://@abp/ng.permission-management/lib/components/permission-management.component.ts","ng://@abp/ng.permission-management/lib/permission-management.module.ts","ng://@abp/ng.permission-management/lib/models/permission-management.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","import { PermissionManagement } from '../models/permission-management';\n\nexport class GetPermissions {\n static readonly type = '[PermissionManagement] Get Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider) {}\n}\n\nexport class UpdatePermissions {\n static readonly type = '[PermissionManagement] Update Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest) {}\n}\n","import { Injectable } from '@angular/core';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { Observable } from 'rxjs';\nimport { PermissionManagement } from '../models/permission-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionManagementService {\n constructor(private rest: RestService) {}\n\n getPermissions(params: PermissionManagement.GrantedProvider): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/permissions',\n params,\n };\n\n return this.rest.request(request);\n }\n\n updatePermissions({\n permissions,\n providerKey,\n providerName,\n }: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/abp/permissions',\n body: { permissions },\n params: { providerKey, providerName },\n };\n\n return this.rest.request(request);\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementService } from '../services/permission-management.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'PermissionManagementState',\n defaults: { permissionRes: {} } as PermissionManagement.State,\n})\nexport class PermissionManagementState {\n @Selector()\n static getPermissionGroups({ permissionRes }: PermissionManagement.State) {\n return permissionRes.groups || [];\n }\n\n @Selector()\n static getEntitiyDisplayName({ permissionRes }: PermissionManagement.State): string {\n return permissionRes.entityDisplayName;\n }\n\n constructor(private permissionManagementService: PermissionManagementService) {}\n\n @Action(GetPermissions)\n permissionManagementGet({ patchState }: StateContext, { payload }: GetPermissions) {\n return this.permissionManagementService.getPermissions(payload).pipe(\n tap(permissionResponse =>\n patchState({\n permissionRes: permissionResponse,\n }),\n ),\n );\n }\n\n @Action(UpdatePermissions)\n permissionManagementUpdate(_, { payload }: UpdatePermissions) {\n return this.permissionManagementService.updatePermissions(payload);\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n Renderer2,\n SimpleChanges,\n TrackByFunction,\n} from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { from, Observable } from 'rxjs';\nimport { map, pluck, take } from 'rxjs/operators';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementState } from '../states/permission-management.state';\n\ntype PermissionWithMargin = PermissionManagement.Permission & { margin: number };\n\n@Component({\n selector: 'abp-permission-management',\n templateUrl: './permission-management.component.html',\n})\nexport class PermissionManagementComponent implements OnInit, OnChanges {\n @Input()\n providerName: string;\n\n @Input()\n providerKey: string;\n\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n if (!this.selectedGroup) return;\n\n this._visible = value;\n this.visibleChange.emit(value);\n\n if (!value) {\n this.selectedGroup = null;\n }\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(PermissionManagementState.getPermissionGroups)\n groups$: Observable;\n\n @Select(PermissionManagementState.getEntitiyDisplayName)\n entityName$: Observable;\n\n selectedGroup: PermissionManagement.Group;\n\n permissions: PermissionManagement.Permission[] = [];\n\n selectThisTab: boolean = false;\n\n selectAllTab: boolean = false;\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n get selectedGroupPermissions$(): Observable {\n return this.groups$.pipe(\n map(groups =>\n this.selectedGroup ? groups.find(group => group.name === this.selectedGroup.name).permissions : [],\n ),\n map(permissions =>\n permissions.map(\n permission =>\n (({\n ...permission,\n margin: findMargin(permissions, permission),\n isGranted: this.permissions.find(per => per.name === permission.name).isGranted,\n } as any) as PermissionWithMargin),\n ),\n ),\n );\n }\n\n constructor(private store: Store, private renderer: Renderer2) {}\n\n ngOnInit(): void {}\n\n getChecked(name: string) {\n return (this.permissions.find(per => per.name === name) || { isGranted: false }).isGranted;\n }\n\n onClickCheckbox(clickedPermission: PermissionManagement.Permission, value) {\n if (clickedPermission.isGranted && clickedPermission.grantedProviders.length > 0) return;\n\n setTimeout(() => {\n this.permissions = this.permissions.map(per => {\n if (clickedPermission.name === per.name) {\n return { ...per, isGranted: !per.isGranted };\n } else if (clickedPermission.name === per.parentName && clickedPermission.isGranted) {\n return { ...per, isGranted: false };\n } else if (clickedPermission.parentName === per.name && !clickedPermission.isGranted) {\n return { ...per, isGranted: true };\n }\n\n return per;\n });\n\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }, 0);\n }\n\n setTabCheckboxState() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n const selectedPermissions = permissions.filter(per => per.isGranted);\n const element = document.querySelector('#select-all-in-this-tabs') as any;\n\n if (selectedPermissions.length === permissions.length) {\n element.indeterminate = false;\n this.selectThisTab = true;\n } else if (selectedPermissions.length === 0) {\n element.indeterminate = false;\n this.selectThisTab = false;\n } else {\n element.indeterminate = true;\n }\n });\n }\n\n setGrantCheckboxState() {\n const selectedAllPermissions = this.permissions.filter(per => per.isGranted);\n const checkboxElement = document.querySelector('#select-all-in-all-tabs') as any;\n\n if (selectedAllPermissions.length === this.permissions.length) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = true;\n } else if (selectedAllPermissions.length === 0) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = false;\n } else {\n checkboxElement.indeterminate = true;\n }\n }\n\n onClickSelectThisTab() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n permissions.forEach(permission => {\n if (permission.isGranted && permission.grantedProviders.length > 0) return;\n\n const index = this.permissions.findIndex(per => per.name === permission.name);\n\n this.permissions = [\n ...this.permissions.slice(0, index),\n { ...this.permissions[index], isGranted: !this.selectThisTab },\n ...this.permissions.slice(index + 1),\n ];\n });\n });\n\n this.setGrantCheckboxState();\n }\n\n onClickSelectAll() {\n this.permissions = this.permissions.map(permission => ({ ...permission, isGranted: !this.selectAllTab }));\n\n this.selectThisTab = !this.selectAllTab;\n }\n\n onChangeGroup(group: PermissionManagement.Group) {\n this.selectedGroup = group;\n this.setTabCheckboxState();\n }\n\n onSubmit() {\n const unchangedPermissions = getPermissions(\n this.store.selectSnapshot(PermissionManagementState.getPermissionGroups),\n );\n\n const changedPermissions: PermissionManagement.MinimumPermission[] = this.permissions\n .filter(per =>\n unchangedPermissions.find(unchanged => unchanged.name === per.name).isGranted === per.isGranted ? false : true,\n )\n .map(({ name, isGranted }) => ({ name, isGranted }));\n\n if (changedPermissions.length) {\n this.store\n .dispatch(\n new UpdatePermissions({\n providerKey: this.providerKey,\n providerName: this.providerName,\n permissions: changedPermissions,\n }),\n )\n .subscribe(() => {\n this.visible = false;\n });\n } else {\n this.visible = false;\n }\n }\n\n openModal() {\n if (!this.providerKey || !this.providerName) {\n throw new Error('Provider Key and Provider Name are required.');\n }\n\n this.store\n .dispatch(new GetPermissions({ providerKey: this.providerKey, providerName: this.providerName }))\n .pipe(pluck('PermissionManagementState', 'permissionRes'))\n .subscribe((permissionRes: PermissionManagement.Response) => {\n this.selectedGroup = permissionRes.groups[0];\n this.permissions = getPermissions(permissionRes.groups);\n\n this.visible = true;\n });\n }\n\n initModal() {\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n\nfunction findMargin(permissions: PermissionManagement.Permission[], permission: PermissionManagement.Permission) {\n const parentPermission = permissions.find(per => per.name === permission.parentName);\n\n if (parentPermission && parentPermission.parentName) {\n let margin = 20;\n return (margin += findMargin(permissions, parentPermission));\n }\n\n return parentPermission ? 20 : 0;\n}\n\nfunction getPermissions(groups: PermissionManagement.Group[]): PermissionManagement.Permission[] {\n return groups.reduce((acc, val) => [...acc, ...val.permissions], []);\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { PermissionManagementComponent } from './components/permission-management.component';\nimport { PermissionManagementState } from './states/permission-management.state';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [PermissionManagementComponent],\n imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([PermissionManagementState]), PerfectScrollbarModule],\n exports: [PermissionManagementComponent],\n})\nexport class PermissionManagementModule {}\n","export namespace PermissionManagement {\n export interface State {\n permissionRes: Response;\n }\n\n export interface Response {\n entityDisplayName: string;\n groups: Group[];\n }\n\n export interface Group {\n name: string;\n displayName: string;\n permissions: Permission[];\n }\n\n export interface MinimumPermission {\n name: string;\n isGranted: boolean;\n }\n\n export interface Permission extends MinimumPermission {\n displayName: string;\n parentName: string;\n allowedProviders: string[];\n grantedProviders: GrantedProvider[];\n }\n\n export interface GrantedProvider {\n providerName: string;\n providerKey: string;\n }\n\n export interface UpdateRequest {\n permissions: MinimumPermission[];\n }\n}\n"],"names":["Injectable","RestService","tap","tslib_1.__decorate","Action","Selector","State","EventEmitter","map","take","pluck","Component","Store","Renderer2","Input","Output","Select","Observable","NgModule","CoreModule","ThemeSharedModule","NgxsModule","PerfectScrollbarModule"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.permission-management.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.permission-management/lib/actions/permission-management.actions.ts","ng://@abp/ng.permission-management/lib/services/permission-management.service.ts","ng://@abp/ng.permission-management/lib/states/permission-management.state.ts","ng://@abp/ng.permission-management/lib/components/permission-management.component.ts","ng://@abp/ng.permission-management/lib/permission-management.module.ts","ng://@abp/ng.permission-management/lib/models/permission-management.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","import { PermissionManagement } from '../models/permission-management';\n\nexport class GetPermissions {\n static readonly type = '[PermissionManagement] Get Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider) {}\n}\n\nexport class UpdatePermissions {\n static readonly type = '[PermissionManagement] Update Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest) {}\n}\n","import { Injectable } from '@angular/core';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { Observable } from 'rxjs';\nimport { PermissionManagement } from '../models/permission-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionManagementService {\n constructor(private rest: RestService) {}\n\n getPermissions(params: PermissionManagement.GrantedProvider): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/permissions',\n params,\n };\n\n return this.rest.request(request);\n }\n\n updatePermissions({\n permissions,\n providerKey,\n providerName,\n }: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/abp/permissions',\n body: { permissions },\n params: { providerKey, providerName },\n };\n\n return this.rest.request(request);\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementService } from '../services/permission-management.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'PermissionManagementState',\n defaults: { permissionRes: {} } as PermissionManagement.State,\n})\nexport class PermissionManagementState {\n @Selector()\n static getPermissionGroups({ permissionRes }: PermissionManagement.State) {\n return permissionRes.groups || [];\n }\n\n @Selector()\n static getEntitiyDisplayName({ permissionRes }: PermissionManagement.State): string {\n return permissionRes.entityDisplayName;\n }\n\n constructor(private permissionManagementService: PermissionManagementService) {}\n\n @Action(GetPermissions)\n permissionManagementGet({ patchState }: StateContext, { payload }: GetPermissions) {\n return this.permissionManagementService.getPermissions(payload).pipe(\n tap(permissionResponse =>\n patchState({\n permissionRes: permissionResponse,\n }),\n ),\n );\n }\n\n @Action(UpdatePermissions)\n permissionManagementUpdate(_, { payload }: UpdatePermissions) {\n return this.permissionManagementService.updatePermissions(payload);\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n Renderer2,\n SimpleChanges,\n TrackByFunction,\n} from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { from, Observable } from 'rxjs';\nimport { map, pluck, take } from 'rxjs/operators';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementState } from '../states/permission-management.state';\n\ntype PermissionWithMargin = PermissionManagement.Permission & { margin: number };\n\n@Component({\n selector: 'abp-permission-management',\n templateUrl: './permission-management.component.html',\n})\nexport class PermissionManagementComponent implements OnInit, OnChanges {\n @Input()\n providerName: string;\n\n @Input()\n providerKey: string;\n\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n if (!this.selectedGroup) return;\n\n this._visible = value;\n this.visibleChange.emit(value);\n\n if (!value) {\n this.selectedGroup = null;\n }\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(PermissionManagementState.getPermissionGroups)\n groups$: Observable;\n\n @Select(PermissionManagementState.getEntitiyDisplayName)\n entityName$: Observable;\n\n selectedGroup: PermissionManagement.Group;\n\n permissions: PermissionManagement.Permission[] = [];\n\n selectThisTab: boolean = false;\n\n selectAllTab: boolean = false;\n\n modalBusy: boolean = false;\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n get selectedGroupPermissions$(): Observable {\n return this.groups$.pipe(\n map(groups =>\n this.selectedGroup ? groups.find(group => group.name === this.selectedGroup.name).permissions : [],\n ),\n map(permissions =>\n permissions.map(\n permission =>\n (({\n ...permission,\n margin: findMargin(permissions, permission),\n isGranted: this.permissions.find(per => per.name === permission.name).isGranted,\n } as any) as PermissionWithMargin),\n ),\n ),\n );\n }\n\n constructor(private store: Store, private renderer: Renderer2) {}\n\n ngOnInit(): void {}\n\n getChecked(name: string) {\n return (this.permissions.find(per => per.name === name) || { isGranted: false }).isGranted;\n }\n\n isGrantedByRole(grantedProviders: PermissionManagement.GrantedProvider[]): boolean {\n if (grantedProviders.length) {\n return grantedProviders.findIndex(p => p.providerName === 'Role') > -1;\n }\n return false;\n }\n\n onClickCheckbox(clickedPermission: PermissionManagement.Permission, value) {\n if (clickedPermission.isGranted && this.isGrantedByRole(clickedPermission.grantedProviders)) return;\n\n setTimeout(() => {\n this.permissions = this.permissions.map(per => {\n if (clickedPermission.name === per.name) {\n return { ...per, isGranted: !per.isGranted };\n } else if (clickedPermission.name === per.parentName && clickedPermission.isGranted) {\n return { ...per, isGranted: false };\n } else if (clickedPermission.parentName === per.name && !clickedPermission.isGranted) {\n return { ...per, isGranted: true };\n }\n\n return per;\n });\n\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }, 0);\n }\n\n setTabCheckboxState() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n const selectedPermissions = permissions.filter(per => per.isGranted);\n const element = document.querySelector('#select-all-in-this-tabs') as any;\n\n if (selectedPermissions.length === permissions.length) {\n element.indeterminate = false;\n this.selectThisTab = true;\n } else if (selectedPermissions.length === 0) {\n element.indeterminate = false;\n this.selectThisTab = false;\n } else {\n element.indeterminate = true;\n }\n });\n }\n\n setGrantCheckboxState() {\n const selectedAllPermissions = this.permissions.filter(per => per.isGranted);\n const checkboxElement = document.querySelector('#select-all-in-all-tabs') as any;\n\n if (selectedAllPermissions.length === this.permissions.length) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = true;\n } else if (selectedAllPermissions.length === 0) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = false;\n } else {\n checkboxElement.indeterminate = true;\n }\n }\n\n onClickSelectThisTab() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n permissions.forEach(permission => {\n if (permission.isGranted && this.isGrantedByRole(permission.grantedProviders)) return;\n\n const index = this.permissions.findIndex(per => per.name === permission.name);\n\n this.permissions = [\n ...this.permissions.slice(0, index),\n { ...this.permissions[index], isGranted: !this.selectThisTab },\n ...this.permissions.slice(index + 1),\n ];\n });\n });\n\n this.setGrantCheckboxState();\n }\n\n onClickSelectAll() {\n this.permissions = this.permissions.map(permission => ({ ...permission, isGranted: !this.selectAllTab }));\n\n this.selectThisTab = !this.selectAllTab;\n }\n\n onChangeGroup(group: PermissionManagement.Group) {\n this.selectedGroup = group;\n this.setTabCheckboxState();\n }\n\n onSubmit() {\n this.modalBusy = true;\n const unchangedPermissions = getPermissions(\n this.store.selectSnapshot(PermissionManagementState.getPermissionGroups),\n );\n\n const changedPermissions: PermissionManagement.MinimumPermission[] = this.permissions\n .filter(per =>\n unchangedPermissions.find(unchanged => unchanged.name === per.name).isGranted === per.isGranted ? false : true,\n )\n .map(({ name, isGranted }) => ({ name, isGranted }));\n\n if (changedPermissions.length) {\n this.store\n .dispatch(\n new UpdatePermissions({\n providerKey: this.providerKey,\n providerName: this.providerName,\n permissions: changedPermissions,\n }),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.visible = false;\n });\n } else {\n this.modalBusy = false;\n this.visible = false;\n }\n }\n\n openModal() {\n if (!this.providerKey || !this.providerName) {\n throw new Error('Provider Key and Provider Name are required.');\n }\n\n this.store\n .dispatch(new GetPermissions({ providerKey: this.providerKey, providerName: this.providerName }))\n .pipe(pluck('PermissionManagementState', 'permissionRes'))\n .subscribe((permissionRes: PermissionManagement.Response) => {\n this.selectedGroup = permissionRes.groups[0];\n this.permissions = getPermissions(permissionRes.groups);\n\n this.visible = true;\n });\n }\n\n initModal() {\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n\nfunction findMargin(permissions: PermissionManagement.Permission[], permission: PermissionManagement.Permission) {\n const parentPermission = permissions.find(per => per.name === permission.parentName);\n\n if (parentPermission && parentPermission.parentName) {\n let margin = 20;\n return (margin += findMargin(permissions, parentPermission));\n }\n\n return parentPermission ? 20 : 0;\n}\n\nfunction getPermissions(groups: PermissionManagement.Group[]): PermissionManagement.Permission[] {\n return groups.reduce((acc, val) => [...acc, ...val.permissions], []);\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { PermissionManagementComponent } from './components/permission-management.component';\nimport { PermissionManagementState } from './states/permission-management.state';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [PermissionManagementComponent],\n imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([PermissionManagementState]), PerfectScrollbarModule],\n exports: [PermissionManagementComponent],\n})\nexport class PermissionManagementModule {}\n","export namespace PermissionManagement {\n export interface State {\n permissionRes: Response;\n }\n\n export interface Response {\n entityDisplayName: string;\n groups: Group[];\n }\n\n export interface Group {\n name: string;\n displayName: string;\n permissions: Permission[];\n }\n\n export interface MinimumPermission {\n name: string;\n isGranted: boolean;\n }\n\n export interface Permission extends MinimumPermission {\n displayName: string;\n parentName: string;\n allowedProviders: string[];\n grantedProviders: GrantedProvider[];\n }\n\n export interface GrantedProvider {\n providerName: string;\n providerKey: string;\n }\n\n export interface UpdateRequest {\n permissions: MinimumPermission[];\n }\n}\n"],"names":["Injectable","RestService","tap","tslib_1.__decorate","Action","Selector","State","EventEmitter","map","take","pluck","Component","Store","Renderer2","Input","Output","Select","Observable","NgModule","CoreModule","ThemeSharedModule","NgxsModule","PerfectScrollbarModule"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.min.js b/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.min.js index da29b50646..2a994c8a21 100644 --- a/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.min.js +++ b/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.min.js @@ -1,2 +1,2 @@ -!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@abp/ng.core"),require("@abp/ng.theme.shared"),require("@angular/core"),require("@ngxs/store"),require("rxjs"),require("rxjs/operators"),require("ngx-perfect-scrollbar")):"function"==typeof define&&define.amd?define("@abp/ng.permission-management",["exports","@abp/ng.core","@abp/ng.theme.shared","@angular/core","@ngxs/store","rxjs","rxjs/operators","ngx-perfect-scrollbar"],n):n(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng["permission-management"]={}),e.ng_core,e.ng_theme_shared,e.ng.core,e.store,e.rxjs,e.rxjs.operators,e.ngxPerfectScrollbar)}(this,function(e,n,t,i,r,s,o,a){"use strict";var c=function(){return(c=Object.assign||function(e){for(var n,t=1,i=arguments.length;t=0;a--)(r=e[a])&&(o=(s<3?r(o):s>3?r(n,t,o):r(n,t))||o);return s>3&&o&&Object.defineProperty(n,t,o),o}function l(e,n){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,n)}function u(e,n){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var i,r,s=t.call(e),o=[];try{for(;(void 0===n||n-- >0)&&!(i=s.next()).done;)o.push(i.value)}catch(e){r={error:e}}finally{try{i&&!i.done&&(t=s.return)&&t.call(s)}finally{if(r)throw r.error}}return o}function m(){for(var e=[],n=0;n0||setTimeout(function(){t.permissions=t.permissions.map(function(n){return e.name===n.name?c({},n,{isGranted:!n.isGranted}):e.name===n.parentName&&e.isGranted?c({},n,{isGranted:!1}):e.parentName!==n.name||e.isGranted?n:c({},n,{isGranted:!0})}),t.setTabCheckboxState(),t.setGrantCheckboxState()},0)},e.prototype.setTabCheckboxState=function(){var e=this;this.selectedGroupPermissions$.pipe(o.take(1)).subscribe(function(n){var t=n.filter(function(e){return e.isGranted}),i=document.querySelector("#select-all-in-this-tabs");t.length===n.length?(i.indeterminate=!1,e.selectThisTab=!0):0===t.length?(i.indeterminate=!1,e.selectThisTab=!1):i.indeterminate=!0})},e.prototype.setGrantCheckboxState=function(){var e=this.permissions.filter(function(e){return e.isGranted}),n=document.querySelector("#select-all-in-all-tabs");e.length===this.permissions.length?(n.indeterminate=!1,this.selectAllTab=!0):0===e.length?(n.indeterminate=!1,this.selectAllTab=!1):n.indeterminate=!0},e.prototype.onClickSelectThisTab=function(){var e=this;this.selectedGroupPermissions$.pipe(o.take(1)).subscribe(function(n){n.forEach(function(n){if(!(n.isGranted&&n.grantedProviders.length>0)){var t=e.permissions.findIndex(function(e){return e.name===n.name});e.permissions=m(e.permissions.slice(0,t),[c({},e.permissions[t],{isGranted:!e.selectThisTab})],e.permissions.slice(t+1))}})}),this.setGrantCheckboxState()},e.prototype.onClickSelectAll=function(){var e=this;this.permissions=this.permissions.map(function(n){return c({},n,{isGranted:!e.selectAllTab})}),this.selectThisTab=!this.selectAllTab},e.prototype.onChangeGroup=function(e){this.selectedGroup=e,this.setTabCheckboxState()},e.prototype.onSubmit=function(){var e=this,n=v(this.store.selectSnapshot(h.getPermissionGroups)),t=this.permissions.filter(function(e){return n.find(function(n){return n.name===e.name}).isGranted!==e.isGranted}).map(function(e){return{name:e.name,isGranted:e.isGranted}});t.length?this.store.dispatch(new b({providerKey:this.providerKey,providerName:this.providerName,permissions:t})).subscribe(function(){e.visible=!1}):this.visible=!1},e.prototype.openModal=function(){var e=this;if(!this.providerKey||!this.providerName)throw new Error("Provider Key and Provider Name are required.");this.store.dispatch(new d({providerKey:this.providerKey,providerName:this.providerName})).pipe(o.pluck("PermissionManagementState","permissionRes")).subscribe(function(n){e.selectedGroup=n.groups[0],e.permissions=v(n.groups),e.visible=!0})},e.prototype.initModal=function(){this.setTabCheckboxState(),this.setGrantCheckboxState()},e.prototype.ngOnChanges=function(e){var n=e.visible;n&&(n.currentValue?this.openModal():!1===n.currentValue&&this.visible&&(this.visible=!1))},e.decorators=[{type:i.Component,args:[{selector:"abp-permission-management",template:'\n \n \n

{{ \'AbpPermissionManagement::Permissions\' | abpLocalization }} - {{ data.entityName }}

\n
\n \n
\n \n \n
\n\n
\n
\n
\n \n
\n
\n

{{ selectedGroup.displayName }}

\n
\n
\n
\n \n \n
\n
\n \n \n \n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
\n \n
\n
\n \n
\n \n \n {{ \'AbpIdentity::Save\' | abpLocalization }}\n \n
\n
\n'}]}],e.ctorParameters=function(){return[{type:r.Store},{type:i.Renderer2}]},e.propDecorators={providerName:[{type:i.Input}],providerKey:[{type:i.Input}],visible:[{type:i.Input}],visibleChange:[{type:i.Output}]},p([r.Select(h.getPermissionGroups),l("design:type",s.Observable)],e.prototype,"groups$",void 0),p([r.Select(h.getEntitiyDisplayName),l("design:type",s.Observable)],e.prototype,"entityName$",void 0),e}();function y(e,n){var t=e.find(function(e){return e.name===n.parentName});return t&&t.parentName?20+y(e,t):t?20:0}function v(e){return e.reduce(function(e,n){return m(e,n.permissions)},[])}var G,P=function(){function e(){}return e.decorators=[{type:i.NgModule,args:[{declarations:[g],imports:[n.CoreModule,t.ThemeSharedModule,r.NgxsModule.forFeature([h]),a.PerfectScrollbarModule],exports:[g]}]}],e}();!function(e){e.State=function(){},e.Response=function(){},e.Group=function(){},e.MinimumPermission=function(){},e.Permission=function(){},e.GrantedProvider=function(){},e.UpdateRequest=function(){}}(G||(G={})),e.GetPermissions=d,e.PermissionManagementComponent=g,e.PermissionManagementModule=P,e.PermissionManagementService=f,e.PermissionManagementState=h,e.UpdatePermissions=b,e.ɵa=g,e.ɵb=h,e.ɵc=f,e.ɵd=d,e.ɵe=b,Object.defineProperty(e,"__esModule",{value:!0})}); +!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@abp/ng.core"),require("@abp/ng.theme.shared"),require("@angular/core"),require("@ngxs/store"),require("rxjs"),require("rxjs/operators"),require("ngx-perfect-scrollbar")):"function"==typeof define&&define.amd?define("@abp/ng.permission-management",["exports","@abp/ng.core","@abp/ng.theme.shared","@angular/core","@ngxs/store","rxjs","rxjs/operators","ngx-perfect-scrollbar"],n):n(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng["permission-management"]={}),e.ng_core,e.ng_theme_shared,e.ng.core,e.store,e.rxjs,e.rxjs.operators,e.ngxPerfectScrollbar)}(this,function(e,n,t,i,r,s,o,a){"use strict";var c=function(){return(c=Object.assign||function(e){for(var n,t=1,i=arguments.length;t=0;a--)(r=e[a])&&(o=(s<3?r(o):s>3?r(n,t,o):r(n,t))||o);return s>3&&o&&Object.defineProperty(n,t,o),o}function p(e,n){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,n)}function u(e,n){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var i,r,s=t.call(e),o=[];try{for(;(void 0===n||n-- >0)&&!(i=s.next()).done;)o.push(i.value)}catch(e){r={error:e}}finally{try{i&&!i.done&&(t=s.return)&&t.call(s)}finally{if(r)throw r.error}}return o}function m(){for(var e=[],n=0;n-1},e.prototype.onClickCheckbox=function(e,n){var t=this;e.isGranted&&this.isGrantedByRole(e.grantedProviders)||setTimeout(function(){t.permissions=t.permissions.map(function(n){return e.name===n.name?c({},n,{isGranted:!n.isGranted}):e.name===n.parentName&&e.isGranted?c({},n,{isGranted:!1}):e.parentName!==n.name||e.isGranted?n:c({},n,{isGranted:!0})}),t.setTabCheckboxState(),t.setGrantCheckboxState()},0)},e.prototype.setTabCheckboxState=function(){var e=this;this.selectedGroupPermissions$.pipe(o.take(1)).subscribe(function(n){var t=n.filter(function(e){return e.isGranted}),i=document.querySelector("#select-all-in-this-tabs");t.length===n.length?(i.indeterminate=!1,e.selectThisTab=!0):0===t.length?(i.indeterminate=!1,e.selectThisTab=!1):i.indeterminate=!0})},e.prototype.setGrantCheckboxState=function(){var e=this.permissions.filter(function(e){return e.isGranted}),n=document.querySelector("#select-all-in-all-tabs");e.length===this.permissions.length?(n.indeterminate=!1,this.selectAllTab=!0):0===e.length?(n.indeterminate=!1,this.selectAllTab=!1):n.indeterminate=!0},e.prototype.onClickSelectThisTab=function(){var e=this;this.selectedGroupPermissions$.pipe(o.take(1)).subscribe(function(n){n.forEach(function(n){if(!n.isGranted||!e.isGrantedByRole(n.grantedProviders)){var t=e.permissions.findIndex(function(e){return e.name===n.name});e.permissions=m(e.permissions.slice(0,t),[c({},e.permissions[t],{isGranted:!e.selectThisTab})],e.permissions.slice(t+1))}})}),this.setGrantCheckboxState()},e.prototype.onClickSelectAll=function(){var e=this;this.permissions=this.permissions.map(function(n){return c({},n,{isGranted:!e.selectAllTab})}),this.selectThisTab=!this.selectAllTab},e.prototype.onChangeGroup=function(e){this.selectedGroup=e,this.setTabCheckboxState()},e.prototype.onSubmit=function(){var e=this;this.modalBusy=!0;var n=v(this.store.selectSnapshot(h.getPermissionGroups)),t=this.permissions.filter(function(e){return n.find(function(n){return n.name===e.name}).isGranted!==e.isGranted}).map(function(e){return{name:e.name,isGranted:e.isGranted}});t.length?this.store.dispatch(new b({providerKey:this.providerKey,providerName:this.providerName,permissions:t})).subscribe(function(){e.modalBusy=!1,e.visible=!1}):(this.modalBusy=!1,this.visible=!1)},e.prototype.openModal=function(){var e=this;if(!this.providerKey||!this.providerName)throw new Error("Provider Key and Provider Name are required.");this.store.dispatch(new d({providerKey:this.providerKey,providerName:this.providerName})).pipe(o.pluck("PermissionManagementState","permissionRes")).subscribe(function(n){e.selectedGroup=n.groups[0],e.permissions=v(n.groups),e.visible=!0})},e.prototype.initModal=function(){this.setTabCheckboxState(),this.setGrantCheckboxState()},e.prototype.ngOnChanges=function(e){var n=e.visible;n&&(n.currentValue?this.openModal():!1===n.currentValue&&this.visible&&(this.visible=!1))},e.decorators=[{type:i.Component,args:[{selector:"abp-permission-management",template:'\n \n \n

{{ \'AbpPermissionManagement::Permissions\' | abpLocalization }} - {{ data.entityName }}

\n
\n \n
\n \n \n
\n\n
\n
\n
\n \n
\n
\n

{{ selectedGroup.displayName }}

\n
\n
\n
\n \n \n
\n
\n \n \n \n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
\n \n
\n
\n \n
\n \n \n {{ \'AbpIdentity::Save\' | abpLocalization }}\n \n
\n
\n'}]}],e.ctorParameters=function(){return[{type:r.Store},{type:i.Renderer2}]},e.propDecorators={providerName:[{type:i.Input}],providerKey:[{type:i.Input}],visible:[{type:i.Input}],visibleChange:[{type:i.Output}]},l([r.Select(h.getPermissionGroups),p("design:type",s.Observable)],e.prototype,"groups$",void 0),l([r.Select(h.getEntitiyDisplayName),p("design:type",s.Observable)],e.prototype,"entityName$",void 0),e}();function g(e,n){var t=e.find(function(e){return e.name===n.parentName});return t&&t.parentName?20+g(e,t):t?20:0}function v(e){return e.reduce(function(e,n){return m(e,n.permissions)},[])}var G,P=function(){function e(){}return e.decorators=[{type:i.NgModule,args:[{declarations:[y],imports:[n.CoreModule,t.ThemeSharedModule,r.NgxsModule.forFeature([h]),a.PerfectScrollbarModule],exports:[y]}]}],e}();!function(e){function n(){}function t(){}function i(){}function r(){}function s(){}function o(){}function a(){}e.State=n,e.Response=t,e.Group=i,e.MinimumPermission=r,e.Permission=s,e.GrantedProvider=o,e.UpdateRequest=a}(G||(G={})),e.GetPermissions=d,e.PermissionManagementComponent=y,e.PermissionManagementModule=P,e.PermissionManagementService=f,e.PermissionManagementState=h,e.UpdatePermissions=b,e.ɵa=y,e.ɵb=h,e.ɵc=f,e.ɵd=d,e.ɵe=b,Object.defineProperty(e,"__esModule",{value:!0})}); //# sourceMappingURL=abp-ng.permission-management.umd.min.js.map \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.min.js.map b/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.min.js.map index 58235537b6..1576ce19da 100644 --- a/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.min.js.map +++ b/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.permission-management/lib/actions/permission-management.actions.ts","ng://@abp/ng.permission-management/lib/services/permission-management.service.ts","ng://@abp/ng.permission-management/lib/states/permission-management.state.ts","ng://@abp/ng.permission-management/lib/components/permission-management.component.ts","ng://@abp/ng.permission-management/lib/permission-management.module.ts","ng://@abp/ng.permission-management/lib/models/permission-management.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__metadata","metadataKey","metadataValue","metadata","__read","o","m","Symbol","iterator","e","ar","next","done","push","value","error","__spread","concat","GetPermissions","payload","type","UpdatePermissions","PermissionManagementService","rest","getPermissions","params","request","method","url","updatePermissions","_a","body","permissions","providerKey","providerName","Injectable","args","providedIn","RestService","PermissionManagementState","permissionManagementService","getPermissionGroups","permissionRes","groups","getEntitiyDisplayName","entityDisplayName","permissionManagementGet","_b","patchState","pipe","tap","permissionResponse","permissionManagementUpdate","_","tslib_1.__decorate","Action","Selector","State","name","defaults","PermissionManagementComponent","store","renderer","visibleChange","EventEmitter","selectThisTab","selectAllTab","trackByFn","item","_visible","selectedGroup","emit","_this","groups$","map","find","group","permission","margin","findMargin","isGranted","per","ngOnInit","getChecked","onClickCheckbox","clickedPermission","grantedProviders","setTimeout","parentName","setTabCheckboxState","setGrantCheckboxState","selectedGroupPermissions$","take","subscribe","selectedPermissions","filter","element","document","querySelector","indeterminate","selectedAllPermissions","checkboxElement","onClickSelectThisTab","forEach","index","findIndex","slice","onClickSelectAll","onChangeGroup","onSubmit","unchangedPermissions","selectSnapshot","changedPermissions","unchanged","dispatch","visible","openModal","Error","pluck","initModal","ngOnChanges","currentValue","Component","selector","template","Store","Renderer2","Input","Output","Select","Observable","parentPermission","reduce","acc","val","PermissionManagement","PermissionManagementModule","NgModule","declarations","imports","CoreModule","ThemeSharedModule","NgxsModule","forFeature","PerfectScrollbarModule","exports"],"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","import { PermissionManagement } from '../models/permission-management';\n\nexport class GetPermissions {\n static readonly type = '[PermissionManagement] Get Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider) {}\n}\n\nexport class UpdatePermissions {\n static readonly type = '[PermissionManagement] Update Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest) {}\n}\n","import { Injectable } from '@angular/core';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { Observable } from 'rxjs';\nimport { PermissionManagement } from '../models/permission-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionManagementService {\n constructor(private rest: RestService) {}\n\n getPermissions(params: PermissionManagement.GrantedProvider): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/permissions',\n params,\n };\n\n return this.rest.request(request);\n }\n\n updatePermissions({\n permissions,\n providerKey,\n providerName,\n }: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/abp/permissions',\n body: { permissions },\n params: { providerKey, providerName },\n };\n\n return this.rest.request(request);\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementService } from '../services/permission-management.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'PermissionManagementState',\n defaults: { permissionRes: {} } as PermissionManagement.State,\n})\nexport class PermissionManagementState {\n @Selector()\n static getPermissionGroups({ permissionRes }: PermissionManagement.State) {\n return permissionRes.groups || [];\n }\n\n @Selector()\n static getEntitiyDisplayName({ permissionRes }: PermissionManagement.State): string {\n return permissionRes.entityDisplayName;\n }\n\n constructor(private permissionManagementService: PermissionManagementService) {}\n\n @Action(GetPermissions)\n permissionManagementGet({ patchState }: StateContext, { payload }: GetPermissions) {\n return this.permissionManagementService.getPermissions(payload).pipe(\n tap(permissionResponse =>\n patchState({\n permissionRes: permissionResponse,\n }),\n ),\n );\n }\n\n @Action(UpdatePermissions)\n permissionManagementUpdate(_, { payload }: UpdatePermissions) {\n return this.permissionManagementService.updatePermissions(payload);\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n Renderer2,\n SimpleChanges,\n TrackByFunction,\n} from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { from, Observable } from 'rxjs';\nimport { map, pluck, take } from 'rxjs/operators';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementState } from '../states/permission-management.state';\n\ntype PermissionWithMargin = PermissionManagement.Permission & { margin: number };\n\n@Component({\n selector: 'abp-permission-management',\n templateUrl: './permission-management.component.html',\n})\nexport class PermissionManagementComponent implements OnInit, OnChanges {\n @Input()\n providerName: string;\n\n @Input()\n providerKey: string;\n\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n if (!this.selectedGroup) return;\n\n this._visible = value;\n this.visibleChange.emit(value);\n\n if (!value) {\n this.selectedGroup = null;\n }\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(PermissionManagementState.getPermissionGroups)\n groups$: Observable;\n\n @Select(PermissionManagementState.getEntitiyDisplayName)\n entityName$: Observable;\n\n selectedGroup: PermissionManagement.Group;\n\n permissions: PermissionManagement.Permission[] = [];\n\n selectThisTab: boolean = false;\n\n selectAllTab: boolean = false;\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n get selectedGroupPermissions$(): Observable {\n return this.groups$.pipe(\n map(groups =>\n this.selectedGroup ? groups.find(group => group.name === this.selectedGroup.name).permissions : [],\n ),\n map(permissions =>\n permissions.map(\n permission =>\n (({\n ...permission,\n margin: findMargin(permissions, permission),\n isGranted: this.permissions.find(per => per.name === permission.name).isGranted,\n } as any) as PermissionWithMargin),\n ),\n ),\n );\n }\n\n constructor(private store: Store, private renderer: Renderer2) {}\n\n ngOnInit(): void {}\n\n getChecked(name: string) {\n return (this.permissions.find(per => per.name === name) || { isGranted: false }).isGranted;\n }\n\n onClickCheckbox(clickedPermission: PermissionManagement.Permission, value) {\n if (clickedPermission.isGranted && clickedPermission.grantedProviders.length > 0) return;\n\n setTimeout(() => {\n this.permissions = this.permissions.map(per => {\n if (clickedPermission.name === per.name) {\n return { ...per, isGranted: !per.isGranted };\n } else if (clickedPermission.name === per.parentName && clickedPermission.isGranted) {\n return { ...per, isGranted: false };\n } else if (clickedPermission.parentName === per.name && !clickedPermission.isGranted) {\n return { ...per, isGranted: true };\n }\n\n return per;\n });\n\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }, 0);\n }\n\n setTabCheckboxState() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n const selectedPermissions = permissions.filter(per => per.isGranted);\n const element = document.querySelector('#select-all-in-this-tabs') as any;\n\n if (selectedPermissions.length === permissions.length) {\n element.indeterminate = false;\n this.selectThisTab = true;\n } else if (selectedPermissions.length === 0) {\n element.indeterminate = false;\n this.selectThisTab = false;\n } else {\n element.indeterminate = true;\n }\n });\n }\n\n setGrantCheckboxState() {\n const selectedAllPermissions = this.permissions.filter(per => per.isGranted);\n const checkboxElement = document.querySelector('#select-all-in-all-tabs') as any;\n\n if (selectedAllPermissions.length === this.permissions.length) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = true;\n } else if (selectedAllPermissions.length === 0) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = false;\n } else {\n checkboxElement.indeterminate = true;\n }\n }\n\n onClickSelectThisTab() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n permissions.forEach(permission => {\n if (permission.isGranted && permission.grantedProviders.length > 0) return;\n\n const index = this.permissions.findIndex(per => per.name === permission.name);\n\n this.permissions = [\n ...this.permissions.slice(0, index),\n { ...this.permissions[index], isGranted: !this.selectThisTab },\n ...this.permissions.slice(index + 1),\n ];\n });\n });\n\n this.setGrantCheckboxState();\n }\n\n onClickSelectAll() {\n this.permissions = this.permissions.map(permission => ({ ...permission, isGranted: !this.selectAllTab }));\n\n this.selectThisTab = !this.selectAllTab;\n }\n\n onChangeGroup(group: PermissionManagement.Group) {\n this.selectedGroup = group;\n this.setTabCheckboxState();\n }\n\n onSubmit() {\n const unchangedPermissions = getPermissions(\n this.store.selectSnapshot(PermissionManagementState.getPermissionGroups),\n );\n\n const changedPermissions: PermissionManagement.MinimumPermission[] = this.permissions\n .filter(per =>\n unchangedPermissions.find(unchanged => unchanged.name === per.name).isGranted === per.isGranted ? false : true,\n )\n .map(({ name, isGranted }) => ({ name, isGranted }));\n\n if (changedPermissions.length) {\n this.store\n .dispatch(\n new UpdatePermissions({\n providerKey: this.providerKey,\n providerName: this.providerName,\n permissions: changedPermissions,\n }),\n )\n .subscribe(() => {\n this.visible = false;\n });\n } else {\n this.visible = false;\n }\n }\n\n openModal() {\n if (!this.providerKey || !this.providerName) {\n throw new Error('Provider Key and Provider Name are required.');\n }\n\n this.store\n .dispatch(new GetPermissions({ providerKey: this.providerKey, providerName: this.providerName }))\n .pipe(pluck('PermissionManagementState', 'permissionRes'))\n .subscribe((permissionRes: PermissionManagement.Response) => {\n this.selectedGroup = permissionRes.groups[0];\n this.permissions = getPermissions(permissionRes.groups);\n\n this.visible = true;\n });\n }\n\n initModal() {\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n\nfunction findMargin(permissions: PermissionManagement.Permission[], permission: PermissionManagement.Permission) {\n const parentPermission = permissions.find(per => per.name === permission.parentName);\n\n if (parentPermission && parentPermission.parentName) {\n let margin = 20;\n return (margin += findMargin(permissions, parentPermission));\n }\n\n return parentPermission ? 20 : 0;\n}\n\nfunction getPermissions(groups: PermissionManagement.Group[]): PermissionManagement.Permission[] {\n return groups.reduce((acc, val) => [...acc, ...val.permissions], []);\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { PermissionManagementComponent } from './components/permission-management.component';\nimport { PermissionManagementState } from './states/permission-management.state';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [PermissionManagementComponent],\n imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([PermissionManagementState]), PerfectScrollbarModule],\n exports: [PermissionManagementComponent],\n})\nexport class PermissionManagementModule {}\n","export namespace PermissionManagement {\n export interface State {\n permissionRes: Response;\n }\n\n export interface Response {\n entityDisplayName: string;\n groups: Group[];\n }\n\n export interface Group {\n name: string;\n displayName: string;\n permissions: Permission[];\n }\n\n export interface MinimumPermission {\n name: string;\n isGranted: boolean;\n }\n\n export interface Permission extends MinimumPermission {\n displayName: string;\n parentName: string;\n allowedProviders: string[];\n grantedProviders: GrantedProvider[];\n }\n\n export interface GrantedProvider {\n providerName: string;\n providerKey: string;\n }\n\n export interface UpdateRequest {\n permissions: MinimumPermission[];\n }\n}\n"]} \ No newline at end of file +{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.permission-management/lib/actions/permission-management.actions.ts","ng://@abp/ng.permission-management/lib/services/permission-management.service.ts","ng://@abp/ng.permission-management/lib/states/permission-management.state.ts","ng://@abp/ng.permission-management/lib/components/permission-management.component.ts","ng://@abp/ng.permission-management/lib/permission-management.module.ts","ng://@abp/ng.permission-management/lib/models/permission-management.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__metadata","metadataKey","metadataValue","metadata","__read","o","m","Symbol","iterator","e","ar","next","done","push","value","error","__spread","concat","GetPermissions","payload","type","UpdatePermissions","PermissionManagementService","rest","getPermissions","params","request","method","url","updatePermissions","_a","body","permissions","providerKey","providerName","Injectable","args","providedIn","RestService","PermissionManagementState","permissionManagementService","getPermissionGroups","permissionRes","groups","getEntitiyDisplayName","entityDisplayName","permissionManagementGet","_b","patchState","pipe","tap","permissionResponse","permissionManagementUpdate","_","tslib_1.__decorate","Action","Selector","State","name","defaults","PermissionManagementComponent","store","renderer","visibleChange","EventEmitter","selectThisTab","selectAllTab","modalBusy","trackByFn","item","_visible","selectedGroup","emit","_this","groups$","map","find","group","permission","margin","findMargin","isGranted","per","ngOnInit","getChecked","isGrantedByRole","grantedProviders","findIndex","onClickCheckbox","clickedPermission","setTimeout","parentName","setTabCheckboxState","setGrantCheckboxState","selectedGroupPermissions$","take","subscribe","selectedPermissions","filter","element","document","querySelector","indeterminate","selectedAllPermissions","checkboxElement","onClickSelectThisTab","forEach","index","slice","onClickSelectAll","onChangeGroup","onSubmit","unchangedPermissions","selectSnapshot","changedPermissions","unchanged","dispatch","visible","openModal","Error","pluck","initModal","ngOnChanges","currentValue","Component","selector","template","Store","Renderer2","Input","Output","Select","Observable","parentPermission","reduce","acc","val","PermissionManagement","PermissionManagementModule","NgModule","declarations","imports","CoreModule","ThemeSharedModule","NgxsModule","forFeature","PerfectScrollbarModule","exports","Response","Group","MinimumPermission","Permission","GrantedProvider","UpdateRequest"],"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","import { PermissionManagement } from '../models/permission-management';\n\nexport class GetPermissions {\n static readonly type = '[PermissionManagement] Get Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider) {}\n}\n\nexport class UpdatePermissions {\n static readonly type = '[PermissionManagement] Update Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest) {}\n}\n","import { Injectable } from '@angular/core';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { Observable } from 'rxjs';\nimport { PermissionManagement } from '../models/permission-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionManagementService {\n constructor(private rest: RestService) {}\n\n getPermissions(params: PermissionManagement.GrantedProvider): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/permissions',\n params,\n };\n\n return this.rest.request(request);\n }\n\n updatePermissions({\n permissions,\n providerKey,\n providerName,\n }: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/abp/permissions',\n body: { permissions },\n params: { providerKey, providerName },\n };\n\n return this.rest.request(request);\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementService } from '../services/permission-management.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'PermissionManagementState',\n defaults: { permissionRes: {} } as PermissionManagement.State,\n})\nexport class PermissionManagementState {\n @Selector()\n static getPermissionGroups({ permissionRes }: PermissionManagement.State) {\n return permissionRes.groups || [];\n }\n\n @Selector()\n static getEntitiyDisplayName({ permissionRes }: PermissionManagement.State): string {\n return permissionRes.entityDisplayName;\n }\n\n constructor(private permissionManagementService: PermissionManagementService) {}\n\n @Action(GetPermissions)\n permissionManagementGet({ patchState }: StateContext, { payload }: GetPermissions) {\n return this.permissionManagementService.getPermissions(payload).pipe(\n tap(permissionResponse =>\n patchState({\n permissionRes: permissionResponse,\n }),\n ),\n );\n }\n\n @Action(UpdatePermissions)\n permissionManagementUpdate(_, { payload }: UpdatePermissions) {\n return this.permissionManagementService.updatePermissions(payload);\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n Renderer2,\n SimpleChanges,\n TrackByFunction,\n} from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { from, Observable } from 'rxjs';\nimport { map, pluck, take } from 'rxjs/operators';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementState } from '../states/permission-management.state';\n\ntype PermissionWithMargin = PermissionManagement.Permission & { margin: number };\n\n@Component({\n selector: 'abp-permission-management',\n templateUrl: './permission-management.component.html',\n})\nexport class PermissionManagementComponent implements OnInit, OnChanges {\n @Input()\n providerName: string;\n\n @Input()\n providerKey: string;\n\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n if (!this.selectedGroup) return;\n\n this._visible = value;\n this.visibleChange.emit(value);\n\n if (!value) {\n this.selectedGroup = null;\n }\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(PermissionManagementState.getPermissionGroups)\n groups$: Observable;\n\n @Select(PermissionManagementState.getEntitiyDisplayName)\n entityName$: Observable;\n\n selectedGroup: PermissionManagement.Group;\n\n permissions: PermissionManagement.Permission[] = [];\n\n selectThisTab: boolean = false;\n\n selectAllTab: boolean = false;\n\n modalBusy: boolean = false;\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n get selectedGroupPermissions$(): Observable {\n return this.groups$.pipe(\n map(groups =>\n this.selectedGroup ? groups.find(group => group.name === this.selectedGroup.name).permissions : [],\n ),\n map(permissions =>\n permissions.map(\n permission =>\n (({\n ...permission,\n margin: findMargin(permissions, permission),\n isGranted: this.permissions.find(per => per.name === permission.name).isGranted,\n } as any) as PermissionWithMargin),\n ),\n ),\n );\n }\n\n constructor(private store: Store, private renderer: Renderer2) {}\n\n ngOnInit(): void {}\n\n getChecked(name: string) {\n return (this.permissions.find(per => per.name === name) || { isGranted: false }).isGranted;\n }\n\n isGrantedByRole(grantedProviders: PermissionManagement.GrantedProvider[]): boolean {\n if (grantedProviders.length) {\n return grantedProviders.findIndex(p => p.providerName === 'Role') > -1;\n }\n return false;\n }\n\n onClickCheckbox(clickedPermission: PermissionManagement.Permission, value) {\n if (clickedPermission.isGranted && this.isGrantedByRole(clickedPermission.grantedProviders)) return;\n\n setTimeout(() => {\n this.permissions = this.permissions.map(per => {\n if (clickedPermission.name === per.name) {\n return { ...per, isGranted: !per.isGranted };\n } else if (clickedPermission.name === per.parentName && clickedPermission.isGranted) {\n return { ...per, isGranted: false };\n } else if (clickedPermission.parentName === per.name && !clickedPermission.isGranted) {\n return { ...per, isGranted: true };\n }\n\n return per;\n });\n\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }, 0);\n }\n\n setTabCheckboxState() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n const selectedPermissions = permissions.filter(per => per.isGranted);\n const element = document.querySelector('#select-all-in-this-tabs') as any;\n\n if (selectedPermissions.length === permissions.length) {\n element.indeterminate = false;\n this.selectThisTab = true;\n } else if (selectedPermissions.length === 0) {\n element.indeterminate = false;\n this.selectThisTab = false;\n } else {\n element.indeterminate = true;\n }\n });\n }\n\n setGrantCheckboxState() {\n const selectedAllPermissions = this.permissions.filter(per => per.isGranted);\n const checkboxElement = document.querySelector('#select-all-in-all-tabs') as any;\n\n if (selectedAllPermissions.length === this.permissions.length) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = true;\n } else if (selectedAllPermissions.length === 0) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = false;\n } else {\n checkboxElement.indeterminate = true;\n }\n }\n\n onClickSelectThisTab() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n permissions.forEach(permission => {\n if (permission.isGranted && this.isGrantedByRole(permission.grantedProviders)) return;\n\n const index = this.permissions.findIndex(per => per.name === permission.name);\n\n this.permissions = [\n ...this.permissions.slice(0, index),\n { ...this.permissions[index], isGranted: !this.selectThisTab },\n ...this.permissions.slice(index + 1),\n ];\n });\n });\n\n this.setGrantCheckboxState();\n }\n\n onClickSelectAll() {\n this.permissions = this.permissions.map(permission => ({ ...permission, isGranted: !this.selectAllTab }));\n\n this.selectThisTab = !this.selectAllTab;\n }\n\n onChangeGroup(group: PermissionManagement.Group) {\n this.selectedGroup = group;\n this.setTabCheckboxState();\n }\n\n onSubmit() {\n this.modalBusy = true;\n const unchangedPermissions = getPermissions(\n this.store.selectSnapshot(PermissionManagementState.getPermissionGroups),\n );\n\n const changedPermissions: PermissionManagement.MinimumPermission[] = this.permissions\n .filter(per =>\n unchangedPermissions.find(unchanged => unchanged.name === per.name).isGranted === per.isGranted ? false : true,\n )\n .map(({ name, isGranted }) => ({ name, isGranted }));\n\n if (changedPermissions.length) {\n this.store\n .dispatch(\n new UpdatePermissions({\n providerKey: this.providerKey,\n providerName: this.providerName,\n permissions: changedPermissions,\n }),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.visible = false;\n });\n } else {\n this.modalBusy = false;\n this.visible = false;\n }\n }\n\n openModal() {\n if (!this.providerKey || !this.providerName) {\n throw new Error('Provider Key and Provider Name are required.');\n }\n\n this.store\n .dispatch(new GetPermissions({ providerKey: this.providerKey, providerName: this.providerName }))\n .pipe(pluck('PermissionManagementState', 'permissionRes'))\n .subscribe((permissionRes: PermissionManagement.Response) => {\n this.selectedGroup = permissionRes.groups[0];\n this.permissions = getPermissions(permissionRes.groups);\n\n this.visible = true;\n });\n }\n\n initModal() {\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n\nfunction findMargin(permissions: PermissionManagement.Permission[], permission: PermissionManagement.Permission) {\n const parentPermission = permissions.find(per => per.name === permission.parentName);\n\n if (parentPermission && parentPermission.parentName) {\n let margin = 20;\n return (margin += findMargin(permissions, parentPermission));\n }\n\n return parentPermission ? 20 : 0;\n}\n\nfunction getPermissions(groups: PermissionManagement.Group[]): PermissionManagement.Permission[] {\n return groups.reduce((acc, val) => [...acc, ...val.permissions], []);\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { PermissionManagementComponent } from './components/permission-management.component';\nimport { PermissionManagementState } from './states/permission-management.state';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [PermissionManagementComponent],\n imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([PermissionManagementState]), PerfectScrollbarModule],\n exports: [PermissionManagementComponent],\n})\nexport class PermissionManagementModule {}\n","export namespace PermissionManagement {\n export interface State {\n permissionRes: Response;\n }\n\n export interface Response {\n entityDisplayName: string;\n groups: Group[];\n }\n\n export interface Group {\n name: string;\n displayName: string;\n permissions: Permission[];\n }\n\n export interface MinimumPermission {\n name: string;\n isGranted: boolean;\n }\n\n export interface Permission extends MinimumPermission {\n displayName: string;\n parentName: string;\n allowedProviders: string[];\n grantedProviders: GrantedProvider[];\n }\n\n export interface GrantedProvider {\n providerName: string;\n providerKey: string;\n }\n\n export interface UpdateRequest {\n permissions: MinimumPermission[];\n }\n}\n"]} \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/esm2015/lib/components/permission-management.component.js b/npm/ng-packs/dist/permission-management/esm2015/lib/components/permission-management.component.js index bcd6432581..0497446467 100644 --- a/npm/ng-packs/dist/permission-management/esm2015/lib/components/permission-management.component.js +++ b/npm/ng-packs/dist/permission-management/esm2015/lib/components/permission-management.component.js @@ -21,6 +21,7 @@ export class PermissionManagementComponent { this.permissions = []; this.selectThisTab = false; this.selectAllTab = false; + this.modalBusy = false; this.trackByFn = (/** * @param {?} _ * @param {?} item @@ -88,13 +89,27 @@ export class PermissionManagementComponent { */ per => per.name === name)) || { isGranted: false }).isGranted; } + /** + * @param {?} grantedProviders + * @return {?} + */ + isGrantedByRole(grantedProviders) { + if (grantedProviders.length) { + return grantedProviders.findIndex((/** + * @param {?} p + * @return {?} + */ + p => p.providerName === 'Role')) > -1; + } + return false; + } /** * @param {?} clickedPermission * @param {?} value * @return {?} */ onClickCheckbox(clickedPermission, value) { - if (clickedPermission.isGranted && clickedPermission.grantedProviders.length > 0) + if (clickedPermission.isGranted && this.isGrantedByRole(clickedPermission.grantedProviders)) return; setTimeout((/** * @return {?} @@ -188,7 +203,7 @@ export class PermissionManagementComponent { * @return {?} */ permission => { - if (permission.isGranted && permission.grantedProviders.length > 0) + if (permission.isGranted && this.isGrantedByRole(permission.grantedProviders)) return; /** @type {?} */ const index = this.permissions.findIndex((/** @@ -228,6 +243,7 @@ export class PermissionManagementComponent { * @return {?} */ onSubmit() { + this.modalBusy = true; /** @type {?} */ const unchangedPermissions = getPermissions(this.store.selectSnapshot(PermissionManagementState.getPermissionGroups)); /** @type {?} */ @@ -257,10 +273,12 @@ export class PermissionManagementComponent { * @return {?} */ () => { + this.modalBusy = false; this.visible = false; })); } else { + this.modalBusy = false; this.visible = false; } } @@ -309,7 +327,7 @@ export class PermissionManagementComponent { PermissionManagementComponent.decorators = [ { type: Component, args: [{ selector: 'abp-permission-management', - template: "\n \n \n

{{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

\n
\n \n
\n \n \n
\n\n
\n
\n
\n
    \n \n
  • \n {{ group?.displayName }}\n
  • \n
    \n
\n
\n
\n

{{ selectedGroup.displayName }}

\n
\n
\n
\n \n \n
\n
\n \n \n 0\"\n />\n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
\n \n
\n
\n \n
\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
\n
\n" + template: "\n \n \n

{{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

\n
\n \n
\n \n \n
\n\n
\n
\n
\n
    \n \n
  • \n {{ group?.displayName }}\n
  • \n
    \n
\n
\n
\n

{{ selectedGroup.displayName }}

\n
\n
\n
\n \n \n
\n
\n \n \n \n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
\n \n
\n
\n \n
\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
\n
\n" }] } ]; /** @nocollapse */ @@ -356,6 +374,8 @@ if (false) { /** @type {?} */ PermissionManagementComponent.prototype.selectAllTab; /** @type {?} */ + PermissionManagementComponent.prototype.modalBusy; + /** @type {?} */ PermissionManagementComponent.prototype.trackByFn; /** * @type {?} @@ -399,4 +419,4 @@ function getPermissions(groups) { */ (acc, val) => [...acc, ...val.permissions]), []); } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcucGVybWlzc2lvbi1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxHQUdWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBUSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRTdGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBUWxGLE1BQU0sT0FBTyw2QkFBNkI7Ozs7O0lBOER4QyxZQUFvQixLQUFZLEVBQVUsUUFBbUI7UUFBekMsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUFwQzdELGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQVU1QyxnQkFBVyxHQUFzQyxFQUFFLENBQUM7UUFFcEQsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFFL0IsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFFOUIsY0FBUzs7Ozs7UUFBZ0QsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFDO0lBb0JoQixDQUFDOzs7O0lBckRqRSxJQUNJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQzs7Ozs7SUFFRCxJQUFJLE9BQU8sQ0FBQyxLQUFjO1FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYTtZQUFFLE9BQU87UUFFaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFL0IsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1NBQzNCO0lBQ0gsQ0FBQzs7OztJQXFCRCxJQUFJLHlCQUF5QjtRQUMzQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUN0QixHQUFHOzs7O1FBQUMsTUFBTSxDQUFDLEVBQUUsQ0FDWCxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSTs7OztRQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUNuRyxFQUNELEdBQUc7Ozs7UUFBNEQsV0FBVyxDQUFDLEVBQUUsQ0FDM0UsV0FBVyxDQUFDLEdBQUc7Ozs7UUFDYixVQUFVLENBQUMsRUFBRSxDQUNYLENBQUMsbUJBQUEsQ0FBQyxxQ0FDRyxVQUFVLElBQ2IsTUFBTSxFQUFFLFVBQVUsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLEVBQzNDLFNBQVMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUk7Ozs7WUFBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLElBQUksRUFBQyxDQUFDLFNBQVMsS0FDekUsQ0FBQyxFQUF3QixDQUFDLEVBQ3JDLEVBQ0YsQ0FDRixDQUFDO0lBQ0osQ0FBQzs7OztJQUlELFFBQVEsS0FBVSxDQUFDOzs7OztJQUVuQixVQUFVLENBQUMsSUFBWTtRQUNyQixPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJOzs7O1FBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxLQUFLLElBQUksRUFBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzdGLENBQUM7Ozs7OztJQUVELGVBQWUsQ0FBQyxpQkFBa0QsRUFBRSxLQUFLO1FBQ3ZFLElBQUksaUJBQWlCLENBQUMsU0FBUyxJQUFJLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxDQUFDO1lBQUUsT0FBTztRQUV6RixVQUFVOzs7UUFBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRzs7OztZQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUM1QyxJQUFJLGlCQUFpQixDQUFDLElBQUksS0FBSyxHQUFHLENBQUMsSUFBSSxFQUFFO29CQUN2Qyx5QkFBWSxHQUFHLElBQUUsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLFNBQVMsSUFBRztpQkFDOUM7cUJBQU0sSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLFVBQVUsSUFBSSxpQkFBaUIsQ0FBQyxTQUFTLEVBQUU7b0JBQ25GLHlCQUFZLEdBQUcsSUFBRSxTQUFTLEVBQUUsS0FBSyxJQUFHO2lCQUNyQztxQkFBTSxJQUFJLGlCQUFpQixDQUFDLFVBQVUsS0FBSyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxFQUFFO29CQUNwRix5QkFBWSxHQUFHLElBQUUsU0FBUyxFQUFFLElBQUksSUFBRztpQkFDcEM7Z0JBRUQsT0FBTyxHQUFHLENBQUM7WUFDYixDQUFDLEVBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQy9CLENBQUMsR0FBRSxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7Ozs7SUFFRCxtQkFBbUI7UUFDakIsSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTOzs7O1FBQUMsV0FBVyxDQUFDLEVBQUU7O2tCQUM3RCxtQkFBbUIsR0FBRyxXQUFXLENBQUMsTUFBTTs7OztZQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBQzs7a0JBQzlELE9BQU8sR0FBRyxtQkFBQSxRQUFRLENBQUMsYUFBYSxDQUFDLDBCQUEwQixDQUFDLEVBQU87WUFFekUsSUFBSSxtQkFBbUIsQ0FBQyxNQUFNLEtBQUssV0FBVyxDQUFDLE1BQU0sRUFBRTtnQkFDckQsT0FBTyxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO2FBQzNCO2lCQUFNLElBQUksbUJBQW1CLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDM0MsT0FBTyxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO2FBQzVCO2lCQUFNO2dCQUNMLE9BQU8sQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO2FBQzlCO1FBQ0gsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7O0lBRUQscUJBQXFCOztjQUNiLHNCQUFzQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTTs7OztRQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBQzs7Y0FDdEUsZUFBZSxHQUFHLG1CQUFBLFFBQVEsQ0FBQyxhQUFhLENBQUMseUJBQXlCLENBQUMsRUFBTztRQUVoRixJQUFJLHNCQUFzQixDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRTtZQUM3RCxlQUFlLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztZQUN0QyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztTQUMxQjthQUFNLElBQUksc0JBQXNCLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUM5QyxlQUFlLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztZQUN0QyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztTQUMzQjthQUFNO1lBQ0wsZUFBZSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7U0FDdEM7SUFDSCxDQUFDOzs7O0lBRUQsb0JBQW9CO1FBQ2xCLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUzs7OztRQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ25FLFdBQVcsQ0FBQyxPQUFPOzs7O1lBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQy9CLElBQUksVUFBVSxDQUFDLFNBQVMsSUFBSSxVQUFVLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUM7b0JBQUUsT0FBTzs7c0JBRXJFLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVM7Ozs7Z0JBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQyxJQUFJLEVBQUM7Z0JBRTdFLElBQUksQ0FBQyxXQUFXLEdBQUc7b0JBQ2pCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQztzQ0FDOUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBRSxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYTtvQkFDNUQsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO2lCQUNyQyxDQUFDO1lBQ0osQ0FBQyxFQUFDLENBQUM7UUFDTCxDQUFDLEVBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7Ozs7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRzs7OztRQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsbUJBQU0sVUFBVSxJQUFFLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUcsRUFBQyxDQUFDO1FBRTFHLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzFDLENBQUM7Ozs7O0lBRUQsYUFBYSxDQUFDLEtBQWlDO1FBQzdDLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBQzNCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7Ozs7SUFFRCxRQUFROztjQUNBLG9CQUFvQixHQUFHLGNBQWMsQ0FDekMsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMseUJBQXlCLENBQUMsbUJBQW1CLENBQUMsQ0FDekU7O2NBRUssa0JBQWtCLEdBQTZDLElBQUksQ0FBQyxXQUFXO2FBQ2xGLE1BQU07Ozs7UUFBQyxHQUFHLENBQUMsRUFBRSxDQUNaLG9CQUFvQixDQUFDLElBQUk7Ozs7UUFBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLElBQUksRUFBQyxDQUFDLFNBQVMsS0FBSyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksRUFDL0c7YUFDQSxHQUFHOzs7O1FBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFDO1FBRXRELElBQUksa0JBQWtCLENBQUMsTUFBTSxFQUFFO1lBQzdCLElBQUksQ0FBQyxLQUFLO2lCQUNQLFFBQVEsQ0FDUCxJQUFJLGlCQUFpQixDQUFDO2dCQUNwQixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7Z0JBQzdCLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtnQkFDL0IsV0FBVyxFQUFFLGtCQUFrQjthQUNoQyxDQUFDLENBQ0g7aUJBQ0EsU0FBUzs7O1lBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLENBQUMsRUFBQyxDQUFDO1NBQ047YUFBTTtZQUNMLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQzs7OztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDM0MsTUFBTSxJQUFJLEtBQUssQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDO1NBQ2pFO1FBRUQsSUFBSSxDQUFDLEtBQUs7YUFDUCxRQUFRLENBQUMsSUFBSSxjQUFjLENBQUMsRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7YUFDaEcsSUFBSSxDQUFDLEtBQUssQ0FBQywyQkFBMkIsRUFBRSxlQUFlLENBQUMsQ0FBQzthQUN6RCxTQUFTOzs7O1FBQUMsQ0FBQyxhQUE0QyxFQUFFLEVBQUU7WUFDMUQsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzdDLElBQUksQ0FBQyxXQUFXLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUV4RCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUN0QixDQUFDLEVBQUMsQ0FBQztJQUNQLENBQUM7Ozs7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDL0IsQ0FBQzs7Ozs7SUFFRCxXQUFXLENBQUMsRUFBRSxPQUFPLEVBQWlCO1FBQ3BDLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUVyQixJQUFJLE9BQU8sQ0FBQyxZQUFZLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ2xCO2FBQU0sSUFBSSxPQUFPLENBQUMsWUFBWSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3pELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQzs7O1lBck5GLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsMkJBQTJCO2dCQUNyQywrbUlBQXFEO2FBQ3REOzs7O1lBWmdCLEtBQUs7WUFKcEIsU0FBUzs7OzJCQWtCUixLQUFLOzBCQUdMLEtBQUs7c0JBS0wsS0FBSzs0QkFnQkwsTUFBTTs7QUFJUDtJQURDLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxtQkFBbUIsQ0FBQztzQ0FDN0MsVUFBVTs4REFBK0I7QUFHbEQ7SUFEQyxNQUFNLENBQUMseUJBQXlCLENBQUMscUJBQXFCLENBQUM7c0NBQzNDLFVBQVU7a0VBQVM7OztJQS9CaEMscURBQ3FCOztJQUVyQixvREFDb0I7Ozs7O0lBRXBCLGlEQUFtQjs7SUFrQm5CLHNEQUM0Qzs7SUFFNUMsZ0RBQ2tEOztJQUVsRCxvREFDZ0M7O0lBRWhDLHNEQUEwQzs7SUFFMUMsb0RBQW9EOztJQUVwRCxzREFBK0I7O0lBRS9CLHFEQUE4Qjs7SUFFOUIsa0RBQWdGOzs7OztJQW9CcEUsOENBQW9COzs7OztJQUFFLGlEQUEyQjs7Ozs7OztBQXNKL0QsU0FBUyxVQUFVLENBQUMsV0FBOEMsRUFBRSxVQUEyQzs7VUFDdkcsZ0JBQWdCLEdBQUcsV0FBVyxDQUFDLElBQUk7Ozs7SUFBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLFVBQVUsRUFBQztJQUVwRixJQUFJLGdCQUFnQixJQUFJLGdCQUFnQixDQUFDLFVBQVUsRUFBRTs7WUFDL0MsTUFBTSxHQUFHLEVBQUU7UUFDZixPQUFPLENBQUMsTUFBTSxJQUFJLFVBQVUsQ0FBQyxXQUFXLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0tBQzlEO0lBRUQsT0FBTyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkMsQ0FBQzs7Ozs7QUFFRCxTQUFTLGNBQWMsQ0FBQyxNQUFvQztJQUMxRCxPQUFPLE1BQU0sQ0FBQyxNQUFNOzs7OztJQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsR0FBRSxFQUFFLENBQUMsQ0FBQztBQUN2RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRyYWNrQnlGdW5jdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBwbHVjaywgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEdldFBlcm1pc3Npb25zLCBVcGRhdGVQZXJtaXNzaW9ucyB9IGZyb20gJy4uL2FjdGlvbnMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmFjdGlvbnMnO1xuaW1wb3J0IHsgUGVybWlzc2lvbk1hbmFnZW1lbnQgfSBmcm9tICcuLi9tb2RlbHMvcGVybWlzc2lvbi1tYW5hZ2VtZW50JztcbmltcG9ydCB7IFBlcm1pc3Npb25NYW5hZ2VtZW50U3RhdGUgfSBmcm9tICcuLi9zdGF0ZXMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LnN0YXRlJztcblxudHlwZSBQZXJtaXNzaW9uV2l0aE1hcmdpbiA9IFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb24gJiB7IG1hcmdpbjogbnVtYmVyIH07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1wZXJtaXNzaW9uLW1hbmFnZW1lbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbk1hbmFnZW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpXG4gIHByb3ZpZGVyTmFtZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHByb3ZpZGVyS2V5OiBzdHJpbmc7XG5cbiAgcHJvdGVjdGVkIF92aXNpYmxlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xuICB9XG5cbiAgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWRHcm91cCkgcmV0dXJuO1xuXG4gICAgdGhpcy5fdmlzaWJsZSA9IHZhbHVlO1xuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHZhbHVlKTtcblxuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRHcm91cCA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgQE91dHB1dCgpXG4gIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQFNlbGVjdChQZXJtaXNzaW9uTWFuYWdlbWVudFN0YXRlLmdldFBlcm1pc3Npb25Hcm91cHMpXG4gIGdyb3VwcyQ6IE9ic2VydmFibGU8UGVybWlzc2lvbk1hbmFnZW1lbnQuR3JvdXBbXT47XG5cbiAgQFNlbGVjdChQZXJtaXNzaW9uTWFuYWdlbWVudFN0YXRlLmdldEVudGl0aXlEaXNwbGF5TmFtZSlcbiAgZW50aXR5TmFtZSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICBzZWxlY3RlZEdyb3VwOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5Hcm91cDtcblxuICBwZXJtaXNzaW9uczogUGVybWlzc2lvbk1hbmFnZW1lbnQuUGVybWlzc2lvbltdID0gW107XG5cbiAgc2VsZWN0VGhpc1RhYjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHNlbGVjdEFsbFRhYjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHRyYWNrQnlGbjogVHJhY2tCeUZ1bmN0aW9uPFBlcm1pc3Npb25NYW5hZ2VtZW50Lkdyb3VwPiA9IChfLCBpdGVtKSA9PiBpdGVtLm5hbWU7XG5cbiAgZ2V0IHNlbGVjdGVkR3JvdXBQZXJtaXNzaW9ucyQoKTogT2JzZXJ2YWJsZTxQZXJtaXNzaW9uV2l0aE1hcmdpbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuZ3JvdXBzJC5waXBlKFxuICAgICAgbWFwKGdyb3VwcyA9PlxuICAgICAgICB0aGlzLnNlbGVjdGVkR3JvdXAgPyBncm91cHMuZmluZChncm91cCA9PiBncm91cC5uYW1lID09PSB0aGlzLnNlbGVjdGVkR3JvdXAubmFtZSkucGVybWlzc2lvbnMgOiBbXSxcbiAgICAgICksXG4gICAgICBtYXA8UGVybWlzc2lvbk1hbmFnZW1lbnQuUGVybWlzc2lvbltdLCBQZXJtaXNzaW9uV2l0aE1hcmdpbltdPihwZXJtaXNzaW9ucyA9PlxuICAgICAgICBwZXJtaXNzaW9ucy5tYXAoXG4gICAgICAgICAgcGVybWlzc2lvbiA9PlxuICAgICAgICAgICAgKCh7XG4gICAgICAgICAgICAgIC4uLnBlcm1pc3Npb24sXG4gICAgICAgICAgICAgIG1hcmdpbjogZmluZE1hcmdpbihwZXJtaXNzaW9ucywgcGVybWlzc2lvbiksXG4gICAgICAgICAgICAgIGlzR3JhbnRlZDogdGhpcy5wZXJtaXNzaW9ucy5maW5kKHBlciA9PiBwZXIubmFtZSA9PT0gcGVybWlzc2lvbi5uYW1lKS5pc0dyYW50ZWQsXG4gICAgICAgICAgICB9IGFzIGFueSkgYXMgUGVybWlzc2lvbldpdGhNYXJnaW4pLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmUsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgZ2V0Q2hlY2tlZChuYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gKHRoaXMucGVybWlzc2lvbnMuZmluZChwZXIgPT4gcGVyLm5hbWUgPT09IG5hbWUpIHx8IHsgaXNHcmFudGVkOiBmYWxzZSB9KS5pc0dyYW50ZWQ7XG4gIH1cblxuICBvbkNsaWNrQ2hlY2tib3goY2xpY2tlZFBlcm1pc3Npb246IFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb24sIHZhbHVlKSB7XG4gICAgaWYgKGNsaWNrZWRQZXJtaXNzaW9uLmlzR3JhbnRlZCAmJiBjbGlja2VkUGVybWlzc2lvbi5ncmFudGVkUHJvdmlkZXJzLmxlbmd0aCA+IDApIHJldHVybjtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5wZXJtaXNzaW9ucyA9IHRoaXMucGVybWlzc2lvbnMubWFwKHBlciA9PiB7XG4gICAgICAgIGlmIChjbGlja2VkUGVybWlzc2lvbi5uYW1lID09PSBwZXIubmFtZSkge1xuICAgICAgICAgIHJldHVybiB7IC4uLnBlciwgaXNHcmFudGVkOiAhcGVyLmlzR3JhbnRlZCB9O1xuICAgICAgICB9IGVsc2UgaWYgKGNsaWNrZWRQZXJtaXNzaW9uLm5hbWUgPT09IHBlci5wYXJlbnROYW1lICYmIGNsaWNrZWRQZXJtaXNzaW9uLmlzR3JhbnRlZCkge1xuICAgICAgICAgIHJldHVybiB7IC4uLnBlciwgaXNHcmFudGVkOiBmYWxzZSB9O1xuICAgICAgICB9IGVsc2UgaWYgKGNsaWNrZWRQZXJtaXNzaW9uLnBhcmVudE5hbWUgPT09IHBlci5uYW1lICYmICFjbGlja2VkUGVybWlzc2lvbi5pc0dyYW50ZWQpIHtcbiAgICAgICAgICByZXR1cm4geyAuLi5wZXIsIGlzR3JhbnRlZDogdHJ1ZSB9O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHBlcjtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnNldFRhYkNoZWNrYm94U3RhdGUoKTtcbiAgICAgIHRoaXMuc2V0R3JhbnRDaGVja2JveFN0YXRlKCk7XG4gICAgfSwgMCk7XG4gIH1cblxuICBzZXRUYWJDaGVja2JveFN0YXRlKCkge1xuICAgIHRoaXMuc2VsZWN0ZWRHcm91cFBlcm1pc3Npb25zJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShwZXJtaXNzaW9ucyA9PiB7XG4gICAgICBjb25zdCBzZWxlY3RlZFBlcm1pc3Npb25zID0gcGVybWlzc2lvbnMuZmlsdGVyKHBlciA9PiBwZXIuaXNHcmFudGVkKTtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjc2VsZWN0LWFsbC1pbi10aGlzLXRhYnMnKSBhcyBhbnk7XG5cbiAgICAgIGlmIChzZWxlY3RlZFBlcm1pc3Npb25zLmxlbmd0aCA9PT0gcGVybWlzc2lvbnMubGVuZ3RoKSB7XG4gICAgICAgIGVsZW1lbnQuaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNlbGVjdFRoaXNUYWIgPSB0cnVlO1xuICAgICAgfSBlbHNlIGlmIChzZWxlY3RlZFBlcm1pc3Npb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBlbGVtZW50LmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zZWxlY3RUaGlzVGFiID0gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlbGVtZW50LmluZGV0ZXJtaW5hdGUgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgc2V0R3JhbnRDaGVja2JveFN0YXRlKCkge1xuICAgIGNvbnN0IHNlbGVjdGVkQWxsUGVybWlzc2lvbnMgPSB0aGlzLnBlcm1pc3Npb25zLmZpbHRlcihwZXIgPT4gcGVyLmlzR3JhbnRlZCk7XG4gICAgY29uc3QgY2hlY2tib3hFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3NlbGVjdC1hbGwtaW4tYWxsLXRhYnMnKSBhcyBhbnk7XG5cbiAgICBpZiAoc2VsZWN0ZWRBbGxQZXJtaXNzaW9ucy5sZW5ndGggPT09IHRoaXMucGVybWlzc2lvbnMubGVuZ3RoKSB7XG4gICAgICBjaGVja2JveEVsZW1lbnQuaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICAgICAgdGhpcy5zZWxlY3RBbGxUYWIgPSB0cnVlO1xuICAgIH0gZWxzZSBpZiAoc2VsZWN0ZWRBbGxQZXJtaXNzaW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgIGNoZWNrYm94RWxlbWVudC5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgICB0aGlzLnNlbGVjdEFsbFRhYiA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICBjaGVja2JveEVsZW1lbnQuaW5kZXRlcm1pbmF0ZSA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgb25DbGlja1NlbGVjdFRoaXNUYWIoKSB7XG4gICAgdGhpcy5zZWxlY3RlZEdyb3VwUGVybWlzc2lvbnMkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHBlcm1pc3Npb25zID0+IHtcbiAgICAgIHBlcm1pc3Npb25zLmZvckVhY2gocGVybWlzc2lvbiA9PiB7XG4gICAgICAgIGlmIChwZXJtaXNzaW9uLmlzR3JhbnRlZCAmJiBwZXJtaXNzaW9uLmdyYW50ZWRQcm92aWRlcnMubGVuZ3RoID4gMCkgcmV0dXJuO1xuXG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5wZXJtaXNzaW9ucy5maW5kSW5kZXgocGVyID0+IHBlci5uYW1lID09PSBwZXJtaXNzaW9uLm5hbWUpO1xuXG4gICAgICAgIHRoaXMucGVybWlzc2lvbnMgPSBbXG4gICAgICAgICAgLi4udGhpcy5wZXJtaXNzaW9ucy5zbGljZSgwLCBpbmRleCksXG4gICAgICAgICAgeyAuLi50aGlzLnBlcm1pc3Npb25zW2luZGV4XSwgaXNHcmFudGVkOiAhdGhpcy5zZWxlY3RUaGlzVGFiIH0sXG4gICAgICAgICAgLi4udGhpcy5wZXJtaXNzaW9ucy5zbGljZShpbmRleCArIDEpLFxuICAgICAgICBdO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnNldEdyYW50Q2hlY2tib3hTdGF0ZSgpO1xuICB9XG5cbiAgb25DbGlja1NlbGVjdEFsbCgpIHtcbiAgICB0aGlzLnBlcm1pc3Npb25zID0gdGhpcy5wZXJtaXNzaW9ucy5tYXAocGVybWlzc2lvbiA9PiAoeyAuLi5wZXJtaXNzaW9uLCBpc0dyYW50ZWQ6ICF0aGlzLnNlbGVjdEFsbFRhYiB9KSk7XG5cbiAgICB0aGlzLnNlbGVjdFRoaXNUYWIgPSAhdGhpcy5zZWxlY3RBbGxUYWI7XG4gIH1cblxuICBvbkNoYW5nZUdyb3VwKGdyb3VwOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5Hcm91cCkge1xuICAgIHRoaXMuc2VsZWN0ZWRHcm91cCA9IGdyb3VwO1xuICAgIHRoaXMuc2V0VGFiQ2hlY2tib3hTdGF0ZSgpO1xuICB9XG5cbiAgb25TdWJtaXQoKSB7XG4gICAgY29uc3QgdW5jaGFuZ2VkUGVybWlzc2lvbnMgPSBnZXRQZXJtaXNzaW9ucyhcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoUGVybWlzc2lvbk1hbmFnZW1lbnRTdGF0ZS5nZXRQZXJtaXNzaW9uR3JvdXBzKSxcbiAgICApO1xuXG4gICAgY29uc3QgY2hhbmdlZFBlcm1pc3Npb25zOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5NaW5pbXVtUGVybWlzc2lvbltdID0gdGhpcy5wZXJtaXNzaW9uc1xuICAgICAgLmZpbHRlcihwZXIgPT5cbiAgICAgICAgdW5jaGFuZ2VkUGVybWlzc2lvbnMuZmluZCh1bmNoYW5nZWQgPT4gdW5jaGFuZ2VkLm5hbWUgPT09IHBlci5uYW1lKS5pc0dyYW50ZWQgPT09IHBlci5pc0dyYW50ZWQgPyBmYWxzZSA6IHRydWUsXG4gICAgICApXG4gICAgICAubWFwKCh7IG5hbWUsIGlzR3JhbnRlZCB9KSA9PiAoeyBuYW1lLCBpc0dyYW50ZWQgfSkpO1xuXG4gICAgaWYgKGNoYW5nZWRQZXJtaXNzaW9ucy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc3RvcmVcbiAgICAgICAgLmRpc3BhdGNoKFxuICAgICAgICAgIG5ldyBVcGRhdGVQZXJtaXNzaW9ucyh7XG4gICAgICAgICAgICBwcm92aWRlcktleTogdGhpcy5wcm92aWRlcktleSxcbiAgICAgICAgICAgIHByb3ZpZGVyTmFtZTogdGhpcy5wcm92aWRlck5hbWUsXG4gICAgICAgICAgICBwZXJtaXNzaW9uczogY2hhbmdlZFBlcm1pc3Npb25zLFxuICAgICAgICAgIH0pLFxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgb3Blbk1vZGFsKCkge1xuICAgIGlmICghdGhpcy5wcm92aWRlcktleSB8fCAhdGhpcy5wcm92aWRlck5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUHJvdmlkZXIgS2V5IGFuZCBQcm92aWRlciBOYW1lIGFyZSByZXF1aXJlZC4nKTtcbiAgICB9XG5cbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFBlcm1pc3Npb25zKHsgcHJvdmlkZXJLZXk6IHRoaXMucHJvdmlkZXJLZXksIHByb3ZpZGVyTmFtZTogdGhpcy5wcm92aWRlck5hbWUgfSkpXG4gICAgICAucGlwZShwbHVjaygnUGVybWlzc2lvbk1hbmFnZW1lbnRTdGF0ZScsICdwZXJtaXNzaW9uUmVzJykpXG4gICAgICAuc3Vic2NyaWJlKChwZXJtaXNzaW9uUmVzOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5SZXNwb25zZSkgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdGVkR3JvdXAgPSBwZXJtaXNzaW9uUmVzLmdyb3Vwc1swXTtcbiAgICAgICAgdGhpcy5wZXJtaXNzaW9ucyA9IGdldFBlcm1pc3Npb25zKHBlcm1pc3Npb25SZXMuZ3JvdXBzKTtcblxuICAgICAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICAgICAgfSk7XG4gIH1cblxuICBpbml0TW9kYWwoKSB7XG4gICAgdGhpcy5zZXRUYWJDaGVja2JveFN0YXRlKCk7XG4gICAgdGhpcy5zZXRHcmFudENoZWNrYm94U3RhdGUoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKHsgdmlzaWJsZSB9OiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKCF2aXNpYmxlKSByZXR1cm47XG5cbiAgICBpZiAodmlzaWJsZS5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMub3Blbk1vZGFsKCk7XG4gICAgfSBlbHNlIGlmICh2aXNpYmxlLmN1cnJlbnRWYWx1ZSA9PT0gZmFsc2UgJiYgdGhpcy52aXNpYmxlKSB7XG4gICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluZE1hcmdpbihwZXJtaXNzaW9uczogUGVybWlzc2lvbk1hbmFnZW1lbnQuUGVybWlzc2lvbltdLCBwZXJtaXNzaW9uOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5QZXJtaXNzaW9uKSB7XG4gIGNvbnN0IHBhcmVudFBlcm1pc3Npb24gPSBwZXJtaXNzaW9ucy5maW5kKHBlciA9PiBwZXIubmFtZSA9PT0gcGVybWlzc2lvbi5wYXJlbnROYW1lKTtcblxuICBpZiAocGFyZW50UGVybWlzc2lvbiAmJiBwYXJlbnRQZXJtaXNzaW9uLnBhcmVudE5hbWUpIHtcbiAgICBsZXQgbWFyZ2luID0gMjA7XG4gICAgcmV0dXJuIChtYXJnaW4gKz0gZmluZE1hcmdpbihwZXJtaXNzaW9ucywgcGFyZW50UGVybWlzc2lvbikpO1xuICB9XG5cbiAgcmV0dXJuIHBhcmVudFBlcm1pc3Npb24gPyAyMCA6IDA7XG59XG5cbmZ1bmN0aW9uIGdldFBlcm1pc3Npb25zKGdyb3VwczogUGVybWlzc2lvbk1hbmFnZW1lbnQuR3JvdXBbXSk6IFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb25bXSB7XG4gIHJldHVybiBncm91cHMucmVkdWNlKChhY2MsIHZhbCkgPT4gWy4uLmFjYywgLi4udmFsLnBlcm1pc3Npb25zXSwgW10pO1xufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcucGVybWlzc2lvbi1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxHQUdWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBUSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRTdGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBUWxGLE1BQU0sT0FBTyw2QkFBNkI7Ozs7O0lBZ0V4QyxZQUFvQixLQUFZLEVBQVUsUUFBbUI7UUFBekMsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUF0QzdELGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQVU1QyxnQkFBVyxHQUFzQyxFQUFFLENBQUM7UUFFcEQsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFFL0IsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFFOUIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUUzQixjQUFTOzs7OztRQUFnRCxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUM7SUFvQmhCLENBQUM7Ozs7SUF2RGpFLElBQ0ksT0FBTztRQUNU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L0QsU0FBUyxVQUFVLENBQUMsV0FBOEMsRUFBRSxVQUEyQzs7VUFDdkcsZ0JBQWdCLEdBQUcsV0FBVyxDQUFDLElBQUk7Ozs7SUFBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLFVBQVUsRUFBQztJQUVwRixJQUFJLGdCQUFnQixJQUFJLGdCQUFnQixDQUFDLFVBQVUsRUFBRTs7WUFDL0MsTUFBTSxHQUFHLEVBQUU7UUFDZixPQUFPLENBQUMsTUFBTSxJQUFJLFVBQVUsQ0FBQyxXQUFXLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0tBQzlEO0lBRUQsT0FBTyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkMsQ0FBQzs7Ozs7QUFFRCxTQUFTLGNBQWMsQ0FBQyxNQUFvQztJQUMxRCxPQUFPLE1BQU0sQ0FBQyxNQUFNOzs7OztJQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsR0FBRSxFQUFFLENBQUMsQ0FBQztBQUN2RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRyYWNrQnlGdW5jdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBwbHVjaywgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEdldFBlcm1pc3Npb25zLCBVcGRhdGVQZXJtaXNzaW9ucyB9IGZyb20gJy4uL2FjdGlvbnMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmFjdGlvbnMnO1xuaW1wb3J0IHsgUGVybWlzc2lvbk1hbmFnZW1lbnQgfSBmcm9tICcuLi9tb2RlbHMvcGVybWlzc2lvbi1tYW5hZ2VtZW50JztcbmltcG9ydCB7IFBlcm1pc3Npb25NYW5hZ2VtZW50U3RhdGUgfSBmcm9tICcuLi9zdGF0ZXMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LnN0YXRlJztcblxudHlwZSBQZXJtaXNzaW9uV2l0aE1hcmdpbiA9IFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb24gJiB7IG1hcmdpbjogbnVtYmVyIH07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1wZXJtaXNzaW9uLW1hbmFnZW1lbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbk1hbmFnZW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpXG4gIHByb3ZpZGVyTmFtZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHByb3ZpZGVyS2V5OiBzdHJpbmc7XG5cbiAgcHJvdGVjdGVkIF92aXNpYmxlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xuICB9XG5cbiAgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWRHcm91cCkgcmV0dXJuO1xuXG4gICAgdGhpcy5fdmlzaWJsZSA9IHZhbHVlO1xuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHZhbHVlKTtcblxuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRHcm91cCA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgQE91dHB1dCgpXG4gIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQFNlbGVjdChQZXJtaXNzaW9uTWFuYWdlbWVudFN0YXRlLmdldFBlcm1pc3Npb25Hcm91cHMpXG4gIGdyb3VwcyQ6IE9ic2VydmFibGU8UGVybWlzc2lvbk1hbmFnZW1lbnQuR3JvdXBbXT47XG5cbiAgQFNlbGVjdChQZXJtaXNzaW9uTWFuYWdlbWVudFN0YXRlLmdldEVudGl0aXlEaXNwbGF5TmFtZSlcbiAgZW50aXR5TmFtZSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICBzZWxlY3RlZEdyb3VwOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5Hcm91cDtcblxuICBwZXJtaXNzaW9uczogUGVybWlzc2lvbk1hbmFnZW1lbnQuUGVybWlzc2lvbltdID0gW107XG5cbiAgc2VsZWN0VGhpc1RhYjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHNlbGVjdEFsbFRhYjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIG1vZGFsQnVzeTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHRyYWNrQnlGbjogVHJhY2tCeUZ1bmN0aW9uPFBlcm1pc3Npb25NYW5hZ2VtZW50Lkdyb3VwPiA9IChfLCBpdGVtKSA9PiBpdGVtLm5hbWU7XG5cbiAgZ2V0IHNlbGVjdGVkR3JvdXBQZXJtaXNzaW9ucyQoKTogT2JzZXJ2YWJsZTxQZXJtaXNzaW9uV2l0aE1hcmdpbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuZ3JvdXBzJC5waXBlKFxuICAgICAgbWFwKGdyb3VwcyA9PlxuICAgICAgICB0aGlzLnNlbGVjdGVkR3JvdXAgPyBncm91cHMuZmluZChncm91cCA9PiBncm91cC5uYW1lID09PSB0aGlzLnNlbGVjdGVkR3JvdXAubmFtZSkucGVybWlzc2lvbnMgOiBbXSxcbiAgICAgICksXG4gICAgICBtYXA8UGVybWlzc2lvbk1hbmFnZW1lbnQuUGVybWlzc2lvbltdLCBQZXJtaXNzaW9uV2l0aE1hcmdpbltdPihwZXJtaXNzaW9ucyA9PlxuICAgICAgICBwZXJtaXNzaW9ucy5tYXAoXG4gICAgICAgICAgcGVybWlzc2lvbiA9PlxuICAgICAgICAgICAgKCh7XG4gICAgICAgICAgICAgIC4uLnBlcm1pc3Npb24sXG4gICAgICAgICAgICAgIG1hcmdpbjogZmluZE1hcmdpbihwZXJtaXNzaW9ucywgcGVybWlzc2lvbiksXG4gICAgICAgICAgICAgIGlzR3JhbnRlZDogdGhpcy5wZXJtaXNzaW9ucy5maW5kKHBlciA9PiBwZXIubmFtZSA9PT0gcGVybWlzc2lvbi5uYW1lKS5pc0dyYW50ZWQsXG4gICAgICAgICAgICB9IGFzIGFueSkgYXMgUGVybWlzc2lvbldpdGhNYXJnaW4pLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmUsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgZ2V0Q2hlY2tlZChuYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gKHRoaXMucGVybWlzc2lvbnMuZmluZChwZXIgPT4gcGVyLm5hbWUgPT09IG5hbWUpIHx8IHsgaXNHcmFudGVkOiBmYWxzZSB9KS5pc0dyYW50ZWQ7XG4gIH1cblxuICBpc0dyYW50ZWRCeVJvbGUoZ3JhbnRlZFByb3ZpZGVyczogUGVybWlzc2lvbk1hbmFnZW1lbnQuR3JhbnRlZFByb3ZpZGVyW10pOiBib29sZWFuIHtcbiAgICBpZiAoZ3JhbnRlZFByb3ZpZGVycy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBncmFudGVkUHJvdmlkZXJzLmZpbmRJbmRleChwID0+IHAucHJvdmlkZXJOYW1lID09PSAnUm9sZScpID4gLTE7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIG9uQ2xpY2tDaGVja2JveChjbGlja2VkUGVybWlzc2lvbjogUGVybWlzc2lvbk1hbmFnZW1lbnQuUGVybWlzc2lvbiwgdmFsdWUpIHtcbiAgICBpZiAoY2xpY2tlZFBlcm1pc3Npb24uaXNHcmFudGVkICYmIHRoaXMuaXNHcmFudGVkQnlSb2xlKGNsaWNrZWRQZXJtaXNzaW9uLmdyYW50ZWRQcm92aWRlcnMpKSByZXR1cm47XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMucGVybWlzc2lvbnMgPSB0aGlzLnBlcm1pc3Npb25zLm1hcChwZXIgPT4ge1xuICAgICAgICBpZiAoY2xpY2tlZFBlcm1pc3Npb24ubmFtZSA9PT0gcGVyLm5hbWUpIHtcbiAgICAgICAgICByZXR1cm4geyAuLi5wZXIsIGlzR3JhbnRlZDogIXBlci5pc0dyYW50ZWQgfTtcbiAgICAgICAgfSBlbHNlIGlmIChjbGlja2VkUGVybWlzc2lvbi5uYW1lID09PSBwZXIucGFyZW50TmFtZSAmJiBjbGlja2VkUGVybWlzc2lvbi5pc0dyYW50ZWQpIHtcbiAgICAgICAgICByZXR1cm4geyAuLi5wZXIsIGlzR3JhbnRlZDogZmFsc2UgfTtcbiAgICAgICAgfSBlbHNlIGlmIChjbGlja2VkUGVybWlzc2lvbi5wYXJlbnROYW1lID09PSBwZXIubmFtZSAmJiAhY2xpY2tlZFBlcm1pc3Npb24uaXNHcmFudGVkKSB7XG4gICAgICAgICAgcmV0dXJuIHsgLi4ucGVyLCBpc0dyYW50ZWQ6IHRydWUgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBwZXI7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5zZXRUYWJDaGVja2JveFN0YXRlKCk7XG4gICAgICB0aGlzLnNldEdyYW50Q2hlY2tib3hTdGF0ZSgpO1xuICAgIH0sIDApO1xuICB9XG5cbiAgc2V0VGFiQ2hlY2tib3hTdGF0ZSgpIHtcbiAgICB0aGlzLnNlbGVjdGVkR3JvdXBQZXJtaXNzaW9ucyQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUocGVybWlzc2lvbnMgPT4ge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRQZXJtaXNzaW9ucyA9IHBlcm1pc3Npb25zLmZpbHRlcihwZXIgPT4gcGVyLmlzR3JhbnRlZCk7XG4gICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3NlbGVjdC1hbGwtaW4tdGhpcy10YWJzJykgYXMgYW55O1xuXG4gICAgICBpZiAoc2VsZWN0ZWRQZXJtaXNzaW9ucy5sZW5ndGggPT09IHBlcm1pc3Npb25zLmxlbmd0aCkge1xuICAgICAgICBlbGVtZW50LmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zZWxlY3RUaGlzVGFiID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSBpZiAoc2VsZWN0ZWRQZXJtaXNzaW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgZWxlbWVudC5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2VsZWN0VGhpc1RhYiA9IGZhbHNlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZWxlbWVudC5pbmRldGVybWluYXRlID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHNldEdyYW50Q2hlY2tib3hTdGF0ZSgpIHtcbiAgICBjb25zdCBzZWxlY3RlZEFsbFBlcm1pc3Npb25zID0gdGhpcy5wZXJtaXNzaW9ucy5maWx0ZXIocGVyID0+IHBlci5pc0dyYW50ZWQpO1xuICAgIGNvbnN0IGNoZWNrYm94RWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNzZWxlY3QtYWxsLWluLWFsbC10YWJzJykgYXMgYW55O1xuXG4gICAgaWYgKHNlbGVjdGVkQWxsUGVybWlzc2lvbnMubGVuZ3RoID09PSB0aGlzLnBlcm1pc3Npb25zLmxlbmd0aCkge1xuICAgICAgY2hlY2tib3hFbGVtZW50LmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgICAgIHRoaXMuc2VsZWN0QWxsVGFiID0gdHJ1ZTtcbiAgICB9IGVsc2UgaWYgKHNlbGVjdGVkQWxsUGVybWlzc2lvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICBjaGVja2JveEVsZW1lbnQuaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICAgICAgdGhpcy5zZWxlY3RBbGxUYWIgPSBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgY2hlY2tib3hFbGVtZW50LmluZGV0ZXJtaW5hdGUgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIG9uQ2xpY2tTZWxlY3RUaGlzVGFiKCkge1xuICAgIHRoaXMuc2VsZWN0ZWRHcm91cFBlcm1pc3Npb25zJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShwZXJtaXNzaW9ucyA9PiB7XG4gICAgICBwZXJtaXNzaW9ucy5mb3JFYWNoKHBlcm1pc3Npb24gPT4ge1xuICAgICAgICBpZiAocGVybWlzc2lvbi5pc0dyYW50ZWQgJiYgdGhpcy5pc0dyYW50ZWRCeVJvbGUocGVybWlzc2lvbi5ncmFudGVkUHJvdmlkZXJzKSkgcmV0dXJuO1xuXG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5wZXJtaXNzaW9ucy5maW5kSW5kZXgocGVyID0+IHBlci5uYW1lID09PSBwZXJtaXNzaW9uLm5hbWUpO1xuXG4gICAgICAgIHRoaXMucGVybWlzc2lvbnMgPSBbXG4gICAgICAgICAgLi4udGhpcy5wZXJtaXNzaW9ucy5zbGljZSgwLCBpbmRleCksXG4gICAgICAgICAgeyAuLi50aGlzLnBlcm1pc3Npb25zW2luZGV4XSwgaXNHcmFudGVkOiAhdGhpcy5zZWxlY3RUaGlzVGFiIH0sXG4gICAgICAgICAgLi4udGhpcy5wZXJtaXNzaW9ucy5zbGljZShpbmRleCArIDEpLFxuICAgICAgICBdO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnNldEdyYW50Q2hlY2tib3hTdGF0ZSgpO1xuICB9XG5cbiAgb25DbGlja1NlbGVjdEFsbCgpIHtcbiAgICB0aGlzLnBlcm1pc3Npb25zID0gdGhpcy5wZXJtaXNzaW9ucy5tYXAocGVybWlzc2lvbiA9PiAoeyAuLi5wZXJtaXNzaW9uLCBpc0dyYW50ZWQ6ICF0aGlzLnNlbGVjdEFsbFRhYiB9KSk7XG5cbiAgICB0aGlzLnNlbGVjdFRoaXNUYWIgPSAhdGhpcy5zZWxlY3RBbGxUYWI7XG4gIH1cblxuICBvbkNoYW5nZUdyb3VwKGdyb3VwOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5Hcm91cCkge1xuICAgIHRoaXMuc2VsZWN0ZWRHcm91cCA9IGdyb3VwO1xuICAgIHRoaXMuc2V0VGFiQ2hlY2tib3hTdGF0ZSgpO1xuICB9XG5cbiAgb25TdWJtaXQoKSB7XG4gICAgdGhpcy5tb2RhbEJ1c3kgPSB0cnVlO1xuICAgIGNvbnN0IHVuY2hhbmdlZFBlcm1pc3Npb25zID0gZ2V0UGVybWlzc2lvbnMoXG4gICAgICB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KFBlcm1pc3Npb25NYW5hZ2VtZW50U3RhdGUuZ2V0UGVybWlzc2lvbkdyb3VwcyksXG4gICAgKTtcblxuICAgIGNvbnN0IGNoYW5nZWRQZXJtaXNzaW9uczogUGVybWlzc2lvbk1hbmFnZW1lbnQuTWluaW11bVBlcm1pc3Npb25bXSA9IHRoaXMucGVybWlzc2lvbnNcbiAgICAgIC5maWx0ZXIocGVyID0+XG4gICAgICAgIHVuY2hhbmdlZFBlcm1pc3Npb25zLmZpbmQodW5jaGFuZ2VkID0+IHVuY2hhbmdlZC5uYW1lID09PSBwZXIubmFtZSkuaXNHcmFudGVkID09PSBwZXIuaXNHcmFudGVkID8gZmFsc2UgOiB0cnVlLFxuICAgICAgKVxuICAgICAgLm1hcCgoeyBuYW1lLCBpc0dyYW50ZWQgfSkgPT4gKHsgbmFtZSwgaXNHcmFudGVkIH0pKTtcblxuICAgIGlmIChjaGFuZ2VkUGVybWlzc2lvbnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnN0b3JlXG4gICAgICAgIC5kaXNwYXRjaChcbiAgICAgICAgICBuZXcgVXBkYXRlUGVybWlzc2lvbnMoe1xuICAgICAgICAgICAgcHJvdmlkZXJLZXk6IHRoaXMucHJvdmlkZXJLZXksXG4gICAgICAgICAgICBwcm92aWRlck5hbWU6IHRoaXMucHJvdmlkZXJOYW1lLFxuICAgICAgICAgICAgcGVybWlzc2lvbnM6IGNoYW5nZWRQZXJtaXNzaW9ucyxcbiAgICAgICAgICB9KSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLm1vZGFsQnVzeSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tb2RhbEJ1c3kgPSBmYWxzZTtcbiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIG9wZW5Nb2RhbCgpIHtcbiAgICBpZiAoIXRoaXMucHJvdmlkZXJLZXkgfHwgIXRoaXMucHJvdmlkZXJOYW1lKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Byb3ZpZGVyIEtleSBhbmQgUHJvdmlkZXIgTmFtZSBhcmUgcmVxdWlyZWQuJyk7XG4gICAgfVxuXG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKG5ldyBHZXRQZXJtaXNzaW9ucyh7IHByb3ZpZGVyS2V5OiB0aGlzLnByb3ZpZGVyS2V5LCBwcm92aWRlck5hbWU6IHRoaXMucHJvdmlkZXJOYW1lIH0pKVxuICAgICAgLnBpcGUocGx1Y2soJ1Blcm1pc3Npb25NYW5hZ2VtZW50U3RhdGUnLCAncGVybWlzc2lvblJlcycpKVxuICAgICAgLnN1YnNjcmliZSgocGVybWlzc2lvblJlczogUGVybWlzc2lvbk1hbmFnZW1lbnQuUmVzcG9uc2UpID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEdyb3VwID0gcGVybWlzc2lvblJlcy5ncm91cHNbMF07XG4gICAgICAgIHRoaXMucGVybWlzc2lvbnMgPSBnZXRQZXJtaXNzaW9ucyhwZXJtaXNzaW9uUmVzLmdyb3Vwcyk7XG5cbiAgICAgICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcbiAgICAgIH0pO1xuICB9XG5cbiAgaW5pdE1vZGFsKCkge1xuICAgIHRoaXMuc2V0VGFiQ2hlY2tib3hTdGF0ZSgpO1xuICAgIHRoaXMuc2V0R3JhbnRDaGVja2JveFN0YXRlKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyh7IHZpc2libGUgfTogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICghdmlzaWJsZSkgcmV0dXJuO1xuXG4gICAgaWYgKHZpc2libGUuY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLm9wZW5Nb2RhbCgpO1xuICAgIH0gZWxzZSBpZiAodmlzaWJsZS5jdXJyZW50VmFsdWUgPT09IGZhbHNlICYmIHRoaXMudmlzaWJsZSkge1xuICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGZpbmRNYXJnaW4ocGVybWlzc2lvbnM6IFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb25bXSwgcGVybWlzc2lvbjogUGVybWlzc2lvbk1hbmFnZW1lbnQuUGVybWlzc2lvbikge1xuICBjb25zdCBwYXJlbnRQZXJtaXNzaW9uID0gcGVybWlzc2lvbnMuZmluZChwZXIgPT4gcGVyLm5hbWUgPT09IHBlcm1pc3Npb24ucGFyZW50TmFtZSk7XG5cbiAgaWYgKHBhcmVudFBlcm1pc3Npb24gJiYgcGFyZW50UGVybWlzc2lvbi5wYXJlbnROYW1lKSB7XG4gICAgbGV0IG1hcmdpbiA9IDIwO1xuICAgIHJldHVybiAobWFyZ2luICs9IGZpbmRNYXJnaW4ocGVybWlzc2lvbnMsIHBhcmVudFBlcm1pc3Npb24pKTtcbiAgfVxuXG4gIHJldHVybiBwYXJlbnRQZXJtaXNzaW9uID8gMjAgOiAwO1xufVxuXG5mdW5jdGlvbiBnZXRQZXJtaXNzaW9ucyhncm91cHM6IFBlcm1pc3Npb25NYW5hZ2VtZW50Lkdyb3VwW10pOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5QZXJtaXNzaW9uW10ge1xuICByZXR1cm4gZ3JvdXBzLnJlZHVjZSgoYWNjLCB2YWwpID0+IFsuLi5hY2MsIC4uLnZhbC5wZXJtaXNzaW9uc10sIFtdKTtcbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/esm5/lib/components/permission-management.component.js b/npm/ng-packs/dist/permission-management/esm5/lib/components/permission-management.component.js index 0bf0bb7d41..d56f9a35e5 100644 --- a/npm/ng-packs/dist/permission-management/esm5/lib/components/permission-management.component.js +++ b/npm/ng-packs/dist/permission-management/esm5/lib/components/permission-management.component.js @@ -17,6 +17,7 @@ var PermissionManagementComponent = /** @class */ (function () { this.permissions = []; this.selectThisTab = false; this.selectAllTab = false; + this.modalBusy = false; this.trackByFn = (/** * @param {?} _ * @param {?} item @@ -106,6 +107,24 @@ var PermissionManagementComponent = /** @class */ (function () { */ function (per) { return per.name === name; })) || { isGranted: false }).isGranted; }; + /** + * @param {?} grantedProviders + * @return {?} + */ + PermissionManagementComponent.prototype.isGrantedByRole = /** + * @param {?} grantedProviders + * @return {?} + */ + function (grantedProviders) { + if (grantedProviders.length) { + return grantedProviders.findIndex((/** + * @param {?} p + * @return {?} + */ + function (p) { return p.providerName === 'Role'; })) > -1; + } + return false; + }; /** * @param {?} clickedPermission * @param {?} value @@ -118,7 +137,7 @@ var PermissionManagementComponent = /** @class */ (function () { */ function (clickedPermission, value) { var _this = this; - if (clickedPermission.isGranted && clickedPermission.grantedProviders.length > 0) + if (clickedPermission.isGranted && this.isGrantedByRole(clickedPermission.grantedProviders)) return; setTimeout((/** * @return {?} @@ -223,7 +242,7 @@ var PermissionManagementComponent = /** @class */ (function () { * @return {?} */ function (permission) { - if (permission.isGranted && permission.grantedProviders.length > 0) + if (permission.isGranted && _this.isGrantedByRole(permission.grantedProviders)) return; /** @type {?} */ var index = _this.permissions.findIndex((/** @@ -273,6 +292,7 @@ var PermissionManagementComponent = /** @class */ (function () { */ function () { var _this = this; + this.modalBusy = true; /** @type {?} */ var unchangedPermissions = getPermissions(this.store.selectSnapshot(PermissionManagementState.getPermissionGroups)); /** @type {?} */ @@ -307,10 +327,12 @@ var PermissionManagementComponent = /** @class */ (function () { * @return {?} */ function () { + _this.modalBusy = false; _this.visible = false; })); } else { + this.modalBusy = false; this.visible = false; } }; @@ -370,7 +392,7 @@ var PermissionManagementComponent = /** @class */ (function () { PermissionManagementComponent.decorators = [ { type: Component, args: [{ selector: 'abp-permission-management', - template: "\n \n \n

{{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

\n
\n \n
\n \n \n
\n\n
\n
\n
\n
    \n \n
  • \n {{ group?.displayName }}\n
  • \n
    \n
\n
\n
\n

{{ selectedGroup.displayName }}

\n
\n
\n
\n \n \n
\n
\n \n \n 0\"\n />\n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
\n \n
\n
\n \n
\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
\n
\n" + template: "\n \n \n

{{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

\n
\n \n
\n \n \n
\n\n
\n
\n
\n
    \n \n
  • \n {{ group?.displayName }}\n
  • \n
    \n
\n
\n
\n

{{ selectedGroup.displayName }}

\n
\n
\n
\n \n \n
\n
\n \n \n \n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
\n \n
\n
\n \n
\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
\n
\n" }] } ]; /** @nocollapse */ @@ -420,6 +442,8 @@ if (false) { /** @type {?} */ PermissionManagementComponent.prototype.selectAllTab; /** @type {?} */ + PermissionManagementComponent.prototype.modalBusy; + /** @type {?} */ PermissionManagementComponent.prototype.trackByFn; /** * @type {?} @@ -463,4 +487,4 @@ function getPermissions(groups) { */ function (acc, val) { return tslib_1.__spread(acc, val.permissions); }), []); } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcucGVybWlzc2lvbi1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxHQUdWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBUSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRTdGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBSWxGO0lBa0VFLHVDQUFvQixLQUFZLEVBQVUsUUFBbUI7UUFBekMsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUFwQzdELGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQVU1QyxnQkFBVyxHQUFzQyxFQUFFLENBQUM7UUFFcEQsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFFL0IsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFFOUIsY0FBUzs7Ozs7UUFBZ0QsVUFBQyxDQUFDLEVBQUUsSUFBSSxJQUFLLE9BQUEsSUFBSSxDQUFDLElBQUksRUFBVCxDQUFTLEVBQUM7SUFvQmhCLENBQUM7SUFyRGpFLHNCQUNJLGtEQUFPOzs7O1FBRFg7WUFFRSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDdkIsQ0FB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RSxVQUEyQzs7UUFDdkcsZ0JBQWdCLEdBQUcsV0FBVyxDQUFDLElBQUk7Ozs7SUFBQyxVQUFBLEdBQUcsSUFBSSxPQUFBLEdBQUcsQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLFVBQVUsRUFBbEMsQ0FBa0MsRUFBQztJQUVwRixJQUFJLGdCQUFnQixJQUFJLGdCQUFnQixDQUFDLFVBQVUsRUFBRTs7WUFDL0MsTUFBTSxHQUFHLEVBQUU7UUFDZixPQUFPLENBQUMsTUFBTSxJQUFJLFVBQVUsQ0FBQyxXQUFXLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0tBQzlEO0lBRUQsT0FBTyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkMsQ0FBQzs7Ozs7QUFFRCxTQUFTLGNBQWMsQ0FBQyxNQUFvQztJQUMxRCxPQUFPLE1BQU0sQ0FBQyxNQUFNOzs7OztJQUFDLFVBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSyx3QkFBSSxHQUFHLEVBQUssR0FBRyxDQUFDLFdBQVcsR0FBM0IsQ0FBNEIsR0FBRSxFQUFFLENBQUMsQ0FBQztBQUN2RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRyYWNrQnlGdW5jdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBwbHVjaywgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEdldFBlcm1pc3Npb25zLCBVcGRhdGVQZXJtaXNzaW9ucyB9IGZyb20gJy4uL2FjdGlvbnMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmFjdGlvbnMnO1xuaW1wb3J0IHsgUGVybWlzc2lvbk1hbmFnZW1lbnQgfSBmcm9tICcuLi9tb2RlbHMvcGVybWlzc2lvbi1tYW5hZ2VtZW50JztcbmltcG9ydCB7IFBlcm1pc3Npb25NYW5hZ2VtZW50U3RhdGUgfSBmcm9tICcuLi9zdGF0ZXMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LnN0YXRlJztcblxudHlwZSBQZXJtaXNzaW9uV2l0aE1hcmdpbiA9IFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb24gJiB7IG1hcmdpbjogbnVtYmVyIH07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1wZXJtaXNzaW9uLW1hbmFnZW1lbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbk1hbmFnZW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpXG4gIHByb3ZpZGVyTmFtZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHByb3ZpZGVyS2V5OiBzdHJpbmc7XG5cbiAgcHJvdGVjdGVkIF92aXNpYmxlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xuICB9XG5cbiAgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWRHcm91cCkgcmV0dXJuO1xuXG4gICAgdGhpcy5fdmlzaWJsZSA9IHZhbHVlO1xuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHZhbHVlKTtcblxuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRHcm91cCA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgQE91dHB1dCgpXG4gIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQFNlbGVjdChQZXJtaXNzaW9uTWFuYWdlbWVudFN0YXRlLmdldFBlcm1pc3Npb25Hcm91cHMpXG4gIGdyb3VwcyQ6IE9ic2VydmFibGU8UGVybWlzc2lvbk1hbmFnZW1lbnQuR3JvdXBbXT47XG5cbiAgQFNlbGVjdChQZXJtaXNzaW9uTWFuYWdlbWVudFN0YXRlLmdldEVudGl0aXlEaXNwbGF5TmFtZSlcbiAgZW50aXR5TmFtZSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICBzZWxlY3RlZEdyb3VwOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5Hcm91cDtcblxuICBwZXJtaXNzaW9uczogUGVybWlzc2lvbk1hbmFnZW1lbnQuUGVybWlzc2lvbltdID0gW107XG5cbiAgc2VsZWN0VGhpc1RhYjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHNlbGVjdEFsbFRhYjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHRyYWNrQnlGbjogVHJhY2tCeUZ1bmN0aW9uPFBlcm1pc3Npb25NYW5hZ2VtZW50Lkdyb3VwPiA9IChfLCBpdGVtKSA9PiBpdGVtLm5hbWU7XG5cbiAgZ2V0IHNlbGVjdGVkR3JvdXBQZXJtaXNzaW9ucyQoKTogT2JzZXJ2YWJsZTxQZXJtaXNzaW9uV2l0aE1hcmdpbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuZ3JvdXBzJC5waXBlKFxuICAgICAgbWFwKGdyb3VwcyA9PlxuICAgICAgICB0aGlzLnNlbGVjdGVkR3JvdXAgPyBncm91cHMuZmluZChncm91cCA9PiBncm91cC5uYW1lID09PSB0aGlzLnNlbGVjdGVkR3JvdXAubmFtZSkucGVybWlzc2lvbnMgOiBbXSxcbiAgICAgICksXG4gICAgICBtYXA8UGVybWlzc2lvbk1hbmFnZW1lbnQuUGVybWlzc2lvbltdLCBQZXJtaXNzaW9uV2l0aE1hcmdpbltdPihwZXJtaXNzaW9ucyA9PlxuICAgICAgICBwZXJtaXNzaW9ucy5tYXAoXG4gICAgICAgICAgcGVybWlzc2lvbiA9PlxuICAgICAgICAgICAgKCh7XG4gICAgICAgICAgICAgIC4uLnBlcm1pc3Npb24sXG4gICAgICAgICAgICAgIG1hcmdpbjogZmluZE1hcmdpbihwZXJtaXNzaW9ucywgcGVybWlzc2lvbiksXG4gICAgICAgICAgICAgIGlzR3JhbnRlZDogdGhpcy5wZXJtaXNzaW9ucy5maW5kKHBlciA9PiBwZXIubmFtZSA9PT0gcGVybWlzc2lvbi5uYW1lKS5pc0dyYW50ZWQsXG4gICAgICAgICAgICB9IGFzIGFueSkgYXMgUGVybWlzc2lvbldpdGhNYXJnaW4pLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmUsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgZ2V0Q2hlY2tlZChuYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gKHRoaXMucGVybWlzc2lvbnMuZmluZChwZXIgPT4gcGVyLm5hbWUgPT09IG5hbWUpIHx8IHsgaXNHcmFudGVkOiBmYWxzZSB9KS5pc0dyYW50ZWQ7XG4gIH1cblxuICBvbkNsaWNrQ2hlY2tib3goY2xpY2tlZFBlcm1pc3Npb246IFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb24sIHZhbHVlKSB7XG4gICAgaWYgKGNsaWNrZWRQZXJtaXNzaW9uLmlzR3JhbnRlZCAmJiBjbGlja2VkUGVybWlzc2lvbi5ncmFudGVkUHJvdmlkZXJzLmxlbmd0aCA+IDApIHJldHVybjtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5wZXJtaXNzaW9ucyA9IHRoaXMucGVybWlzc2lvbnMubWFwKHBlciA9PiB7XG4gICAgICAgIGlmIChjbGlja2VkUGVybWlzc2lvbi5uYW1lID09PSBwZXIubmFtZSkge1xuICAgICAgICAgIHJldHVybiB7IC4uLnBlciwgaXNHcmFudGVkOiAhcGVyLmlzR3JhbnRlZCB9O1xuICAgICAgICB9IGVsc2UgaWYgKGNsaWNrZWRQZXJtaXNzaW9uLm5hbWUgPT09IHBlci5wYXJlbnROYW1lICYmIGNsaWNrZWRQZXJtaXNzaW9uLmlzR3JhbnRlZCkge1xuICAgICAgICAgIHJldHVybiB7IC4uLnBlciwgaXNHcmFudGVkOiBmYWxzZSB9O1xuICAgICAgICB9IGVsc2UgaWYgKGNsaWNrZWRQZXJtaXNzaW9uLnBhcmVudE5hbWUgPT09IHBlci5uYW1lICYmICFjbGlja2VkUGVybWlzc2lvbi5pc0dyYW50ZWQpIHtcbiAgICAgICAgICByZXR1cm4geyAuLi5wZXIsIGlzR3JhbnRlZDogdHJ1ZSB9O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHBlcjtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnNldFRhYkNoZWNrYm94U3RhdGUoKTtcbiAgICAgIHRoaXMuc2V0R3JhbnRDaGVja2JveFN0YXRlKCk7XG4gICAgfSwgMCk7XG4gIH1cblxuICBzZXRUYWJDaGVja2JveFN0YXRlKCkge1xuICAgIHRoaXMuc2VsZWN0ZWRHcm91cFBlcm1pc3Npb25zJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShwZXJtaXNzaW9ucyA9PiB7XG4gICAgICBjb25zdCBzZWxlY3RlZFBlcm1pc3Npb25zID0gcGVybWlzc2lvbnMuZmlsdGVyKHBlciA9PiBwZXIuaXNHcmFudGVkKTtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjc2VsZWN0LWFsbC1pbi10aGlzLXRhYnMnKSBhcyBhbnk7XG5cbiAgICAgIGlmIChzZWxlY3RlZFBlcm1pc3Npb25zLmxlbmd0aCA9PT0gcGVybWlzc2lvbnMubGVuZ3RoKSB7XG4gICAgICAgIGVsZW1lbnQuaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNlbGVjdFRoaXNUYWIgPSB0cnVlO1xuICAgICAgfSBlbHNlIGlmIChzZWxlY3RlZFBlcm1pc3Npb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBlbGVtZW50LmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zZWxlY3RUaGlzVGFiID0gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlbGVtZW50LmluZGV0ZXJtaW5hdGUgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgc2V0R3JhbnRDaGVja2JveFN0YXRlKCkge1xuICAgIGNvbnN0IHNlbGVjdGVkQWxsUGVybWlzc2lvbnMgPSB0aGlzLnBlcm1pc3Npb25zLmZpbHRlcihwZXIgPT4gcGVyLmlzR3JhbnRlZCk7XG4gICAgY29uc3QgY2hlY2tib3hFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3NlbGVjdC1hbGwtaW4tYWxsLXRhYnMnKSBhcyBhbnk7XG5cbiAgICBpZiAoc2VsZWN0ZWRBbGxQZXJtaXNzaW9ucy5sZW5ndGggPT09IHRoaXMucGVybWlzc2lvbnMubGVuZ3RoKSB7XG4gICAgICBjaGVja2JveEVsZW1lbnQuaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICAgICAgdGhpcy5zZWxlY3RBbGxUYWIgPSB0cnVlO1xuICAgIH0gZWxzZSBpZiAoc2VsZWN0ZWRBbGxQZXJtaXNzaW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgIGNoZWNrYm94RWxlbWVudC5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgICB0aGlzLnNlbGVjdEFsbFRhYiA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICBjaGVja2JveEVsZW1lbnQuaW5kZXRlcm1pbmF0ZSA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgb25DbGlja1NlbGVjdFRoaXNUYWIoKSB7XG4gICAgdGhpcy5zZWxlY3RlZEdyb3VwUGVybWlzc2lvbnMkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHBlcm1pc3Npb25zID0+IHtcbiAgICAgIHBlcm1pc3Npb25zLmZvckVhY2gocGVybWlzc2lvbiA9PiB7XG4gICAgICAgIGlmIChwZXJtaXNzaW9uLmlzR3JhbnRlZCAmJiBwZXJtaXNzaW9uLmdyYW50ZWRQcm92aWRlcnMubGVuZ3RoID4gMCkgcmV0dXJuO1xuXG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5wZXJtaXNzaW9ucy5maW5kSW5kZXgocGVyID0+IHBlci5uYW1lID09PSBwZXJtaXNzaW9uLm5hbWUpO1xuXG4gICAgICAgIHRoaXMucGVybWlzc2lvbnMgPSBbXG4gICAgICAgICAgLi4udGhpcy5wZXJtaXNzaW9ucy5zbGljZSgwLCBpbmRleCksXG4gICAgICAgICAgeyAuLi50aGlzLnBlcm1pc3Npb25zW2luZGV4XSwgaXNHcmFudGVkOiAhdGhpcy5zZWxlY3RUaGlzVGFiIH0sXG4gICAgICAgICAgLi4udGhpcy5wZXJtaXNzaW9ucy5zbGljZShpbmRleCArIDEpLFxuICAgICAgICBdO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnNldEdyYW50Q2hlY2tib3hTdGF0ZSgpO1xuICB9XG5cbiAgb25DbGlja1NlbGVjdEFsbCgpIHtcbiAgICB0aGlzLnBlcm1pc3Npb25zID0gdGhpcy5wZXJtaXNzaW9ucy5tYXAocGVybWlzc2lvbiA9PiAoeyAuLi5wZXJtaXNzaW9uLCBpc0dyYW50ZWQ6ICF0aGlzLnNlbGVjdEFsbFRhYiB9KSk7XG5cbiAgICB0aGlzLnNlbGVjdFRoaXNUYWIgPSAhdGhpcy5zZWxlY3RBbGxUYWI7XG4gIH1cblxuICBvbkNoYW5nZUdyb3VwKGdyb3VwOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5Hcm91cCkge1xuICAgIHRoaXMuc2VsZWN0ZWRHcm91cCA9IGdyb3VwO1xuICAgIHRoaXMuc2V0VGFiQ2hlY2tib3hTdGF0ZSgpO1xuICB9XG5cbiAgb25TdWJtaXQoKSB7XG4gICAgY29uc3QgdW5jaGFuZ2VkUGVybWlzc2lvbnMgPSBnZXRQZXJtaXNzaW9ucyhcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoUGVybWlzc2lvbk1hbmFnZW1lbnRTdGF0ZS5nZXRQZXJtaXNzaW9uR3JvdXBzKSxcbiAgICApO1xuXG4gICAgY29uc3QgY2hhbmdlZFBlcm1pc3Npb25zOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5NaW5pbXVtUGVybWlzc2lvbltdID0gdGhpcy5wZXJtaXNzaW9uc1xuICAgICAgLmZpbHRlcihwZXIgPT5cbiAgICAgICAgdW5jaGFuZ2VkUGVybWlzc2lvbnMuZmluZCh1bmNoYW5nZWQgPT4gdW5jaGFuZ2VkLm5hbWUgPT09IHBlci5uYW1lKS5pc0dyYW50ZWQgPT09IHBlci5pc0dyYW50ZWQgPyBmYWxzZSA6IHRydWUsXG4gICAgICApXG4gICAgICAubWFwKCh7IG5hbWUsIGlzR3JhbnRlZCB9KSA9PiAoeyBuYW1lLCBpc0dyYW50ZWQgfSkpO1xuXG4gICAgaWYgKGNoYW5nZWRQZXJtaXNzaW9ucy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc3RvcmVcbiAgICAgICAgLmRpc3BhdGNoKFxuICAgICAgICAgIG5ldyBVcGRhdGVQZXJtaXNzaW9ucyh7XG4gICAgICAgICAgICBwcm92aWRlcktleTogdGhpcy5wcm92aWRlcktleSxcbiAgICAgICAgICAgIHByb3ZpZGVyTmFtZTogdGhpcy5wcm92aWRlck5hbWUsXG4gICAgICAgICAgICBwZXJtaXNzaW9uczogY2hhbmdlZFBlcm1pc3Npb25zLFxuICAgICAgICAgIH0pLFxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgb3Blbk1vZGFsKCkge1xuICAgIGlmICghdGhpcy5wcm92aWRlcktleSB8fCAhdGhpcy5wcm92aWRlck5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUHJvdmlkZXIgS2V5IGFuZCBQcm92aWRlciBOYW1lIGFyZSByZXF1aXJlZC4nKTtcbiAgICB9XG5cbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFBlcm1pc3Npb25zKHsgcHJvdmlkZXJLZXk6IHRoaXMucHJvdmlkZXJLZXksIHByb3ZpZGVyTmFtZTogdGhpcy5wcm92aWRlck5hbWUgfSkpXG4gICAgICAucGlwZShwbHVjaygnUGVybWlzc2lvbk1hbmFnZW1lbnRTdGF0ZScsICdwZXJtaXNzaW9uUmVzJykpXG4gICAgICAuc3Vic2NyaWJlKChwZXJtaXNzaW9uUmVzOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5SZXNwb25zZSkgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdGVkR3JvdXAgPSBwZXJtaXNzaW9uUmVzLmdyb3Vwc1swXTtcbiAgICAgICAgdGhpcy5wZXJtaXNzaW9ucyA9IGdldFBlcm1pc3Npb25zKHBlcm1pc3Npb25SZXMuZ3JvdXBzKTtcblxuICAgICAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICAgICAgfSk7XG4gIH1cblxuICBpbml0TW9kYWwoKSB7XG4gICAgdGhpcy5zZXRUYWJDaGVja2JveFN0YXRlKCk7XG4gICAgdGhpcy5zZXRHcmFudENoZWNrYm94U3RhdGUoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKHsgdmlzaWJsZSB9OiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKCF2aXNpYmxlKSByZXR1cm47XG5cbiAgICBpZiAodmlzaWJsZS5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMub3Blbk1vZGFsKCk7XG4gICAgfSBlbHNlIGlmICh2aXNpYmxlLmN1cnJlbnRWYWx1ZSA9PT0gZmFsc2UgJiYgdGhpcy52aXNpYmxlKSB7XG4gICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluZE1hcmdpbihwZXJtaXNzaW9uczogUGVybWlzc2lvbk1hbmFnZW1lbnQuUGVybWlzc2lvbltdLCBwZXJtaXNzaW9uOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5QZXJtaXNzaW9uKSB7XG4gIGNvbnN0IHBhcmVudFBlcm1pc3Npb24gPSBwZXJtaXNzaW9ucy5maW5kKHBlciA9PiBwZXIubmFtZSA9PT0gcGVybWlzc2lvbi5wYXJlbnROYW1lKTtcblxuICBpZiAocGFyZW50UGVybWlzc2lvbiAmJiBwYXJlbnRQZXJtaXNzaW9uLnBhcmVudE5hbWUpIHtcbiAgICBsZXQgbWFyZ2luID0gMjA7XG4gICAgcmV0dXJuIChtYXJnaW4gKz0gZmluZE1hcmdpbihwZXJtaXNzaW9ucywgcGFyZW50UGVybWlzc2lvbikpO1xuICB9XG5cbiAgcmV0dXJuIHBhcmVudFBlcm1pc3Npb24gPyAyMCA6IDA7XG59XG5cbmZ1bmN0aW9uIGdldFBlcm1pc3Npb25zKGdyb3VwczogUGVybWlzc2lvbk1hbmFnZW1lbnQuR3JvdXBbXSk6IFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb25bXSB7XG4gIHJldHVybiBncm91cHMucmVkdWNlKChhY2MsIHZhbCkgPT4gWy4uLmFjYywgLi4udmFsLnBlcm1pc3Npb25zXSwgW10pO1xufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcucGVybWlzc2lvbi1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxHQUdWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBUSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRTdGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBSWxGO0lBb0VFLHVDQUFvQixLQUFZLEVBQVUsUUFBbUI7UUFBekMsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUF0QzdELGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQVU1QyxnQkFBVyxHQUFzQyxFQUFFLENBQUM7UUFFcEQsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFFL0IsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFFOUIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUUzQixjQUFTOzs7OztRQUFnRCxVQUFDLENBQUMsRUFBRSxJQUFJLElBQUssT0FBQSxJQUFJLENBQUMsSUFBSSxFQUFULENBQVMsRUFBQztJQW9CaEIsQ0FBQztJQXZEakUsc0JBQ0ksa0RBQU87Ozs7UUFEWDtZQUVFLE9BQU8sSUFB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ImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUcmFja0J5RnVuY3Rpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgcGx1Y2ssIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBHZXRQZXJtaXNzaW9ucywgVXBkYXRlUGVybWlzc2lvbnMgfSBmcm9tICcuLi9hY3Rpb25zL3Blcm1pc3Npb24tbWFuYWdlbWVudC5hY3Rpb25zJztcbmltcG9ydCB7IFBlcm1pc3Npb25NYW5hZ2VtZW50IH0gZnJvbSAnLi4vbW9kZWxzL3Blcm1pc3Npb24tbWFuYWdlbWVudCc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uTWFuYWdlbWVudFN0YXRlIH0gZnJvbSAnLi4vc3RhdGVzL3Blcm1pc3Npb24tbWFuYWdlbWVudC5zdGF0ZSc7XG5cbnR5cGUgUGVybWlzc2lvbldpdGhNYXJnaW4gPSBQZXJtaXNzaW9uTWFuYWdlbWVudC5QZXJtaXNzaW9uICYgeyBtYXJnaW46IG51bWJlciB9O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtcGVybWlzc2lvbi1tYW5hZ2VtZW50JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Blcm1pc3Npb24tbWFuYWdlbWVudC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFBlcm1pc3Npb25NYW5hZ2VtZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKVxuICBwcm92aWRlck5hbWU6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwcm92aWRlcktleTogc3RyaW5nO1xuXG4gIHByb3RlY3RlZCBfdmlzaWJsZTtcblxuICBASW5wdXQoKVxuICBnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTtcbiAgfVxuXG4gIHNldCB2aXNpYmxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkR3JvdXApIHJldHVybjtcblxuICAgIHRoaXMuX3Zpc2libGUgPSB2YWx1ZTtcbiAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG5cbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkR3JvdXAgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIEBPdXRwdXQoKVxuICB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBTZWxlY3QoUGVybWlzc2lvbk1hbmFnZW1lbnRTdGF0ZS5nZXRQZXJtaXNzaW9uR3JvdXBzKVxuICBncm91cHMkOiBPYnNlcnZhYmxlPFBlcm1pc3Npb25NYW5hZ2VtZW50Lkdyb3VwW10+O1xuXG4gIEBTZWxlY3QoUGVybWlzc2lvbk1hbmFnZW1lbnRTdGF0ZS5nZXRFbnRpdGl5RGlzcGxheU5hbWUpXG4gIGVudGl0eU5hbWUkOiBPYnNlcnZhYmxlPHN0cmluZz47XG5cbiAgc2VsZWN0ZWRHcm91cDogUGVybWlzc2lvbk1hbmFnZW1lbnQuR3JvdXA7XG5cbiAgcGVybWlzc2lvbnM6IFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb25bXSA9IFtdO1xuXG4gIHNlbGVjdFRoaXNUYWI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBzZWxlY3RBbGxUYWI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBtb2RhbEJ1c3k6IGJvb2xlYW4gPSBmYWxzZTtcblxuICB0cmFja0J5Rm46IFRyYWNrQnlGdW5jdGlvbjxQZXJtaXNzaW9uTWFuYWdlbWVudC5Hcm91cD4gPSAoXywgaXRlbSkgPT4gaXRlbS5uYW1lO1xuXG4gIGdldCBzZWxlY3RlZEdyb3VwUGVybWlzc2lvbnMkKCk6IE9ic2VydmFibGU8UGVybWlzc2lvbldpdGhNYXJnaW5bXT4ge1xuICAgIHJldHVybiB0aGlzLmdyb3VwcyQucGlwZShcbiAgICAgIG1hcChncm91cHMgPT5cbiAgICAgICAgdGhpcy5zZWxlY3RlZEdyb3VwID8gZ3JvdXBzLmZpbmQoZ3JvdXAgPT4gZ3JvdXAubmFtZSA9PT0gdGhpcy5zZWxlY3RlZEdyb3VwLm5hbWUpLnBlcm1pc3Npb25zIDogW10sXG4gICAgICApLFxuICAgICAgbWFwPFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb25bXSwgUGVybWlzc2lvbldpdGhNYXJnaW5bXT4ocGVybWlzc2lvbnMgPT5cbiAgICAgICAgcGVybWlzc2lvbnMubWFwKFxuICAgICAgICAgIHBlcm1pc3Npb24gPT5cbiAgICAgICAgICAgICgoe1xuICAgICAgICAgICAgICAuLi5wZXJtaXNzaW9uLFxuICAgICAgICAgICAgICBtYXJnaW46IGZpbmRNYXJnaW4ocGVybWlzc2lvbnMsIHBlcm1pc3Npb24pLFxuICAgICAgICAgICAgICBpc0dyYW50ZWQ6IHRoaXMucGVybWlzc2lvbnMuZmluZChwZXIgPT4gcGVyLm5hbWUgPT09IHBlcm1pc3Npb24ubmFtZSkuaXNHcmFudGVkLFxuICAgICAgICAgICAgfSBhcyBhbnkpIGFzIFBlcm1pc3Npb25XaXRoTWFyZ2luKSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIGdldENoZWNrZWQobmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuICh0aGlzLnBlcm1pc3Npb25zLmZpbmQocGVyID0+IHBlci5uYW1lID09PSBuYW1lKSB8fCB7IGlzR3JhbnRlZDogZmFsc2UgfSkuaXNHcmFudGVkO1xuICB9XG5cbiAgaXNHcmFudGVkQnlSb2xlKGdyYW50ZWRQcm92aWRlcnM6IFBlcm1pc3Npb25NYW5hZ2VtZW50LkdyYW50ZWRQcm92aWRlcltdKTogYm9vbGVhbiB7XG4gICAgaWYgKGdyYW50ZWRQcm92aWRlcnMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gZ3JhbnRlZFByb3ZpZGVycy5maW5kSW5kZXgocCA9PiBwLnByb3ZpZGVyTmFtZSA9PT0gJ1JvbGUnKSA+IC0xO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBvbkNsaWNrQ2hlY2tib3goY2xpY2tlZFBlcm1pc3Npb246IFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb24sIHZhbHVlKSB7XG4gICAgaWYgKGNsaWNrZWRQZXJtaXNzaW9uLmlzR3JhbnRlZCAmJiB0aGlzLmlzR3JhbnRlZEJ5Um9sZShjbGlja2VkUGVybWlzc2lvbi5ncmFudGVkUHJvdmlkZXJzKSkgcmV0dXJuO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnBlcm1pc3Npb25zID0gdGhpcy5wZXJtaXNzaW9ucy5tYXAocGVyID0+IHtcbiAgICAgICAgaWYgKGNsaWNrZWRQZXJtaXNzaW9uLm5hbWUgPT09IHBlci5uYW1lKSB7XG4gICAgICAgICAgcmV0dXJuIHsgLi4ucGVyLCBpc0dyYW50ZWQ6ICFwZXIuaXNHcmFudGVkIH07XG4gICAgICAgIH0gZWxzZSBpZiAoY2xpY2tlZFBlcm1pc3Npb24ubmFtZSA9PT0gcGVyLnBhcmVudE5hbWUgJiYgY2xpY2tlZFBlcm1pc3Npb24uaXNHcmFudGVkKSB7XG4gICAgICAgICAgcmV0dXJuIHsgLi4ucGVyLCBpc0dyYW50ZWQ6IGZhbHNlIH07XG4gICAgICAgIH0gZWxzZSBpZiAoY2xpY2tlZFBlcm1pc3Npb24ucGFyZW50TmFtZSA9PT0gcGVyLm5hbWUgJiYgIWNsaWNrZWRQZXJtaXNzaW9uLmlzR3JhbnRlZCkge1xuICAgICAgICAgIHJldHVybiB7IC4uLnBlciwgaXNHcmFudGVkOiB0cnVlIH07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcGVyO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuc2V0VGFiQ2hlY2tib3hTdGF0ZSgpO1xuICAgICAgdGhpcy5zZXRHcmFudENoZWNrYm94U3RhdGUoKTtcbiAgICB9LCAwKTtcbiAgfVxuXG4gIHNldFRhYkNoZWNrYm94U3RhdGUoKSB7XG4gICAgdGhpcy5zZWxlY3RlZEdyb3VwUGVybWlzc2lvbnMkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHBlcm1pc3Npb25zID0+IHtcbiAgICAgIGNvbnN0IHNlbGVjdGVkUGVybWlzc2lvbnMgPSBwZXJtaXNzaW9ucy5maWx0ZXIocGVyID0+IHBlci5pc0dyYW50ZWQpO1xuICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNzZWxlY3QtYWxsLWluLXRoaXMtdGFicycpIGFzIGFueTtcblxuICAgICAgaWYgKHNlbGVjdGVkUGVybWlzc2lvbnMubGVuZ3RoID09PSBwZXJtaXNzaW9ucy5sZW5ndGgpIHtcbiAgICAgICAgZWxlbWVudC5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2VsZWN0VGhpc1RhYiA9IHRydWU7XG4gICAgICB9IGVsc2UgaWYgKHNlbGVjdGVkUGVybWlzc2lvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIGVsZW1lbnQuaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNlbGVjdFRoaXNUYWIgPSBmYWxzZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGVsZW1lbnQuaW5kZXRlcm1pbmF0ZSA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBzZXRHcmFudENoZWNrYm94U3RhdGUoKSB7XG4gICAgY29uc3Qgc2VsZWN0ZWRBbGxQZXJtaXNzaW9ucyA9IHRoaXMucGVybWlzc2lvbnMuZmlsdGVyKHBlciA9PiBwZXIuaXNHcmFudGVkKTtcbiAgICBjb25zdCBjaGVja2JveEVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjc2VsZWN0LWFsbC1pbi1hbGwtdGFicycpIGFzIGFueTtcblxuICAgIGlmIChzZWxlY3RlZEFsbFBlcm1pc3Npb25zLmxlbmd0aCA9PT0gdGhpcy5wZXJtaXNzaW9ucy5sZW5ndGgpIHtcbiAgICAgIGNoZWNrYm94RWxlbWVudC5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgICB0aGlzLnNlbGVjdEFsbFRhYiA9IHRydWU7XG4gICAgfSBlbHNlIGlmIChzZWxlY3RlZEFsbFBlcm1pc3Npb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgY2hlY2tib3hFbGVtZW50LmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgICAgIHRoaXMuc2VsZWN0QWxsVGFiID0gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNoZWNrYm94RWxlbWVudC5pbmRldGVybWluYXRlID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBvbkNsaWNrU2VsZWN0VGhpc1RhYigpIHtcbiAgICB0aGlzLnNlbGVjdGVkR3JvdXBQZXJtaXNzaW9ucyQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUocGVybWlzc2lvbnMgPT4ge1xuICAgICAgcGVybWlzc2lvbnMuZm9yRWFjaChwZXJtaXNzaW9uID0+IHtcbiAgICAgICAgaWYgKHBlcm1pc3Npb24uaXNHcmFudGVkICYmIHRoaXMuaXNHcmFudGVkQnlSb2xlKHBlcm1pc3Npb24uZ3JhbnRlZFByb3ZpZGVycykpIHJldHVybjtcblxuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMucGVybWlzc2lvbnMuZmluZEluZGV4KHBlciA9PiBwZXIubmFtZSA9PT0gcGVybWlzc2lvbi5uYW1lKTtcblxuICAgICAgICB0aGlzLnBlcm1pc3Npb25zID0gW1xuICAgICAgICAgIC4uLnRoaXMucGVybWlzc2lvbnMuc2xpY2UoMCwgaW5kZXgpLFxuICAgICAgICAgIHsgLi4udGhpcy5wZXJtaXNzaW9uc1tpbmRleF0sIGlzR3JhbnRlZDogIXRoaXMuc2VsZWN0VGhpc1RhYiB9LFxuICAgICAgICAgIC4uLnRoaXMucGVybWlzc2lvbnMuc2xpY2UoaW5kZXggKyAxKSxcbiAgICAgICAgXTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgdGhpcy5zZXRHcmFudENoZWNrYm94U3RhdGUoKTtcbiAgfVxuXG4gIG9uQ2xpY2tTZWxlY3RBbGwoKSB7XG4gICAgdGhpcy5wZXJtaXNzaW9ucyA9IHRoaXMucGVybWlzc2lvbnMubWFwKHBlcm1pc3Npb24gPT4gKHsgLi4ucGVybWlzc2lvbiwgaXNHcmFudGVkOiAhdGhpcy5zZWxlY3RBbGxUYWIgfSkpO1xuXG4gICAgdGhpcy5zZWxlY3RUaGlzVGFiID0gIXRoaXMuc2VsZWN0QWxsVGFiO1xuICB9XG5cbiAgb25DaGFuZ2VHcm91cChncm91cDogUGVybWlzc2lvbk1hbmFnZW1lbnQuR3JvdXApIHtcbiAgICB0aGlzLnNlbGVjdGVkR3JvdXAgPSBncm91cDtcbiAgICB0aGlzLnNldFRhYkNoZWNrYm94U3RhdGUoKTtcbiAgfVxuXG4gIG9uU3VibWl0KCkge1xuICAgIHRoaXMubW9kYWxCdXN5ID0gdHJ1ZTtcbiAgICBjb25zdCB1bmNoYW5nZWRQZXJtaXNzaW9ucyA9IGdldFBlcm1pc3Npb25zKFxuICAgICAgdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChQZXJtaXNzaW9uTWFuYWdlbWVudFN0YXRlLmdldFBlcm1pc3Npb25Hcm91cHMpLFxuICAgICk7XG5cbiAgICBjb25zdCBjaGFuZ2VkUGVybWlzc2lvbnM6IFBlcm1pc3Npb25NYW5hZ2VtZW50Lk1pbmltdW1QZXJtaXNzaW9uW10gPSB0aGlzLnBlcm1pc3Npb25zXG4gICAgICAuZmlsdGVyKHBlciA9PlxuICAgICAgICB1bmNoYW5nZWRQZXJtaXNzaW9ucy5maW5kKHVuY2hhbmdlZCA9PiB1bmNoYW5nZWQubmFtZSA9PT0gcGVyLm5hbWUpLmlzR3JhbnRlZCA9PT0gcGVyLmlzR3JhbnRlZCA/IGZhbHNlIDogdHJ1ZSxcbiAgICAgIClcbiAgICAgIC5tYXAoKHsgbmFtZSwgaXNHcmFudGVkIH0pID0+ICh7IG5hbWUsIGlzR3JhbnRlZCB9KSk7XG5cbiAgICBpZiAoY2hhbmdlZFBlcm1pc3Npb25zLmxlbmd0aCkge1xuICAgICAgdGhpcy5zdG9yZVxuICAgICAgICAuZGlzcGF0Y2goXG4gICAgICAgICAgbmV3IFVwZGF0ZVBlcm1pc3Npb25zKHtcbiAgICAgICAgICAgIHByb3ZpZGVyS2V5OiB0aGlzLnByb3ZpZGVyS2V5LFxuICAgICAgICAgICAgcHJvdmlkZXJOYW1lOiB0aGlzLnByb3ZpZGVyTmFtZSxcbiAgICAgICAgICAgIHBlcm1pc3Npb25zOiBjaGFuZ2VkUGVybWlzc2lvbnMsXG4gICAgICAgICAgfSksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5tb2RhbEJ1c3kgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubW9kYWxCdXN5ID0gZmFsc2U7XG4gICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBvcGVuTW9kYWwoKSB7XG4gICAgaWYgKCF0aGlzLnByb3ZpZGVyS2V5IHx8ICF0aGlzLnByb3ZpZGVyTmFtZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdQcm92aWRlciBLZXkgYW5kIFByb3ZpZGVyIE5hbWUgYXJlIHJlcXVpcmVkLicpO1xuICAgIH1cblxuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5kaXNwYXRjaChuZXcgR2V0UGVybWlzc2lvbnMoeyBwcm92aWRlcktleTogdGhpcy5wcm92aWRlcktleSwgcHJvdmlkZXJOYW1lOiB0aGlzLnByb3ZpZGVyTmFtZSB9KSlcbiAgICAgIC5waXBlKHBsdWNrKCdQZXJtaXNzaW9uTWFuYWdlbWVudFN0YXRlJywgJ3Blcm1pc3Npb25SZXMnKSlcbiAgICAgIC5zdWJzY3JpYmUoKHBlcm1pc3Npb25SZXM6IFBlcm1pc3Npb25NYW5hZ2VtZW50LlJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRHcm91cCA9IHBlcm1pc3Npb25SZXMuZ3JvdXBzWzBdO1xuICAgICAgICB0aGlzLnBlcm1pc3Npb25zID0gZ2V0UGVybWlzc2lvbnMocGVybWlzc2lvblJlcy5ncm91cHMpO1xuXG4gICAgICAgIHRoaXMudmlzaWJsZSA9IHRydWU7XG4gICAgICB9KTtcbiAgfVxuXG4gIGluaXRNb2RhbCgpIHtcbiAgICB0aGlzLnNldFRhYkNoZWNrYm94U3RhdGUoKTtcbiAgICB0aGlzLnNldEdyYW50Q2hlY2tib3hTdGF0ZSgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoeyB2aXNpYmxlIH06IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoIXZpc2libGUpIHJldHVybjtcblxuICAgIGlmICh2aXNpYmxlLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5vcGVuTW9kYWwoKTtcbiAgICB9IGVsc2UgaWYgKHZpc2libGUuY3VycmVudFZhbHVlID09PSBmYWxzZSAmJiB0aGlzLnZpc2libGUpIHtcbiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBmaW5kTWFyZ2luKHBlcm1pc3Npb25zOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5QZXJtaXNzaW9uW10sIHBlcm1pc3Npb246IFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb24pIHtcbiAgY29uc3QgcGFyZW50UGVybWlzc2lvbiA9IHBlcm1pc3Npb25zLmZpbmQocGVyID0+IHBlci5uYW1lID09PSBwZXJtaXNzaW9uLnBhcmVudE5hbWUpO1xuXG4gIGlmIChwYXJlbnRQZXJtaXNzaW9uICYmIHBhcmVudFBlcm1pc3Npb24ucGFyZW50TmFtZSkge1xuICAgIGxldCBtYXJnaW4gPSAyMDtcbiAgICByZXR1cm4gKG1hcmdpbiArPSBmaW5kTWFyZ2luKHBlcm1pc3Npb25zLCBwYXJlbnRQZXJtaXNzaW9uKSk7XG4gIH1cblxuICByZXR1cm4gcGFyZW50UGVybWlzc2lvbiA/IDIwIDogMDtcbn1cblxuZnVuY3Rpb24gZ2V0UGVybWlzc2lvbnMoZ3JvdXBzOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5Hcm91cFtdKTogUGVybWlzc2lvbk1hbmFnZW1lbnQuUGVybWlzc2lvbltdIHtcbiAgcmV0dXJuIGdyb3Vwcy5yZWR1Y2UoKGFjYywgdmFsKSA9PiBbLi4uYWNjLCAuLi52YWwucGVybWlzc2lvbnNdLCBbXSk7XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/fesm2015/abp-ng.permission-management.js b/npm/ng-packs/dist/permission-management/fesm2015/abp-ng.permission-management.js index 92631dd363..bd5fe91708 100644 --- a/npm/ng-packs/dist/permission-management/fesm2015/abp-ng.permission-management.js +++ b/npm/ng-packs/dist/permission-management/fesm2015/abp-ng.permission-management.js @@ -20,6 +20,12 @@ class GetPermissions { } } GetPermissions.type = '[PermissionManagement] Get Permissions'; +if (false) { + /** @type {?} */ + GetPermissions.type; + /** @type {?} */ + GetPermissions.prototype.payload; +} class UpdatePermissions { /** * @param {?} payload @@ -29,6 +35,12 @@ class UpdatePermissions { } } UpdatePermissions.type = '[PermissionManagement] Update Permissions'; +if (false) { + /** @type {?} */ + UpdatePermissions.type; + /** @type {?} */ + UpdatePermissions.prototype.payload; +} /** * @fileoverview added by tsickle @@ -79,6 +91,13 @@ PermissionManagementService.ctorParameters = () => [ { type: RestService } ]; /** @nocollapse */ PermissionManagementService.ngInjectableDef = ɵɵdefineInjectable({ factory: function PermissionManagementService_Factory() { return new PermissionManagementService(ɵɵinject(RestService)); }, token: PermissionManagementService, providedIn: "root" }); +if (false) { + /** + * @type {?} + * @private + */ + PermissionManagementService.prototype.rest; +} /** * @fileoverview added by tsickle @@ -159,6 +178,13 @@ PermissionManagementState = __decorate([ }), __metadata("design:paramtypes", [PermissionManagementService]) ], PermissionManagementState); +if (false) { + /** + * @type {?} + * @private + */ + PermissionManagementState.prototype.permissionManagementService; +} /** * @fileoverview added by tsickle @@ -176,6 +202,7 @@ class PermissionManagementComponent { this.permissions = []; this.selectThisTab = false; this.selectAllTab = false; + this.modalBusy = false; this.trackByFn = (/** * @param {?} _ * @param {?} item @@ -243,13 +270,27 @@ class PermissionManagementComponent { */ per => per.name === name)) || { isGranted: false }).isGranted; } + /** + * @param {?} grantedProviders + * @return {?} + */ + isGrantedByRole(grantedProviders) { + if (grantedProviders.length) { + return grantedProviders.findIndex((/** + * @param {?} p + * @return {?} + */ + p => p.providerName === 'Role')) > -1; + } + return false; + } /** * @param {?} clickedPermission * @param {?} value * @return {?} */ onClickCheckbox(clickedPermission, value) { - if (clickedPermission.isGranted && clickedPermission.grantedProviders.length > 0) + if (clickedPermission.isGranted && this.isGrantedByRole(clickedPermission.grantedProviders)) return; setTimeout((/** * @return {?} @@ -343,7 +384,7 @@ class PermissionManagementComponent { * @return {?} */ permission => { - if (permission.isGranted && permission.grantedProviders.length > 0) + if (permission.isGranted && this.isGrantedByRole(permission.grantedProviders)) return; /** @type {?} */ const index = this.permissions.findIndex((/** @@ -383,6 +424,7 @@ class PermissionManagementComponent { * @return {?} */ onSubmit() { + this.modalBusy = true; /** @type {?} */ const unchangedPermissions = getPermissions(this.store.selectSnapshot(PermissionManagementState.getPermissionGroups)); /** @type {?} */ @@ -412,10 +454,12 @@ class PermissionManagementComponent { * @return {?} */ () => { + this.modalBusy = false; this.visible = false; })); } else { + this.modalBusy = false; this.visible = false; } } @@ -464,7 +508,7 @@ class PermissionManagementComponent { PermissionManagementComponent.decorators = [ { type: Component, args: [{ selector: 'abp-permission-management', - template: "\n \n \n

{{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

\n
\n \n
\n \n \n
\n\n
\n
\n
\n
    \n \n
  • \n {{ group?.displayName }}\n
  • \n
    \n
\n
\n
\n

{{ selectedGroup.displayName }}

\n
\n
\n
\n \n \n
\n
\n \n \n 0\"\n />\n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
\n \n
\n
\n \n
\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
\n
\n" + template: "\n \n \n

{{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

\n
\n \n
\n \n \n
\n\n
\n
\n
\n
    \n \n
  • \n {{ group?.displayName }}\n
  • \n
    \n
\n
\n
\n

{{ selectedGroup.displayName }}

\n
\n
\n
\n \n \n
\n
\n \n \n \n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
\n \n
\n
\n \n
\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
\n
\n" }] } ]; /** @nocollapse */ @@ -486,6 +530,45 @@ __decorate([ Select(PermissionManagementState.getEntitiyDisplayName), __metadata("design:type", Observable) ], PermissionManagementComponent.prototype, "entityName$", void 0); +if (false) { + /** @type {?} */ + PermissionManagementComponent.prototype.providerName; + /** @type {?} */ + PermissionManagementComponent.prototype.providerKey; + /** + * @type {?} + * @protected + */ + PermissionManagementComponent.prototype._visible; + /** @type {?} */ + PermissionManagementComponent.prototype.visibleChange; + /** @type {?} */ + PermissionManagementComponent.prototype.groups$; + /** @type {?} */ + PermissionManagementComponent.prototype.entityName$; + /** @type {?} */ + PermissionManagementComponent.prototype.selectedGroup; + /** @type {?} */ + PermissionManagementComponent.prototype.permissions; + /** @type {?} */ + PermissionManagementComponent.prototype.selectThisTab; + /** @type {?} */ + PermissionManagementComponent.prototype.selectAllTab; + /** @type {?} */ + PermissionManagementComponent.prototype.modalBusy; + /** @type {?} */ + PermissionManagementComponent.prototype.trackByFn; + /** + * @type {?} + * @private + */ + PermissionManagementComponent.prototype.store; + /** + * @type {?} + * @private + */ + PermissionManagementComponent.prototype.renderer; +} /** * @param {?} permissions * @param {?} permission @@ -532,6 +615,16 @@ PermissionManagementModule.decorators = [ },] } ]; +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -543,37 +636,106 @@ var PermissionManagement; */ function State() { } PermissionManagement.State = State; + if (false) { + /** @type {?} */ + State.prototype.permissionRes; + } /** * @record */ function Response() { } PermissionManagement.Response = Response; + if (false) { + /** @type {?} */ + Response.prototype.entityDisplayName; + /** @type {?} */ + Response.prototype.groups; + } /** * @record */ function Group() { } PermissionManagement.Group = Group; + if (false) { + /** @type {?} */ + Group.prototype.name; + /** @type {?} */ + Group.prototype.displayName; + /** @type {?} */ + Group.prototype.permissions; + } /** * @record */ function MinimumPermission() { } PermissionManagement.MinimumPermission = MinimumPermission; + if (false) { + /** @type {?} */ + MinimumPermission.prototype.name; + /** @type {?} */ + MinimumPermission.prototype.isGranted; + } /** * @record */ function Permission() { } PermissionManagement.Permission = Permission; + if (false) { + /** @type {?} */ + Permission.prototype.displayName; + /** @type {?} */ + Permission.prototype.parentName; + /** @type {?} */ + Permission.prototype.allowedProviders; + /** @type {?} */ + Permission.prototype.grantedProviders; + } /** * @record */ function GrantedProvider() { } PermissionManagement.GrantedProvider = GrantedProvider; + if (false) { + /** @type {?} */ + GrantedProvider.prototype.providerName; + /** @type {?} */ + GrantedProvider.prototype.providerKey; + } /** * @record */ function UpdateRequest() { } PermissionManagement.UpdateRequest = UpdateRequest; + if (false) { + /** @type {?} */ + UpdateRequest.prototype.permissions; + } })(PermissionManagement || (PermissionManagement = {})); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + export { GetPermissions, PermissionManagementComponent, PermissionManagementModule, PermissionManagementService, PermissionManagementState, UpdatePermissions, PermissionManagementComponent as ɵa, PermissionManagementState as ɵb, PermissionManagementService as ɵc, GetPermissions as ɵd, UpdatePermissions as ɵe }; //# sourceMappingURL=abp-ng.permission-management.js.map diff --git a/npm/ng-packs/dist/permission-management/fesm2015/abp-ng.permission-management.js.map b/npm/ng-packs/dist/permission-management/fesm2015/abp-ng.permission-management.js.map index 6a0c34e311..55787086eb 100644 --- a/npm/ng-packs/dist/permission-management/fesm2015/abp-ng.permission-management.js.map +++ b/npm/ng-packs/dist/permission-management/fesm2015/abp-ng.permission-management.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.permission-management.js","sources":["ng://@abp/ng.permission-management/lib/actions/permission-management.actions.ts","ng://@abp/ng.permission-management/lib/services/permission-management.service.ts","ng://@abp/ng.permission-management/lib/states/permission-management.state.ts","ng://@abp/ng.permission-management/lib/components/permission-management.component.ts","ng://@abp/ng.permission-management/lib/permission-management.module.ts","ng://@abp/ng.permission-management/lib/models/permission-management.ts"],"sourcesContent":["import { PermissionManagement } from '../models/permission-management';\n\nexport class GetPermissions {\n static readonly type = '[PermissionManagement] Get Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider) {}\n}\n\nexport class UpdatePermissions {\n static readonly type = '[PermissionManagement] Update Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest) {}\n}\n","import { Injectable } from '@angular/core';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { Observable } from 'rxjs';\nimport { PermissionManagement } from '../models/permission-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionManagementService {\n constructor(private rest: RestService) {}\n\n getPermissions(params: PermissionManagement.GrantedProvider): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/permissions',\n params,\n };\n\n return this.rest.request(request);\n }\n\n updatePermissions({\n permissions,\n providerKey,\n providerName,\n }: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/abp/permissions',\n body: { permissions },\n params: { providerKey, providerName },\n };\n\n return this.rest.request(request);\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementService } from '../services/permission-management.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'PermissionManagementState',\n defaults: { permissionRes: {} } as PermissionManagement.State,\n})\nexport class PermissionManagementState {\n @Selector()\n static getPermissionGroups({ permissionRes }: PermissionManagement.State) {\n return permissionRes.groups || [];\n }\n\n @Selector()\n static getEntitiyDisplayName({ permissionRes }: PermissionManagement.State): string {\n return permissionRes.entityDisplayName;\n }\n\n constructor(private permissionManagementService: PermissionManagementService) {}\n\n @Action(GetPermissions)\n permissionManagementGet({ patchState }: StateContext, { payload }: GetPermissions) {\n return this.permissionManagementService.getPermissions(payload).pipe(\n tap(permissionResponse =>\n patchState({\n permissionRes: permissionResponse,\n }),\n ),\n );\n }\n\n @Action(UpdatePermissions)\n permissionManagementUpdate(_, { payload }: UpdatePermissions) {\n return this.permissionManagementService.updatePermissions(payload);\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n Renderer2,\n SimpleChanges,\n TrackByFunction,\n} from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { from, Observable } from 'rxjs';\nimport { map, pluck, take } from 'rxjs/operators';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementState } from '../states/permission-management.state';\n\ntype PermissionWithMargin = PermissionManagement.Permission & { margin: number };\n\n@Component({\n selector: 'abp-permission-management',\n templateUrl: './permission-management.component.html',\n})\nexport class PermissionManagementComponent implements OnInit, OnChanges {\n @Input()\n providerName: string;\n\n @Input()\n providerKey: string;\n\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n if (!this.selectedGroup) return;\n\n this._visible = value;\n this.visibleChange.emit(value);\n\n if (!value) {\n this.selectedGroup = null;\n }\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(PermissionManagementState.getPermissionGroups)\n groups$: Observable;\n\n @Select(PermissionManagementState.getEntitiyDisplayName)\n entityName$: Observable;\n\n selectedGroup: PermissionManagement.Group;\n\n permissions: PermissionManagement.Permission[] = [];\n\n selectThisTab: boolean = false;\n\n selectAllTab: boolean = false;\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n get selectedGroupPermissions$(): Observable {\n return this.groups$.pipe(\n map(groups =>\n this.selectedGroup ? groups.find(group => group.name === this.selectedGroup.name).permissions : [],\n ),\n map(permissions =>\n permissions.map(\n permission =>\n (({\n ...permission,\n margin: findMargin(permissions, permission),\n isGranted: this.permissions.find(per => per.name === permission.name).isGranted,\n } as any) as PermissionWithMargin),\n ),\n ),\n );\n }\n\n constructor(private store: Store, private renderer: Renderer2) {}\n\n ngOnInit(): void {}\n\n getChecked(name: string) {\n return (this.permissions.find(per => per.name === name) || { isGranted: false }).isGranted;\n }\n\n onClickCheckbox(clickedPermission: PermissionManagement.Permission, value) {\n if (clickedPermission.isGranted && clickedPermission.grantedProviders.length > 0) return;\n\n setTimeout(() => {\n this.permissions = this.permissions.map(per => {\n if (clickedPermission.name === per.name) {\n return { ...per, isGranted: !per.isGranted };\n } else if (clickedPermission.name === per.parentName && clickedPermission.isGranted) {\n return { ...per, isGranted: false };\n } else if (clickedPermission.parentName === per.name && !clickedPermission.isGranted) {\n return { ...per, isGranted: true };\n }\n\n return per;\n });\n\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }, 0);\n }\n\n setTabCheckboxState() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n const selectedPermissions = permissions.filter(per => per.isGranted);\n const element = document.querySelector('#select-all-in-this-tabs') as any;\n\n if (selectedPermissions.length === permissions.length) {\n element.indeterminate = false;\n this.selectThisTab = true;\n } else if (selectedPermissions.length === 0) {\n element.indeterminate = false;\n this.selectThisTab = false;\n } else {\n element.indeterminate = true;\n }\n });\n }\n\n setGrantCheckboxState() {\n const selectedAllPermissions = this.permissions.filter(per => per.isGranted);\n const checkboxElement = document.querySelector('#select-all-in-all-tabs') as any;\n\n if (selectedAllPermissions.length === this.permissions.length) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = true;\n } else if (selectedAllPermissions.length === 0) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = false;\n } else {\n checkboxElement.indeterminate = true;\n }\n }\n\n onClickSelectThisTab() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n permissions.forEach(permission => {\n if (permission.isGranted && permission.grantedProviders.length > 0) return;\n\n const index = this.permissions.findIndex(per => per.name === permission.name);\n\n this.permissions = [\n ...this.permissions.slice(0, index),\n { ...this.permissions[index], isGranted: !this.selectThisTab },\n ...this.permissions.slice(index + 1),\n ];\n });\n });\n\n this.setGrantCheckboxState();\n }\n\n onClickSelectAll() {\n this.permissions = this.permissions.map(permission => ({ ...permission, isGranted: !this.selectAllTab }));\n\n this.selectThisTab = !this.selectAllTab;\n }\n\n onChangeGroup(group: PermissionManagement.Group) {\n this.selectedGroup = group;\n this.setTabCheckboxState();\n }\n\n onSubmit() {\n const unchangedPermissions = getPermissions(\n this.store.selectSnapshot(PermissionManagementState.getPermissionGroups),\n );\n\n const changedPermissions: PermissionManagement.MinimumPermission[] = this.permissions\n .filter(per =>\n unchangedPermissions.find(unchanged => unchanged.name === per.name).isGranted === per.isGranted ? false : true,\n )\n .map(({ name, isGranted }) => ({ name, isGranted }));\n\n if (changedPermissions.length) {\n this.store\n .dispatch(\n new UpdatePermissions({\n providerKey: this.providerKey,\n providerName: this.providerName,\n permissions: changedPermissions,\n }),\n )\n .subscribe(() => {\n this.visible = false;\n });\n } else {\n this.visible = false;\n }\n }\n\n openModal() {\n if (!this.providerKey || !this.providerName) {\n throw new Error('Provider Key and Provider Name are required.');\n }\n\n this.store\n .dispatch(new GetPermissions({ providerKey: this.providerKey, providerName: this.providerName }))\n .pipe(pluck('PermissionManagementState', 'permissionRes'))\n .subscribe((permissionRes: PermissionManagement.Response) => {\n this.selectedGroup = permissionRes.groups[0];\n this.permissions = getPermissions(permissionRes.groups);\n\n this.visible = true;\n });\n }\n\n initModal() {\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n\nfunction findMargin(permissions: PermissionManagement.Permission[], permission: PermissionManagement.Permission) {\n const parentPermission = permissions.find(per => per.name === permission.parentName);\n\n if (parentPermission && parentPermission.parentName) {\n let margin = 20;\n return (margin += findMargin(permissions, parentPermission));\n }\n\n return parentPermission ? 20 : 0;\n}\n\nfunction getPermissions(groups: PermissionManagement.Group[]): PermissionManagement.Permission[] {\n return groups.reduce((acc, val) => [...acc, ...val.permissions], []);\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { PermissionManagementComponent } from './components/permission-management.component';\nimport { PermissionManagementState } from './states/permission-management.state';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [PermissionManagementComponent],\n imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([PermissionManagementState]), PerfectScrollbarModule],\n exports: [PermissionManagementComponent],\n})\nexport class PermissionManagementModule {}\n","export namespace PermissionManagement {\n export interface State {\n permissionRes: Response;\n }\n\n export interface Response {\n entityDisplayName: string;\n groups: Group[];\n }\n\n export interface Group {\n name: string;\n displayName: string;\n permissions: Permission[];\n }\n\n export interface MinimumPermission {\n name: string;\n isGranted: boolean;\n }\n\n export interface Permission extends MinimumPermission {\n displayName: string;\n parentName: string;\n allowedProviders: string[];\n grantedProviders: GrantedProvider[];\n }\n\n export interface GrantedProvider {\n providerName: string;\n providerKey: string;\n }\n\n export interface UpdateRequest {\n permissions: MinimumPermission[];\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.permission-management.js","sources":["ng://@abp/ng.permission-management/lib/actions/permission-management.actions.ts","ng://@abp/ng.permission-management/lib/services/permission-management.service.ts","ng://@abp/ng.permission-management/lib/states/permission-management.state.ts","ng://@abp/ng.permission-management/lib/components/permission-management.component.ts","ng://@abp/ng.permission-management/lib/permission-management.module.ts","ng://@abp/ng.permission-management/lib/models/permission-management.ts"],"sourcesContent":["import { PermissionManagement } from '../models/permission-management';\n\nexport class GetPermissions {\n static readonly type = '[PermissionManagement] Get Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider) {}\n}\n\nexport class UpdatePermissions {\n static readonly type = '[PermissionManagement] Update Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest) {}\n}\n","import { Injectable } from '@angular/core';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { Observable } from 'rxjs';\nimport { PermissionManagement } from '../models/permission-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionManagementService {\n constructor(private rest: RestService) {}\n\n getPermissions(params: PermissionManagement.GrantedProvider): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/permissions',\n params,\n };\n\n return this.rest.request(request);\n }\n\n updatePermissions({\n permissions,\n providerKey,\n providerName,\n }: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/abp/permissions',\n body: { permissions },\n params: { providerKey, providerName },\n };\n\n return this.rest.request(request);\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementService } from '../services/permission-management.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'PermissionManagementState',\n defaults: { permissionRes: {} } as PermissionManagement.State,\n})\nexport class PermissionManagementState {\n @Selector()\n static getPermissionGroups({ permissionRes }: PermissionManagement.State) {\n return permissionRes.groups || [];\n }\n\n @Selector()\n static getEntitiyDisplayName({ permissionRes }: PermissionManagement.State): string {\n return permissionRes.entityDisplayName;\n }\n\n constructor(private permissionManagementService: PermissionManagementService) {}\n\n @Action(GetPermissions)\n permissionManagementGet({ patchState }: StateContext, { payload }: GetPermissions) {\n return this.permissionManagementService.getPermissions(payload).pipe(\n tap(permissionResponse =>\n patchState({\n permissionRes: permissionResponse,\n }),\n ),\n );\n }\n\n @Action(UpdatePermissions)\n permissionManagementUpdate(_, { payload }: UpdatePermissions) {\n return this.permissionManagementService.updatePermissions(payload);\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n Renderer2,\n SimpleChanges,\n TrackByFunction,\n} from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { from, Observable } from 'rxjs';\nimport { map, pluck, take } from 'rxjs/operators';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementState } from '../states/permission-management.state';\n\ntype PermissionWithMargin = PermissionManagement.Permission & { margin: number };\n\n@Component({\n selector: 'abp-permission-management',\n templateUrl: './permission-management.component.html',\n})\nexport class PermissionManagementComponent implements OnInit, OnChanges {\n @Input()\n providerName: string;\n\n @Input()\n providerKey: string;\n\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n if (!this.selectedGroup) return;\n\n this._visible = value;\n this.visibleChange.emit(value);\n\n if (!value) {\n this.selectedGroup = null;\n }\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(PermissionManagementState.getPermissionGroups)\n groups$: Observable;\n\n @Select(PermissionManagementState.getEntitiyDisplayName)\n entityName$: Observable;\n\n selectedGroup: PermissionManagement.Group;\n\n permissions: PermissionManagement.Permission[] = [];\n\n selectThisTab: boolean = false;\n\n selectAllTab: boolean = false;\n\n modalBusy: boolean = false;\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n get selectedGroupPermissions$(): Observable {\n return this.groups$.pipe(\n map(groups =>\n this.selectedGroup ? groups.find(group => group.name === this.selectedGroup.name).permissions : [],\n ),\n map(permissions =>\n permissions.map(\n permission =>\n (({\n ...permission,\n margin: findMargin(permissions, permission),\n isGranted: this.permissions.find(per => per.name === permission.name).isGranted,\n } as any) as PermissionWithMargin),\n ),\n ),\n );\n }\n\n constructor(private store: Store, private renderer: Renderer2) {}\n\n ngOnInit(): void {}\n\n getChecked(name: string) {\n return (this.permissions.find(per => per.name === name) || { isGranted: false }).isGranted;\n }\n\n isGrantedByRole(grantedProviders: PermissionManagement.GrantedProvider[]): boolean {\n if (grantedProviders.length) {\n return grantedProviders.findIndex(p => p.providerName === 'Role') > -1;\n }\n return false;\n }\n\n onClickCheckbox(clickedPermission: PermissionManagement.Permission, value) {\n if (clickedPermission.isGranted && this.isGrantedByRole(clickedPermission.grantedProviders)) return;\n\n setTimeout(() => {\n this.permissions = this.permissions.map(per => {\n if (clickedPermission.name === per.name) {\n return { ...per, isGranted: !per.isGranted };\n } else if (clickedPermission.name === per.parentName && clickedPermission.isGranted) {\n return { ...per, isGranted: false };\n } else if (clickedPermission.parentName === per.name && !clickedPermission.isGranted) {\n return { ...per, isGranted: true };\n }\n\n return per;\n });\n\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }, 0);\n }\n\n setTabCheckboxState() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n const selectedPermissions = permissions.filter(per => per.isGranted);\n const element = document.querySelector('#select-all-in-this-tabs') as any;\n\n if (selectedPermissions.length === permissions.length) {\n element.indeterminate = false;\n this.selectThisTab = true;\n } else if (selectedPermissions.length === 0) {\n element.indeterminate = false;\n this.selectThisTab = false;\n } else {\n element.indeterminate = true;\n }\n });\n }\n\n setGrantCheckboxState() {\n const selectedAllPermissions = this.permissions.filter(per => per.isGranted);\n const checkboxElement = document.querySelector('#select-all-in-all-tabs') as any;\n\n if (selectedAllPermissions.length === this.permissions.length) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = true;\n } else if (selectedAllPermissions.length === 0) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = false;\n } else {\n checkboxElement.indeterminate = true;\n }\n }\n\n onClickSelectThisTab() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n permissions.forEach(permission => {\n if (permission.isGranted && this.isGrantedByRole(permission.grantedProviders)) return;\n\n const index = this.permissions.findIndex(per => per.name === permission.name);\n\n this.permissions = [\n ...this.permissions.slice(0, index),\n { ...this.permissions[index], isGranted: !this.selectThisTab },\n ...this.permissions.slice(index + 1),\n ];\n });\n });\n\n this.setGrantCheckboxState();\n }\n\n onClickSelectAll() {\n this.permissions = this.permissions.map(permission => ({ ...permission, isGranted: !this.selectAllTab }));\n\n this.selectThisTab = !this.selectAllTab;\n }\n\n onChangeGroup(group: PermissionManagement.Group) {\n this.selectedGroup = group;\n this.setTabCheckboxState();\n }\n\n onSubmit() {\n this.modalBusy = true;\n const unchangedPermissions = getPermissions(\n this.store.selectSnapshot(PermissionManagementState.getPermissionGroups),\n );\n\n const changedPermissions: PermissionManagement.MinimumPermission[] = this.permissions\n .filter(per =>\n unchangedPermissions.find(unchanged => unchanged.name === per.name).isGranted === per.isGranted ? false : true,\n )\n .map(({ name, isGranted }) => ({ name, isGranted }));\n\n if (changedPermissions.length) {\n this.store\n .dispatch(\n new UpdatePermissions({\n providerKey: this.providerKey,\n providerName: this.providerName,\n permissions: changedPermissions,\n }),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.visible = false;\n });\n } else {\n this.modalBusy = false;\n this.visible = false;\n }\n }\n\n openModal() {\n if (!this.providerKey || !this.providerName) {\n throw new Error('Provider Key and Provider Name are required.');\n }\n\n this.store\n .dispatch(new GetPermissions({ providerKey: this.providerKey, providerName: this.providerName }))\n .pipe(pluck('PermissionManagementState', 'permissionRes'))\n .subscribe((permissionRes: PermissionManagement.Response) => {\n this.selectedGroup = permissionRes.groups[0];\n this.permissions = getPermissions(permissionRes.groups);\n\n this.visible = true;\n });\n }\n\n initModal() {\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n\nfunction findMargin(permissions: PermissionManagement.Permission[], permission: PermissionManagement.Permission) {\n const parentPermission = permissions.find(per => per.name === permission.parentName);\n\n if (parentPermission && parentPermission.parentName) {\n let margin = 20;\n return (margin += findMargin(permissions, parentPermission));\n }\n\n return parentPermission ? 20 : 0;\n}\n\nfunction getPermissions(groups: PermissionManagement.Group[]): PermissionManagement.Permission[] {\n return groups.reduce((acc, val) => [...acc, ...val.permissions], []);\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { PermissionManagementComponent } from './components/permission-management.component';\nimport { PermissionManagementState } from './states/permission-management.state';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [PermissionManagementComponent],\n imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([PermissionManagementState]), PerfectScrollbarModule],\n exports: [PermissionManagementComponent],\n})\nexport class PermissionManagementModule {}\n","export namespace PermissionManagement {\n export interface State {\n permissionRes: Response;\n }\n\n export interface Response {\n entityDisplayName: string;\n groups: Group[];\n }\n\n export interface Group {\n name: string;\n displayName: string;\n permissions: Permission[];\n }\n\n export interface MinimumPermission {\n name: string;\n isGranted: boolean;\n }\n\n export interface Permission extends MinimumPermission {\n displayName: string;\n parentName: string;\n allowedProviders: string[];\n grantedProviders: GrantedProvider[];\n }\n\n export interface GrantedProvider {\n providerName: string;\n providerKey: string;\n }\n\n export interface UpdateRequest {\n permissions: MinimumPermission[];\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/fesm5/abp-ng.permission-management.js b/npm/ng-packs/dist/permission-management/fesm5/abp-ng.permission-management.js index e6d55b478b..78fb5d2943 100644 --- a/npm/ng-packs/dist/permission-management/fesm5/abp-ng.permission-management.js +++ b/npm/ng-packs/dist/permission-management/fesm5/abp-ng.permission-management.js @@ -1,6 +1,6 @@ import { RestService, CoreModule } from '@abp/ng.core'; import { ThemeSharedModule } from '@abp/ng.theme.shared'; -import { Injectable, ɵɵdefineInjectable, ɵɵinject, Component, Renderer2, Input, Output, EventEmitter, NgModule } from '@angular/core'; +import { Injectable, ɵɵdefineInjectable, ɵɵinject, EventEmitter, Component, Renderer2, Input, Output, NgModule } from '@angular/core'; import { Action, Selector, State, Store, Select, NgxsModule } from '@ngxs/store'; import { __decorate, __metadata, __assign, __spread } from 'tslib'; import { Observable } from 'rxjs'; @@ -18,6 +18,12 @@ var GetPermissions = /** @class */ (function () { GetPermissions.type = '[PermissionManagement] Get Permissions'; return GetPermissions; }()); +if (false) { + /** @type {?} */ + GetPermissions.type; + /** @type {?} */ + GetPermissions.prototype.payload; +} var UpdatePermissions = /** @class */ (function () { function UpdatePermissions(payload) { this.payload = payload; @@ -25,6 +31,12 @@ var UpdatePermissions = /** @class */ (function () { UpdatePermissions.type = '[PermissionManagement] Update Permissions'; return UpdatePermissions; }()); +if (false) { + /** @type {?} */ + UpdatePermissions.type; + /** @type {?} */ + UpdatePermissions.prototype.payload; +} /** * @fileoverview added by tsickle @@ -82,6 +94,13 @@ var PermissionManagementService = /** @class */ (function () { /** @nocollapse */ PermissionManagementService.ngInjectableDef = ɵɵdefineInjectable({ factory: function PermissionManagementService_Factory() { return new PermissionManagementService(ɵɵinject(RestService)); }, token: PermissionManagementService, providedIn: "root" }); return PermissionManagementService; }()); +if (false) { + /** + * @type {?} + * @private + */ + PermissionManagementService.prototype.rest; +} /** * @fileoverview added by tsickle @@ -185,6 +204,13 @@ var PermissionManagementState = /** @class */ (function () { ], PermissionManagementState); return PermissionManagementState; }()); +if (false) { + /** + * @type {?} + * @private + */ + PermissionManagementState.prototype.permissionManagementService; +} /** * @fileoverview added by tsickle @@ -198,6 +224,7 @@ var PermissionManagementComponent = /** @class */ (function () { this.permissions = []; this.selectThisTab = false; this.selectAllTab = false; + this.modalBusy = false; this.trackByFn = (/** * @param {?} _ * @param {?} item @@ -287,6 +314,24 @@ var PermissionManagementComponent = /** @class */ (function () { */ function (per) { return per.name === name; })) || { isGranted: false }).isGranted; }; + /** + * @param {?} grantedProviders + * @return {?} + */ + PermissionManagementComponent.prototype.isGrantedByRole = /** + * @param {?} grantedProviders + * @return {?} + */ + function (grantedProviders) { + if (grantedProviders.length) { + return grantedProviders.findIndex((/** + * @param {?} p + * @return {?} + */ + function (p) { return p.providerName === 'Role'; })) > -1; + } + return false; + }; /** * @param {?} clickedPermission * @param {?} value @@ -299,7 +344,7 @@ var PermissionManagementComponent = /** @class */ (function () { */ function (clickedPermission, value) { var _this = this; - if (clickedPermission.isGranted && clickedPermission.grantedProviders.length > 0) + if (clickedPermission.isGranted && this.isGrantedByRole(clickedPermission.grantedProviders)) return; setTimeout((/** * @return {?} @@ -404,7 +449,7 @@ var PermissionManagementComponent = /** @class */ (function () { * @return {?} */ function (permission) { - if (permission.isGranted && permission.grantedProviders.length > 0) + if (permission.isGranted && _this.isGrantedByRole(permission.grantedProviders)) return; /** @type {?} */ var index = _this.permissions.findIndex((/** @@ -454,6 +499,7 @@ var PermissionManagementComponent = /** @class */ (function () { */ function () { var _this = this; + this.modalBusy = true; /** @type {?} */ var unchangedPermissions = getPermissions(this.store.selectSnapshot(PermissionManagementState.getPermissionGroups)); /** @type {?} */ @@ -488,10 +534,12 @@ var PermissionManagementComponent = /** @class */ (function () { * @return {?} */ function () { + _this.modalBusy = false; _this.visible = false; })); } else { + this.modalBusy = false; this.visible = false; } }; @@ -551,7 +599,7 @@ var PermissionManagementComponent = /** @class */ (function () { PermissionManagementComponent.decorators = [ { type: Component, args: [{ selector: 'abp-permission-management', - template: "\n \n \n

{{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

\n
\n \n
\n \n \n
\n\n
\n
\n
\n
    \n \n
  • \n {{ group?.displayName }}\n
  • \n
    \n
\n
\n
\n

{{ selectedGroup.displayName }}

\n
\n
\n
\n \n \n
\n
\n \n \n 0\"\n />\n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
\n \n
\n
\n \n
\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
\n
\n" + template: "\n \n \n

{{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

\n
\n \n
\n \n \n
\n\n
\n
\n
\n
    \n \n
  • \n {{ group?.displayName }}\n
  • \n
    \n
\n
\n
\n

{{ selectedGroup.displayName }}

\n
\n
\n
\n \n \n
\n
\n \n \n \n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
\n \n
\n
\n \n
\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
\n
\n" }] } ]; /** @nocollapse */ @@ -575,6 +623,45 @@ var PermissionManagementComponent = /** @class */ (function () { ], PermissionManagementComponent.prototype, "entityName$", void 0); return PermissionManagementComponent; }()); +if (false) { + /** @type {?} */ + PermissionManagementComponent.prototype.providerName; + /** @type {?} */ + PermissionManagementComponent.prototype.providerKey; + /** + * @type {?} + * @protected + */ + PermissionManagementComponent.prototype._visible; + /** @type {?} */ + PermissionManagementComponent.prototype.visibleChange; + /** @type {?} */ + PermissionManagementComponent.prototype.groups$; + /** @type {?} */ + PermissionManagementComponent.prototype.entityName$; + /** @type {?} */ + PermissionManagementComponent.prototype.selectedGroup; + /** @type {?} */ + PermissionManagementComponent.prototype.permissions; + /** @type {?} */ + PermissionManagementComponent.prototype.selectThisTab; + /** @type {?} */ + PermissionManagementComponent.prototype.selectAllTab; + /** @type {?} */ + PermissionManagementComponent.prototype.modalBusy; + /** @type {?} */ + PermissionManagementComponent.prototype.trackByFn; + /** + * @type {?} + * @private + */ + PermissionManagementComponent.prototype.store; + /** + * @type {?} + * @private + */ + PermissionManagementComponent.prototype.renderer; +} /** * @param {?} permissions * @param {?} permission @@ -624,6 +711,16 @@ var PermissionManagementModule = /** @class */ (function () { return PermissionManagementModule; }()); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -635,37 +732,106 @@ var PermissionManagement; */ function State() { } PermissionManagement.State = State; + if (false) { + /** @type {?} */ + State.prototype.permissionRes; + } /** * @record */ function Response() { } PermissionManagement.Response = Response; + if (false) { + /** @type {?} */ + Response.prototype.entityDisplayName; + /** @type {?} */ + Response.prototype.groups; + } /** * @record */ function Group() { } PermissionManagement.Group = Group; + if (false) { + /** @type {?} */ + Group.prototype.name; + /** @type {?} */ + Group.prototype.displayName; + /** @type {?} */ + Group.prototype.permissions; + } /** * @record */ function MinimumPermission() { } PermissionManagement.MinimumPermission = MinimumPermission; + if (false) { + /** @type {?} */ + MinimumPermission.prototype.name; + /** @type {?} */ + MinimumPermission.prototype.isGranted; + } /** * @record */ function Permission() { } PermissionManagement.Permission = Permission; + if (false) { + /** @type {?} */ + Permission.prototype.displayName; + /** @type {?} */ + Permission.prototype.parentName; + /** @type {?} */ + Permission.prototype.allowedProviders; + /** @type {?} */ + Permission.prototype.grantedProviders; + } /** * @record */ function GrantedProvider() { } PermissionManagement.GrantedProvider = GrantedProvider; + if (false) { + /** @type {?} */ + GrantedProvider.prototype.providerName; + /** @type {?} */ + GrantedProvider.prototype.providerKey; + } /** * @record */ function UpdateRequest() { } PermissionManagement.UpdateRequest = UpdateRequest; + if (false) { + /** @type {?} */ + UpdateRequest.prototype.permissions; + } })(PermissionManagement || (PermissionManagement = {})); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + export { GetPermissions, PermissionManagementComponent, PermissionManagementModule, PermissionManagementService, PermissionManagementState, UpdatePermissions, PermissionManagementComponent as ɵa, PermissionManagementState as ɵb, PermissionManagementService as ɵc, GetPermissions as ɵd, UpdatePermissions as ɵe }; //# sourceMappingURL=abp-ng.permission-management.js.map diff --git a/npm/ng-packs/dist/permission-management/fesm5/abp-ng.permission-management.js.map b/npm/ng-packs/dist/permission-management/fesm5/abp-ng.permission-management.js.map index 49c69bc593..dbc74fdd13 100644 --- a/npm/ng-packs/dist/permission-management/fesm5/abp-ng.permission-management.js.map +++ b/npm/ng-packs/dist/permission-management/fesm5/abp-ng.permission-management.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.permission-management.js","sources":["ng://@abp/ng.permission-management/lib/actions/permission-management.actions.ts","ng://@abp/ng.permission-management/lib/services/permission-management.service.ts","ng://@abp/ng.permission-management/lib/states/permission-management.state.ts","ng://@abp/ng.permission-management/lib/components/permission-management.component.ts","ng://@abp/ng.permission-management/lib/permission-management.module.ts","ng://@abp/ng.permission-management/lib/models/permission-management.ts"],"sourcesContent":["import { PermissionManagement } from '../models/permission-management';\n\nexport class GetPermissions {\n static readonly type = '[PermissionManagement] Get Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider) {}\n}\n\nexport class UpdatePermissions {\n static readonly type = '[PermissionManagement] Update Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest) {}\n}\n","import { Injectable } from '@angular/core';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { Observable } from 'rxjs';\nimport { PermissionManagement } from '../models/permission-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionManagementService {\n constructor(private rest: RestService) {}\n\n getPermissions(params: PermissionManagement.GrantedProvider): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/permissions',\n params,\n };\n\n return this.rest.request(request);\n }\n\n updatePermissions({\n permissions,\n providerKey,\n providerName,\n }: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/abp/permissions',\n body: { permissions },\n params: { providerKey, providerName },\n };\n\n return this.rest.request(request);\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementService } from '../services/permission-management.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'PermissionManagementState',\n defaults: { permissionRes: {} } as PermissionManagement.State,\n})\nexport class PermissionManagementState {\n @Selector()\n static getPermissionGroups({ permissionRes }: PermissionManagement.State) {\n return permissionRes.groups || [];\n }\n\n @Selector()\n static getEntitiyDisplayName({ permissionRes }: PermissionManagement.State): string {\n return permissionRes.entityDisplayName;\n }\n\n constructor(private permissionManagementService: PermissionManagementService) {}\n\n @Action(GetPermissions)\n permissionManagementGet({ patchState }: StateContext, { payload }: GetPermissions) {\n return this.permissionManagementService.getPermissions(payload).pipe(\n tap(permissionResponse =>\n patchState({\n permissionRes: permissionResponse,\n }),\n ),\n );\n }\n\n @Action(UpdatePermissions)\n permissionManagementUpdate(_, { payload }: UpdatePermissions) {\n return this.permissionManagementService.updatePermissions(payload);\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n Renderer2,\n SimpleChanges,\n TrackByFunction,\n} from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { from, Observable } from 'rxjs';\nimport { map, pluck, take } from 'rxjs/operators';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementState } from '../states/permission-management.state';\n\ntype PermissionWithMargin = PermissionManagement.Permission & { margin: number };\n\n@Component({\n selector: 'abp-permission-management',\n templateUrl: './permission-management.component.html',\n})\nexport class PermissionManagementComponent implements OnInit, OnChanges {\n @Input()\n providerName: string;\n\n @Input()\n providerKey: string;\n\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n if (!this.selectedGroup) return;\n\n this._visible = value;\n this.visibleChange.emit(value);\n\n if (!value) {\n this.selectedGroup = null;\n }\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(PermissionManagementState.getPermissionGroups)\n groups$: Observable;\n\n @Select(PermissionManagementState.getEntitiyDisplayName)\n entityName$: Observable;\n\n selectedGroup: PermissionManagement.Group;\n\n permissions: PermissionManagement.Permission[] = [];\n\n selectThisTab: boolean = false;\n\n selectAllTab: boolean = false;\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n get selectedGroupPermissions$(): Observable {\n return this.groups$.pipe(\n map(groups =>\n this.selectedGroup ? groups.find(group => group.name === this.selectedGroup.name).permissions : [],\n ),\n map(permissions =>\n permissions.map(\n permission =>\n (({\n ...permission,\n margin: findMargin(permissions, permission),\n isGranted: this.permissions.find(per => per.name === permission.name).isGranted,\n } as any) as PermissionWithMargin),\n ),\n ),\n );\n }\n\n constructor(private store: Store, private renderer: Renderer2) {}\n\n ngOnInit(): void {}\n\n getChecked(name: string) {\n return (this.permissions.find(per => per.name === name) || { isGranted: false }).isGranted;\n }\n\n onClickCheckbox(clickedPermission: PermissionManagement.Permission, value) {\n if (clickedPermission.isGranted && clickedPermission.grantedProviders.length > 0) return;\n\n setTimeout(() => {\n this.permissions = this.permissions.map(per => {\n if (clickedPermission.name === per.name) {\n return { ...per, isGranted: !per.isGranted };\n } else if (clickedPermission.name === per.parentName && clickedPermission.isGranted) {\n return { ...per, isGranted: false };\n } else if (clickedPermission.parentName === per.name && !clickedPermission.isGranted) {\n return { ...per, isGranted: true };\n }\n\n return per;\n });\n\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }, 0);\n }\n\n setTabCheckboxState() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n const selectedPermissions = permissions.filter(per => per.isGranted);\n const element = document.querySelector('#select-all-in-this-tabs') as any;\n\n if (selectedPermissions.length === permissions.length) {\n element.indeterminate = false;\n this.selectThisTab = true;\n } else if (selectedPermissions.length === 0) {\n element.indeterminate = false;\n this.selectThisTab = false;\n } else {\n element.indeterminate = true;\n }\n });\n }\n\n setGrantCheckboxState() {\n const selectedAllPermissions = this.permissions.filter(per => per.isGranted);\n const checkboxElement = document.querySelector('#select-all-in-all-tabs') as any;\n\n if (selectedAllPermissions.length === this.permissions.length) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = true;\n } else if (selectedAllPermissions.length === 0) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = false;\n } else {\n checkboxElement.indeterminate = true;\n }\n }\n\n onClickSelectThisTab() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n permissions.forEach(permission => {\n if (permission.isGranted && permission.grantedProviders.length > 0) return;\n\n const index = this.permissions.findIndex(per => per.name === permission.name);\n\n this.permissions = [\n ...this.permissions.slice(0, index),\n { ...this.permissions[index], isGranted: !this.selectThisTab },\n ...this.permissions.slice(index + 1),\n ];\n });\n });\n\n this.setGrantCheckboxState();\n }\n\n onClickSelectAll() {\n this.permissions = this.permissions.map(permission => ({ ...permission, isGranted: !this.selectAllTab }));\n\n this.selectThisTab = !this.selectAllTab;\n }\n\n onChangeGroup(group: PermissionManagement.Group) {\n this.selectedGroup = group;\n this.setTabCheckboxState();\n }\n\n onSubmit() {\n const unchangedPermissions = getPermissions(\n this.store.selectSnapshot(PermissionManagementState.getPermissionGroups),\n );\n\n const changedPermissions: PermissionManagement.MinimumPermission[] = this.permissions\n .filter(per =>\n unchangedPermissions.find(unchanged => unchanged.name === per.name).isGranted === per.isGranted ? false : true,\n )\n .map(({ name, isGranted }) => ({ name, isGranted }));\n\n if (changedPermissions.length) {\n this.store\n .dispatch(\n new UpdatePermissions({\n providerKey: this.providerKey,\n providerName: this.providerName,\n permissions: changedPermissions,\n }),\n )\n .subscribe(() => {\n this.visible = false;\n });\n } else {\n this.visible = false;\n }\n }\n\n openModal() {\n if (!this.providerKey || !this.providerName) {\n throw new Error('Provider Key and Provider Name are required.');\n }\n\n this.store\n .dispatch(new GetPermissions({ providerKey: this.providerKey, providerName: this.providerName }))\n .pipe(pluck('PermissionManagementState', 'permissionRes'))\n .subscribe((permissionRes: PermissionManagement.Response) => {\n this.selectedGroup = permissionRes.groups[0];\n this.permissions = getPermissions(permissionRes.groups);\n\n this.visible = true;\n });\n }\n\n initModal() {\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n\nfunction findMargin(permissions: PermissionManagement.Permission[], permission: PermissionManagement.Permission) {\n const parentPermission = permissions.find(per => per.name === permission.parentName);\n\n if (parentPermission && parentPermission.parentName) {\n let margin = 20;\n return (margin += findMargin(permissions, parentPermission));\n }\n\n return parentPermission ? 20 : 0;\n}\n\nfunction getPermissions(groups: PermissionManagement.Group[]): PermissionManagement.Permission[] {\n return groups.reduce((acc, val) => [...acc, ...val.permissions], []);\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { PermissionManagementComponent } from './components/permission-management.component';\nimport { PermissionManagementState } from './states/permission-management.state';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [PermissionManagementComponent],\n imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([PermissionManagementState]), PerfectScrollbarModule],\n exports: [PermissionManagementComponent],\n})\nexport class PermissionManagementModule {}\n","export namespace PermissionManagement {\n export interface State {\n permissionRes: Response;\n }\n\n export interface Response {\n entityDisplayName: string;\n groups: Group[];\n }\n\n export interface Group {\n name: string;\n displayName: string;\n permissions: Permission[];\n }\n\n export interface MinimumPermission {\n name: string;\n isGranted: boolean;\n }\n\n export interface Permission extends MinimumPermission {\n displayName: string;\n parentName: string;\n allowedProviders: string[];\n grantedProviders: GrantedProvider[];\n }\n\n export interface GrantedProvider {\n providerName: string;\n providerKey: string;\n }\n\n export interface UpdateRequest {\n permissions: MinimumPermission[];\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.permission-management.js","sources":["ng://@abp/ng.permission-management/lib/actions/permission-management.actions.ts","ng://@abp/ng.permission-management/lib/services/permission-management.service.ts","ng://@abp/ng.permission-management/lib/states/permission-management.state.ts","ng://@abp/ng.permission-management/lib/components/permission-management.component.ts","ng://@abp/ng.permission-management/lib/permission-management.module.ts","ng://@abp/ng.permission-management/lib/models/permission-management.ts"],"sourcesContent":["import { PermissionManagement } from '../models/permission-management';\n\nexport class GetPermissions {\n static readonly type = '[PermissionManagement] Get Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider) {}\n}\n\nexport class UpdatePermissions {\n static readonly type = '[PermissionManagement] Update Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest) {}\n}\n","import { Injectable } from '@angular/core';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { Observable } from 'rxjs';\nimport { PermissionManagement } from '../models/permission-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionManagementService {\n constructor(private rest: RestService) {}\n\n getPermissions(params: PermissionManagement.GrantedProvider): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/permissions',\n params,\n };\n\n return this.rest.request(request);\n }\n\n updatePermissions({\n permissions,\n providerKey,\n providerName,\n }: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/abp/permissions',\n body: { permissions },\n params: { providerKey, providerName },\n };\n\n return this.rest.request(request);\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementService } from '../services/permission-management.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'PermissionManagementState',\n defaults: { permissionRes: {} } as PermissionManagement.State,\n})\nexport class PermissionManagementState {\n @Selector()\n static getPermissionGroups({ permissionRes }: PermissionManagement.State) {\n return permissionRes.groups || [];\n }\n\n @Selector()\n static getEntitiyDisplayName({ permissionRes }: PermissionManagement.State): string {\n return permissionRes.entityDisplayName;\n }\n\n constructor(private permissionManagementService: PermissionManagementService) {}\n\n @Action(GetPermissions)\n permissionManagementGet({ patchState }: StateContext, { payload }: GetPermissions) {\n return this.permissionManagementService.getPermissions(payload).pipe(\n tap(permissionResponse =>\n patchState({\n permissionRes: permissionResponse,\n }),\n ),\n );\n }\n\n @Action(UpdatePermissions)\n permissionManagementUpdate(_, { payload }: UpdatePermissions) {\n return this.permissionManagementService.updatePermissions(payload);\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n Renderer2,\n SimpleChanges,\n TrackByFunction,\n} from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { from, Observable } from 'rxjs';\nimport { map, pluck, take } from 'rxjs/operators';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementState } from '../states/permission-management.state';\n\ntype PermissionWithMargin = PermissionManagement.Permission & { margin: number };\n\n@Component({\n selector: 'abp-permission-management',\n templateUrl: './permission-management.component.html',\n})\nexport class PermissionManagementComponent implements OnInit, OnChanges {\n @Input()\n providerName: string;\n\n @Input()\n providerKey: string;\n\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n if (!this.selectedGroup) return;\n\n this._visible = value;\n this.visibleChange.emit(value);\n\n if (!value) {\n this.selectedGroup = null;\n }\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(PermissionManagementState.getPermissionGroups)\n groups$: Observable;\n\n @Select(PermissionManagementState.getEntitiyDisplayName)\n entityName$: Observable;\n\n selectedGroup: PermissionManagement.Group;\n\n permissions: PermissionManagement.Permission[] = [];\n\n selectThisTab: boolean = false;\n\n selectAllTab: boolean = false;\n\n modalBusy: boolean = false;\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n get selectedGroupPermissions$(): Observable {\n return this.groups$.pipe(\n map(groups =>\n this.selectedGroup ? groups.find(group => group.name === this.selectedGroup.name).permissions : [],\n ),\n map(permissions =>\n permissions.map(\n permission =>\n (({\n ...permission,\n margin: findMargin(permissions, permission),\n isGranted: this.permissions.find(per => per.name === permission.name).isGranted,\n } as any) as PermissionWithMargin),\n ),\n ),\n );\n }\n\n constructor(private store: Store, private renderer: Renderer2) {}\n\n ngOnInit(): void {}\n\n getChecked(name: string) {\n return (this.permissions.find(per => per.name === name) || { isGranted: false }).isGranted;\n }\n\n isGrantedByRole(grantedProviders: PermissionManagement.GrantedProvider[]): boolean {\n if (grantedProviders.length) {\n return grantedProviders.findIndex(p => p.providerName === 'Role') > -1;\n }\n return false;\n }\n\n onClickCheckbox(clickedPermission: PermissionManagement.Permission, value) {\n if (clickedPermission.isGranted && this.isGrantedByRole(clickedPermission.grantedProviders)) return;\n\n setTimeout(() => {\n this.permissions = this.permissions.map(per => {\n if (clickedPermission.name === per.name) {\n return { ...per, isGranted: !per.isGranted };\n } else if (clickedPermission.name === per.parentName && clickedPermission.isGranted) {\n return { ...per, isGranted: false };\n } else if (clickedPermission.parentName === per.name && !clickedPermission.isGranted) {\n return { ...per, isGranted: true };\n }\n\n return per;\n });\n\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }, 0);\n }\n\n setTabCheckboxState() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n const selectedPermissions = permissions.filter(per => per.isGranted);\n const element = document.querySelector('#select-all-in-this-tabs') as any;\n\n if (selectedPermissions.length === permissions.length) {\n element.indeterminate = false;\n this.selectThisTab = true;\n } else if (selectedPermissions.length === 0) {\n element.indeterminate = false;\n this.selectThisTab = false;\n } else {\n element.indeterminate = true;\n }\n });\n }\n\n setGrantCheckboxState() {\n const selectedAllPermissions = this.permissions.filter(per => per.isGranted);\n const checkboxElement = document.querySelector('#select-all-in-all-tabs') as any;\n\n if (selectedAllPermissions.length === this.permissions.length) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = true;\n } else if (selectedAllPermissions.length === 0) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = false;\n } else {\n checkboxElement.indeterminate = true;\n }\n }\n\n onClickSelectThisTab() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n permissions.forEach(permission => {\n if (permission.isGranted && this.isGrantedByRole(permission.grantedProviders)) return;\n\n const index = this.permissions.findIndex(per => per.name === permission.name);\n\n this.permissions = [\n ...this.permissions.slice(0, index),\n { ...this.permissions[index], isGranted: !this.selectThisTab },\n ...this.permissions.slice(index + 1),\n ];\n });\n });\n\n this.setGrantCheckboxState();\n }\n\n onClickSelectAll() {\n this.permissions = this.permissions.map(permission => ({ ...permission, isGranted: !this.selectAllTab }));\n\n this.selectThisTab = !this.selectAllTab;\n }\n\n onChangeGroup(group: PermissionManagement.Group) {\n this.selectedGroup = group;\n this.setTabCheckboxState();\n }\n\n onSubmit() {\n this.modalBusy = true;\n const unchangedPermissions = getPermissions(\n this.store.selectSnapshot(PermissionManagementState.getPermissionGroups),\n );\n\n const changedPermissions: PermissionManagement.MinimumPermission[] = this.permissions\n .filter(per =>\n unchangedPermissions.find(unchanged => unchanged.name === per.name).isGranted === per.isGranted ? false : true,\n )\n .map(({ name, isGranted }) => ({ name, isGranted }));\n\n if (changedPermissions.length) {\n this.store\n .dispatch(\n new UpdatePermissions({\n providerKey: this.providerKey,\n providerName: this.providerName,\n permissions: changedPermissions,\n }),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.visible = false;\n });\n } else {\n this.modalBusy = false;\n this.visible = false;\n }\n }\n\n openModal() {\n if (!this.providerKey || !this.providerName) {\n throw new Error('Provider Key and Provider Name are required.');\n }\n\n this.store\n .dispatch(new GetPermissions({ providerKey: this.providerKey, providerName: this.providerName }))\n .pipe(pluck('PermissionManagementState', 'permissionRes'))\n .subscribe((permissionRes: PermissionManagement.Response) => {\n this.selectedGroup = permissionRes.groups[0];\n this.permissions = getPermissions(permissionRes.groups);\n\n this.visible = true;\n });\n }\n\n initModal() {\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n\nfunction findMargin(permissions: PermissionManagement.Permission[], permission: PermissionManagement.Permission) {\n const parentPermission = permissions.find(per => per.name === permission.parentName);\n\n if (parentPermission && parentPermission.parentName) {\n let margin = 20;\n return (margin += findMargin(permissions, parentPermission));\n }\n\n return parentPermission ? 20 : 0;\n}\n\nfunction getPermissions(groups: PermissionManagement.Group[]): PermissionManagement.Permission[] {\n return groups.reduce((acc, val) => [...acc, ...val.permissions], []);\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { PermissionManagementComponent } from './components/permission-management.component';\nimport { PermissionManagementState } from './states/permission-management.state';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [PermissionManagementComponent],\n imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([PermissionManagementState]), PerfectScrollbarModule],\n exports: [PermissionManagementComponent],\n})\nexport class PermissionManagementModule {}\n","export namespace PermissionManagement {\n export interface State {\n permissionRes: Response;\n }\n\n export interface Response {\n entityDisplayName: string;\n groups: Group[];\n }\n\n export interface Group {\n name: string;\n displayName: string;\n permissions: Permission[];\n }\n\n export interface MinimumPermission {\n name: string;\n isGranted: boolean;\n }\n\n export interface Permission extends MinimumPermission {\n displayName: string;\n parentName: string;\n allowedProviders: string[];\n grantedProviders: GrantedProvider[];\n }\n\n export interface GrantedProvider {\n providerName: string;\n providerKey: string;\n }\n\n export interface UpdateRequest {\n permissions: MinimumPermission[];\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/lib/components/permission-management.component.d.ts b/npm/ng-packs/dist/permission-management/lib/components/permission-management.component.d.ts index e444eb9871..570fdc3590 100644 --- a/npm/ng-packs/dist/permission-management/lib/components/permission-management.component.d.ts +++ b/npm/ng-packs/dist/permission-management/lib/components/permission-management.component.d.ts @@ -19,11 +19,13 @@ export declare class PermissionManagementComponent implements OnInit, OnChanges permissions: PermissionManagement.Permission[]; selectThisTab: boolean; selectAllTab: boolean; + modalBusy: boolean; trackByFn: TrackByFunction; readonly selectedGroupPermissions$: Observable; constructor(store: Store, renderer: Renderer2); ngOnInit(): void; getChecked(name: string): boolean; + isGrantedByRole(grantedProviders: PermissionManagement.GrantedProvider[]): boolean; onClickCheckbox(clickedPermission: PermissionManagement.Permission, value: any): void; setTabCheckboxState(): void; setGrantCheckboxState(): void; diff --git a/npm/ng-packs/dist/tenant-management/abp-ng.tenant-management.metadata.json b/npm/ng-packs/dist/tenant-management/abp-ng.tenant-management.metadata.json index 6b888208cc..f3dccc061f 100644 --- a/npm/ng-packs/dist/tenant-management/abp-ng.tenant-management.metadata.json +++ b/npm/ng-packs/dist/tenant-management/abp-ng.tenant-management.metadata.json @@ -1 +1 @@ -{"__symbolic":"module","version":4,"exports":[{"from":"./lib/tenant-management.state"}],"metadata":{"TenantManagementModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":10,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵa"}],"imports":[{"__symbolic":"reference","name":"ɵj"},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"NgxsModule","line":14,"character":4},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"ɵb"}]]},{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":15,"character":4},{"__symbolic":"reference","module":"primeng/table","name":"TableModule","line":16,"character":4},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ThemeSharedModule","line":17,"character":4},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbDropdownModule","line":18,"character":4}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":23,"character":1},"arguments":[{"selector":"abp-tenants","template":"
\n
\n
\n
\n
\n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
\n
\n
\n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
\n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
\n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::ConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
\n
\n \n {{ data.name }}\n \n
\n \n
\n
\n\n\n \n

{{ selectedModalContent.title | abpLocalization }}

\n
\n\n \n \n \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
\n\n\n
\n
\n
\n \n \n
\n
\n
\n
\n\n\n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n"}]}],"members":{"data$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":28,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵb"},"member":"get"}]}]}],"totalCount$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":31,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵb"},"member":"getTenantsTotalCount"}]}]}],"tenantModalTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":62,"character":3},"arguments":["tenantModalTemplate",{"static":false}]}]}],"connectionStringModalTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":65,"character":3},"arguments":["connectionStringModalTemplate",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ConfirmationService","line":69,"character":33},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":71,"character":16},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":72,"character":19}]}],"onSearch":[{"__symbolic":"method"}],"createTenantForm":[{"__symbolic":"method"}],"createDefaultConnectionStringForm":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"onEditConnectionString":[{"__symbolic":"method"}],"onAddTenant":[{"__symbolic":"method"}],"onEditTenant":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"saveConnectionString":[{"__symbolic":"method"}],"saveTenant":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"onPageChange":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":13,"character":1},"arguments":[{"name":"TenantManagementState","defaults":{"result":{},"selectedItem":{}}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"}]}],"get":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":30,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵd"}]}]}],"getById":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":41,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵe"}]}]}],"delete":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":52,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵh"}]}]}],"add":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":57,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵf"}]}]}],"update":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":62,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵg"}]}]}]},"statics":{"get":{"__symbolic":"function","parameters":["result"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"result"},"member":"items"},"right":[]}},"getTenantsTotalCount":{"__symbolic":"function","parameters":["result"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"result"},"member":"totalCount"}}}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.core","name":"RestService","line":9,"character":28}]}],"getTenant":[{"__symbolic":"method"}],"getTenantById":[{"__symbolic":"method"}],"deleteTenant":[{"__symbolic":"method"}],"createTenant":[{"__symbolic":"method"}],"updateTenant":[{"__symbolic":"method"}],"getDefaultConnectionString":[{"__symbolic":"method"}],"updateDefaultConnectionString":[{"__symbolic":"method"}],"deleteDefaultConnectionString":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵd":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ABP","line":5,"character":31},"member":"PageQueryParams"}]}]},"statics":{"type":"[TenantManagement] Get Tenant"}},"ɵe":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[TenantManagement] Get Tenant By Id"}},"ɵf":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵi"},"member":"AddRequest"}]}]},"statics":{"type":"[TenantManagement] Create Tenant"}},"ɵg":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵi"},"member":"UpdateRequest"}]}]},"statics":{"type":"[TenantManagement] Update Tenant"}},"ɵh":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[TenantManagement] Delete Tenant"}},"ɵj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":17,"character":1},"arguments":[{"imports":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":18,"character":12},"member":"forChild"},"arguments":[[{"path":"","redirectTo":"tenants","pathMatch":"full"},{"path":"tenants","component":{"__symbolic":"reference","module":"@abp/ng.core","name":"DynamicLayoutComponent","line":10,"character":15},"canActivate":[{"__symbolic":"reference","module":"@abp/ng.core","name":"AuthGuard","line":11,"character":18},{"__symbolic":"reference","module":"@abp/ng.core","name":"PermissionGuard","line":11,"character":29}],"data":{"requiredPolicy":"AbpTenantManagement.Tenants"},"children":[{"path":"","component":{"__symbolic":"reference","name":"ɵa"},"resolve":[{"__symbolic":"reference","name":"ɵk"}]}]}]]}],"exports":[{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":19,"character":12}],"providers":[{"__symbolic":"reference","name":"ɵk"}]}]}],"members":{}},"ɵk":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":9,"character":29}]}],"resolve":[{"__symbolic":"method"}]}}},"origins":{"TenantManagementModule":"./lib/tenant-management.module","ɵa":"./lib/components/tenants/tenants.component","ɵb":"./lib/states/tenant-management.state","ɵc":"./lib/services/tenant-management.service","ɵd":"./lib/actions/tenant-management.actions","ɵe":"./lib/actions/tenant-management.actions","ɵf":"./lib/actions/tenant-management.actions","ɵg":"./lib/actions/tenant-management.actions","ɵh":"./lib/actions/tenant-management.actions","ɵi":"./lib/models/tenant-management","ɵj":"./lib/tenant-management-routing.module","ɵk":"./lib/resolvers/tenants.resolver"},"importAs":"@abp/ng.tenant-management"} \ No newline at end of file +{"__symbolic":"module","version":4,"exports":[{"from":"./lib/tenant-management.state"}],"metadata":{"TenantManagementModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":10,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵa"}],"imports":[{"__symbolic":"reference","name":"ɵj"},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"NgxsModule","line":14,"character":4},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"ɵb"}]]},{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":15,"character":4},{"__symbolic":"reference","module":"primeng/table","name":"TableModule","line":16,"character":4},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ThemeSharedModule","line":17,"character":4},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbDropdownModule","line":18,"character":4}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":23,"character":1},"arguments":[{"selector":"abp-tenants","template":"
\n
\n
\n
\n
\n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
\n
\n
\n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
\n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
\n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::ConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
\n
\n \n {{ data.name }}\n \n
\n \n
\n
\n\n\n \n

{{ selectedModalContent.title | abpLocalization }}

\n
\n\n \n \n \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
\n\n\n
\n
\n
\n \n \n
\n
\n
\n
\n\n\n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n"}]}],"members":{"data$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":28,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵb"},"member":"get"}]}]}],"totalCount$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":31,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵb"},"member":"getTenantsTotalCount"}]}]}],"tenantModalTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":64,"character":3},"arguments":["tenantModalTemplate",{"static":false}]}]}],"connectionStringModalTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":67,"character":3},"arguments":["connectionStringModalTemplate",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ConfirmationService","line":71,"character":33},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":73,"character":16},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":74,"character":19}]}],"onSearch":[{"__symbolic":"method"}],"createTenantForm":[{"__symbolic":"method"}],"createDefaultConnectionStringForm":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"onEditConnectionString":[{"__symbolic":"method"}],"onAddTenant":[{"__symbolic":"method"}],"onEditTenant":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"saveConnectionString":[{"__symbolic":"method"}],"saveTenant":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"onPageChange":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":13,"character":1},"arguments":[{"name":"TenantManagementState","defaults":{"result":{},"selectedItem":{}}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"}]}],"get":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":30,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵd"}]}]}],"getById":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":41,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵe"}]}]}],"delete":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":52,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵh"}]}]}],"add":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":57,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵf"}]}]}],"update":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":62,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵg"}]}]}]},"statics":{"get":{"__symbolic":"function","parameters":["result"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"result"},"member":"items"},"right":[]}},"getTenantsTotalCount":{"__symbolic":"function","parameters":["result"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"result"},"member":"totalCount"}}}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.core","name":"RestService","line":9,"character":28}]}],"getTenant":[{"__symbolic":"method"}],"getTenantById":[{"__symbolic":"method"}],"deleteTenant":[{"__symbolic":"method"}],"createTenant":[{"__symbolic":"method"}],"updateTenant":[{"__symbolic":"method"}],"getDefaultConnectionString":[{"__symbolic":"method"}],"updateDefaultConnectionString":[{"__symbolic":"method"}],"deleteDefaultConnectionString":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵd":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ABP","line":5,"character":31},"member":"PageQueryParams"}]}]},"statics":{"type":"[TenantManagement] Get Tenant"}},"ɵe":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[TenantManagement] Get Tenant By Id"}},"ɵf":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵi"},"member":"AddRequest"}]}]},"statics":{"type":"[TenantManagement] Create Tenant"}},"ɵg":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵi"},"member":"UpdateRequest"}]}]},"statics":{"type":"[TenantManagement] Update Tenant"}},"ɵh":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[TenantManagement] Delete Tenant"}},"ɵj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":17,"character":1},"arguments":[{"imports":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":18,"character":12},"member":"forChild"},"arguments":[[{"path":"","redirectTo":"tenants","pathMatch":"full"},{"path":"tenants","component":{"__symbolic":"reference","module":"@abp/ng.core","name":"DynamicLayoutComponent","line":10,"character":15},"canActivate":[{"__symbolic":"reference","module":"@abp/ng.core","name":"AuthGuard","line":11,"character":18},{"__symbolic":"reference","module":"@abp/ng.core","name":"PermissionGuard","line":11,"character":29}],"data":{"requiredPolicy":"AbpTenantManagement.Tenants"},"children":[{"path":"","component":{"__symbolic":"reference","name":"ɵa"},"resolve":[{"__symbolic":"reference","name":"ɵk"}]}]}]]}],"exports":[{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":19,"character":12}],"providers":[{"__symbolic":"reference","name":"ɵk"}]}]}],"members":{}},"ɵk":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":9,"character":29}]}],"resolve":[{"__symbolic":"method"}]}}},"origins":{"TenantManagementModule":"./lib/tenant-management.module","ɵa":"./lib/components/tenants/tenants.component","ɵb":"./lib/states/tenant-management.state","ɵc":"./lib/services/tenant-management.service","ɵd":"./lib/actions/tenant-management.actions","ɵe":"./lib/actions/tenant-management.actions","ɵf":"./lib/actions/tenant-management.actions","ɵg":"./lib/actions/tenant-management.actions","ɵh":"./lib/actions/tenant-management.actions","ɵi":"./lib/models/tenant-management","ɵj":"./lib/tenant-management-routing.module","ɵk":"./lib/resolvers/tenants.resolver"},"importAs":"@abp/ng.tenant-management"} \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.js b/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.js index 028b8bf454..2260d7c7e5 100644 --- a/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.js +++ b/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.js @@ -18,6 +18,20 @@ See the Apache Version 2.0 License for specific language governing permissions and limitations under the License. ***************************************************************************** */ + /* global Reflect, Promise */ + + var extendStatics = function(d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + + function __extends(d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + } var __assign = function() { __assign = Object.assign || function __assign(t) { @@ -30,6 +44,18 @@ return __assign.apply(this, arguments); }; + function __rest(s, e) { + var t = {}; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; + } + function __decorate(decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -37,8 +63,142 @@ return c > 3 && r && Object.defineProperty(target, key, r), r; } + function __param(paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } + } + function __metadata(metadataKey, metadataValue) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); + } + + function __awaiter(thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + } + + function __generator(thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + 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; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } + } + + function __exportStar(m, exports) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + + function __values(o) { + var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0; + if (m) return m.call(o); + return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + } + + function __read(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } + catch (error) { e = { error: error }; } + finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } + finally { if (e) throw e.error; } + } + return ar; + } + + function __spread() { + for (var ar = [], i = 0; i < arguments.length; i++) + ar = ar.concat(__read(arguments[i])); + return ar; + } + + function __spreadArrays() { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; + }; + + function __await(v) { + return this instanceof __await ? (this.v = v, this) : new __await(v); + } + + function __asyncGenerator(thisArg, _arguments, generator) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var g = generator.apply(thisArg, _arguments || []), i, q = []; + return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; + 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); }); }; } + function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } + function fulfill(value) { resume("next", value); } + function reject(value) { resume("throw", value); } + function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } + } + + function __asyncDelegator(o) { + var i, p; + return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; + 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; } + } + + function __asyncValues(o) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var m = o[Symbol.asyncIterator], i; + 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); + 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); }); }; } + function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } + } + + function __makeTemplateObject(cooked, raw) { + if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + return cooked; + }; + + function __importStar(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result.default = mod; + return result; + } + + function __importDefault(mod) { + return (mod && mod.__esModule) ? mod : { default: mod }; } /** @@ -52,6 +212,12 @@ GetTenants.type = '[TenantManagement] Get Tenant'; return GetTenants; }()); + if (false) { + /** @type {?} */ + GetTenants.type; + /** @type {?} */ + GetTenants.prototype.payload; + } var GetTenantById = /** @class */ (function () { function GetTenantById(payload) { this.payload = payload; @@ -59,6 +225,12 @@ GetTenantById.type = '[TenantManagement] Get Tenant By Id'; return GetTenantById; }()); + if (false) { + /** @type {?} */ + GetTenantById.type; + /** @type {?} */ + GetTenantById.prototype.payload; + } var CreateTenant = /** @class */ (function () { function CreateTenant(payload) { this.payload = payload; @@ -66,6 +238,12 @@ CreateTenant.type = '[TenantManagement] Create Tenant'; return CreateTenant; }()); + if (false) { + /** @type {?} */ + CreateTenant.type; + /** @type {?} */ + CreateTenant.prototype.payload; + } var UpdateTenant = /** @class */ (function () { function UpdateTenant(payload) { this.payload = payload; @@ -73,6 +251,12 @@ UpdateTenant.type = '[TenantManagement] Update Tenant'; return UpdateTenant; }()); + if (false) { + /** @type {?} */ + UpdateTenant.type; + /** @type {?} */ + UpdateTenant.prototype.payload; + } var DeleteTenant = /** @class */ (function () { function DeleteTenant(payload) { this.payload = payload; @@ -80,6 +264,12 @@ DeleteTenant.type = '[TenantManagement] Delete Tenant'; return DeleteTenant; }()); + if (false) { + /** @type {?} */ + DeleteTenant.type; + /** @type {?} */ + DeleteTenant.prototype.payload; + } /** * @fileoverview added by tsickle @@ -244,6 +434,13 @@ /** @nocollapse */ TenantManagementService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function TenantManagementService_Factory() { return new TenantManagementService(core.ɵɵinject(ng_core.RestService)); }, token: TenantManagementService, providedIn: "root" }); return TenantManagementService; }()); + if (false) { + /** + * @type {?} + * @private + */ + TenantManagementService.prototype.rest; + } /** * @fileoverview added by tsickle @@ -432,6 +629,13 @@ ], TenantManagementState); return TenantManagementState; }()); + if (false) { + /** + * @type {?} + * @private + */ + TenantManagementState.prototype.tenantManagementService; + } /** * @fileoverview added by tsickle @@ -448,6 +652,7 @@ sorting: 'name', }; this.loading = false; + this.modalBusy = false; } Object.defineProperty(TenantsComponent.prototype, "useSharedDatabase", { get: /** @@ -616,6 +821,7 @@ */ function () { var _this = this; + this.modalBusy = true; if (this.useSharedDatabase) { this.tenantService .deleteDefaultConnectionString(this.selected.id) @@ -624,6 +830,7 @@ * @return {?} */ function () { + _this.modalBusy = false; _this.isModalVisible = false; })); } @@ -635,6 +842,7 @@ * @return {?} */ function () { + _this.modalBusy = false; _this.isModalVisible = false; })); } @@ -649,6 +857,7 @@ var _this = this; if (!this.tenantForm.valid) return; + this.modalBusy = true; this.store .dispatch(this.selected.id ? new UpdateTenant(__assign({}, this.tenantForm.value, { id: this.selected.id })) @@ -657,6 +866,7 @@ * @return {?} */ function () { + _this.modalBusy = false; _this.isModalVisible = false; })); }; @@ -683,6 +893,7 @@ function (status) { if (status === "confirm" /* confirm */) { _this.store.dispatch(new DeleteTenant(id)); + _this.modalBusy = false; } })); }; @@ -719,7 +930,7 @@ TenantsComponent.decorators = [ { type: core.Component, args: [{ selector: 'abp-tenants', - template: "
\n
\n
\n
\n
\n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
\n
\n
\n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
\n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
\n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::ConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
\n
\n \n {{ data.name }}\n \n
\n \n
\n
\n\n\n \n

{{ selectedModalContent.title | abpLocalization }}

\n
\n\n \n \n \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
\n\n\n
\n
\n
\n \n \n
\n
\n
\n
\n\n\n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n" + template: "
\n
\n
\n
\n
\n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
\n
\n
\n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
\n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
\n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::ConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
\n
\n \n {{ data.name }}\n \n
\n \n
\n
\n\n\n \n

{{ selectedModalContent.title | abpLocalization }}

\n
\n\n \n \n \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
\n\n\n
\n
\n
\n \n \n
\n
\n
\n
\n\n\n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n" }] } ]; /** @nocollapse */ @@ -743,6 +954,56 @@ ], TenantsComponent.prototype, "totalCount$", void 0); return TenantsComponent; }()); + if (false) { + /** @type {?} */ + TenantsComponent.prototype.data$; + /** @type {?} */ + TenantsComponent.prototype.totalCount$; + /** @type {?} */ + TenantsComponent.prototype.selected; + /** @type {?} */ + TenantsComponent.prototype.tenantForm; + /** @type {?} */ + TenantsComponent.prototype.defaultConnectionStringForm; + /** @type {?} */ + TenantsComponent.prototype.defaultConnectionString; + /** @type {?} */ + TenantsComponent.prototype.isModalVisible; + /** @type {?} */ + TenantsComponent.prototype.selectedModalContent; + /** @type {?} */ + TenantsComponent.prototype._useSharedDatabase; + /** @type {?} */ + TenantsComponent.prototype.pageQuery; + /** @type {?} */ + TenantsComponent.prototype.loading; + /** @type {?} */ + TenantsComponent.prototype.modalBusy; + /** @type {?} */ + TenantsComponent.prototype.tenantModalTemplate; + /** @type {?} */ + TenantsComponent.prototype.connectionStringModalTemplate; + /** + * @type {?} + * @private + */ + TenantsComponent.prototype.confirmationService; + /** + * @type {?} + * @private + */ + TenantsComponent.prototype.tenantService; + /** + * @type {?} + * @private + */ + TenantsComponent.prototype.fb; + /** + * @type {?} + * @private + */ + TenantsComponent.prototype.store; + } /** * @fileoverview added by tsickle @@ -772,6 +1033,13 @@ ]; }; return TenantsResolver; }()); + if (false) { + /** + * @type {?} + * @private + */ + TenantsResolver.prototype.store; + } /** * @fileoverview added by tsickle @@ -825,6 +1093,16 @@ return TenantManagementModule; }()); + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -848,6 +1126,11 @@ }, ])); + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -859,26 +1142,52 @@ */ function State() { } TenantManagement.State = State; + if (false) { + /** @type {?} */ + State.prototype.result; + /** @type {?} */ + State.prototype.selectedItem; + } /** * @record */ function Item() { } TenantManagement.Item = Item; + if (false) { + /** @type {?} */ + Item.prototype.id; + /** @type {?} */ + Item.prototype.name; + } /** * @record */ function AddRequest() { } TenantManagement.AddRequest = AddRequest; + if (false) { + /** @type {?} */ + AddRequest.prototype.name; + } /** * @record */ function UpdateRequest() { } TenantManagement.UpdateRequest = UpdateRequest; + if (false) { + /** @type {?} */ + UpdateRequest.prototype.id; + } /** * @record */ function DefaultConnectionStringRequest() { } TenantManagement.DefaultConnectionStringRequest = DefaultConnectionStringRequest; + if (false) { + /** @type {?} */ + DefaultConnectionStringRequest.prototype.id; + /** @type {?} */ + DefaultConnectionStringRequest.prototype.defaultConnectionString; + } })(TenantManagement || (TenantManagement = {})); exports.CreateTenant = CreateTenant; diff --git a/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.js.map b/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.js.map index ee7b854515..bc72c438e2 100644 --- a/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.js.map +++ b/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.tenant-management.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.tenant-management/lib/actions/tenant-management.actions.ts","ng://@abp/ng.tenant-management/lib/services/tenant-management.service.ts","ng://@abp/ng.tenant-management/lib/states/tenant-management.state.ts","ng://@abp/ng.tenant-management/lib/components/tenants/tenants.component.ts","ng://@abp/ng.tenant-management/lib/resolvers/tenants.resolver.ts","ng://@abp/ng.tenant-management/lib/tenant-management-routing.module.ts","ng://@abp/ng.tenant-management/lib/tenant-management.module.ts","ng://@abp/ng.tenant-management/lib/constants/routes.ts","ng://@abp/ng.tenant-management/lib/models/tenant-management.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","import { TenantManagement } from '../models/tenant-management';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetTenants {\n static readonly type = '[TenantManagement] Get Tenant';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetTenantById {\n static readonly type = '[TenantManagement] Get Tenant By Id';\n constructor(public payload: string) {}\n}\n\nexport class CreateTenant {\n static readonly type = '[TenantManagement] Create Tenant';\n constructor(public payload: TenantManagement.AddRequest) {}\n}\n\nexport class UpdateTenant {\n static readonly type = '[TenantManagement] Update Tenant';\n constructor(public payload: TenantManagement.UpdateRequest) {}\n}\n\nexport class DeleteTenant {\n static readonly type = '[TenantManagement] Delete Tenant';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { TenantManagement } from '../models/tenant-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TenantManagementService {\n constructor(private rest: RestService) {}\n\n getTenant(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/multi-tenancy/tenants',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getTenantById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteTenant(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createTenant(body: TenantManagement.AddRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/multi-tenancy/tenants`,\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateTenant(body: TenantManagement.UpdateRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenants/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'GET',\n responseType: Rest.ResponseType.Text,\n url,\n };\n return this.rest.request(request);\n }\n\n updateDefaultConnectionString(payload: TenantManagement.DefaultConnectionStringRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${payload.id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n params: { defaultConnectionString: payload.defaultConnectionString },\n };\n return this.rest.request(request);\n }\n\n deleteDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenant/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'DELETE',\n url,\n };\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementService } from '../services/tenant-management.service';\nimport { ABP } from '@abp/ng.core';\n\n@State({\n name: 'TenantManagementState',\n defaults: { result: {}, selectedItem: {} } as TenantManagement.State,\n})\nexport class TenantManagementState {\n @Selector()\n static get({ result }: TenantManagement.State): ABP.BasicItem[] {\n return result.items || [];\n }\n\n @Selector()\n static getTenantsTotalCount({ result }: TenantManagement.State): number {\n return result.totalCount;\n }\n\n constructor(private tenantManagementService: TenantManagementService) {}\n\n @Action(GetTenants)\n get({ patchState }: StateContext, { payload }: GetTenants) {\n return this.tenantManagementService.getTenant(payload).pipe(\n tap(result =>\n patchState({\n result,\n }),\n ),\n );\n }\n\n @Action(GetTenantById)\n getById({ patchState }: StateContext, { payload }: GetTenantById) {\n return this.tenantManagementService.getTenantById(payload).pipe(\n tap(selectedItem =>\n patchState({\n selectedItem,\n }),\n ),\n );\n }\n\n @Action(DeleteTenant)\n delete({ dispatch }: StateContext, { payload }: DeleteTenant) {\n return this.tenantManagementService.deleteTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(CreateTenant)\n add({ dispatch }: StateContext, { payload }: CreateTenant) {\n return this.tenantManagementService.createTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(UpdateTenant)\n update({ dispatch, getState }: StateContext, { payload }: UpdateTenant) {\n return dispatch(new GetTenantById(payload.id)).pipe(\n switchMap(() => this.tenantManagementService.updateTenant({ ...getState().selectedItem, ...payload })),\n switchMap(() => dispatch(new GetTenants())),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable, Subject } from 'rxjs';\nimport { debounceTime, finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../../actions/tenant-management.actions';\nimport { TenantManagementService } from '../../services/tenant-management.service';\nimport { TenantManagementState } from '../../states/tenant-management.state';\n\ntype SelectedModalContent = {\n type: string;\n title: string;\n template: TemplateRef;\n};\n\n@Component({\n selector: 'abp-tenants',\n templateUrl: './tenants.component.html',\n})\nexport class TenantsComponent {\n @Select(TenantManagementState.get)\n data$: Observable;\n\n @Select(TenantManagementState.getTenantsTotalCount)\n totalCount$: Observable;\n\n selected: ABP.BasicItem;\n\n tenantForm: FormGroup;\n\n defaultConnectionStringForm: FormGroup;\n\n defaultConnectionString: string;\n\n isModalVisible: boolean;\n\n selectedModalContent = {} as SelectedModalContent;\n\n _useSharedDatabase: boolean;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n get useSharedDatabase(): boolean {\n return this.defaultConnectionStringForm.get('useSharedDatabase').value;\n }\n\n get connectionString(): string {\n return this.defaultConnectionStringForm.get('defaultConnectionString').value;\n }\n\n @ViewChild('tenantModalTemplate', { static: false })\n tenantModalTemplate: TemplateRef;\n\n @ViewChild('connectionStringModalTemplate', { static: false })\n connectionStringModalTemplate: TemplateRef;\n\n constructor(\n private confirmationService: ConfirmationService,\n private tenantService: TenantManagementService,\n private fb: FormBuilder,\n private store: Store,\n ) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n private createTenantForm() {\n this.tenantForm = this.fb.group({\n name: [this.selected.name || '', [Validators.required, Validators.maxLength(256)]],\n });\n }\n\n private createDefaultConnectionStringForm() {\n this.defaultConnectionStringForm = this.fb.group({\n useSharedDatabase: this._useSharedDatabase,\n defaultConnectionString: this.defaultConnectionString || '',\n });\n }\n\n openModal(title: string, template: TemplateRef, type: string) {\n this.selectedModalContent = {\n title,\n template,\n type,\n };\n\n this.isModalVisible = true;\n }\n\n onEditConnectionString(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(\n pluck('TenantManagementState', 'selectedItem'),\n switchMap(selected => {\n this.selected = selected;\n return this.tenantService.getDefaultConnectionString(id);\n }),\n )\n .subscribe(fetchedConnectionString => {\n this._useSharedDatabase = fetchedConnectionString ? false : true;\n this.defaultConnectionString = fetchedConnectionString ? fetchedConnectionString : '';\n this.createDefaultConnectionStringForm();\n this.openModal('AbpTenantManagement::ConnectionStrings', this.connectionStringModalTemplate, 'saveConnStr');\n });\n }\n\n onAddTenant() {\n this.selected = {} as ABP.BasicItem;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::NewTenant', this.tenantModalTemplate, 'saveTenant');\n }\n\n onEditTenant(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(pluck('TenantManagementState', 'selectedItem'))\n .subscribe(selected => {\n this.selected = selected;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::Edit', this.tenantModalTemplate, 'saveTenant');\n });\n }\n\n save() {\n const { type } = this.selectedModalContent;\n if (!type) return;\n if (type === 'saveTenant') this.saveTenant();\n else if (type === 'saveConnStr') this.saveConnectionString();\n }\n\n saveConnectionString() {\n if (this.useSharedDatabase) {\n this.tenantService\n .deleteDefaultConnectionString(this.selected.id)\n .pipe(take(1))\n .subscribe(() => {\n this.isModalVisible = false;\n });\n } else {\n this.tenantService\n .updateDefaultConnectionString({ id: this.selected.id, defaultConnectionString: this.connectionString })\n .pipe(take(1))\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n }\n\n saveTenant() {\n if (!this.tenantForm.valid) return;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateTenant({ ...this.tenantForm.value, id: this.selected.id })\n : new CreateTenant(this.tenantForm.value),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpTenantManagement::TenantDeletionConfirmationMessage', 'AbpTenantManagement::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteTenant(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetTenants(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetTenants } from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementState } from '../states/tenant-management.state';\n\n@Injectable()\nexport class TenantsResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const data = this.store.selectSnapshot(TenantManagementState.get);\n return data && data.length ? null : this.store.dispatch(new GetTenants());\n }\n}\n","import { AuthGuard, DynamicLayoutComponent, PermissionGuard } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { TenantsResolver } from './resolvers/tenants.resolver';\nimport { TenantsComponent } from './components/tenants/tenants.component';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'tenants', pathMatch: 'full' },\n {\n path: 'tenants',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpTenantManagement.Tenants' },\n children: [{ path: '', component: TenantsComponent, resolve: [TenantsResolver] }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [TenantsResolver],\n})\nexport class TenantManagementRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxsModule } from '@ngxs/store';\nimport { TableModule } from 'primeng/table';\nimport { TenantsComponent } from './components/tenants/tenants.component';\nimport { TenantManagementState } from './states/tenant-management.state';\nimport { TenantManagementRoutingModule } from './tenant-management-routing.module';\n\n@NgModule({\n declarations: [TenantsComponent],\n imports: [\n TenantManagementRoutingModule,\n NgxsModule.forFeature([TenantManagementState]),\n CoreModule,\n TableModule,\n ThemeSharedModule,\n NgbDropdownModule,\n ],\n})\nexport class TenantManagementModule {}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const TENANT_MANAGEMENT_ROUTES = [\n {\n name: 'AbpTenantManagement::Menu:TenantManagement',\n path: 'tenant-management',\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-users',\n children: [\n {\n path: 'tenants',\n name: 'AbpTenantManagement::Tenants',\n order: 1,\n requiredPolicy: 'AbpTenantManagement.Tenants',\n },\n ],\n },\n] as ABP.FullRoute[];\n","import { ABP } from '@abp/ng.core';\n\nexport namespace TenantManagement {\n export interface State {\n result: Response;\n selectedItem: Item;\n }\n\n export type Response = ABP.PagedResponse;\n\n export interface Item {\n id: string;\n name: string;\n }\n\n export interface AddRequest {\n name: string;\n }\n\n export interface UpdateRequest extends AddRequest {\n id: string;\n }\n\n export interface DefaultConnectionStringRequest {\n id: string;\n defaultConnectionString: string;\n }\n}\n"],"names":["Injectable","RestService","tap","switchMap","tslib_1.__decorate","Action","Selector","State","Validators","pluck","take","finalize","Component","ConfirmationService","FormBuilder","Store","ViewChild","Select","Observable","DynamicLayoutComponent","AuthGuard","PermissionGuard","NgModule","RouterModule","NgxsModule","CoreModule","TableModule","ThemeSharedModule","NgbDropdownModule"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.tenant-management.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.tenant-management/lib/actions/tenant-management.actions.ts","ng://@abp/ng.tenant-management/lib/services/tenant-management.service.ts","ng://@abp/ng.tenant-management/lib/states/tenant-management.state.ts","ng://@abp/ng.tenant-management/lib/components/tenants/tenants.component.ts","ng://@abp/ng.tenant-management/lib/resolvers/tenants.resolver.ts","ng://@abp/ng.tenant-management/lib/tenant-management-routing.module.ts","ng://@abp/ng.tenant-management/lib/tenant-management.module.ts","ng://@abp/ng.tenant-management/lib/constants/routes.ts","ng://@abp/ng.tenant-management/lib/models/tenant-management.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","import { TenantManagement } from '../models/tenant-management';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetTenants {\n static readonly type = '[TenantManagement] Get Tenant';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetTenantById {\n static readonly type = '[TenantManagement] Get Tenant By Id';\n constructor(public payload: string) {}\n}\n\nexport class CreateTenant {\n static readonly type = '[TenantManagement] Create Tenant';\n constructor(public payload: TenantManagement.AddRequest) {}\n}\n\nexport class UpdateTenant {\n static readonly type = '[TenantManagement] Update Tenant';\n constructor(public payload: TenantManagement.UpdateRequest) {}\n}\n\nexport class DeleteTenant {\n static readonly type = '[TenantManagement] Delete Tenant';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { TenantManagement } from '../models/tenant-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TenantManagementService {\n constructor(private rest: RestService) {}\n\n getTenant(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/multi-tenancy/tenants',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getTenantById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteTenant(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createTenant(body: TenantManagement.AddRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/multi-tenancy/tenants`,\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateTenant(body: TenantManagement.UpdateRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenants/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'GET',\n responseType: Rest.ResponseType.Text,\n url,\n };\n return this.rest.request(request);\n }\n\n updateDefaultConnectionString(payload: TenantManagement.DefaultConnectionStringRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${payload.id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n params: { defaultConnectionString: payload.defaultConnectionString },\n };\n return this.rest.request(request);\n }\n\n deleteDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenant/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'DELETE',\n url,\n };\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementService } from '../services/tenant-management.service';\nimport { ABP } from '@abp/ng.core';\n\n@State({\n name: 'TenantManagementState',\n defaults: { result: {}, selectedItem: {} } as TenantManagement.State,\n})\nexport class TenantManagementState {\n @Selector()\n static get({ result }: TenantManagement.State): ABP.BasicItem[] {\n return result.items || [];\n }\n\n @Selector()\n static getTenantsTotalCount({ result }: TenantManagement.State): number {\n return result.totalCount;\n }\n\n constructor(private tenantManagementService: TenantManagementService) {}\n\n @Action(GetTenants)\n get({ patchState }: StateContext, { payload }: GetTenants) {\n return this.tenantManagementService.getTenant(payload).pipe(\n tap(result =>\n patchState({\n result,\n }),\n ),\n );\n }\n\n @Action(GetTenantById)\n getById({ patchState }: StateContext, { payload }: GetTenantById) {\n return this.tenantManagementService.getTenantById(payload).pipe(\n tap(selectedItem =>\n patchState({\n selectedItem,\n }),\n ),\n );\n }\n\n @Action(DeleteTenant)\n delete({ dispatch }: StateContext, { payload }: DeleteTenant) {\n return this.tenantManagementService.deleteTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(CreateTenant)\n add({ dispatch }: StateContext, { payload }: CreateTenant) {\n return this.tenantManagementService.createTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(UpdateTenant)\n update({ dispatch, getState }: StateContext, { payload }: UpdateTenant) {\n return dispatch(new GetTenantById(payload.id)).pipe(\n switchMap(() => this.tenantManagementService.updateTenant({ ...getState().selectedItem, ...payload })),\n switchMap(() => dispatch(new GetTenants())),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable, Subject } from 'rxjs';\nimport { debounceTime, finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../../actions/tenant-management.actions';\nimport { TenantManagementService } from '../../services/tenant-management.service';\nimport { TenantManagementState } from '../../states/tenant-management.state';\n\ntype SelectedModalContent = {\n type: string;\n title: string;\n template: TemplateRef;\n};\n\n@Component({\n selector: 'abp-tenants',\n templateUrl: './tenants.component.html',\n})\nexport class TenantsComponent {\n @Select(TenantManagementState.get)\n data$: Observable;\n\n @Select(TenantManagementState.getTenantsTotalCount)\n totalCount$: Observable;\n\n selected: ABP.BasicItem;\n\n tenantForm: FormGroup;\n\n defaultConnectionStringForm: FormGroup;\n\n defaultConnectionString: string;\n\n isModalVisible: boolean;\n\n selectedModalContent = {} as SelectedModalContent;\n\n _useSharedDatabase: boolean;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n get useSharedDatabase(): boolean {\n return this.defaultConnectionStringForm.get('useSharedDatabase').value;\n }\n\n get connectionString(): string {\n return this.defaultConnectionStringForm.get('defaultConnectionString').value;\n }\n\n @ViewChild('tenantModalTemplate', { static: false })\n tenantModalTemplate: TemplateRef;\n\n @ViewChild('connectionStringModalTemplate', { static: false })\n connectionStringModalTemplate: TemplateRef;\n\n constructor(\n private confirmationService: ConfirmationService,\n private tenantService: TenantManagementService,\n private fb: FormBuilder,\n private store: Store,\n ) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n private createTenantForm() {\n this.tenantForm = this.fb.group({\n name: [this.selected.name || '', [Validators.required, Validators.maxLength(256)]],\n });\n }\n\n private createDefaultConnectionStringForm() {\n this.defaultConnectionStringForm = this.fb.group({\n useSharedDatabase: this._useSharedDatabase,\n defaultConnectionString: this.defaultConnectionString || '',\n });\n }\n\n openModal(title: string, template: TemplateRef, type: string) {\n this.selectedModalContent = {\n title,\n template,\n type,\n };\n\n this.isModalVisible = true;\n }\n\n onEditConnectionString(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(\n pluck('TenantManagementState', 'selectedItem'),\n switchMap(selected => {\n this.selected = selected;\n return this.tenantService.getDefaultConnectionString(id);\n }),\n )\n .subscribe(fetchedConnectionString => {\n this._useSharedDatabase = fetchedConnectionString ? false : true;\n this.defaultConnectionString = fetchedConnectionString ? fetchedConnectionString : '';\n this.createDefaultConnectionStringForm();\n this.openModal('AbpTenantManagement::ConnectionStrings', this.connectionStringModalTemplate, 'saveConnStr');\n });\n }\n\n onAddTenant() {\n this.selected = {} as ABP.BasicItem;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::NewTenant', this.tenantModalTemplate, 'saveTenant');\n }\n\n onEditTenant(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(pluck('TenantManagementState', 'selectedItem'))\n .subscribe(selected => {\n this.selected = selected;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::Edit', this.tenantModalTemplate, 'saveTenant');\n });\n }\n\n save() {\n const { type } = this.selectedModalContent;\n if (!type) return;\n if (type === 'saveTenant') this.saveTenant();\n else if (type === 'saveConnStr') this.saveConnectionString();\n }\n\n saveConnectionString() {\n this.modalBusy = true;\n if (this.useSharedDatabase) {\n this.tenantService\n .deleteDefaultConnectionString(this.selected.id)\n .pipe(take(1))\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n } else {\n this.tenantService\n .updateDefaultConnectionString({ id: this.selected.id, defaultConnectionString: this.connectionString })\n .pipe(take(1))\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n }\n\n saveTenant() {\n if (!this.tenantForm.valid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateTenant({ ...this.tenantForm.value, id: this.selected.id })\n : new CreateTenant(this.tenantForm.value),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpTenantManagement::TenantDeletionConfirmationMessage', 'AbpTenantManagement::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteTenant(id));\n this.modalBusy = false;\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetTenants(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetTenants } from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementState } from '../states/tenant-management.state';\n\n@Injectable()\nexport class TenantsResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const data = this.store.selectSnapshot(TenantManagementState.get);\n return data && data.length ? null : this.store.dispatch(new GetTenants());\n }\n}\n","import { AuthGuard, DynamicLayoutComponent, PermissionGuard } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { TenantsResolver } from './resolvers/tenants.resolver';\nimport { TenantsComponent } from './components/tenants/tenants.component';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'tenants', pathMatch: 'full' },\n {\n path: 'tenants',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpTenantManagement.Tenants' },\n children: [{ path: '', component: TenantsComponent, resolve: [TenantsResolver] }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [TenantsResolver],\n})\nexport class TenantManagementRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxsModule } from '@ngxs/store';\nimport { TableModule } from 'primeng/table';\nimport { TenantsComponent } from './components/tenants/tenants.component';\nimport { TenantManagementState } from './states/tenant-management.state';\nimport { TenantManagementRoutingModule } from './tenant-management-routing.module';\n\n@NgModule({\n declarations: [TenantsComponent],\n imports: [\n TenantManagementRoutingModule,\n NgxsModule.forFeature([TenantManagementState]),\n CoreModule,\n TableModule,\n ThemeSharedModule,\n NgbDropdownModule,\n ],\n})\nexport class TenantManagementModule {}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const TENANT_MANAGEMENT_ROUTES = [\n {\n name: 'AbpTenantManagement::Menu:TenantManagement',\n path: 'tenant-management',\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-users',\n children: [\n {\n path: 'tenants',\n name: 'AbpTenantManagement::Tenants',\n order: 1,\n requiredPolicy: 'AbpTenantManagement.Tenants',\n },\n ],\n },\n] as ABP.FullRoute[];\n","import { ABP } from '@abp/ng.core';\n\nexport namespace TenantManagement {\n export interface State {\n result: Response;\n selectedItem: Item;\n }\n\n export type Response = ABP.PagedResponse;\n\n export interface Item {\n id: string;\n name: string;\n }\n\n export interface AddRequest {\n name: string;\n }\n\n export interface UpdateRequest extends AddRequest {\n id: string;\n }\n\n export interface DefaultConnectionStringRequest {\n id: string;\n defaultConnectionString: string;\n }\n}\n"],"names":["Injectable","RestService","tap","switchMap","tslib_1.__decorate","Action","Selector","State","Validators","pluck","take","finalize","Component","ConfirmationService","FormBuilder","Store","ViewChild","Select","Observable","DynamicLayoutComponent","AuthGuard","PermissionGuard","NgModule","RouterModule","NgxsModule","CoreModule","TableModule","ThemeSharedModule","NgbDropdownModule"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.min.js b/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.min.js index 7d9c790b91..49b0735ef3 100644 --- a/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.min.js +++ b/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.min.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@abp/ng.core"),require("@abp/ng.theme.shared"),require("@angular/core"),require("@ng-bootstrap/ng-bootstrap"),require("@ngxs/store"),require("primeng/table"),require("@angular/forms"),require("rxjs"),require("rxjs/operators"),require("@angular/router")):"function"==typeof define&&define.amd?define("@abp/ng.tenant-management",["exports","@abp/ng.core","@abp/ng.theme.shared","@angular/core","@ng-bootstrap/ng-bootstrap","@ngxs/store","primeng/table","@angular/forms","rxjs","rxjs/operators","@angular/router"],e):e(((t=t||self).abp=t.abp||{},t.abp.ng=t.abp.ng||{},t.abp.ng["tenant-management"]={}),t.ng_core,t.ng_theme_shared,t.ng.core,t.ngBootstrap,t.store,t.table,t.ng.forms,t.rxjs,t.rxjs.operators,t.ng.router)}(this,function(t,e,n,a,o,r,i,s,p,c,l){"use strict";var u=function(){return(u=Object.assign||function(t){for(var e,n=1,a=arguments.length;n=0;s--)(o=t[s])&&(i=(r<3?o(i):r>3?o(e,n,i):o(e,n))||i);return r>3&&i&&Object.defineProperty(e,n,i),i}function g(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}var m,f=function(){function t(t){this.payload=t}return t.type="[TenantManagement] Get Tenant",t}(),b=function(){function t(t){this.payload=t}return t.type="[TenantManagement] Get Tenant By Id",t}(),h=function(){function t(t){this.payload=t}return t.type="[TenantManagement] Create Tenant",t}(),y=function(){function t(t){this.payload=t}return t.type="[TenantManagement] Update Tenant",t}(),T=function(){function t(t){this.payload=t}return t.type="[TenantManagement] Delete Tenant",t}(),v=function(){function t(t){this.rest=t}return t.prototype.getTenant=function(t){void 0===t&&(t={});var e={method:"GET",url:"/api/multi-tenancy/tenants",params:t};return this.rest.request(e)},t.prototype.getTenantById=function(t){var e={method:"GET",url:"/api/multi-tenancy/tenants/"+t};return this.rest.request(e)},t.prototype.deleteTenant=function(t){var e={method:"DELETE",url:"/api/multi-tenancy/tenants/"+t};return this.rest.request(e)},t.prototype.createTenant=function(t){var e={method:"POST",url:"/api/multi-tenancy/tenants",body:t};return this.rest.request(e)},t.prototype.updateTenant=function(t){var e="/api/multi-tenancy/tenants/"+t.id;delete t.id;var n={method:"PUT",url:e,body:t};return this.rest.request(n)},t.prototype.getDefaultConnectionString=function(t){var e={method:"GET",responseType:"text",url:"/api/multi-tenancy/tenants/"+t+"/default-connection-string"};return this.rest.request(e)},t.prototype.updateDefaultConnectionString=function(t){var e={method:"PUT",url:"/api/multi-tenancy/tenants/"+t.id+"/default-connection-string",params:{defaultConnectionString:t.defaultConnectionString}};return this.rest.request(e)},t.prototype.deleteDefaultConnectionString=function(t){var e={method:"DELETE",url:"/api/multi-tenancy/tenant/"+t+"/default-connection-string"};return this.rest.request(e)},t.decorators=[{type:a.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:e.RestService}]},t.ngInjectableDef=a.ɵɵdefineInjectable({factory:function(){return new t(a.ɵɵinject(e.RestService))},token:t,providedIn:"root"}),t}(),S=function(){function t(t){this.tenantManagementService=t}return t.get=function(t){return t.result.items||[]},t.getTenantsTotalCount=function(t){return t.result.totalCount},t.prototype.get=function(t,e){var n=t.patchState,a=e.payload;return this.tenantManagementService.getTenant(a).pipe(c.tap(function(t){return n({result:t})}))},t.prototype.getById=function(t,e){var n=t.patchState,a=e.payload;return this.tenantManagementService.getTenantById(a).pipe(c.tap(function(t){return n({selectedItem:t})}))},t.prototype.delete=function(t,e){var n=t.dispatch,a=e.payload;return this.tenantManagementService.deleteTenant(a).pipe(c.switchMap(function(){return n(new f)}))},t.prototype.add=function(t,e){var n=t.dispatch,a=e.payload;return this.tenantManagementService.createTenant(a).pipe(c.switchMap(function(){return n(new f)}))},t.prototype.update=function(t,e){var n=this,a=t.dispatch,o=t.getState,r=e.payload;return a(new b(r.id)).pipe(c.switchMap(function(){return n.tenantManagementService.updateTenant(u({},o().selectedItem,r))}),c.switchMap(function(){return a(new f)}))},d([r.Action(f),g("design:type",Function),g("design:paramtypes",[Object,f]),g("design:returntype",void 0)],t.prototype,"get",null),d([r.Action(b),g("design:type",Function),g("design:paramtypes",[Object,b]),g("design:returntype",void 0)],t.prototype,"getById",null),d([r.Action(T),g("design:type",Function),g("design:paramtypes",[Object,T]),g("design:returntype",void 0)],t.prototype,"delete",null),d([r.Action(h),g("design:type",Function),g("design:paramtypes",[Object,h]),g("design:returntype",void 0)],t.prototype,"add",null),d([r.Action(y),g("design:type",Function),g("design:paramtypes",[Object,y]),g("design:returntype",void 0)],t.prototype,"update",null),d([r.Selector(),g("design:type",Function),g("design:paramtypes",[Object]),g("design:returntype",Array)],t,"get",null),d([r.Selector(),g("design:type",Function),g("design:paramtypes",[Object]),g("design:returntype",Number)],t,"getTenantsTotalCount",null),t=d([r.State({name:"TenantManagementState",defaults:{result:{},selectedItem:{}}}),g("design:paramtypes",[v])],t)}(),M=function(){function t(t,e,n,a){this.confirmationService=t,this.tenantService=e,this.fb=n,this.store=a,this.selectedModalContent={},this.pageQuery={sorting:"name"},this.loading=!1}return Object.defineProperty(t.prototype,"useSharedDatabase",{get:function(){return this.defaultConnectionStringForm.get("useSharedDatabase").value},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"connectionString",{get:function(){return this.defaultConnectionStringForm.get("defaultConnectionString").value},enumerable:!0,configurable:!0}),t.prototype.onSearch=function(t){this.pageQuery.filter=t,this.get()},t.prototype.createTenantForm=function(){this.tenantForm=this.fb.group({name:[this.selected.name||"",[s.Validators.required,s.Validators.maxLength(256)]]})},t.prototype.createDefaultConnectionStringForm=function(){this.defaultConnectionStringForm=this.fb.group({useSharedDatabase:this._useSharedDatabase,defaultConnectionString:this.defaultConnectionString||""})},t.prototype.openModal=function(t,e,n){this.selectedModalContent={title:t,template:e,type:n},this.isModalVisible=!0},t.prototype.onEditConnectionString=function(t){var e=this;this.store.dispatch(new b(t)).pipe(c.pluck("TenantManagementState","selectedItem"),c.switchMap(function(n){return e.selected=n,e.tenantService.getDefaultConnectionString(t)})).subscribe(function(t){e._useSharedDatabase=!t,e.defaultConnectionString=t||"",e.createDefaultConnectionStringForm(),e.openModal("AbpTenantManagement::ConnectionStrings",e.connectionStringModalTemplate,"saveConnStr")})},t.prototype.onAddTenant=function(){this.selected={},this.createTenantForm(),this.openModal("AbpTenantManagement::NewTenant",this.tenantModalTemplate,"saveTenant")},t.prototype.onEditTenant=function(t){var e=this;this.store.dispatch(new b(t)).pipe(c.pluck("TenantManagementState","selectedItem")).subscribe(function(t){e.selected=t,e.createTenantForm(),e.openModal("AbpTenantManagement::Edit",e.tenantModalTemplate,"saveTenant")})},t.prototype.save=function(){var t=this.selectedModalContent.type;t&&("saveTenant"===t?this.saveTenant():"saveConnStr"===t&&this.saveConnectionString())},t.prototype.saveConnectionString=function(){var t=this;this.useSharedDatabase?this.tenantService.deleteDefaultConnectionString(this.selected.id).pipe(c.take(1)).subscribe(function(){t.isModalVisible=!1}):this.tenantService.updateDefaultConnectionString({id:this.selected.id,defaultConnectionString:this.connectionString}).pipe(c.take(1)).subscribe(function(){t.isModalVisible=!1})},t.prototype.saveTenant=function(){var t=this;this.tenantForm.valid&&this.store.dispatch(this.selected.id?new y(u({},this.tenantForm.value,{id:this.selected.id})):new h(this.tenantForm.value)).subscribe(function(){t.isModalVisible=!1})},t.prototype.delete=function(t,e){var n=this;this.confirmationService.warn("AbpTenantManagement::TenantDeletionConfirmationMessage","AbpTenantManagement::AreYouSure",{messageLocalizationParams:[e]}).subscribe(function(e){"confirm"===e&&n.store.dispatch(new T(t))})},t.prototype.onPageChange=function(t){this.pageQuery.skipCount=t.first,this.pageQuery.maxResultCount=t.rows,this.get()},t.prototype.get=function(){var t=this;this.loading=!0,this.store.dispatch(new f(this.pageQuery)).pipe(c.finalize(function(){return t.loading=!1})).subscribe()},t.decorators=[{type:a.Component,args:[{selector:"abp-tenants",template:'
\n
\n
\n
\n
\n {{ \'AbpTenantManagement::Tenants\' | abpLocalization }}\n
\n
\n
\n \n \n {{ \'AbpTenantManagement::NewTenant\' | abpLocalization }}\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n {{ \'AbpTenantManagement::Actions\' | abpLocalization }}\n {{ \'AbpTenantManagement::TenantName\' | abpLocalization }}\n \n \n \n \n \n
\n \n {{ \'AbpTenantManagement::Actions\' | abpLocalization }}\n \n
\n \n {{ \'AbpTenantManagement::Edit\' | abpLocalization }}\n \n \n {{ \'AbpTenantManagement::ConnectionStrings\' | abpLocalization }}\n \n \n {{ \'AbpTenantManagement::Delete\' | abpLocalization }}\n \n
\n
\n \n {{ data.name }}\n \n
\n \n
\n
\n\n\n \n

{{ selectedModalContent.title | abpLocalization }}

\n
\n\n \n \n \n\n \n \n {{ \'AbpIdentity::Save\' | abpLocalization }}\n \n
\n\n\n
\n
\n
\n \n \n
\n
\n
\n
\n\n\n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n'}]}],t.ctorParameters=function(){return[{type:n.ConfirmationService},{type:v},{type:s.FormBuilder},{type:r.Store}]},t.propDecorators={tenantModalTemplate:[{type:a.ViewChild,args:["tenantModalTemplate",{static:!1}]}],connectionStringModalTemplate:[{type:a.ViewChild,args:["connectionStringModalTemplate",{static:!1}]}]},d([r.Select(S.get),g("design:type",p.Observable)],t.prototype,"data$",void 0),d([r.Select(S.getTenantsTotalCount),g("design:type",p.Observable)],t.prototype,"totalCount$",void 0),t}(),C=function(){function t(t){this.store=t}return t.prototype.resolve=function(){var t=this.store.selectSnapshot(S.get);return t&&t.length?null:this.store.dispatch(new f)},t.decorators=[{type:a.Injectable}],t.ctorParameters=function(){return[{type:r.Store}]},t}(),A=[{path:"",redirectTo:"tenants",pathMatch:"full"},{path:"tenants",component:e.DynamicLayoutComponent,canActivate:[e.AuthGuard,e.PermissionGuard],data:{requiredPolicy:"AbpTenantManagement.Tenants"},children:[{path:"",component:M,resolve:[C]}]}],D=function(){function t(){}return t.decorators=[{type:a.NgModule,args:[{imports:[l.RouterModule.forChild(A)],exports:[l.RouterModule],providers:[C]}]}],t}(),w=function(){function t(){}return t.decorators=[{type:a.NgModule,args:[{declarations:[M],imports:[D,r.NgxsModule.forFeature([S]),e.CoreModule,i.TableModule,n.ThemeSharedModule,o.NgbDropdownModule]}]}],t}();!function(t){t.State=function(){},t.Item=function(){},t.AddRequest=function(){},t.UpdateRequest=function(){},t.DefaultConnectionStringRequest=function(){}}(m||(m={})),t.CreateTenant=h,t.DeleteTenant=T,t.GetTenantById=b,t.GetTenants=f,t.TENANT_MANAGEMENT_ROUTES=[{name:"AbpTenantManagement::Menu:TenantManagement",path:"tenant-management",parentName:"AbpUiNavigation::Menu:Administration",layout:"application",iconClass:"fa fa-users",children:[{path:"tenants",name:"AbpTenantManagement::Tenants",order:1,requiredPolicy:"AbpTenantManagement.Tenants"}]}],t.TenantManagementModule=w,t.TenantManagementService=v,t.TenantManagementState=S,t.TenantsComponent=M,t.TenantsResolver=C,t.UpdateTenant=y,t.ɵa=M,t.ɵb=S,t.ɵc=v,t.ɵd=f,t.ɵe=b,t.ɵf=h,t.ɵg=y,t.ɵh=T,t.ɵj=D,t.ɵk=C,Object.defineProperty(t,"__esModule",{value:!0})}); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@abp/ng.core"),require("@abp/ng.theme.shared"),require("@angular/core"),require("@ng-bootstrap/ng-bootstrap"),require("@ngxs/store"),require("primeng/table"),require("@angular/forms"),require("rxjs"),require("rxjs/operators"),require("@angular/router")):"function"==typeof define&&define.amd?define("@abp/ng.tenant-management",["exports","@abp/ng.core","@abp/ng.theme.shared","@angular/core","@ng-bootstrap/ng-bootstrap","@ngxs/store","primeng/table","@angular/forms","rxjs","rxjs/operators","@angular/router"],e):e(((t=t||self).abp=t.abp||{},t.abp.ng=t.abp.ng||{},t.abp.ng["tenant-management"]={}),t.ng_core,t.ng_theme_shared,t.ng.core,t.ngBootstrap,t.store,t.table,t.ng.forms,t.rxjs,t.rxjs.operators,t.ng.router)}(this,function(t,e,n,a,o,r,i,s,p,c,l){"use strict";var u=function(){return(u=Object.assign||function(t){for(var e,n=1,a=arguments.length;n=0;s--)(o=t[s])&&(i=(r<3?o(i):r>3?o(e,n,i):o(e,n))||i);return r>3&&i&&Object.defineProperty(e,n,i),i}function g(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}var m=function(){function t(t){this.payload=t}return t.type="[TenantManagement] Get Tenant",t}();var f=function(){function t(t){this.payload=t}return t.type="[TenantManagement] Get Tenant By Id",t}();var b=function(){function t(t){this.payload=t}return t.type="[TenantManagement] Create Tenant",t}();var h=function(){function t(t){this.payload=t}return t.type="[TenantManagement] Update Tenant",t}();var y=function(){function t(t){this.payload=t}return t.type="[TenantManagement] Delete Tenant",t}();var v=function(){function t(t){this.rest=t}return t.prototype.getTenant=function(t){void 0===t&&(t={});var e={method:"GET",url:"/api/multi-tenancy/tenants",params:t};return this.rest.request(e)},t.prototype.getTenantById=function(t){var e={method:"GET",url:"/api/multi-tenancy/tenants/"+t};return this.rest.request(e)},t.prototype.deleteTenant=function(t){var e={method:"DELETE",url:"/api/multi-tenancy/tenants/"+t};return this.rest.request(e)},t.prototype.createTenant=function(t){var e={method:"POST",url:"/api/multi-tenancy/tenants",body:t};return this.rest.request(e)},t.prototype.updateTenant=function(t){var e="/api/multi-tenancy/tenants/"+t.id;delete t.id;var n={method:"PUT",url:e,body:t};return this.rest.request(n)},t.prototype.getDefaultConnectionString=function(t){var e={method:"GET",responseType:"text",url:"/api/multi-tenancy/tenants/"+t+"/default-connection-string"};return this.rest.request(e)},t.prototype.updateDefaultConnectionString=function(t){var e={method:"PUT",url:"/api/multi-tenancy/tenants/"+t.id+"/default-connection-string",params:{defaultConnectionString:t.defaultConnectionString}};return this.rest.request(e)},t.prototype.deleteDefaultConnectionString=function(t){var e={method:"DELETE",url:"/api/multi-tenancy/tenant/"+t+"/default-connection-string"};return this.rest.request(e)},t.decorators=[{type:a.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:e.RestService}]},t.ngInjectableDef=a.ɵɵdefineInjectable({factory:function(){return new t(a.ɵɵinject(e.RestService))},token:t,providedIn:"root"}),t}();var T=function(){function t(t){this.tenantManagementService=t}return t.get=function(t){return t.result.items||[]},t.getTenantsTotalCount=function(t){return t.result.totalCount},t.prototype.get=function(t,e){var n=t.patchState,a=e.payload;return this.tenantManagementService.getTenant(a).pipe(c.tap(function(t){return n({result:t})}))},t.prototype.getById=function(t,e){var n=t.patchState,a=e.payload;return this.tenantManagementService.getTenantById(a).pipe(c.tap(function(t){return n({selectedItem:t})}))},t.prototype.delete=function(t,e){var n=t.dispatch,a=e.payload;return this.tenantManagementService.deleteTenant(a).pipe(c.switchMap(function(){return n(new m)}))},t.prototype.add=function(t,e){var n=t.dispatch,a=e.payload;return this.tenantManagementService.createTenant(a).pipe(c.switchMap(function(){return n(new m)}))},t.prototype.update=function(t,e){var n=this,a=t.dispatch,o=t.getState,r=e.payload;return a(new f(r.id)).pipe(c.switchMap(function(){return n.tenantManagementService.updateTenant(u({},o().selectedItem,r))}),c.switchMap(function(){return a(new m)}))},d([r.Action(m),g("design:type",Function),g("design:paramtypes",[Object,m]),g("design:returntype",void 0)],t.prototype,"get",null),d([r.Action(f),g("design:type",Function),g("design:paramtypes",[Object,f]),g("design:returntype",void 0)],t.prototype,"getById",null),d([r.Action(y),g("design:type",Function),g("design:paramtypes",[Object,y]),g("design:returntype",void 0)],t.prototype,"delete",null),d([r.Action(b),g("design:type",Function),g("design:paramtypes",[Object,b]),g("design:returntype",void 0)],t.prototype,"add",null),d([r.Action(h),g("design:type",Function),g("design:paramtypes",[Object,h]),g("design:returntype",void 0)],t.prototype,"update",null),d([r.Selector(),g("design:type",Function),g("design:paramtypes",[Object]),g("design:returntype",Array)],t,"get",null),d([r.Selector(),g("design:type",Function),g("design:paramtypes",[Object]),g("design:returntype",Number)],t,"getTenantsTotalCount",null),t=d([r.State({name:"TenantManagementState",defaults:{result:{},selectedItem:{}}}),g("design:paramtypes",[v])],t)}();var S=function(){function t(t,e,n,a){this.confirmationService=t,this.tenantService=e,this.fb=n,this.store=a,this.selectedModalContent={},this.pageQuery={sorting:"name"},this.loading=!1,this.modalBusy=!1}return Object.defineProperty(t.prototype,"useSharedDatabase",{get:function(){return this.defaultConnectionStringForm.get("useSharedDatabase").value},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"connectionString",{get:function(){return this.defaultConnectionStringForm.get("defaultConnectionString").value},enumerable:!0,configurable:!0}),t.prototype.onSearch=function(t){this.pageQuery.filter=t,this.get()},t.prototype.createTenantForm=function(){this.tenantForm=this.fb.group({name:[this.selected.name||"",[s.Validators.required,s.Validators.maxLength(256)]]})},t.prototype.createDefaultConnectionStringForm=function(){this.defaultConnectionStringForm=this.fb.group({useSharedDatabase:this._useSharedDatabase,defaultConnectionString:this.defaultConnectionString||""})},t.prototype.openModal=function(t,e,n){this.selectedModalContent={title:t,template:e,type:n},this.isModalVisible=!0},t.prototype.onEditConnectionString=function(t){var e=this;this.store.dispatch(new f(t)).pipe(c.pluck("TenantManagementState","selectedItem"),c.switchMap(function(n){return e.selected=n,e.tenantService.getDefaultConnectionString(t)})).subscribe(function(t){e._useSharedDatabase=!t,e.defaultConnectionString=t||"",e.createDefaultConnectionStringForm(),e.openModal("AbpTenantManagement::ConnectionStrings",e.connectionStringModalTemplate,"saveConnStr")})},t.prototype.onAddTenant=function(){this.selected={},this.createTenantForm(),this.openModal("AbpTenantManagement::NewTenant",this.tenantModalTemplate,"saveTenant")},t.prototype.onEditTenant=function(t){var e=this;this.store.dispatch(new f(t)).pipe(c.pluck("TenantManagementState","selectedItem")).subscribe(function(t){e.selected=t,e.createTenantForm(),e.openModal("AbpTenantManagement::Edit",e.tenantModalTemplate,"saveTenant")})},t.prototype.save=function(){var t=this.selectedModalContent.type;t&&("saveTenant"===t?this.saveTenant():"saveConnStr"===t&&this.saveConnectionString())},t.prototype.saveConnectionString=function(){var t=this;this.modalBusy=!0,this.useSharedDatabase?this.tenantService.deleteDefaultConnectionString(this.selected.id).pipe(c.take(1)).subscribe(function(){t.modalBusy=!1,t.isModalVisible=!1}):this.tenantService.updateDefaultConnectionString({id:this.selected.id,defaultConnectionString:this.connectionString}).pipe(c.take(1)).subscribe(function(){t.modalBusy=!1,t.isModalVisible=!1})},t.prototype.saveTenant=function(){var t=this;this.tenantForm.valid&&(this.modalBusy=!0,this.store.dispatch(this.selected.id?new h(u({},this.tenantForm.value,{id:this.selected.id})):new b(this.tenantForm.value)).subscribe(function(){t.modalBusy=!1,t.isModalVisible=!1}))},t.prototype.delete=function(t,e){var n=this;this.confirmationService.warn("AbpTenantManagement::TenantDeletionConfirmationMessage","AbpTenantManagement::AreYouSure",{messageLocalizationParams:[e]}).subscribe(function(e){"confirm"===e&&(n.store.dispatch(new y(t)),n.modalBusy=!1)})},t.prototype.onPageChange=function(t){this.pageQuery.skipCount=t.first,this.pageQuery.maxResultCount=t.rows,this.get()},t.prototype.get=function(){var t=this;this.loading=!0,this.store.dispatch(new m(this.pageQuery)).pipe(c.finalize(function(){return t.loading=!1})).subscribe()},t.decorators=[{type:a.Component,args:[{selector:"abp-tenants",template:'
\n
\n
\n
\n
\n {{ \'AbpTenantManagement::Tenants\' | abpLocalization }}\n
\n
\n
\n \n \n {{ \'AbpTenantManagement::NewTenant\' | abpLocalization }}\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n {{ \'AbpTenantManagement::Actions\' | abpLocalization }}\n {{ \'AbpTenantManagement::TenantName\' | abpLocalization }}\n \n \n \n \n \n
\n \n {{ \'AbpTenantManagement::Actions\' | abpLocalization }}\n \n
\n \n {{ \'AbpTenantManagement::Edit\' | abpLocalization }}\n \n \n {{ \'AbpTenantManagement::ConnectionStrings\' | abpLocalization }}\n \n \n {{ \'AbpTenantManagement::Delete\' | abpLocalization }}\n \n
\n
\n \n {{ data.name }}\n \n
\n \n
\n
\n\n\n \n

{{ selectedModalContent.title | abpLocalization }}

\n
\n\n \n \n \n\n \n \n {{ \'AbpIdentity::Save\' | abpLocalization }}\n \n
\n\n\n
\n
\n
\n \n \n
\n
\n
\n
\n\n\n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n'}]}],t.ctorParameters=function(){return[{type:n.ConfirmationService},{type:v},{type:s.FormBuilder},{type:r.Store}]},t.propDecorators={tenantModalTemplate:[{type:a.ViewChild,args:["tenantModalTemplate",{static:!1}]}],connectionStringModalTemplate:[{type:a.ViewChild,args:["connectionStringModalTemplate",{static:!1}]}]},d([r.Select(T.get),g("design:type",p.Observable)],t.prototype,"data$",void 0),d([r.Select(T.getTenantsTotalCount),g("design:type",p.Observable)],t.prototype,"totalCount$",void 0),t}();var M=function(){function t(t){this.store=t}return t.prototype.resolve=function(){var t=this.store.selectSnapshot(T.get);return t&&t.length?null:this.store.dispatch(new m)},t.decorators=[{type:a.Injectable}],t.ctorParameters=function(){return[{type:r.Store}]},t}();var C,A=[{path:"",redirectTo:"tenants",pathMatch:"full"},{path:"tenants",component:e.DynamicLayoutComponent,canActivate:[e.AuthGuard,e.PermissionGuard],data:{requiredPolicy:"AbpTenantManagement.Tenants"},children:[{path:"",component:S,resolve:[M]}]}],D=function(){function t(){}return t.decorators=[{type:a.NgModule,args:[{imports:[l.RouterModule.forChild(A)],exports:[l.RouterModule],providers:[M]}]}],t}(),w=function(){function t(){}return t.decorators=[{type:a.NgModule,args:[{declarations:[S],imports:[D,r.NgxsModule.forFeature([T]),e.CoreModule,i.TableModule,n.ThemeSharedModule,o.NgbDropdownModule]}]}],t}();!function(t){function e(){}function n(){}function a(){}function o(){}function r(){}t.State=e,t.Item=n,t.AddRequest=a,t.UpdateRequest=o,t.DefaultConnectionStringRequest=r}(C||(C={})),t.CreateTenant=b,t.DeleteTenant=y,t.GetTenantById=f,t.GetTenants=m,t.TENANT_MANAGEMENT_ROUTES=[{name:"AbpTenantManagement::Menu:TenantManagement",path:"tenant-management",parentName:"AbpUiNavigation::Menu:Administration",layout:"application",iconClass:"fa fa-users",children:[{path:"tenants",name:"AbpTenantManagement::Tenants",order:1,requiredPolicy:"AbpTenantManagement.Tenants"}]}],t.TenantManagementModule=w,t.TenantManagementService=v,t.TenantManagementState=T,t.TenantsComponent=S,t.TenantsResolver=M,t.UpdateTenant=h,t.ɵa=S,t.ɵb=T,t.ɵc=v,t.ɵd=m,t.ɵe=f,t.ɵf=b,t.ɵg=h,t.ɵh=y,t.ɵj=D,t.ɵk=M,Object.defineProperty(t,"__esModule",{value:!0})}); //# sourceMappingURL=abp-ng.tenant-management.umd.min.js.map \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.min.js.map b/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.min.js.map index b3ed1d7123..69b2974e4f 100644 --- a/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.min.js.map +++ b/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.tenant-management/lib/actions/tenant-management.actions.ts","ng://@abp/ng.tenant-management/lib/models/tenant-management.ts","ng://@abp/ng.tenant-management/lib/services/tenant-management.service.ts","ng://@abp/ng.tenant-management/lib/states/tenant-management.state.ts","ng://@abp/ng.tenant-management/lib/components/tenants/tenants.component.ts","ng://@abp/ng.tenant-management/lib/resolvers/tenants.resolver.ts","ng://@abp/ng.tenant-management/lib/tenant-management-routing.module.ts","ng://@abp/ng.tenant-management/lib/tenant-management.module.ts","ng://@abp/ng.tenant-management/lib/constants/routes.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__metadata","metadataKey","metadataValue","metadata","TenantManagement","GetTenants","payload","type","GetTenantById","CreateTenant","UpdateTenant","DeleteTenant","TenantManagementService","rest","getTenant","params","request","method","url","getTenantById","id","deleteTenant","createTenant","body","updateTenant","getDefaultConnectionString","responseType","updateDefaultConnectionString","defaultConnectionString","deleteDefaultConnectionString","Injectable","args","providedIn","RestService","TenantManagementState","tenantManagementService","get","_a","result","items","getTenantsTotalCount","totalCount","_b","patchState","pipe","tap","getById","selectedItem","delete","dispatch","switchMap","add","update","_this","getState","tslib_1.__decorate","Action","Selector","State","name","defaults","TenantsComponent","confirmationService","tenantService","fb","store","selectedModalContent","pageQuery","sorting","loading","defaultConnectionStringForm","value","onSearch","filter","createTenantForm","tenantForm","group","selected","Validators","required","maxLength","createDefaultConnectionStringForm","useSharedDatabase","_useSharedDatabase","openModal","title","template","isModalVisible","onEditConnectionString","pluck","subscribe","fetchedConnectionString","connectionStringModalTemplate","onAddTenant","tenantModalTemplate","onEditTenant","save","saveTenant","saveConnectionString","take","connectionString","valid","warn","messageLocalizationParams","status","onPageChange","data","skipCount","first","maxResultCount","rows","finalize","Component","selector","ConfirmationService","FormBuilder","Store","ViewChild","static","Select","Observable","TenantsResolver","resolve","selectSnapshot","routes","path","redirectTo","pathMatch","component","DynamicLayoutComponent","canActivate","AuthGuard","PermissionGuard","requiredPolicy","children","TenantManagementRoutingModule","NgModule","imports","RouterModule","forChild","exports","providers","TenantManagementModule","declarations","NgxsModule","forFeature","CoreModule","TableModule","ThemeSharedModule","NgbDropdownModule","parentName","layout","iconClass","order"],"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","import { TenantManagement } from '../models/tenant-management';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetTenants {\n static readonly type = '[TenantManagement] Get Tenant';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetTenantById {\n static readonly type = '[TenantManagement] Get Tenant By Id';\n constructor(public payload: string) {}\n}\n\nexport class CreateTenant {\n static readonly type = '[TenantManagement] Create Tenant';\n constructor(public payload: TenantManagement.AddRequest) {}\n}\n\nexport class UpdateTenant {\n static readonly type = '[TenantManagement] Update Tenant';\n constructor(public payload: TenantManagement.UpdateRequest) {}\n}\n\nexport class DeleteTenant {\n static readonly type = '[TenantManagement] Delete Tenant';\n constructor(public payload: string) {}\n}\n","import { ABP } from '@abp/ng.core';\n\nexport namespace TenantManagement {\n export interface State {\n result: Response;\n selectedItem: Item;\n }\n\n export type Response = ABP.PagedResponse;\n\n export interface Item {\n id: string;\n name: string;\n }\n\n export interface AddRequest {\n name: string;\n }\n\n export interface UpdateRequest extends AddRequest {\n id: string;\n }\n\n export interface DefaultConnectionStringRequest {\n id: string;\n defaultConnectionString: string;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { TenantManagement } from '../models/tenant-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TenantManagementService {\n constructor(private rest: RestService) {}\n\n getTenant(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/multi-tenancy/tenants',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getTenantById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteTenant(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createTenant(body: TenantManagement.AddRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/multi-tenancy/tenants`,\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateTenant(body: TenantManagement.UpdateRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenants/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'GET',\n responseType: Rest.ResponseType.Text,\n url,\n };\n return this.rest.request(request);\n }\n\n updateDefaultConnectionString(payload: TenantManagement.DefaultConnectionStringRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${payload.id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n params: { defaultConnectionString: payload.defaultConnectionString },\n };\n return this.rest.request(request);\n }\n\n deleteDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenant/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'DELETE',\n url,\n };\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementService } from '../services/tenant-management.service';\nimport { ABP } from '@abp/ng.core';\n\n@State({\n name: 'TenantManagementState',\n defaults: { result: {}, selectedItem: {} } as TenantManagement.State,\n})\nexport class TenantManagementState {\n @Selector()\n static get({ result }: TenantManagement.State): ABP.BasicItem[] {\n return result.items || [];\n }\n\n @Selector()\n static getTenantsTotalCount({ result }: TenantManagement.State): number {\n return result.totalCount;\n }\n\n constructor(private tenantManagementService: TenantManagementService) {}\n\n @Action(GetTenants)\n get({ patchState }: StateContext, { payload }: GetTenants) {\n return this.tenantManagementService.getTenant(payload).pipe(\n tap(result =>\n patchState({\n result,\n }),\n ),\n );\n }\n\n @Action(GetTenantById)\n getById({ patchState }: StateContext, { payload }: GetTenantById) {\n return this.tenantManagementService.getTenantById(payload).pipe(\n tap(selectedItem =>\n patchState({\n selectedItem,\n }),\n ),\n );\n }\n\n @Action(DeleteTenant)\n delete({ dispatch }: StateContext, { payload }: DeleteTenant) {\n return this.tenantManagementService.deleteTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(CreateTenant)\n add({ dispatch }: StateContext, { payload }: CreateTenant) {\n return this.tenantManagementService.createTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(UpdateTenant)\n update({ dispatch, getState }: StateContext, { payload }: UpdateTenant) {\n return dispatch(new GetTenantById(payload.id)).pipe(\n switchMap(() => this.tenantManagementService.updateTenant({ ...getState().selectedItem, ...payload })),\n switchMap(() => dispatch(new GetTenants())),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable, Subject } from 'rxjs';\nimport { debounceTime, finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../../actions/tenant-management.actions';\nimport { TenantManagementService } from '../../services/tenant-management.service';\nimport { TenantManagementState } from '../../states/tenant-management.state';\n\ntype SelectedModalContent = {\n type: string;\n title: string;\n template: TemplateRef;\n};\n\n@Component({\n selector: 'abp-tenants',\n templateUrl: './tenants.component.html',\n})\nexport class TenantsComponent {\n @Select(TenantManagementState.get)\n data$: Observable;\n\n @Select(TenantManagementState.getTenantsTotalCount)\n totalCount$: Observable;\n\n selected: ABP.BasicItem;\n\n tenantForm: FormGroup;\n\n defaultConnectionStringForm: FormGroup;\n\n defaultConnectionString: string;\n\n isModalVisible: boolean;\n\n selectedModalContent = {} as SelectedModalContent;\n\n _useSharedDatabase: boolean;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n get useSharedDatabase(): boolean {\n return this.defaultConnectionStringForm.get('useSharedDatabase').value;\n }\n\n get connectionString(): string {\n return this.defaultConnectionStringForm.get('defaultConnectionString').value;\n }\n\n @ViewChild('tenantModalTemplate', { static: false })\n tenantModalTemplate: TemplateRef;\n\n @ViewChild('connectionStringModalTemplate', { static: false })\n connectionStringModalTemplate: TemplateRef;\n\n constructor(\n private confirmationService: ConfirmationService,\n private tenantService: TenantManagementService,\n private fb: FormBuilder,\n private store: Store,\n ) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n private createTenantForm() {\n this.tenantForm = this.fb.group({\n name: [this.selected.name || '', [Validators.required, Validators.maxLength(256)]],\n });\n }\n\n private createDefaultConnectionStringForm() {\n this.defaultConnectionStringForm = this.fb.group({\n useSharedDatabase: this._useSharedDatabase,\n defaultConnectionString: this.defaultConnectionString || '',\n });\n }\n\n openModal(title: string, template: TemplateRef, type: string) {\n this.selectedModalContent = {\n title,\n template,\n type,\n };\n\n this.isModalVisible = true;\n }\n\n onEditConnectionString(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(\n pluck('TenantManagementState', 'selectedItem'),\n switchMap(selected => {\n this.selected = selected;\n return this.tenantService.getDefaultConnectionString(id);\n }),\n )\n .subscribe(fetchedConnectionString => {\n this._useSharedDatabase = fetchedConnectionString ? false : true;\n this.defaultConnectionString = fetchedConnectionString ? fetchedConnectionString : '';\n this.createDefaultConnectionStringForm();\n this.openModal('AbpTenantManagement::ConnectionStrings', this.connectionStringModalTemplate, 'saveConnStr');\n });\n }\n\n onAddTenant() {\n this.selected = {} as ABP.BasicItem;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::NewTenant', this.tenantModalTemplate, 'saveTenant');\n }\n\n onEditTenant(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(pluck('TenantManagementState', 'selectedItem'))\n .subscribe(selected => {\n this.selected = selected;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::Edit', this.tenantModalTemplate, 'saveTenant');\n });\n }\n\n save() {\n const { type } = this.selectedModalContent;\n if (!type) return;\n if (type === 'saveTenant') this.saveTenant();\n else if (type === 'saveConnStr') this.saveConnectionString();\n }\n\n saveConnectionString() {\n if (this.useSharedDatabase) {\n this.tenantService\n .deleteDefaultConnectionString(this.selected.id)\n .pipe(take(1))\n .subscribe(() => {\n this.isModalVisible = false;\n });\n } else {\n this.tenantService\n .updateDefaultConnectionString({ id: this.selected.id, defaultConnectionString: this.connectionString })\n .pipe(take(1))\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n }\n\n saveTenant() {\n if (!this.tenantForm.valid) return;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateTenant({ ...this.tenantForm.value, id: this.selected.id })\n : new CreateTenant(this.tenantForm.value),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpTenantManagement::TenantDeletionConfirmationMessage', 'AbpTenantManagement::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteTenant(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetTenants(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetTenants } from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementState } from '../states/tenant-management.state';\n\n@Injectable()\nexport class TenantsResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const data = this.store.selectSnapshot(TenantManagementState.get);\n return data && data.length ? null : this.store.dispatch(new GetTenants());\n }\n}\n","import { AuthGuard, DynamicLayoutComponent, PermissionGuard } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { TenantsResolver } from './resolvers/tenants.resolver';\nimport { TenantsComponent } from './components/tenants/tenants.component';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'tenants', pathMatch: 'full' },\n {\n path: 'tenants',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpTenantManagement.Tenants' },\n children: [{ path: '', component: TenantsComponent, resolve: [TenantsResolver] }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [TenantsResolver],\n})\nexport class TenantManagementRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxsModule } from '@ngxs/store';\nimport { TableModule } from 'primeng/table';\nimport { TenantsComponent } from './components/tenants/tenants.component';\nimport { TenantManagementState } from './states/tenant-management.state';\nimport { TenantManagementRoutingModule } from './tenant-management-routing.module';\n\n@NgModule({\n declarations: [TenantsComponent],\n imports: [\n TenantManagementRoutingModule,\n NgxsModule.forFeature([TenantManagementState]),\n CoreModule,\n TableModule,\n ThemeSharedModule,\n NgbDropdownModule,\n ],\n})\nexport class TenantManagementModule {}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const TENANT_MANAGEMENT_ROUTES = [\n {\n name: 'AbpTenantManagement::Menu:TenantManagement',\n path: 'tenant-management',\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-users',\n children: [\n {\n path: 'tenants',\n name: 'AbpTenantManagement::Tenants',\n order: 1,\n requiredPolicy: 'AbpTenantManagement.Tenants',\n },\n ],\n },\n] as ABP.FullRoute[];\n"]} \ No newline at end of file +{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.tenant-management/lib/actions/tenant-management.actions.ts","ng://@abp/ng.tenant-management/lib/services/tenant-management.service.ts","ng://@abp/ng.tenant-management/lib/states/tenant-management.state.ts","ng://@abp/ng.tenant-management/lib/components/tenants/tenants.component.ts","ng://@abp/ng.tenant-management/lib/resolvers/tenants.resolver.ts","ng://@abp/ng.tenant-management/lib/tenant-management-routing.module.ts","ng://@abp/ng.tenant-management/lib/models/tenant-management.ts","ng://@abp/ng.tenant-management/lib/tenant-management.module.ts","ng://@abp/ng.tenant-management/lib/constants/routes.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__metadata","metadataKey","metadataValue","metadata","GetTenants","payload","type","GetTenantById","CreateTenant","UpdateTenant","DeleteTenant","TenantManagementService","rest","getTenant","params","request","method","url","getTenantById","id","deleteTenant","createTenant","body","updateTenant","getDefaultConnectionString","responseType","updateDefaultConnectionString","defaultConnectionString","deleteDefaultConnectionString","Injectable","args","providedIn","RestService","TenantManagementState","tenantManagementService","get","_a","result","items","getTenantsTotalCount","totalCount","_b","patchState","pipe","tap","getById","selectedItem","delete","dispatch","switchMap","add","update","_this","getState","tslib_1.__decorate","Action","Selector","State","name","defaults","TenantsComponent","confirmationService","tenantService","fb","store","selectedModalContent","pageQuery","sorting","loading","modalBusy","defaultConnectionStringForm","value","onSearch","filter","createTenantForm","tenantForm","group","selected","Validators","required","maxLength","createDefaultConnectionStringForm","useSharedDatabase","_useSharedDatabase","openModal","title","template","isModalVisible","onEditConnectionString","pluck","subscribe","fetchedConnectionString","connectionStringModalTemplate","onAddTenant","tenantModalTemplate","onEditTenant","save","saveTenant","saveConnectionString","take","connectionString","valid","warn","messageLocalizationParams","status","onPageChange","data","skipCount","first","maxResultCount","rows","finalize","Component","selector","ConfirmationService","FormBuilder","Store","ViewChild","static","Select","Observable","TenantsResolver","resolve","selectSnapshot","TenantManagement","routes","path","redirectTo","pathMatch","component","DynamicLayoutComponent","canActivate","AuthGuard","PermissionGuard","requiredPolicy","children","TenantManagementRoutingModule","NgModule","imports","RouterModule","forChild","exports","providers","TenantManagementModule","declarations","NgxsModule","forFeature","CoreModule","TableModule","ThemeSharedModule","NgbDropdownModule","Item","AddRequest","UpdateRequest","DefaultConnectionStringRequest","parentName","layout","iconClass","order"],"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","import { TenantManagement } from '../models/tenant-management';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetTenants {\n static readonly type = '[TenantManagement] Get Tenant';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetTenantById {\n static readonly type = '[TenantManagement] Get Tenant By Id';\n constructor(public payload: string) {}\n}\n\nexport class CreateTenant {\n static readonly type = '[TenantManagement] Create Tenant';\n constructor(public payload: TenantManagement.AddRequest) {}\n}\n\nexport class UpdateTenant {\n static readonly type = '[TenantManagement] Update Tenant';\n constructor(public payload: TenantManagement.UpdateRequest) {}\n}\n\nexport class DeleteTenant {\n static readonly type = '[TenantManagement] Delete Tenant';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { TenantManagement } from '../models/tenant-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TenantManagementService {\n constructor(private rest: RestService) {}\n\n getTenant(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/multi-tenancy/tenants',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getTenantById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteTenant(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createTenant(body: TenantManagement.AddRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/multi-tenancy/tenants`,\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateTenant(body: TenantManagement.UpdateRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenants/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'GET',\n responseType: Rest.ResponseType.Text,\n url,\n };\n return this.rest.request(request);\n }\n\n updateDefaultConnectionString(payload: TenantManagement.DefaultConnectionStringRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${payload.id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n params: { defaultConnectionString: payload.defaultConnectionString },\n };\n return this.rest.request(request);\n }\n\n deleteDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenant/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'DELETE',\n url,\n };\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementService } from '../services/tenant-management.service';\nimport { ABP } from '@abp/ng.core';\n\n@State({\n name: 'TenantManagementState',\n defaults: { result: {}, selectedItem: {} } as TenantManagement.State,\n})\nexport class TenantManagementState {\n @Selector()\n static get({ result }: TenantManagement.State): ABP.BasicItem[] {\n return result.items || [];\n }\n\n @Selector()\n static getTenantsTotalCount({ result }: TenantManagement.State): number {\n return result.totalCount;\n }\n\n constructor(private tenantManagementService: TenantManagementService) {}\n\n @Action(GetTenants)\n get({ patchState }: StateContext, { payload }: GetTenants) {\n return this.tenantManagementService.getTenant(payload).pipe(\n tap(result =>\n patchState({\n result,\n }),\n ),\n );\n }\n\n @Action(GetTenantById)\n getById({ patchState }: StateContext, { payload }: GetTenantById) {\n return this.tenantManagementService.getTenantById(payload).pipe(\n tap(selectedItem =>\n patchState({\n selectedItem,\n }),\n ),\n );\n }\n\n @Action(DeleteTenant)\n delete({ dispatch }: StateContext, { payload }: DeleteTenant) {\n return this.tenantManagementService.deleteTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(CreateTenant)\n add({ dispatch }: StateContext, { payload }: CreateTenant) {\n return this.tenantManagementService.createTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(UpdateTenant)\n update({ dispatch, getState }: StateContext, { payload }: UpdateTenant) {\n return dispatch(new GetTenantById(payload.id)).pipe(\n switchMap(() => this.tenantManagementService.updateTenant({ ...getState().selectedItem, ...payload })),\n switchMap(() => dispatch(new GetTenants())),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable, Subject } from 'rxjs';\nimport { debounceTime, finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../../actions/tenant-management.actions';\nimport { TenantManagementService } from '../../services/tenant-management.service';\nimport { TenantManagementState } from '../../states/tenant-management.state';\n\ntype SelectedModalContent = {\n type: string;\n title: string;\n template: TemplateRef;\n};\n\n@Component({\n selector: 'abp-tenants',\n templateUrl: './tenants.component.html',\n})\nexport class TenantsComponent {\n @Select(TenantManagementState.get)\n data$: Observable;\n\n @Select(TenantManagementState.getTenantsTotalCount)\n totalCount$: Observable;\n\n selected: ABP.BasicItem;\n\n tenantForm: FormGroup;\n\n defaultConnectionStringForm: FormGroup;\n\n defaultConnectionString: string;\n\n isModalVisible: boolean;\n\n selectedModalContent = {} as SelectedModalContent;\n\n _useSharedDatabase: boolean;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n get useSharedDatabase(): boolean {\n return this.defaultConnectionStringForm.get('useSharedDatabase').value;\n }\n\n get connectionString(): string {\n return this.defaultConnectionStringForm.get('defaultConnectionString').value;\n }\n\n @ViewChild('tenantModalTemplate', { static: false })\n tenantModalTemplate: TemplateRef;\n\n @ViewChild('connectionStringModalTemplate', { static: false })\n connectionStringModalTemplate: TemplateRef;\n\n constructor(\n private confirmationService: ConfirmationService,\n private tenantService: TenantManagementService,\n private fb: FormBuilder,\n private store: Store,\n ) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n private createTenantForm() {\n this.tenantForm = this.fb.group({\n name: [this.selected.name || '', [Validators.required, Validators.maxLength(256)]],\n });\n }\n\n private createDefaultConnectionStringForm() {\n this.defaultConnectionStringForm = this.fb.group({\n useSharedDatabase: this._useSharedDatabase,\n defaultConnectionString: this.defaultConnectionString || '',\n });\n }\n\n openModal(title: string, template: TemplateRef, type: string) {\n this.selectedModalContent = {\n title,\n template,\n type,\n };\n\n this.isModalVisible = true;\n }\n\n onEditConnectionString(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(\n pluck('TenantManagementState', 'selectedItem'),\n switchMap(selected => {\n this.selected = selected;\n return this.tenantService.getDefaultConnectionString(id);\n }),\n )\n .subscribe(fetchedConnectionString => {\n this._useSharedDatabase = fetchedConnectionString ? false : true;\n this.defaultConnectionString = fetchedConnectionString ? fetchedConnectionString : '';\n this.createDefaultConnectionStringForm();\n this.openModal('AbpTenantManagement::ConnectionStrings', this.connectionStringModalTemplate, 'saveConnStr');\n });\n }\n\n onAddTenant() {\n this.selected = {} as ABP.BasicItem;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::NewTenant', this.tenantModalTemplate, 'saveTenant');\n }\n\n onEditTenant(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(pluck('TenantManagementState', 'selectedItem'))\n .subscribe(selected => {\n this.selected = selected;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::Edit', this.tenantModalTemplate, 'saveTenant');\n });\n }\n\n save() {\n const { type } = this.selectedModalContent;\n if (!type) return;\n if (type === 'saveTenant') this.saveTenant();\n else if (type === 'saveConnStr') this.saveConnectionString();\n }\n\n saveConnectionString() {\n this.modalBusy = true;\n if (this.useSharedDatabase) {\n this.tenantService\n .deleteDefaultConnectionString(this.selected.id)\n .pipe(take(1))\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n } else {\n this.tenantService\n .updateDefaultConnectionString({ id: this.selected.id, defaultConnectionString: this.connectionString })\n .pipe(take(1))\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n }\n\n saveTenant() {\n if (!this.tenantForm.valid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateTenant({ ...this.tenantForm.value, id: this.selected.id })\n : new CreateTenant(this.tenantForm.value),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpTenantManagement::TenantDeletionConfirmationMessage', 'AbpTenantManagement::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteTenant(id));\n this.modalBusy = false;\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetTenants(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetTenants } from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementState } from '../states/tenant-management.state';\n\n@Injectable()\nexport class TenantsResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const data = this.store.selectSnapshot(TenantManagementState.get);\n return data && data.length ? null : this.store.dispatch(new GetTenants());\n }\n}\n","import { AuthGuard, DynamicLayoutComponent, PermissionGuard } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { TenantsResolver } from './resolvers/tenants.resolver';\nimport { TenantsComponent } from './components/tenants/tenants.component';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'tenants', pathMatch: 'full' },\n {\n path: 'tenants',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpTenantManagement.Tenants' },\n children: [{ path: '', component: TenantsComponent, resolve: [TenantsResolver] }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [TenantsResolver],\n})\nexport class TenantManagementRoutingModule {}\n","import { ABP } from '@abp/ng.core';\n\nexport namespace TenantManagement {\n export interface State {\n result: Response;\n selectedItem: Item;\n }\n\n export type Response = ABP.PagedResponse;\n\n export interface Item {\n id: string;\n name: string;\n }\n\n export interface AddRequest {\n name: string;\n }\n\n export interface UpdateRequest extends AddRequest {\n id: string;\n }\n\n export interface DefaultConnectionStringRequest {\n id: string;\n defaultConnectionString: string;\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxsModule } from '@ngxs/store';\nimport { TableModule } from 'primeng/table';\nimport { TenantsComponent } from './components/tenants/tenants.component';\nimport { TenantManagementState } from './states/tenant-management.state';\nimport { TenantManagementRoutingModule } from './tenant-management-routing.module';\n\n@NgModule({\n declarations: [TenantsComponent],\n imports: [\n TenantManagementRoutingModule,\n NgxsModule.forFeature([TenantManagementState]),\n CoreModule,\n TableModule,\n ThemeSharedModule,\n NgbDropdownModule,\n ],\n})\nexport class TenantManagementModule {}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const TENANT_MANAGEMENT_ROUTES = [\n {\n name: 'AbpTenantManagement::Menu:TenantManagement',\n path: 'tenant-management',\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-users',\n children: [\n {\n path: 'tenants',\n name: 'AbpTenantManagement::Tenants',\n order: 1,\n requiredPolicy: 'AbpTenantManagement.Tenants',\n },\n ],\n },\n] as ABP.FullRoute[];\n"]} \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/esm2015/lib/components/tenants/tenants.component.js b/npm/ng-packs/dist/tenant-management/esm2015/lib/components/tenants/tenants.component.js index c17124a501..902f9e9ac9 100644 --- a/npm/ng-packs/dist/tenant-management/esm2015/lib/components/tenants/tenants.component.js +++ b/npm/ng-packs/dist/tenant-management/esm2015/lib/components/tenants/tenants.component.js @@ -29,6 +29,7 @@ export class TenantsComponent { sorting: 'name', }; this.loading = false; + this.modalBusy = false; } /** * @return {?} @@ -151,6 +152,7 @@ export class TenantsComponent { * @return {?} */ saveConnectionString() { + this.modalBusy = true; if (this.useSharedDatabase) { this.tenantService .deleteDefaultConnectionString(this.selected.id) @@ -159,6 +161,7 @@ export class TenantsComponent { * @return {?} */ () => { + this.modalBusy = false; this.isModalVisible = false; })); } @@ -170,6 +173,7 @@ export class TenantsComponent { * @return {?} */ () => { + this.modalBusy = false; this.isModalVisible = false; })); } @@ -180,6 +184,7 @@ export class TenantsComponent { saveTenant() { if (!this.tenantForm.valid) return; + this.modalBusy = true; this.store .dispatch(this.selected.id ? new UpdateTenant(Object.assign({}, this.tenantForm.value, { id: this.selected.id })) @@ -188,6 +193,7 @@ export class TenantsComponent { * @return {?} */ () => { + this.modalBusy = false; this.isModalVisible = false; })); } @@ -208,6 +214,7 @@ export class TenantsComponent { (status) => { if (status === "confirm" /* confirm */) { this.store.dispatch(new DeleteTenant(id)); + this.modalBusy = false; } })); } @@ -237,7 +244,7 @@ export class TenantsComponent { TenantsComponent.decorators = [ { type: Component, args: [{ selector: 'abp-tenants', - template: "
\n
\n
\n
\n
\n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
\n
\n
\n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
\n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
\n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::ConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
\n
\n \n {{ data.name }}\n \n
\n \n
\n
\n\n\n \n

{{ selectedModalContent.title | abpLocalization }}

\n
\n\n \n \n \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
\n\n\n
\n
\n
\n \n \n
\n
\n
\n
\n\n\n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n" + template: "
\n
\n
\n
\n
\n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
\n
\n
\n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
\n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
\n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::ConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
\n
\n \n {{ data.name }}\n \n
\n \n
\n
\n\n\n \n

{{ selectedModalContent.title | abpLocalization }}

\n
\n\n \n \n \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
\n\n\n
\n
\n
\n \n \n
\n
\n
\n
\n\n\n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n" }] } ]; /** @nocollapse */ @@ -283,6 +290,8 @@ if (false) { /** @type {?} */ TenantsComponent.prototype.loading; /** @type {?} */ + TenantsComponent.prototype.modalBusy; + /** @type {?} */ TenantsComponent.prototype.tenantModalTemplate; /** @type {?} */ TenantsComponent.prototype.connectionStringModalTemplate; @@ -307,4 +316,4 @@ if (false) { */ TenantsComponent.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRlbmFudC1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvdGVuYW50cy90ZW5hbnRzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQVcsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFnQixRQUFRLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQ0wsWUFBWSxFQUNaLFlBQVksRUFDWixVQUFVLEVBQ1YsYUFBYSxFQUNiLFlBQVksR0FDYixNQUFNLHlDQUF5QyxDQUFDO0FBQ2pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBWTdFLE1BQU0sT0FBTyxnQkFBZ0I7Ozs7Ozs7SUF5QzNCLFlBQ1UsbUJBQXdDLEVBQ3hDLGFBQXNDLEVBQ3RDLEVBQWUsRUFDZixLQUFZO1FBSFosd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxrQkFBYSxHQUFiLGFBQWEsQ0FBeUI7UUFDdEMsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLFVBQUssR0FBTCxLQUFLLENBQU87UUE1QnRCLHlCQUFvQixHQUFHLG1CQUFBLEVBQUUsRUFBd0Is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REFDZ0Q7Ozs7O0lBRzlDLCtDQUFnRDs7Ozs7SUFDaEQseUNBQThDOzs7OztJQUM5Qyw4QkFBdUI7Ozs7O0lBQ3ZCLGlDQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFCUCB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlLCBUb2FzdGVyIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZmluYWxpemUsIHBsdWNrLCBzd2l0Y2hNYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBDcmVhdGVUZW5hbnQsXG4gIERlbGV0ZVRlbmFudCxcbiAgR2V0VGVuYW50cyxcbiAgR2V0VGVuYW50QnlJZCxcbiAgVXBkYXRlVGVuYW50LFxufSBmcm9tICcuLi8uLi9hY3Rpb25zL3RlbmFudC1tYW5hZ2VtZW50LmFjdGlvbnMnO1xuaW1wb3J0IHsgVGVuYW50TWFuYWdlbWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90ZW5hbnQtbWFuYWdlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFRlbmFudE1hbmFnZW1lbnRTdGF0ZSB9IGZyb20gJy4uLy4uL3N0YXRlcy90ZW5hbnQtbWFuYWdlbWVudC5zdGF0ZSc7XG5cbnR5cGUgU2VsZWN0ZWRNb2RhbENvbnRlbnQgPSB7XG4gIHR5cGU6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtdGVuYW50cycsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZW5hbnRzLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgVGVuYW50c0NvbXBvbmVudCB7XG4gIEBTZWxlY3QoVGVuYW50TWFuYWdlbWVudFN0YXRlLmdldClcbiAgZGF0YSQ6IE9ic2VydmFibGU8QUJQLkJhc2ljSXRlbVtdPjtcblxuICBAU2VsZWN0KFRlbmFudE1hbmFnZW1lbnRTdGF0ZS5nZXRUZW5hbnRzVG90YWxDb3VudClcbiAgdG90YWxDb3VudCQ6IE9ic2VydmFibGU8bnVtYmVyPjtcblxuICBzZWxlY3RlZDogQUJQLkJhc2ljSXRlbTtcblxuICB0ZW5hbnRGb3JtOiBGb3JtR3JvdXA7XG5cbiAgZGVmYXVsdENvbm5lY3Rpb25TdHJpbmdGb3JtOiBGb3JtR3JvdXA7XG5cbiAgZGVmYXVsdENvbm5lY3Rpb25TdHJpbmc6IHN0cmluZztcblxuICBpc01vZGFsVmlzaWJsZTogYm9vbGVhbjtcblxuICBzZWxlY3RlZE1vZGFsQ29udGVudCA9IHt9IGFzIFNlbGVjdGVkTW9kYWxDb250ZW50O1xuXG4gIF91c2VTaGFyZWREYXRhYmFzZTogYm9vbGVhbjtcblxuICBwYWdlUXVlcnk6IEFCUC5QYWdlUXVlcnlQYXJhbXMgPSB7XG4gICAgc29ydGluZzogJ25hbWUnLFxuICB9O1xuXG4gIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBnZXQgdXNlU2hhcmVkRGF0YWJhc2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGVmYXVsdENvbm5lY3Rpb25TdHJpbmdGb3JtLmdldCgndXNlU2hhcmVkRGF0YWJhc2UnKS52YWx1ZTtcbiAgfVxuXG4gIGdldCBjb25uZWN0aW9uU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZGVmYXVsdENvbm5lY3Rpb25TdHJpbmdGb3JtLmdldCgnZGVmYXVsdENvbm5lY3Rpb25TdHJpbmcnKS52YWx1ZTtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ3RlbmFudE1vZGFsVGVtcGxhdGUnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgdGVuYW50TW9kYWxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAVmlld0NoaWxkKCdjb25uZWN0aW9uU3RyaW5nTW9kYWxUZW1wbGF0ZScsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBjb25uZWN0aW9uU3RyaW5nTW9kYWxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0ZW5hbnRTZXJ2aWNlOiBUZW5hbnRNYW5hZ2VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZSxcbiAgKSB7fVxuXG4gIG9uU2VhcmNoKHZhbHVlKSB7XG4gICAgdGhpcy5wYWdlUXVlcnkuZmlsdGVyID0gdmFsdWU7XG4gICAgdGhpcy5nZXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlVGVuYW50Rm9ybSgpIHtcbiAgICB0aGlzLnRlbmFudEZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIG5hbWU6IFt0aGlzLnNlbGVjdGVkLm5hbWUgfHwgJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1heExlbmd0aCgyNTYpXV0sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZURlZmF1bHRDb25uZWN0aW9uU3RyaW5nRm9ybSgpIHtcbiAgICB0aGlzLmRlZmF1bHRDb25uZWN0aW9uU3RyaW5nRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgdXNlU2hhcmVkRGF0YWJhc2U6IHRoaXMuX3VzZVNoYXJlZERhdGFiYXNlLFxuICAgICAgZGVmYXVsdENvbm5lY3Rpb25TdHJpbmc6IHRoaXMuZGVmYXVsdENvbm5lY3Rpb25TdHJpbmcgfHwgJycsXG4gICAgfSk7XG4gIH1cblxuICBvcGVuTW9kYWwodGl0bGU6IHN0cmluZywgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4sIHR5cGU6IHN0cmluZykge1xuICAgIHRoaXMuc2VsZWN0ZWRNb2RhbENvbnRlbnQgPSB7XG4gICAgICB0aXRsZSxcbiAgICAgIHRlbXBsYXRlLFxuICAgICAgdHlwZSxcbiAgICB9O1xuXG4gICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IHRydWU7XG4gIH1cblxuICBvbkVkaXRDb25uZWN0aW9uU3RyaW5nKGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFRlbmFudEJ5SWQoaWQpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHBsdWNrKCdUZW5hbnRNYW5hZ2VtZW50U3RhdGUnLCAnc2VsZWN0ZWRJdGVtJyksXG4gICAgICAgIHN3aXRjaE1hcChzZWxlY3RlZCA9PiB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkO1xuICAgICAgICAgIHJldHVybiB0aGlzLnRlbmFudFNlcnZpY2UuZ2V0RGVmYXVsdENvbm5lY3Rpb25TdHJpbmcoaWQpO1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoZmV0Y2hlZENvbm5lY3Rpb25TdHJpbmcgPT4ge1xuICAgICAgICB0aGlzLl91c2VTaGFyZWREYXRhYmFzZSA9IGZldGNoZWRDb25uZWN0aW9uU3RyaW5nID8gZmFsc2UgOiB0cnVlO1xuICAgICAgICB0aGlzLmRlZmF1bHRDb25uZWN0aW9uU3RyaW5nID0gZmV0Y2hlZENvbm5lY3Rpb25TdHJpbmcgPyBmZXRjaGVkQ29ubmVjdGlvblN0cmluZyA6ICcnO1xuICAgICAgICB0aGlzLmNyZWF0ZURlZmF1bHRDb25uZWN0aW9uU3RyaW5nRm9ybSgpO1xuICAgICAgICB0aGlzLm9wZW5Nb2RhbCgnQWJwVGVuYW50TWFuYWdlbWVudDo6Q29ubmVjdGlvblN0cmluZ3MnLCB0aGlzLmNvbm5lY3Rpb25TdHJpbmdNb2RhbFRlbXBsYXRlLCAnc2F2ZUNvbm5TdHInKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgb25BZGRUZW5hbnQoKSB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHt9IGFzIEFCUC5CYXNpY0l0ZW07XG4gICAgdGhpcy5jcmVhdGVUZW5hbnRGb3JtKCk7XG4gICAgdGhpcy5vcGVuTW9kYWwoJ0FicFRlbmFudE1hbmFnZW1lbnQ6Ok5ld1RlbmFudCcsIHRoaXMudGVuYW50TW9kYWxUZW1wbGF0ZSwgJ3NhdmVUZW5hbnQnKTtcbiAgfVxuXG4gIG9uRWRpdFRlbmFudChpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKG5ldyBHZXRUZW5hbnRCeUlkKGlkKSlcbiAgICAgIC5waXBlKHBsdWNrKCdUZW5hbnRNYW5hZ2VtZW50U3RhdGUnLCAnc2VsZWN0ZWRJdGVtJykpXG4gICAgICAuc3Vic2NyaWJlKHNlbGVjdGVkID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkO1xuICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudEZvcm0oKTtcbiAgICAgICAgdGhpcy5vcGVuTW9kYWwoJ0FicFRlbmFudE1hbmFnZW1lbnQ6OkVkaXQnLCB0aGlzLnRlbmFudE1vZGFsVGVtcGxhdGUsICdzYXZlVGVuYW50Jyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHNhdmUoKSB7XG4gICAgY29uc3QgeyB0eXBlIH0gPSB0aGlzLnNlbGVjdGVkTW9kYWxDb250ZW50O1xuICAgIGlmICghdHlwZSkgcmV0dXJuO1xuICAgIGlmICh0eXBlID09PSAnc2F2ZVRlbmFudCcpIHRoaXMuc2F2ZVRlbmFudCgpO1xuICAgIGVsc2UgaWYgKHR5cGUgPT09ICdzYXZlQ29ublN0cicpIHRoaXMuc2F2ZUNvbm5lY3Rpb25TdHJpbmcoKTtcbiAgfVxuXG4gIHNhdmVDb25uZWN0aW9uU3RyaW5nKCkge1xuICAgIGlmICh0aGlzLnVzZVNoYXJlZERhdGFiYXNlKSB7XG4gICAgICB0aGlzLnRlbmFudFNlcnZpY2VcbiAgICAgICAgLmRlbGV0ZURlZmF1bHRDb25uZWN0aW9uU3RyaW5nKHRoaXMuc2VsZWN0ZWQuaWQpXG4gICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudGVuYW50U2VydmljZVxuICAgICAgICAudXBkYXRlRGVmYXVsdENvbm5lY3Rpb25TdHJpbmcoeyBpZDogdGhpcy5zZWxlY3RlZC5pZCwgZGVmYXVsdENvbm5lY3Rpb25TdHJpbmc6IHRoaXMuY29ubmVjdGlvblN0cmluZyB9KVxuICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHNhdmVUZW5hbnQoKSB7XG4gICAgaWYgKCF0aGlzLnRlbmFudEZvcm0udmFsaWQpIHJldHVybjtcblxuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5kaXNwYXRjaChcbiAgICAgICAgdGhpcy5zZWxlY3RlZC5pZFxuICAgICAgICAgID8gbmV3IFVwZGF0ZVRlbmFudCh7IC4uLnRoaXMudGVuYW50Rm9ybS52YWx1ZSwgaWQ6IHRoaXMuc2VsZWN0ZWQuaWQgfSlcbiAgICAgICAgICA6IG5ldyBDcmVhdGVUZW5hbnQodGhpcy50ZW5hbnRGb3JtLnZhbHVlKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gZmFsc2U7XG4gICAgICB9KTtcbiAgfVxuXG4gIGRlbGV0ZShpZDogc3RyaW5nLCBuYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2VcbiAgICAgIC53YXJuKCdBYnBUZW5hbnRNYW5hZ2VtZW50OjpUZW5hbnREZWxldGlvbkNvbmZpcm1hdGlvbk1lc3NhZ2UnLCAnQWJwVGVuYW50TWFuYWdlbWVudDo6QXJlWW91U3VyZScsIHtcbiAgICAgICAgbWVzc2FnZUxvY2FsaXphdGlvblBhcmFtczogW25hbWVdLFxuICAgICAgfSlcbiAgICAgIC5zdWJzY3JpYmUoKHN0YXR1czogVG9hc3Rlci5TdGF0dXMpID0+IHtcbiAgICAgICAgaWYgKHN0YXR1cyA9PT0gVG9hc3Rlci5TdGF0dXMuY29uZmlybSkge1xuICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IERlbGV0ZVRlbmFudChpZCkpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIG9uUGFnZUNoYW5nZShkYXRhKSB7XG4gICAgdGhpcy5wYWdlUXVlcnkuc2tpcENvdW50ID0gZGF0YS5maXJzdDtcbiAgICB0aGlzLnBhZ2VRdWVyeS5tYXhSZXN1bHRDb3VudCA9IGRhdGEucm93cztcblxuICAgIHRoaXMuZ2V0KCk7XG4gIH1cblxuICBnZXQoKSB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFRlbmFudHModGhpcy5wYWdlUXVlcnkpKVxuICAgICAgLnBpcGUoZmluYWxpemUoKCkgPT4gKHRoaXMubG9hZGluZyA9IGZhbHNlKSkpXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRlbmFudC1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvdGVuYW50cy90ZW5hbnRzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQVcsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFnQixRQUFRLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQ0wsWUFBWSxFQUNaLFlBQVksRUFDWixVQUFVLEVBQ1YsYUFBYSxFQUNiLFlBQVksR0FDYixNQUFNLHlDQUF5QyxDQUFDO0FBQ2pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBWTdFLE1BQU0sT0FBTyxnQkFBZ0I7Ozs7Ozs7SUEyQzNCLFlBQ1UsbUJBQXdDLEVBQ3hDLGFBQXNDLEVBQ3RDLEVBQWUsRUFDZixLQUFZO1FBSFosd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxrQkFBYSxHQUFiLGFBQWEsQ0FBeUI7UUFDdEMsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLFVBQUssR0FBTCxLQUFLLENBQU87UUE5QnRCLHlCQUFvQixHQUFHLG1CQUFBLEVBQUUsRUFBd0Is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K0NBQWtCO0FBR25DO0lBREMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLG9CQUFvQixDQUFDO3NDQUN0QyxVQUFVO3FEQUFTOzs7SUFKaEMsaUNBQ21DOztJQUVuQyx1Q0FDZ0M7O0lBRWhDLG9DQUF3Qjs7SUFFeEIsc0NBQXNCOztJQUV0Qix1REFBdUM7O0lBRXZDLG1EQUFnQzs7SUFFaEMsMENBQXdCOztJQUV4QixnREFBa0Q7O0lBRWxELDhDQUE0Qjs7SUFFNUIscUNBRUU7O0lBRUYsbUNBQXlCOztJQUV6QixxQ0FBMkI7O0lBVTNCLCtDQUNzQzs7SUFFdEMseURBQ2dEOzs7OztJQUc5QywrQ0FBZ0Q7Ozs7O0lBQ2hELHlDQUE4Qzs7Ozs7SUFDOUMsOEJBQXVCOzs7OztJQUN2QixpQ0FBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBQlAgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSwgVG9hc3RlciB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7IENvbXBvbmVudCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZpbmFsaXplLCBwbHVjaywgc3dpdGNoTWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgQ3JlYXRlVGVuYW50LFxuICBEZWxldGVUZW5hbnQsXG4gIEdldFRlbmFudHMsXG4gIEdldFRlbmFudEJ5SWQsXG4gIFVwZGF0ZVRlbmFudCxcbn0gZnJvbSAnLi4vLi4vYWN0aW9ucy90ZW5hbnQtbWFuYWdlbWVudC5hY3Rpb25zJztcbmltcG9ydCB7IFRlbmFudE1hbmFnZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGVuYW50LW1hbmFnZW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBUZW5hbnRNYW5hZ2VtZW50U3RhdGUgfSBmcm9tICcuLi8uLi9zdGF0ZXMvdGVuYW50LW1hbmFnZW1lbnQuc3RhdGUnO1xuXG50eXBlIFNlbGVjdGVkTW9kYWxDb250ZW50ID0ge1xuICB0eXBlOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLXRlbmFudHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGVuYW50cy5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFRlbmFudHNDb21wb25lbnQge1xuICBAU2VsZWN0KFRlbmFudE1hbmFnZW1lbnRTdGF0ZS5nZXQpXG4gIGRhdGEkOiBPYnNlcnZhYmxlPEFCUC5CYXNpY0l0ZW1bXT47XG5cbiAgQFNlbGVjdChUZW5hbnRNYW5hZ2VtZW50U3RhdGUuZ2V0VGVuYW50c1RvdGFsQ291bnQpXG4gIHRvdGFsQ291bnQkOiBPYnNlcnZhYmxlPG51bWJlcj47XG5cbiAgc2VsZWN0ZWQ6IEFCUC5CYXNpY0l0ZW07XG5cbiAgdGVuYW50Rm9ybTogRm9ybUdyb3VwO1xuXG4gIGRlZmF1bHRDb25uZWN0aW9uU3RyaW5nRm9ybTogRm9ybUdyb3VwO1xuXG4gIGRlZmF1bHRDb25uZWN0aW9uU3RyaW5nOiBzdHJpbmc7XG5cbiAgaXNNb2RhbFZpc2libGU6IGJvb2xlYW47XG5cbiAgc2VsZWN0ZWRNb2RhbENvbnRlbnQgPSB7fSBhcyBTZWxlY3RlZE1vZGFsQ29udGVudDtcblxuICBfdXNlU2hhcmVkRGF0YWJhc2U6IGJvb2xlYW47XG5cbiAgcGFnZVF1ZXJ5OiBBQlAuUGFnZVF1ZXJ5UGFyYW1zID0ge1xuICAgIHNvcnRpbmc6ICduYW1lJyxcbiAgfTtcblxuICBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgbW9kYWxCdXN5OiBib29sZWFuID0gZmFsc2U7XG5cbiAgZ2V0IHVzZVNoYXJlZERhdGFiYXNlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRlZmF1bHRDb25uZWN0aW9uU3RyaW5nRm9ybS5nZXQoJ3VzZVNoYXJlZERhdGFiYXNlJykudmFsdWU7XG4gIH1cblxuICBnZXQgY29ubmVjdGlvblN0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmRlZmF1bHRDb25uZWN0aW9uU3RyaW5nRm9ybS5nZXQoJ2RlZmF1bHRDb25uZWN0aW9uU3RyaW5nJykudmFsdWU7XG4gIH1cblxuICBAVmlld0NoaWxkKCd0ZW5hbnRNb2RhbFRlbXBsYXRlJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIHRlbmFudE1vZGFsVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQFZpZXdDaGlsZCgnY29ubmVjdGlvblN0cmluZ01vZGFsVGVtcGxhdGUnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgY29ubmVjdGlvblN0cmluZ01vZGFsVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgdGVuYW50U2VydmljZTogVGVuYW50TWFuYWdlbWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmUsXG4gICkge31cblxuICBvblNlYXJjaCh2YWx1ZSkge1xuICAgIHRoaXMucGFnZVF1ZXJ5LmZpbHRlciA9IHZhbHVlO1xuICAgIHRoaXMuZ2V0KCk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVRlbmFudEZvcm0oKSB7XG4gICAgdGhpcy50ZW5hbnRGb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBuYW1lOiBbdGhpcy5zZWxlY3RlZC5uYW1lIHx8ICcnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjU2KV1dLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVEZWZhdWx0Q29ubmVjdGlvblN0cmluZ0Zvcm0oKSB7XG4gICAgdGhpcy5kZWZhdWx0Q29ubmVjdGlvblN0cmluZ0Zvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIHVzZVNoYXJlZERhdGFiYXNlOiB0aGlzLl91c2VTaGFyZWREYXRhYmFzZSxcbiAgICAgIGRlZmF1bHRDb25uZWN0aW9uU3RyaW5nOiB0aGlzLmRlZmF1bHRDb25uZWN0aW9uU3RyaW5nIHx8ICcnLFxuICAgIH0pO1xuICB9XG5cbiAgb3Blbk1vZGFsKHRpdGxlOiBzdHJpbmcsIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+LCB0eXBlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlbGVjdGVkTW9kYWxDb250ZW50ID0ge1xuICAgICAgdGl0bGUsXG4gICAgICB0ZW1wbGF0ZSxcbiAgICAgIHR5cGUsXG4gICAgfTtcblxuICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSB0cnVlO1xuICB9XG5cbiAgb25FZGl0Q29ubmVjdGlvblN0cmluZyhpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKG5ldyBHZXRUZW5hbnRCeUlkKGlkKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBwbHVjaygnVGVuYW50TWFuYWdlbWVudFN0YXRlJywgJ3NlbGVjdGVkSXRlbScpLFxuICAgICAgICBzd2l0Y2hNYXAoc2VsZWN0ZWQgPT4ge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgICAgICAgICByZXR1cm4gdGhpcy50ZW5hbnRTZXJ2aWNlLmdldERlZmF1bHRDb25uZWN0aW9uU3RyaW5nKGlkKTtcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKGZldGNoZWRDb25uZWN0aW9uU3RyaW5nID0+IHtcbiAgICAgICAgdGhpcy5fdXNlU2hhcmVkRGF0YWJhc2UgPSBmZXRjaGVkQ29ubmVjdGlvblN0cmluZyA/IGZhbHNlIDogdHJ1ZTtcbiAgICAgICAgdGhpcy5kZWZhdWx0Q29ubmVjdGlvblN0cmluZyA9IGZldGNoZWRDb25uZWN0aW9uU3RyaW5nID8gZmV0Y2hlZENvbm5lY3Rpb25TdHJpbmcgOiAnJztcbiAgICAgICAgdGhpcy5jcmVhdGVEZWZhdWx0Q29ubmVjdGlvblN0cmluZ0Zvcm0oKTtcbiAgICAgICAgdGhpcy5vcGVuTW9kYWwoJ0FicFRlbmFudE1hbmFnZW1lbnQ6OkNvbm5lY3Rpb25TdHJpbmdzJywgdGhpcy5jb25uZWN0aW9uU3RyaW5nTW9kYWxUZW1wbGF0ZSwgJ3NhdmVDb25uU3RyJyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG9uQWRkVGVuYW50KCkge1xuICAgIHRoaXMuc2VsZWN0ZWQgPSB7fSBhcyBBQlAuQmFzaWNJdGVtO1xuICAgIHRoaXMuY3JlYXRlVGVuYW50Rm9ybSgpO1xuICAgIHRoaXMub3Blbk1vZGFsKCdBYnBUZW5hbnRNYW5hZ2VtZW50OjpOZXdUZW5hbnQnLCB0aGlzLnRlbmFudE1vZGFsVGVtcGxhdGUsICdzYXZlVGVuYW50Jyk7XG4gIH1cblxuICBvbkVkaXRUZW5hbnQoaWQ6IHN0cmluZykge1xuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5kaXNwYXRjaChuZXcgR2V0VGVuYW50QnlJZChpZCkpXG4gICAgICAucGlwZShwbHVjaygnVGVuYW50TWFuYWdlbWVudFN0YXRlJywgJ3NlbGVjdGVkSXRlbScpKVxuICAgICAgLnN1YnNjcmliZShzZWxlY3RlZCA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRGb3JtKCk7XG4gICAgICAgIHRoaXMub3Blbk1vZGFsKCdBYnBUZW5hbnRNYW5hZ2VtZW50OjpFZGl0JywgdGhpcy50ZW5hbnRNb2RhbFRlbXBsYXRlLCAnc2F2ZVRlbmFudCcpO1xuICAgICAgfSk7XG4gIH1cblxuICBzYXZlKCkge1xuICAgIGNvbnN0IHsgdHlwZSB9ID0gdGhpcy5zZWxlY3RlZE1vZGFsQ29udGVudDtcbiAgICBpZiAoIXR5cGUpIHJldHVybjtcbiAgICBpZiAodHlwZSA9PT0gJ3NhdmVUZW5hbnQnKSB0aGlzLnNhdmVUZW5hbnQoKTtcbiAgICBlbHNlIGlmICh0eXBlID09PSAnc2F2ZUNvbm5TdHInKSB0aGlzLnNhdmVDb25uZWN0aW9uU3RyaW5nKCk7XG4gIH1cblxuICBzYXZlQ29ubmVjdGlvblN0cmluZygpIHtcbiAgICB0aGlzLm1vZGFsQnVzeSA9IHRydWU7XG4gICAgaWYgKHRoaXMudXNlU2hhcmVkRGF0YWJhc2UpIHtcbiAgICAgIHRoaXMudGVuYW50U2VydmljZVxuICAgICAgICAuZGVsZXRlRGVmYXVsdENvbm5lY3Rpb25TdHJpbmcodGhpcy5zZWxlY3RlZC5pZClcbiAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5tb2RhbEJ1c3kgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRlbmFudFNlcnZpY2VcbiAgICAgICAgLnVwZGF0ZURlZmF1bHRDb25uZWN0aW9uU3RyaW5nKHsgaWQ6IHRoaXMuc2VsZWN0ZWQuaWQsIGRlZmF1bHRDb25uZWN0aW9uU3RyaW5nOiB0aGlzLmNvbm5lY3Rpb25TdHJpbmcgfSlcbiAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5tb2RhbEJ1c3kgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHNhdmVUZW5hbnQoKSB7XG4gICAgaWYgKCF0aGlzLnRlbmFudEZvcm0udmFsaWQpIHJldHVybjtcbiAgICB0aGlzLm1vZGFsQnVzeSA9IHRydWU7XG5cbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2goXG4gICAgICAgIHRoaXMuc2VsZWN0ZWQuaWRcbiAgICAgICAgICA/IG5ldyBVcGRhdGVUZW5hbnQoeyAuLi50aGlzLnRlbmFudEZvcm0udmFsdWUsIGlkOiB0aGlzLnNlbGVjdGVkLmlkIH0pXG4gICAgICAgICAgOiBuZXcgQ3JlYXRlVGVuYW50KHRoaXMudGVuYW50Rm9ybS52YWx1ZSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5tb2RhbEJ1c3kgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgfSk7XG4gIH1cblxuICBkZWxldGUoaWQ6IHN0cmluZywgbmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlXG4gICAgICAud2FybignQWJwVGVuYW50TWFuYWdlbWVudDo6VGVuYW50RGVsZXRpb25Db25maXJtYXRpb25NZXNzYWdlJywgJ0FicFRlbmFudE1hbmFnZW1lbnQ6OkFyZVlvdVN1cmUnLCB7XG4gICAgICAgIG1lc3NhZ2VMb2NhbGl6YXRpb25QYXJhbXM6IFtuYW1lXSxcbiAgICAgIH0pXG4gICAgICAuc3Vic2NyaWJlKChzdGF0dXM6IFRvYXN0ZXIuU3RhdHVzKSA9PiB7XG4gICAgICAgIGlmIChzdGF0dXMgPT09IFRvYXN0ZXIuU3RhdHVzLmNvbmZpcm0pIHtcbiAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBEZWxldGVUZW5hbnQoaWQpKTtcbiAgICAgICAgICB0aGlzLm1vZGFsQnVzeSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIG9uUGFnZUNoYW5nZShkYXRhKSB7XG4gICAgdGhpcy5wYWdlUXVlcnkuc2tpcENvdW50ID0gZGF0YS5maXJzdDtcbiAgICB0aGlzLnBhZ2VRdWVyeS5tYXhSZXN1bHRDb3VudCA9IGRhdGEucm93cztcblxuICAgIHRoaXMuZ2V0KCk7XG4gIH1cblxuICBnZXQoKSB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFRlbmFudHModGhpcy5wYWdlUXVlcnkpKVxuICAgICAgLnBpcGUoZmluYWxpemUoKCkgPT4gKHRoaXMubG9hZGluZyA9IGZhbHNlKSkpXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/esm5/lib/components/tenants/tenants.component.js b/npm/ng-packs/dist/tenant-management/esm5/lib/components/tenants/tenants.component.js index a2d7ec70e2..b59b5b997c 100644 --- a/npm/ng-packs/dist/tenant-management/esm5/lib/components/tenants/tenants.component.js +++ b/npm/ng-packs/dist/tenant-management/esm5/lib/components/tenants/tenants.component.js @@ -23,6 +23,7 @@ var TenantsComponent = /** @class */ (function () { sorting: 'name', }; this.loading = false; + this.modalBusy = false; } Object.defineProperty(TenantsComponent.prototype, "useSharedDatabase", { get: /** @@ -191,6 +192,7 @@ var TenantsComponent = /** @class */ (function () { */ function () { var _this = this; + this.modalBusy = true; if (this.useSharedDatabase) { this.tenantService .deleteDefaultConnectionString(this.selected.id) @@ -199,6 +201,7 @@ var TenantsComponent = /** @class */ (function () { * @return {?} */ function () { + _this.modalBusy = false; _this.isModalVisible = false; })); } @@ -210,6 +213,7 @@ var TenantsComponent = /** @class */ (function () { * @return {?} */ function () { + _this.modalBusy = false; _this.isModalVisible = false; })); } @@ -224,6 +228,7 @@ var TenantsComponent = /** @class */ (function () { var _this = this; if (!this.tenantForm.valid) return; + this.modalBusy = true; this.store .dispatch(this.selected.id ? new UpdateTenant(tslib_1.__assign({}, this.tenantForm.value, { id: this.selected.id })) @@ -232,6 +237,7 @@ var TenantsComponent = /** @class */ (function () { * @return {?} */ function () { + _this.modalBusy = false; _this.isModalVisible = false; })); }; @@ -258,6 +264,7 @@ var TenantsComponent = /** @class */ (function () { function (status) { if (status === "confirm" /* confirm */) { _this.store.dispatch(new DeleteTenant(id)); + _this.modalBusy = false; } })); }; @@ -294,7 +301,7 @@ var TenantsComponent = /** @class */ (function () { TenantsComponent.decorators = [ { type: Component, args: [{ selector: 'abp-tenants', - template: "
\n
\n
\n
\n
\n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
\n
\n
\n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
\n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
\n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::ConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
\n
\n \n {{ data.name }}\n \n
\n \n
\n
\n\n\n \n

{{ selectedModalContent.title | abpLocalization }}

\n
\n\n \n \n \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
\n\n\n
\n
\n
\n \n \n
\n
\n
\n
\n\n\n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n" + template: "
\n
\n
\n
\n
\n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
\n
\n
\n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
\n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
\n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::ConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
\n
\n \n {{ data.name }}\n \n
\n \n
\n
\n\n\n \n

{{ selectedModalContent.title | abpLocalization }}

\n
\n\n \n \n \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
\n\n\n
\n
\n
\n \n \n
\n
\n
\n
\n\n\n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n" }] } ]; /** @nocollapse */ @@ -343,6 +350,8 @@ if (false) { /** @type {?} */ TenantsComponent.prototype.loading; /** @type {?} */ + TenantsComponent.prototype.modalBusy; + /** @type {?} */ TenantsComponent.prototype.tenantModalTemplate; /** @type {?} */ TenantsComponent.prototype.connectionStringModalTemplate; @@ -367,4 +376,4 @@ if (false) { */ TenantsComponent.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRlbmFudC1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvdGVuYW50cy90ZW5hbnRzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQVcsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFnQixRQUFRLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQ0wsWUFBWSxFQUNaLFlBQVksRUFDWixVQUFVLEVBQ1YsYUFBYSxFQUNiLFlBQVksR0FDYixNQUFNLHlDQUF5QyxDQUFDO0FBQ2pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBUTdFO0lBNkNFLDBCQUNVLG1CQUF3QyxFQUN4QyxhQUFzQyxFQUN0QyxFQUFlLEVBQ2YsS0FBWTtRQUhaLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsa0JBQWEsR0FBYixhQUFhLENBQXlCO1FBQ3RDLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBNUJ0Qix5QkFBb0IsR0FBRyxtQkFBQSxFQUFFLEVBQXdCLENBQUM7UUFJbEQsY0FBUyxHQUF3QjtZ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QUMzQixpQ0FDbUM7O0lBRW5DLHVDQUNnQzs7SUFFaEMsb0NBQXdCOztJQUV4QixzQ0FBc0I7O0lBRXRCLHVEQUF1Qzs7SUFFdkMsbURBQWdDOztJQUVoQywwQ0FBd0I7O0lBRXhCLGdEQUFrRDs7SUFFbEQsOENBQTRCOztJQUU1QixxQ0FFRTs7SUFFRixtQ0FBeUI7O0lBVXpCLCtDQUNzQzs7SUFFdEMseURBQ2dEOzs7OztJQUc5QywrQ0FBZ0Q7Ozs7O0lBQ2hELHlDQUE4Qzs7Ozs7SUFDOUMsOEJBQXVCOzs7OztJQUN2QixpQ0FBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBQlAgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSwgVG9hc3RlciB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7IENvbXBvbmVudCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZpbmFsaXplLCBwbHVjaywgc3dpdGNoTWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgQ3JlYXRlVGVuYW50LFxuICBEZWxldGVUZW5hbnQsXG4gIEdldFRlbmFudHMsXG4gIEdldFRlbmFudEJ5SWQsXG4gIFVwZGF0ZVRlbmFudCxcbn0gZnJvbSAnLi4vLi4vYWN0aW9ucy90ZW5hbnQtbWFuYWdlbWVudC5hY3Rpb25zJztcbmltcG9ydCB7IFRlbmFudE1hbmFnZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGVuYW50LW1hbmFnZW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBUZW5hbnRNYW5hZ2VtZW50U3RhdGUgfSBmcm9tICcuLi8uLi9zdGF0ZXMvdGVuYW50LW1hbmFnZW1lbnQuc3RhdGUnO1xuXG50eXBlIFNlbGVjdGVkTW9kYWxDb250ZW50ID0ge1xuICB0eXBlOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLXRlbmFudHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGVuYW50cy5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFRlbmFudHNDb21wb25lbnQge1xuICBAU2VsZWN0KFRlbmFudE1hbmFnZW1lbnRTdGF0ZS5nZXQpXG4gIGRhdGEkOiBPYnNlcnZhYmxlPEFCUC5CYXNpY0l0ZW1bXT47XG5cbiAgQFNlbGVjdChUZW5hbnRNYW5hZ2VtZW50U3RhdGUuZ2V0VGVuYW50c1RvdGFsQ291bnQpXG4gIHRvdGFsQ291bnQkOiBPYnNlcnZhYmxlPG51bWJlcj47XG5cbiAgc2VsZWN0ZWQ6IEFCUC5CYXNpY0l0ZW07XG5cbiAgdGVuYW50Rm9ybTogRm9ybUdyb3VwO1xuXG4gIGRlZmF1bHRDb25uZWN0aW9uU3RyaW5nRm9ybTogRm9ybUdyb3VwO1xuXG4gIGRlZmF1bHRDb25uZWN0aW9uU3RyaW5nOiBzdHJpbmc7XG5cbiAgaXNNb2RhbFZpc2libGU6IGJvb2xlYW47XG5cbiAgc2VsZWN0ZWRNb2RhbENvbnRlbnQgPSB7fSBhcyBTZWxlY3RlZE1vZGFsQ29udGVudDtcblxuICBfdXNlU2hhcmVkRGF0YWJhc2U6IGJvb2xlYW47XG5cbiAgcGFnZVF1ZXJ5OiBBQlAuUGFnZVF1ZXJ5UGFyYW1zID0ge1xuICAgIHNvcnRpbmc6ICduYW1lJyxcbiAgfTtcblxuICBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgZ2V0IHVzZVNoYXJlZERhdGFiYXNlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRlZmF1bHRDb25uZWN0aW9uU3RyaW5nRm9ybS5nZXQoJ3VzZVNoYXJlZERhdGFiYXNlJykudmFsdWU7XG4gIH1cblxuICBnZXQgY29ubmVjdGlvblN0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmRlZmF1bHRDb25uZWN0aW9uU3RyaW5nRm9ybS5nZXQoJ2RlZmF1bHRDb25uZWN0aW9uU3RyaW5nJykudmFsdWU7XG4gIH1cblxuICBAVmlld0NoaWxkKCd0ZW5hbnRNb2RhbFRlbXBsYXRlJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIHRlbmFudE1vZGFsVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQFZpZXdDaGlsZCgnY29ubmVjdGlvblN0cmluZ01vZGFsVGVtcGxhdGUnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgY29ubmVjdGlvblN0cmluZ01vZGFsVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgdGVuYW50U2VydmljZTogVGVuYW50TWFuYWdlbWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmUsXG4gICkge31cblxuICBvblNlYXJjaCh2YWx1ZSkge1xuICAgIHRoaXMucGFnZVF1ZXJ5LmZpbHRlciA9IHZhbHVlO1xuICAgIHRoaXMuZ2V0KCk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVRlbmFudEZvcm0oKSB7XG4gICAgdGhpcy50ZW5hbnRGb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBuYW1lOiBbdGhpcy5zZWxlY3RlZC5uYW1lIHx8ICcnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjU2KV1dLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVEZWZhdWx0Q29ubmVjdGlvblN0cmluZ0Zvcm0oKSB7XG4gICAgdGhpcy5kZWZhdWx0Q29ubmVjdGlvblN0cmluZ0Zvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIHVzZVNoYXJlZERhdGFiYXNlOiB0aGlzLl91c2VTaGFyZWREYXRhYmFzZSxcbiAgICAgIGRlZmF1bHRDb25uZWN0aW9uU3RyaW5nOiB0aGlzLmRlZmF1bHRDb25uZWN0aW9uU3RyaW5nIHx8ICcnLFxuICAgIH0pO1xuICB9XG5cbiAgb3Blbk1vZGFsKHRpdGxlOiBzdHJpbmcsIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+LCB0eXBlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlbGVjdGVkTW9kYWxDb250ZW50ID0ge1xuICAgICAgdGl0bGUsXG4gICAgICB0ZW1wbGF0ZSxcbiAgICAgIHR5cGUsXG4gICAgfTtcblxuICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSB0cnVlO1xuICB9XG5cbiAgb25FZGl0Q29ubmVjdGlvblN0cmluZyhpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKG5ldyBHZXRUZW5hbnRCeUlkKGlkKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBwbHVjaygnVGVuYW50TWFuYWdlbWVudFN0YXRlJywgJ3NlbGVjdGVkSXRlbScpLFxuICAgICAgICBzd2l0Y2hNYXAoc2VsZWN0ZWQgPT4ge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgICAgICAgICByZXR1cm4gdGhpcy50ZW5hbnRTZXJ2aWNlLmdldERlZmF1bHRDb25uZWN0aW9uU3RyaW5nKGlkKTtcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKGZldGNoZWRDb25uZWN0aW9uU3RyaW5nID0+IHtcbiAgICAgICAgdGhpcy5fdXNlU2hhcmVkRGF0YWJhc2UgPSBmZXRjaGVkQ29ubmVjdGlvblN0cmluZyA/IGZhbHNlIDogdHJ1ZTtcbiAgICAgICAgdGhpcy5kZWZhdWx0Q29ubmVjdGlvblN0cmluZyA9IGZldGNoZWRDb25uZWN0aW9uU3RyaW5nID8gZmV0Y2hlZENvbm5lY3Rpb25TdHJpbmcgOiAnJztcbiAgICAgICAgdGhpcy5jcmVhdGVEZWZhdWx0Q29ubmVjdGlvblN0cmluZ0Zvcm0oKTtcbiAgICAgICAgdGhpcy5vcGVuTW9kYWwoJ0FicFRlbmFudE1hbmFnZW1lbnQ6OkNvbm5lY3Rpb25TdHJpbmdzJywgdGhpcy5jb25uZWN0aW9uU3RyaW5nTW9kYWxUZW1wbGF0ZSwgJ3NhdmVDb25uU3RyJyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG9uQWRkVGVuYW50KCkge1xuICAgIHRoaXMuc2VsZWN0ZWQgPSB7fSBhcyBBQlAuQmFzaWNJdGVtO1xuICAgIHRoaXMuY3JlYXRlVGVuYW50Rm9ybSgpO1xuICAgIHRoaXMub3Blbk1vZGFsKCdBYnBUZW5hbnRNYW5hZ2VtZW50OjpOZXdUZW5hbnQnLCB0aGlzLnRlbmFudE1vZGFsVGVtcGxhdGUsICdzYXZlVGVuYW50Jyk7XG4gIH1cblxuICBvbkVkaXRUZW5hbnQoaWQ6IHN0cmluZykge1xuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5kaXNwYXRjaChuZXcgR2V0VGVuYW50QnlJZChpZCkpXG4gICAgICAucGlwZShwbHVjaygnVGVuYW50TWFuYWdlbWVudFN0YXRlJywgJ3NlbGVjdGVkSXRlbScpKVxuICAgICAgLnN1YnNjcmliZShzZWxlY3RlZCA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRGb3JtKCk7XG4gICAgICAgIHRoaXMub3Blbk1vZGFsKCdBYnBUZW5hbnRNYW5hZ2VtZW50OjpFZGl0JywgdGhpcy50ZW5hbnRNb2RhbFRlbXBsYXRlLCAnc2F2ZVRlbmFudCcpO1xuICAgICAgfSk7XG4gIH1cblxuICBzYXZlKCkge1xuICAgIGNvbnN0IHsgdHlwZSB9ID0gdGhpcy5zZWxlY3RlZE1vZGFsQ29udGVudDtcbiAgICBpZiAoIXR5cGUpIHJldHVybjtcbiAgICBpZiAodHlwZSA9PT0gJ3NhdmVUZW5hbnQnKSB0aGlzLnNhdmVUZW5hbnQoKTtcbiAgICBlbHNlIGlmICh0eXBlID09PSAnc2F2ZUNvbm5TdHInKSB0aGlzLnNhdmVDb25uZWN0aW9uU3RyaW5nKCk7XG4gIH1cblxuICBzYXZlQ29ubmVjdGlvblN0cmluZygpIHtcbiAgICBpZiAodGhpcy51c2VTaGFyZWREYXRhYmFzZSkge1xuICAgICAgdGhpcy50ZW5hbnRTZXJ2aWNlXG4gICAgICAgIC5kZWxldGVEZWZhdWx0Q29ubmVjdGlvblN0cmluZyh0aGlzLnNlbGVjdGVkLmlkKVxuICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRlbmFudFNlcnZpY2VcbiAgICAgICAgLnVwZGF0ZURlZmF1bHRDb25uZWN0aW9uU3RyaW5nKHsgaWQ6IHRoaXMuc2VsZWN0ZWQuaWQsIGRlZmF1bHRDb25uZWN0aW9uU3RyaW5nOiB0aGlzLmNvbm5lY3Rpb25TdHJpbmcgfSlcbiAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBzYXZlVGVuYW50KCkge1xuICAgIGlmICghdGhpcy50ZW5hbnRGb3JtLnZhbGlkKSByZXR1cm47XG5cbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2goXG4gICAgICAgIHRoaXMuc2VsZWN0ZWQuaWRcbiAgICAgICAgICA/IG5ldyBVcGRhdGVUZW5hbnQoeyAuLi50aGlzLnRlbmFudEZvcm0udmFsdWUsIGlkOiB0aGlzLnNlbGVjdGVkLmlkIH0pXG4gICAgICAgICAgOiBuZXcgQ3JlYXRlVGVuYW50KHRoaXMudGVuYW50Rm9ybS52YWx1ZSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgfSk7XG4gIH1cblxuICBkZWxldGUoaWQ6IHN0cmluZywgbmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlXG4gICAgICAud2FybignQWJwVGVuYW50TWFuYWdlbWVudDo6VGVuYW50RGVsZXRpb25Db25maXJtYXRpb25NZXNzYWdlJywgJ0FicFRlbmFudE1hbmFnZW1lbnQ6OkFyZVlvdVN1cmUnLCB7XG4gICAgICAgIG1lc3NhZ2VMb2NhbGl6YXRpb25QYXJhbXM6IFtuYW1lXSxcbiAgICAgIH0pXG4gICAgICAuc3Vic2NyaWJlKChzdGF0dXM6IFRvYXN0ZXIuU3RhdHVzKSA9PiB7XG4gICAgICAgIGlmIChzdGF0dXMgPT09IFRvYXN0ZXIuU3RhdHVzLmNvbmZpcm0pIHtcbiAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBEZWxldGVUZW5hbnQoaWQpKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBvblBhZ2VDaGFuZ2UoZGF0YSkge1xuICAgIHRoaXMucGFnZVF1ZXJ5LnNraXBDb3VudCA9IGRhdGEuZmlyc3Q7XG4gICAgdGhpcy5wYWdlUXVlcnkubWF4UmVzdWx0Q291bnQgPSBkYXRhLnJvd3M7XG5cbiAgICB0aGlzLmdldCgpO1xuICB9XG5cbiAgZ2V0KCkge1xuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKG5ldyBHZXRUZW5hbnRzKHRoaXMucGFnZVF1ZXJ5KSlcbiAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+ICh0aGlzLmxvYWRpbmcgPSBmYWxzZSkpKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRlbmFudC1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvdGVuYW50cy90ZW5hbnRzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQVcsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFnQixRQUFRLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQ0wsWUFBWSxFQUNaLFlBQVksRUFDWixVQUFVLEVBQ1YsYUFBYSxFQUNiLFlBQVksR0FDYixNQUFNLHlDQUF5QyxDQUFDO0FBQ2pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBUTdFO0lBK0NFLDBCQUNVLG1CQUF3QyxFQUN4QyxhQUFzQyxFQUN0QyxFQUFlLEVBQ2YsS0FBWTtRQUhaLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsa0JBQWEsR0FBYixhQUFhLENBQXlCO1FBQ3RDLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBOUJ0Qix5QkFBb0IsR0FBRyxtQkFBQSxFQUFFLEVBQXdCLENBQUM7UUFJbEQsY0FBUyxHQUF3QjtZ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QUFNLEVBQUUsS0FBSyxFQUFFO2dEQUdsRCxTQUFTLFNBQUMsK0JBQStCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOztJQXRDN0Q7UUFEQyxNQUFNLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDOzBDQUMzQixVQUFVO21EQUFrQjtJQUduQztRQURDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxvQkFBb0IsQ0FBQzswQ0FDdEMsVUFBVTt5REFBUztJQW1MbEMsdUJBQUM7Q0FBQSxBQTVMRCxJQTRMQztTQXhMWSxnQkFBZ0I7OztJQUMzQixpQ0FDbUM7O0lBRW5DLHVDQUNnQzs7SUFFaEMsb0NBQXdCOztJQUV4QixzQ0FBc0I7O0lBRXRCLHVEQUF1Qzs7SUFFdkMsbURBQWdDOztJQUVoQywwQ0FBd0I7O0lBRXhCLGdEQUFrRDs7SUFFbEQsOENBQTRCOztJQUU1QixxQ0FFRTs7SUFFRixtQ0FBeUI7O0lBRXpCLHFDQUEyQjs7SUFVM0IsK0NBQ3NDOztJQUV0Qyx5REFDZ0Q7Ozs7O0lBRzlDLCtDQUFnRDs7Ozs7SUFDaEQseUNBQThDOzs7OztJQUM5Qyw4QkFBdUI7Ozs7O0lBQ3ZCLGlDQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFCUCB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlLCBUb2FzdGVyIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZmluYWxpemUsIHBsdWNrLCBzd2l0Y2hNYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBDcmVhdGVUZW5hbnQsXG4gIERlbGV0ZVRlbmFudCxcbiAgR2V0VGVuYW50cyxcbiAgR2V0VGVuYW50QnlJZCxcbiAgVXBkYXRlVGVuYW50LFxufSBmcm9tICcuLi8uLi9hY3Rpb25zL3RlbmFudC1tYW5hZ2VtZW50LmFjdGlvbnMnO1xuaW1wb3J0IHsgVGVuYW50TWFuYWdlbWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90ZW5hbnQtbWFuYWdlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFRlbmFudE1hbmFnZW1lbnRTdGF0ZSB9IGZyb20gJy4uLy4uL3N0YXRlcy90ZW5hbnQtbWFuYWdlbWVudC5zdGF0ZSc7XG5cbnR5cGUgU2VsZWN0ZWRNb2RhbENvbnRlbnQgPSB7XG4gIHR5cGU6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtdGVuYW50cycsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZW5hbnRzLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgVGVuYW50c0NvbXBvbmVudCB7XG4gIEBTZWxlY3QoVGVuYW50TWFuYWdlbWVudFN0YXRlLmdldClcbiAgZGF0YSQ6IE9ic2VydmFibGU8QUJQLkJhc2ljSXRlbVtdPjtcblxuICBAU2VsZWN0KFRlbmFudE1hbmFnZW1lbnRTdGF0ZS5nZXRUZW5hbnRzVG90YWxDb3VudClcbiAgdG90YWxDb3VudCQ6IE9ic2VydmFibGU8bnVtYmVyPjtcblxuICBzZWxlY3RlZDogQUJQLkJhc2ljSXRlbTtcblxuICB0ZW5hbnRGb3JtOiBGb3JtR3JvdXA7XG5cbiAgZGVmYXVsdENvbm5lY3Rpb25TdHJpbmdGb3JtOiBGb3JtR3JvdXA7XG5cbiAgZGVmYXVsdENvbm5lY3Rpb25TdHJpbmc6IHN0cmluZztcblxuICBpc01vZGFsVmlzaWJsZTogYm9vbGVhbjtcblxuICBzZWxlY3RlZE1vZGFsQ29udGVudCA9IHt9IGFzIFNlbGVjdGVkTW9kYWxDb250ZW50O1xuXG4gIF91c2VTaGFyZWREYXRhYmFzZTogYm9vbGVhbjtcblxuICBwYWdlUXVlcnk6IEFCUC5QYWdlUXVlcnlQYXJhbXMgPSB7XG4gICAgc29ydGluZzogJ25hbWUnLFxuICB9O1xuXG4gIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBtb2RhbEJ1c3k6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBnZXQgdXNlU2hhcmVkRGF0YWJhc2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGVmYXVsdENvbm5lY3Rpb25TdHJpbmdGb3JtLmdldCgndXNlU2hhcmVkRGF0YWJhc2UnKS52YWx1ZTtcbiAgfVxuXG4gIGdldCBjb25uZWN0aW9uU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZGVmYXVsdENvbm5lY3Rpb25TdHJpbmdGb3JtLmdldCgnZGVmYXVsdENvbm5lY3Rpb25TdHJpbmcnKS52YWx1ZTtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ3RlbmFudE1vZGFsVGVtcGxhdGUnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgdGVuYW50TW9kYWxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAVmlld0NoaWxkKCdjb25uZWN0aW9uU3RyaW5nTW9kYWxUZW1wbGF0ZScsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBjb25uZWN0aW9uU3RyaW5nTW9kYWxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0ZW5hbnRTZXJ2aWNlOiBUZW5hbnRNYW5hZ2VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZSxcbiAgKSB7fVxuXG4gIG9uU2VhcmNoKHZhbHVlKSB7XG4gICAgdGhpcy5wYWdlUXVlcnkuZmlsdGVyID0gdmFsdWU7XG4gICAgdGhpcy5nZXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlVGVuYW50Rm9ybSgpIHtcbiAgICB0aGlzLnRlbmFudEZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIG5hbWU6IFt0aGlzLnNlbGVjdGVkLm5hbWUgfHwgJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1heExlbmd0aCgyNTYpXV0sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZURlZmF1bHRDb25uZWN0aW9uU3RyaW5nRm9ybSgpIHtcbiAgICB0aGlzLmRlZmF1bHRDb25uZWN0aW9uU3RyaW5nRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgdXNlU2hhcmVkRGF0YWJhc2U6IHRoaXMuX3VzZVNoYXJlZERhdGFiYXNlLFxuICAgICAgZGVmYXVsdENvbm5lY3Rpb25TdHJpbmc6IHRoaXMuZGVmYXVsdENvbm5lY3Rpb25TdHJpbmcgfHwgJycsXG4gICAgfSk7XG4gIH1cblxuICBvcGVuTW9kYWwodGl0bGU6IHN0cmluZywgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4sIHR5cGU6IHN0cmluZykge1xuICAgIHRoaXMuc2VsZWN0ZWRNb2RhbENvbnRlbnQgPSB7XG4gICAgICB0aXRsZSxcbiAgICAgIHRlbXBsYXRlLFxuICAgICAgdHlwZSxcbiAgICB9O1xuXG4gICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IHRydWU7XG4gIH1cblxuICBvbkVkaXRDb25uZWN0aW9uU3RyaW5nKGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFRlbmFudEJ5SWQoaWQpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHBsdWNrKCdUZW5hbnRNYW5hZ2VtZW50U3RhdGUnLCAnc2VsZWN0ZWRJdGVtJyksXG4gICAgICAgIHN3aXRjaE1hcChzZWxlY3RlZCA9PiB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkO1xuICAgICAgICAgIHJldHVybiB0aGlzLnRlbmFudFNlcnZpY2UuZ2V0RGVmYXVsdENvbm5lY3Rpb25TdHJpbmcoaWQpO1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoZmV0Y2hlZENvbm5lY3Rpb25TdHJpbmcgPT4ge1xuICAgICAgICB0aGlzLl91c2VTaGFyZWREYXRhYmFzZSA9IGZldGNoZWRDb25uZWN0aW9uU3RyaW5nID8gZmFsc2UgOiB0cnVlO1xuICAgICAgICB0aGlzLmRlZmF1bHRDb25uZWN0aW9uU3RyaW5nID0gZmV0Y2hlZENvbm5lY3Rpb25TdHJpbmcgPyBmZXRjaGVkQ29ubmVjdGlvblN0cmluZyA6ICcnO1xuICAgICAgICB0aGlzLmNyZWF0ZURlZmF1bHRDb25uZWN0aW9uU3RyaW5nRm9ybSgpO1xuICAgICAgICB0aGlzLm9wZW5Nb2RhbCgnQWJwVGVuYW50TWFuYWdlbWVudDo6Q29ubmVjdGlvblN0cmluZ3MnLCB0aGlzLmNvbm5lY3Rpb25TdHJpbmdNb2RhbFRlbXBsYXRlLCAnc2F2ZUNvbm5TdHInKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgb25BZGRUZW5hbnQoKSB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHt9IGFzIEFCUC5CYXNpY0l0ZW07XG4gICAgdGhpcy5jcmVhdGVUZW5hbnRGb3JtKCk7XG4gICAgdGhpcy5vcGVuTW9kYWwoJ0FicFRlbmFudE1hbmFnZW1lbnQ6Ok5ld1RlbmFudCcsIHRoaXMudGVuYW50TW9kYWxUZW1wbGF0ZSwgJ3NhdmVUZW5hbnQnKTtcbiAgfVxuXG4gIG9uRWRpdFRlbmFudChpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKG5ldyBHZXRUZW5hbnRCeUlkKGlkKSlcbiAgICAgIC5waXBlKHBsdWNrKCdUZW5hbnRNYW5hZ2VtZW50U3RhdGUnLCAnc2VsZWN0ZWRJdGVtJykpXG4gICAgICAuc3Vic2NyaWJlKHNlbGVjdGVkID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkO1xuICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudEZvcm0oKTtcbiAgICAgICAgdGhpcy5vcGVuTW9kYWwoJ0FicFRlbmFudE1hbmFnZW1lbnQ6OkVkaXQnLCB0aGlzLnRlbmFudE1vZGFsVGVtcGxhdGUsICdzYXZlVGVuYW50Jyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHNhdmUoKSB7XG4gICAgY29uc3QgeyB0eXBlIH0gPSB0aGlzLnNlbGVjdGVkTW9kYWxDb250ZW50O1xuICAgIGlmICghdHlwZSkgcmV0dXJuO1xuICAgIGlmICh0eXBlID09PSAnc2F2ZVRlbmFudCcpIHRoaXMuc2F2ZVRlbmFudCgpO1xuICAgIGVsc2UgaWYgKHR5cGUgPT09ICdzYXZlQ29ublN0cicpIHRoaXMuc2F2ZUNvbm5lY3Rpb25TdHJpbmcoKTtcbiAgfVxuXG4gIHNhdmVDb25uZWN0aW9uU3RyaW5nKCkge1xuICAgIHRoaXMubW9kYWxCdXN5ID0gdHJ1ZTtcbiAgICBpZiAodGhpcy51c2VTaGFyZWREYXRhYmFzZSkge1xuICAgICAgdGhpcy50ZW5hbnRTZXJ2aWNlXG4gICAgICAgIC5kZWxldGVEZWZhdWx0Q29ubmVjdGlvblN0cmluZyh0aGlzLnNlbGVjdGVkLmlkKVxuICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLm1vZGFsQnVzeSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudGVuYW50U2VydmljZVxuICAgICAgICAudXBkYXRlRGVmYXVsdENvbm5lY3Rpb25TdHJpbmcoeyBpZDogdGhpcy5zZWxlY3RlZC5pZCwgZGVmYXVsdENvbm5lY3Rpb25TdHJpbmc6IHRoaXMuY29ubmVjdGlvblN0cmluZyB9KVxuICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLm1vZGFsQnVzeSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgc2F2ZVRlbmFudCgpIHtcbiAgICBpZiAoIXRoaXMudGVuYW50Rm9ybS52YWxpZCkgcmV0dXJuO1xuICAgIHRoaXMubW9kYWxCdXN5ID0gdHJ1ZTtcblxuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5kaXNwYXRjaChcbiAgICAgICAgdGhpcy5zZWxlY3RlZC5pZFxuICAgICAgICAgID8gbmV3IFVwZGF0ZVRlbmFudCh7IC4uLnRoaXMudGVuYW50Rm9ybS52YWx1ZSwgaWQ6IHRoaXMuc2VsZWN0ZWQuaWQgfSlcbiAgICAgICAgICA6IG5ldyBDcmVhdGVUZW5hbnQodGhpcy50ZW5hbnRGb3JtLnZhbHVlKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLm1vZGFsQnVzeSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gZmFsc2U7XG4gICAgICB9KTtcbiAgfVxuXG4gIGRlbGV0ZShpZDogc3RyaW5nLCBuYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2VcbiAgICAgIC53YXJuKCdBYnBUZW5hbnRNYW5hZ2VtZW50OjpUZW5hbnREZWxldGlvbkNvbmZpcm1hdGlvbk1lc3NhZ2UnLCAnQWJwVGVuYW50TWFuYWdlbWVudDo6QXJlWW91U3VyZScsIHtcbiAgICAgICAgbWVzc2FnZUxvY2FsaXphdGlvblBhcmFtczogW25hbWVdLFxuICAgICAgfSlcbiAgICAgIC5zdWJzY3JpYmUoKHN0YXR1czogVG9hc3Rlci5TdGF0dXMpID0+IHtcbiAgICAgICAgaWYgKHN0YXR1cyA9PT0gVG9hc3Rlci5TdGF0dXMuY29uZmlybSkge1xuICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IERlbGV0ZVRlbmFudChpZCkpO1xuICAgICAgICAgIHRoaXMubW9kYWxCdXN5ID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgb25QYWdlQ2hhbmdlKGRhdGEpIHtcbiAgICB0aGlzLnBhZ2VRdWVyeS5za2lwQ291bnQgPSBkYXRhLmZpcnN0O1xuICAgIHRoaXMucGFnZVF1ZXJ5Lm1heFJlc3VsdENvdW50ID0gZGF0YS5yb3dzO1xuXG4gICAgdGhpcy5nZXQoKTtcbiAgfVxuXG4gIGdldCgpIHtcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5kaXNwYXRjaChuZXcgR2V0VGVuYW50cyh0aGlzLnBhZ2VRdWVyeSkpXG4gICAgICAucGlwZShmaW5hbGl6ZSgoKSA9PiAodGhpcy5sb2FkaW5nID0gZmFsc2UpKSlcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/fesm2015/abp-ng.tenant-management.js b/npm/ng-packs/dist/tenant-management/fesm2015/abp-ng.tenant-management.js index f9eea9b9a4..8b425ac7d9 100644 --- a/npm/ng-packs/dist/tenant-management/fesm2015/abp-ng.tenant-management.js +++ b/npm/ng-packs/dist/tenant-management/fesm2015/abp-ng.tenant-management.js @@ -23,6 +23,12 @@ class GetTenants { } } GetTenants.type = '[TenantManagement] Get Tenant'; +if (false) { + /** @type {?} */ + GetTenants.type; + /** @type {?} */ + GetTenants.prototype.payload; +} class GetTenantById { /** * @param {?} payload @@ -32,6 +38,12 @@ class GetTenantById { } } GetTenantById.type = '[TenantManagement] Get Tenant By Id'; +if (false) { + /** @type {?} */ + GetTenantById.type; + /** @type {?} */ + GetTenantById.prototype.payload; +} class CreateTenant { /** * @param {?} payload @@ -41,6 +53,12 @@ class CreateTenant { } } CreateTenant.type = '[TenantManagement] Create Tenant'; +if (false) { + /** @type {?} */ + CreateTenant.type; + /** @type {?} */ + CreateTenant.prototype.payload; +} class UpdateTenant { /** * @param {?} payload @@ -50,6 +68,12 @@ class UpdateTenant { } } UpdateTenant.type = '[TenantManagement] Update Tenant'; +if (false) { + /** @type {?} */ + UpdateTenant.type; + /** @type {?} */ + UpdateTenant.prototype.payload; +} class DeleteTenant { /** * @param {?} payload @@ -59,6 +83,12 @@ class DeleteTenant { } } DeleteTenant.type = '[TenantManagement] Delete Tenant'; +if (false) { + /** @type {?} */ + DeleteTenant.type; + /** @type {?} */ + DeleteTenant.prototype.payload; +} /** * @fileoverview added by tsickle @@ -192,6 +222,13 @@ TenantManagementService.ctorParameters = () => [ { type: RestService } ]; /** @nocollapse */ TenantManagementService.ngInjectableDef = ɵɵdefineInjectable({ factory: function TenantManagementService_Factory() { return new TenantManagementService(ɵɵinject(RestService)); }, token: TenantManagementService, providedIn: "root" }); +if (false) { + /** + * @type {?} + * @private + */ + TenantManagementService.prototype.rest; +} /** * @fileoverview added by tsickle @@ -332,6 +369,13 @@ TenantManagementState = __decorate([ }), __metadata("design:paramtypes", [TenantManagementService]) ], TenantManagementState); +if (false) { + /** + * @type {?} + * @private + */ + TenantManagementState.prototype.tenantManagementService; +} /** * @fileoverview added by tsickle @@ -354,6 +398,7 @@ class TenantsComponent { sorting: 'name', }; this.loading = false; + this.modalBusy = false; } /** * @return {?} @@ -476,6 +521,7 @@ class TenantsComponent { * @return {?} */ saveConnectionString() { + this.modalBusy = true; if (this.useSharedDatabase) { this.tenantService .deleteDefaultConnectionString(this.selected.id) @@ -484,6 +530,7 @@ class TenantsComponent { * @return {?} */ () => { + this.modalBusy = false; this.isModalVisible = false; })); } @@ -495,6 +542,7 @@ class TenantsComponent { * @return {?} */ () => { + this.modalBusy = false; this.isModalVisible = false; })); } @@ -505,6 +553,7 @@ class TenantsComponent { saveTenant() { if (!this.tenantForm.valid) return; + this.modalBusy = true; this.store .dispatch(this.selected.id ? new UpdateTenant(Object.assign({}, this.tenantForm.value, { id: this.selected.id })) @@ -513,6 +562,7 @@ class TenantsComponent { * @return {?} */ () => { + this.modalBusy = false; this.isModalVisible = false; })); } @@ -533,6 +583,7 @@ class TenantsComponent { (status) => { if (status === "confirm" /* confirm */) { this.store.dispatch(new DeleteTenant(id)); + this.modalBusy = false; } })); } @@ -562,7 +613,7 @@ class TenantsComponent { TenantsComponent.decorators = [ { type: Component, args: [{ selector: 'abp-tenants', - template: "
\n
\n
\n
\n
\n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
\n
\n
\n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
\n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
\n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::ConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
\n
\n \n {{ data.name }}\n \n
\n \n
\n
\n\n\n \n

{{ selectedModalContent.title | abpLocalization }}

\n
\n\n \n \n \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
\n\n\n
\n
\n
\n \n \n
\n
\n
\n
\n\n\n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n" + template: "
\n
\n
\n
\n
\n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
\n
\n
\n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
\n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
\n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::ConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
\n
\n \n {{ data.name }}\n \n
\n \n
\n
\n\n\n \n

{{ selectedModalContent.title | abpLocalization }}

\n
\n\n \n \n \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
\n\n\n
\n
\n
\n \n \n
\n
\n
\n
\n\n\n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n" }] } ]; /** @nocollapse */ @@ -584,6 +635,56 @@ __decorate([ Select(TenantManagementState.getTenantsTotalCount), __metadata("design:type", Observable) ], TenantsComponent.prototype, "totalCount$", void 0); +if (false) { + /** @type {?} */ + TenantsComponent.prototype.data$; + /** @type {?} */ + TenantsComponent.prototype.totalCount$; + /** @type {?} */ + TenantsComponent.prototype.selected; + /** @type {?} */ + TenantsComponent.prototype.tenantForm; + /** @type {?} */ + TenantsComponent.prototype.defaultConnectionStringForm; + /** @type {?} */ + TenantsComponent.prototype.defaultConnectionString; + /** @type {?} */ + TenantsComponent.prototype.isModalVisible; + /** @type {?} */ + TenantsComponent.prototype.selectedModalContent; + /** @type {?} */ + TenantsComponent.prototype._useSharedDatabase; + /** @type {?} */ + TenantsComponent.prototype.pageQuery; + /** @type {?} */ + TenantsComponent.prototype.loading; + /** @type {?} */ + TenantsComponent.prototype.modalBusy; + /** @type {?} */ + TenantsComponent.prototype.tenantModalTemplate; + /** @type {?} */ + TenantsComponent.prototype.connectionStringModalTemplate; + /** + * @type {?} + * @private + */ + TenantsComponent.prototype.confirmationService; + /** + * @type {?} + * @private + */ + TenantsComponent.prototype.tenantService; + /** + * @type {?} + * @private + */ + TenantsComponent.prototype.fb; + /** + * @type {?} + * @private + */ + TenantsComponent.prototype.store; +} /** * @fileoverview added by tsickle @@ -612,6 +713,13 @@ TenantsResolver.decorators = [ TenantsResolver.ctorParameters = () => [ { type: Store } ]; +if (false) { + /** + * @type {?} + * @private + */ + TenantsResolver.prototype.store; +} /** * @fileoverview added by tsickle @@ -659,6 +767,16 @@ TenantManagementModule.decorators = [ },] } ]; +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -682,6 +800,11 @@ const TENANT_MANAGEMENT_ROUTES = (/** @type {?} */ ([ }, ])); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -693,27 +816,83 @@ var TenantManagement; */ function State() { } TenantManagement.State = State; + if (false) { + /** @type {?} */ + State.prototype.result; + /** @type {?} */ + State.prototype.selectedItem; + } /** * @record */ function Item() { } TenantManagement.Item = Item; + if (false) { + /** @type {?} */ + Item.prototype.id; + /** @type {?} */ + Item.prototype.name; + } /** * @record */ function AddRequest() { } TenantManagement.AddRequest = AddRequest; + if (false) { + /** @type {?} */ + AddRequest.prototype.name; + } /** * @record */ function UpdateRequest() { } TenantManagement.UpdateRequest = UpdateRequest; + if (false) { + /** @type {?} */ + UpdateRequest.prototype.id; + } /** * @record */ function DefaultConnectionStringRequest() { } TenantManagement.DefaultConnectionStringRequest = DefaultConnectionStringRequest; + if (false) { + /** @type {?} */ + DefaultConnectionStringRequest.prototype.id; + /** @type {?} */ + DefaultConnectionStringRequest.prototype.defaultConnectionString; + } })(TenantManagement || (TenantManagement = {})); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + export { CreateTenant, DeleteTenant, GetTenantById, GetTenants, TENANT_MANAGEMENT_ROUTES, TenantManagementModule, TenantManagementService, TenantManagementState, TenantsComponent, TenantsResolver, UpdateTenant, TenantsComponent as ɵa, TenantManagementState as ɵb, TenantManagementService as ɵc, GetTenants as ɵd, GetTenantById as ɵe, CreateTenant as ɵf, UpdateTenant as ɵg, DeleteTenant as ɵh, TenantManagementRoutingModule as ɵj, TenantsResolver as ɵk }; //# sourceMappingURL=abp-ng.tenant-management.js.map diff --git a/npm/ng-packs/dist/tenant-management/fesm2015/abp-ng.tenant-management.js.map b/npm/ng-packs/dist/tenant-management/fesm2015/abp-ng.tenant-management.js.map index b378446272..fdb8333bf9 100644 --- a/npm/ng-packs/dist/tenant-management/fesm2015/abp-ng.tenant-management.js.map +++ b/npm/ng-packs/dist/tenant-management/fesm2015/abp-ng.tenant-management.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.tenant-management.js","sources":["ng://@abp/ng.tenant-management/lib/actions/tenant-management.actions.ts","ng://@abp/ng.tenant-management/lib/services/tenant-management.service.ts","ng://@abp/ng.tenant-management/lib/states/tenant-management.state.ts","ng://@abp/ng.tenant-management/lib/components/tenants/tenants.component.ts","ng://@abp/ng.tenant-management/lib/resolvers/tenants.resolver.ts","ng://@abp/ng.tenant-management/lib/tenant-management-routing.module.ts","ng://@abp/ng.tenant-management/lib/tenant-management.module.ts","ng://@abp/ng.tenant-management/lib/constants/routes.ts","ng://@abp/ng.tenant-management/lib/models/tenant-management.ts"],"sourcesContent":["import { TenantManagement } from '../models/tenant-management';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetTenants {\n static readonly type = '[TenantManagement] Get Tenant';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetTenantById {\n static readonly type = '[TenantManagement] Get Tenant By Id';\n constructor(public payload: string) {}\n}\n\nexport class CreateTenant {\n static readonly type = '[TenantManagement] Create Tenant';\n constructor(public payload: TenantManagement.AddRequest) {}\n}\n\nexport class UpdateTenant {\n static readonly type = '[TenantManagement] Update Tenant';\n constructor(public payload: TenantManagement.UpdateRequest) {}\n}\n\nexport class DeleteTenant {\n static readonly type = '[TenantManagement] Delete Tenant';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { TenantManagement } from '../models/tenant-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TenantManagementService {\n constructor(private rest: RestService) {}\n\n getTenant(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/multi-tenancy/tenants',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getTenantById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteTenant(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createTenant(body: TenantManagement.AddRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/multi-tenancy/tenants`,\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateTenant(body: TenantManagement.UpdateRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenants/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'GET',\n responseType: Rest.ResponseType.Text,\n url,\n };\n return this.rest.request(request);\n }\n\n updateDefaultConnectionString(payload: TenantManagement.DefaultConnectionStringRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${payload.id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n params: { defaultConnectionString: payload.defaultConnectionString },\n };\n return this.rest.request(request);\n }\n\n deleteDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenant/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'DELETE',\n url,\n };\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementService } from '../services/tenant-management.service';\nimport { ABP } from '@abp/ng.core';\n\n@State({\n name: 'TenantManagementState',\n defaults: { result: {}, selectedItem: {} } as TenantManagement.State,\n})\nexport class TenantManagementState {\n @Selector()\n static get({ result }: TenantManagement.State): ABP.BasicItem[] {\n return result.items || [];\n }\n\n @Selector()\n static getTenantsTotalCount({ result }: TenantManagement.State): number {\n return result.totalCount;\n }\n\n constructor(private tenantManagementService: TenantManagementService) {}\n\n @Action(GetTenants)\n get({ patchState }: StateContext, { payload }: GetTenants) {\n return this.tenantManagementService.getTenant(payload).pipe(\n tap(result =>\n patchState({\n result,\n }),\n ),\n );\n }\n\n @Action(GetTenantById)\n getById({ patchState }: StateContext, { payload }: GetTenantById) {\n return this.tenantManagementService.getTenantById(payload).pipe(\n tap(selectedItem =>\n patchState({\n selectedItem,\n }),\n ),\n );\n }\n\n @Action(DeleteTenant)\n delete({ dispatch }: StateContext, { payload }: DeleteTenant) {\n return this.tenantManagementService.deleteTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(CreateTenant)\n add({ dispatch }: StateContext, { payload }: CreateTenant) {\n return this.tenantManagementService.createTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(UpdateTenant)\n update({ dispatch, getState }: StateContext, { payload }: UpdateTenant) {\n return dispatch(new GetTenantById(payload.id)).pipe(\n switchMap(() => this.tenantManagementService.updateTenant({ ...getState().selectedItem, ...payload })),\n switchMap(() => dispatch(new GetTenants())),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable, Subject } from 'rxjs';\nimport { debounceTime, finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../../actions/tenant-management.actions';\nimport { TenantManagementService } from '../../services/tenant-management.service';\nimport { TenantManagementState } from '../../states/tenant-management.state';\n\ntype SelectedModalContent = {\n type: string;\n title: string;\n template: TemplateRef;\n};\n\n@Component({\n selector: 'abp-tenants',\n templateUrl: './tenants.component.html',\n})\nexport class TenantsComponent {\n @Select(TenantManagementState.get)\n data$: Observable;\n\n @Select(TenantManagementState.getTenantsTotalCount)\n totalCount$: Observable;\n\n selected: ABP.BasicItem;\n\n tenantForm: FormGroup;\n\n defaultConnectionStringForm: FormGroup;\n\n defaultConnectionString: string;\n\n isModalVisible: boolean;\n\n selectedModalContent = {} as SelectedModalContent;\n\n _useSharedDatabase: boolean;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n get useSharedDatabase(): boolean {\n return this.defaultConnectionStringForm.get('useSharedDatabase').value;\n }\n\n get connectionString(): string {\n return this.defaultConnectionStringForm.get('defaultConnectionString').value;\n }\n\n @ViewChild('tenantModalTemplate', { static: false })\n tenantModalTemplate: TemplateRef;\n\n @ViewChild('connectionStringModalTemplate', { static: false })\n connectionStringModalTemplate: TemplateRef;\n\n constructor(\n private confirmationService: ConfirmationService,\n private tenantService: TenantManagementService,\n private fb: FormBuilder,\n private store: Store,\n ) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n private createTenantForm() {\n this.tenantForm = this.fb.group({\n name: [this.selected.name || '', [Validators.required, Validators.maxLength(256)]],\n });\n }\n\n private createDefaultConnectionStringForm() {\n this.defaultConnectionStringForm = this.fb.group({\n useSharedDatabase: this._useSharedDatabase,\n defaultConnectionString: this.defaultConnectionString || '',\n });\n }\n\n openModal(title: string, template: TemplateRef, type: string) {\n this.selectedModalContent = {\n title,\n template,\n type,\n };\n\n this.isModalVisible = true;\n }\n\n onEditConnectionString(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(\n pluck('TenantManagementState', 'selectedItem'),\n switchMap(selected => {\n this.selected = selected;\n return this.tenantService.getDefaultConnectionString(id);\n }),\n )\n .subscribe(fetchedConnectionString => {\n this._useSharedDatabase = fetchedConnectionString ? false : true;\n this.defaultConnectionString = fetchedConnectionString ? fetchedConnectionString : '';\n this.createDefaultConnectionStringForm();\n this.openModal('AbpTenantManagement::ConnectionStrings', this.connectionStringModalTemplate, 'saveConnStr');\n });\n }\n\n onAddTenant() {\n this.selected = {} as ABP.BasicItem;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::NewTenant', this.tenantModalTemplate, 'saveTenant');\n }\n\n onEditTenant(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(pluck('TenantManagementState', 'selectedItem'))\n .subscribe(selected => {\n this.selected = selected;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::Edit', this.tenantModalTemplate, 'saveTenant');\n });\n }\n\n save() {\n const { type } = this.selectedModalContent;\n if (!type) return;\n if (type === 'saveTenant') this.saveTenant();\n else if (type === 'saveConnStr') this.saveConnectionString();\n }\n\n saveConnectionString() {\n if (this.useSharedDatabase) {\n this.tenantService\n .deleteDefaultConnectionString(this.selected.id)\n .pipe(take(1))\n .subscribe(() => {\n this.isModalVisible = false;\n });\n } else {\n this.tenantService\n .updateDefaultConnectionString({ id: this.selected.id, defaultConnectionString: this.connectionString })\n .pipe(take(1))\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n }\n\n saveTenant() {\n if (!this.tenantForm.valid) return;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateTenant({ ...this.tenantForm.value, id: this.selected.id })\n : new CreateTenant(this.tenantForm.value),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpTenantManagement::TenantDeletionConfirmationMessage', 'AbpTenantManagement::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteTenant(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetTenants(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetTenants } from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementState } from '../states/tenant-management.state';\n\n@Injectable()\nexport class TenantsResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const data = this.store.selectSnapshot(TenantManagementState.get);\n return data && data.length ? null : this.store.dispatch(new GetTenants());\n }\n}\n","import { AuthGuard, DynamicLayoutComponent, PermissionGuard } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { TenantsResolver } from './resolvers/tenants.resolver';\nimport { TenantsComponent } from './components/tenants/tenants.component';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'tenants', pathMatch: 'full' },\n {\n path: 'tenants',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpTenantManagement.Tenants' },\n children: [{ path: '', component: TenantsComponent, resolve: [TenantsResolver] }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [TenantsResolver],\n})\nexport class TenantManagementRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxsModule } from '@ngxs/store';\nimport { TableModule } from 'primeng/table';\nimport { TenantsComponent } from './components/tenants/tenants.component';\nimport { TenantManagementState } from './states/tenant-management.state';\nimport { TenantManagementRoutingModule } from './tenant-management-routing.module';\n\n@NgModule({\n declarations: [TenantsComponent],\n imports: [\n TenantManagementRoutingModule,\n NgxsModule.forFeature([TenantManagementState]),\n CoreModule,\n TableModule,\n ThemeSharedModule,\n NgbDropdownModule,\n ],\n})\nexport class TenantManagementModule {}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const TENANT_MANAGEMENT_ROUTES = [\n {\n name: 'AbpTenantManagement::Menu:TenantManagement',\n path: 'tenant-management',\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-users',\n children: [\n {\n path: 'tenants',\n name: 'AbpTenantManagement::Tenants',\n order: 1,\n requiredPolicy: 'AbpTenantManagement.Tenants',\n },\n ],\n },\n] as ABP.FullRoute[];\n","import { ABP } from '@abp/ng.core';\n\nexport namespace TenantManagement {\n export interface State {\n result: Response;\n selectedItem: Item;\n }\n\n export type Response = ABP.PagedResponse;\n\n export interface Item {\n id: string;\n name: string;\n }\n\n export interface AddRequest {\n name: string;\n }\n\n export interface UpdateRequest extends AddRequest {\n id: string;\n }\n\n export interface DefaultConnectionStringRequest {\n id: string;\n defaultConnectionString: string;\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.tenant-management.js","sources":["ng://@abp/ng.tenant-management/lib/actions/tenant-management.actions.ts","ng://@abp/ng.tenant-management/lib/services/tenant-management.service.ts","ng://@abp/ng.tenant-management/lib/states/tenant-management.state.ts","ng://@abp/ng.tenant-management/lib/components/tenants/tenants.component.ts","ng://@abp/ng.tenant-management/lib/resolvers/tenants.resolver.ts","ng://@abp/ng.tenant-management/lib/tenant-management-routing.module.ts","ng://@abp/ng.tenant-management/lib/tenant-management.module.ts","ng://@abp/ng.tenant-management/lib/constants/routes.ts","ng://@abp/ng.tenant-management/lib/models/tenant-management.ts"],"sourcesContent":["import { TenantManagement } from '../models/tenant-management';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetTenants {\n static readonly type = '[TenantManagement] Get Tenant';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetTenantById {\n static readonly type = '[TenantManagement] Get Tenant By Id';\n constructor(public payload: string) {}\n}\n\nexport class CreateTenant {\n static readonly type = '[TenantManagement] Create Tenant';\n constructor(public payload: TenantManagement.AddRequest) {}\n}\n\nexport class UpdateTenant {\n static readonly type = '[TenantManagement] Update Tenant';\n constructor(public payload: TenantManagement.UpdateRequest) {}\n}\n\nexport class DeleteTenant {\n static readonly type = '[TenantManagement] Delete Tenant';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { TenantManagement } from '../models/tenant-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TenantManagementService {\n constructor(private rest: RestService) {}\n\n getTenant(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/multi-tenancy/tenants',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getTenantById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteTenant(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createTenant(body: TenantManagement.AddRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/multi-tenancy/tenants`,\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateTenant(body: TenantManagement.UpdateRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenants/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'GET',\n responseType: Rest.ResponseType.Text,\n url,\n };\n return this.rest.request(request);\n }\n\n updateDefaultConnectionString(payload: TenantManagement.DefaultConnectionStringRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${payload.id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n params: { defaultConnectionString: payload.defaultConnectionString },\n };\n return this.rest.request(request);\n }\n\n deleteDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenant/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'DELETE',\n url,\n };\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementService } from '../services/tenant-management.service';\nimport { ABP } from '@abp/ng.core';\n\n@State({\n name: 'TenantManagementState',\n defaults: { result: {}, selectedItem: {} } as TenantManagement.State,\n})\nexport class TenantManagementState {\n @Selector()\n static get({ result }: TenantManagement.State): ABP.BasicItem[] {\n return result.items || [];\n }\n\n @Selector()\n static getTenantsTotalCount({ result }: TenantManagement.State): number {\n return result.totalCount;\n }\n\n constructor(private tenantManagementService: TenantManagementService) {}\n\n @Action(GetTenants)\n get({ patchState }: StateContext, { payload }: GetTenants) {\n return this.tenantManagementService.getTenant(payload).pipe(\n tap(result =>\n patchState({\n result,\n }),\n ),\n );\n }\n\n @Action(GetTenantById)\n getById({ patchState }: StateContext, { payload }: GetTenantById) {\n return this.tenantManagementService.getTenantById(payload).pipe(\n tap(selectedItem =>\n patchState({\n selectedItem,\n }),\n ),\n );\n }\n\n @Action(DeleteTenant)\n delete({ dispatch }: StateContext, { payload }: DeleteTenant) {\n return this.tenantManagementService.deleteTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(CreateTenant)\n add({ dispatch }: StateContext, { payload }: CreateTenant) {\n return this.tenantManagementService.createTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(UpdateTenant)\n update({ dispatch, getState }: StateContext, { payload }: UpdateTenant) {\n return dispatch(new GetTenantById(payload.id)).pipe(\n switchMap(() => this.tenantManagementService.updateTenant({ ...getState().selectedItem, ...payload })),\n switchMap(() => dispatch(new GetTenants())),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable, Subject } from 'rxjs';\nimport { debounceTime, finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../../actions/tenant-management.actions';\nimport { TenantManagementService } from '../../services/tenant-management.service';\nimport { TenantManagementState } from '../../states/tenant-management.state';\n\ntype SelectedModalContent = {\n type: string;\n title: string;\n template: TemplateRef;\n};\n\n@Component({\n selector: 'abp-tenants',\n templateUrl: './tenants.component.html',\n})\nexport class TenantsComponent {\n @Select(TenantManagementState.get)\n data$: Observable;\n\n @Select(TenantManagementState.getTenantsTotalCount)\n totalCount$: Observable;\n\n selected: ABP.BasicItem;\n\n tenantForm: FormGroup;\n\n defaultConnectionStringForm: FormGroup;\n\n defaultConnectionString: string;\n\n isModalVisible: boolean;\n\n selectedModalContent = {} as SelectedModalContent;\n\n _useSharedDatabase: boolean;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n get useSharedDatabase(): boolean {\n return this.defaultConnectionStringForm.get('useSharedDatabase').value;\n }\n\n get connectionString(): string {\n return this.defaultConnectionStringForm.get('defaultConnectionString').value;\n }\n\n @ViewChild('tenantModalTemplate', { static: false })\n tenantModalTemplate: TemplateRef;\n\n @ViewChild('connectionStringModalTemplate', { static: false })\n connectionStringModalTemplate: TemplateRef;\n\n constructor(\n private confirmationService: ConfirmationService,\n private tenantService: TenantManagementService,\n private fb: FormBuilder,\n private store: Store,\n ) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n private createTenantForm() {\n this.tenantForm = this.fb.group({\n name: [this.selected.name || '', [Validators.required, Validators.maxLength(256)]],\n });\n }\n\n private createDefaultConnectionStringForm() {\n this.defaultConnectionStringForm = this.fb.group({\n useSharedDatabase: this._useSharedDatabase,\n defaultConnectionString: this.defaultConnectionString || '',\n });\n }\n\n openModal(title: string, template: TemplateRef, type: string) {\n this.selectedModalContent = {\n title,\n template,\n type,\n };\n\n this.isModalVisible = true;\n }\n\n onEditConnectionString(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(\n pluck('TenantManagementState', 'selectedItem'),\n switchMap(selected => {\n this.selected = selected;\n return this.tenantService.getDefaultConnectionString(id);\n }),\n )\n .subscribe(fetchedConnectionString => {\n this._useSharedDatabase = fetchedConnectionString ? false : true;\n this.defaultConnectionString = fetchedConnectionString ? fetchedConnectionString : '';\n this.createDefaultConnectionStringForm();\n this.openModal('AbpTenantManagement::ConnectionStrings', this.connectionStringModalTemplate, 'saveConnStr');\n });\n }\n\n onAddTenant() {\n this.selected = {} as ABP.BasicItem;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::NewTenant', this.tenantModalTemplate, 'saveTenant');\n }\n\n onEditTenant(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(pluck('TenantManagementState', 'selectedItem'))\n .subscribe(selected => {\n this.selected = selected;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::Edit', this.tenantModalTemplate, 'saveTenant');\n });\n }\n\n save() {\n const { type } = this.selectedModalContent;\n if (!type) return;\n if (type === 'saveTenant') this.saveTenant();\n else if (type === 'saveConnStr') this.saveConnectionString();\n }\n\n saveConnectionString() {\n this.modalBusy = true;\n if (this.useSharedDatabase) {\n this.tenantService\n .deleteDefaultConnectionString(this.selected.id)\n .pipe(take(1))\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n } else {\n this.tenantService\n .updateDefaultConnectionString({ id: this.selected.id, defaultConnectionString: this.connectionString })\n .pipe(take(1))\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n }\n\n saveTenant() {\n if (!this.tenantForm.valid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateTenant({ ...this.tenantForm.value, id: this.selected.id })\n : new CreateTenant(this.tenantForm.value),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpTenantManagement::TenantDeletionConfirmationMessage', 'AbpTenantManagement::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteTenant(id));\n this.modalBusy = false;\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetTenants(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetTenants } from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementState } from '../states/tenant-management.state';\n\n@Injectable()\nexport class TenantsResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const data = this.store.selectSnapshot(TenantManagementState.get);\n return data && data.length ? null : this.store.dispatch(new GetTenants());\n }\n}\n","import { AuthGuard, DynamicLayoutComponent, PermissionGuard } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { TenantsResolver } from './resolvers/tenants.resolver';\nimport { TenantsComponent } from './components/tenants/tenants.component';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'tenants', pathMatch: 'full' },\n {\n path: 'tenants',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpTenantManagement.Tenants' },\n children: [{ path: '', component: TenantsComponent, resolve: [TenantsResolver] }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [TenantsResolver],\n})\nexport class TenantManagementRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxsModule } from '@ngxs/store';\nimport { TableModule } from 'primeng/table';\nimport { TenantsComponent } from './components/tenants/tenants.component';\nimport { TenantManagementState } from './states/tenant-management.state';\nimport { TenantManagementRoutingModule } from './tenant-management-routing.module';\n\n@NgModule({\n declarations: [TenantsComponent],\n imports: [\n TenantManagementRoutingModule,\n NgxsModule.forFeature([TenantManagementState]),\n CoreModule,\n TableModule,\n ThemeSharedModule,\n NgbDropdownModule,\n ],\n})\nexport class TenantManagementModule {}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const TENANT_MANAGEMENT_ROUTES = [\n {\n name: 'AbpTenantManagement::Menu:TenantManagement',\n path: 'tenant-management',\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-users',\n children: [\n {\n path: 'tenants',\n name: 'AbpTenantManagement::Tenants',\n order: 1,\n requiredPolicy: 'AbpTenantManagement.Tenants',\n },\n ],\n },\n] as ABP.FullRoute[];\n","import { ABP } from '@abp/ng.core';\n\nexport namespace TenantManagement {\n export interface State {\n result: Response;\n selectedItem: Item;\n }\n\n export type Response = ABP.PagedResponse;\n\n export interface Item {\n id: string;\n name: string;\n }\n\n export interface AddRequest {\n name: string;\n }\n\n export interface UpdateRequest extends AddRequest {\n id: string;\n }\n\n export interface DefaultConnectionStringRequest {\n id: string;\n defaultConnectionString: string;\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/fesm5/abp-ng.tenant-management.js b/npm/ng-packs/dist/tenant-management/fesm5/abp-ng.tenant-management.js index 9af6eaa313..cdca28b555 100644 --- a/npm/ng-packs/dist/tenant-management/fesm5/abp-ng.tenant-management.js +++ b/npm/ng-packs/dist/tenant-management/fesm5/abp-ng.tenant-management.js @@ -21,6 +21,12 @@ var GetTenants = /** @class */ (function () { GetTenants.type = '[TenantManagement] Get Tenant'; return GetTenants; }()); +if (false) { + /** @type {?} */ + GetTenants.type; + /** @type {?} */ + GetTenants.prototype.payload; +} var GetTenantById = /** @class */ (function () { function GetTenantById(payload) { this.payload = payload; @@ -28,6 +34,12 @@ var GetTenantById = /** @class */ (function () { GetTenantById.type = '[TenantManagement] Get Tenant By Id'; return GetTenantById; }()); +if (false) { + /** @type {?} */ + GetTenantById.type; + /** @type {?} */ + GetTenantById.prototype.payload; +} var CreateTenant = /** @class */ (function () { function CreateTenant(payload) { this.payload = payload; @@ -35,6 +47,12 @@ var CreateTenant = /** @class */ (function () { CreateTenant.type = '[TenantManagement] Create Tenant'; return CreateTenant; }()); +if (false) { + /** @type {?} */ + CreateTenant.type; + /** @type {?} */ + CreateTenant.prototype.payload; +} var UpdateTenant = /** @class */ (function () { function UpdateTenant(payload) { this.payload = payload; @@ -42,6 +60,12 @@ var UpdateTenant = /** @class */ (function () { UpdateTenant.type = '[TenantManagement] Update Tenant'; return UpdateTenant; }()); +if (false) { + /** @type {?} */ + UpdateTenant.type; + /** @type {?} */ + UpdateTenant.prototype.payload; +} var DeleteTenant = /** @class */ (function () { function DeleteTenant(payload) { this.payload = payload; @@ -49,6 +73,12 @@ var DeleteTenant = /** @class */ (function () { DeleteTenant.type = '[TenantManagement] Delete Tenant'; return DeleteTenant; }()); +if (false) { + /** @type {?} */ + DeleteTenant.type; + /** @type {?} */ + DeleteTenant.prototype.payload; +} /** * @fileoverview added by tsickle @@ -213,6 +243,13 @@ var TenantManagementService = /** @class */ (function () { /** @nocollapse */ TenantManagementService.ngInjectableDef = ɵɵdefineInjectable({ factory: function TenantManagementService_Factory() { return new TenantManagementService(ɵɵinject(RestService)); }, token: TenantManagementService, providedIn: "root" }); return TenantManagementService; }()); +if (false) { + /** + * @type {?} + * @private + */ + TenantManagementService.prototype.rest; +} /** * @fileoverview added by tsickle @@ -401,6 +438,13 @@ var TenantManagementState = /** @class */ (function () { ], TenantManagementState); return TenantManagementState; }()); +if (false) { + /** + * @type {?} + * @private + */ + TenantManagementState.prototype.tenantManagementService; +} /** * @fileoverview added by tsickle @@ -417,6 +461,7 @@ var TenantsComponent = /** @class */ (function () { sorting: 'name', }; this.loading = false; + this.modalBusy = false; } Object.defineProperty(TenantsComponent.prototype, "useSharedDatabase", { get: /** @@ -585,6 +630,7 @@ var TenantsComponent = /** @class */ (function () { */ function () { var _this = this; + this.modalBusy = true; if (this.useSharedDatabase) { this.tenantService .deleteDefaultConnectionString(this.selected.id) @@ -593,6 +639,7 @@ var TenantsComponent = /** @class */ (function () { * @return {?} */ function () { + _this.modalBusy = false; _this.isModalVisible = false; })); } @@ -604,6 +651,7 @@ var TenantsComponent = /** @class */ (function () { * @return {?} */ function () { + _this.modalBusy = false; _this.isModalVisible = false; })); } @@ -618,6 +666,7 @@ var TenantsComponent = /** @class */ (function () { var _this = this; if (!this.tenantForm.valid) return; + this.modalBusy = true; this.store .dispatch(this.selected.id ? new UpdateTenant(__assign({}, this.tenantForm.value, { id: this.selected.id })) @@ -626,6 +675,7 @@ var TenantsComponent = /** @class */ (function () { * @return {?} */ function () { + _this.modalBusy = false; _this.isModalVisible = false; })); }; @@ -652,6 +702,7 @@ var TenantsComponent = /** @class */ (function () { function (status) { if (status === "confirm" /* confirm */) { _this.store.dispatch(new DeleteTenant(id)); + _this.modalBusy = false; } })); }; @@ -688,7 +739,7 @@ var TenantsComponent = /** @class */ (function () { TenantsComponent.decorators = [ { type: Component, args: [{ selector: 'abp-tenants', - template: "
\n
\n
\n
\n
\n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
\n
\n
\n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
\n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
\n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::ConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
\n
\n \n {{ data.name }}\n \n
\n \n
\n
\n\n\n \n

{{ selectedModalContent.title | abpLocalization }}

\n
\n\n \n \n \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
\n\n\n
\n
\n
\n \n \n
\n
\n
\n
\n\n\n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n" + template: "
\n
\n
\n
\n
\n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
\n
\n
\n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
\n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
\n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::ConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
\n
\n \n {{ data.name }}\n \n
\n \n
\n
\n\n\n \n

{{ selectedModalContent.title | abpLocalization }}

\n
\n\n \n \n \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
\n\n\n
\n
\n
\n \n \n
\n
\n
\n
\n\n\n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n" }] } ]; /** @nocollapse */ @@ -712,6 +763,56 @@ var TenantsComponent = /** @class */ (function () { ], TenantsComponent.prototype, "totalCount$", void 0); return TenantsComponent; }()); +if (false) { + /** @type {?} */ + TenantsComponent.prototype.data$; + /** @type {?} */ + TenantsComponent.prototype.totalCount$; + /** @type {?} */ + TenantsComponent.prototype.selected; + /** @type {?} */ + TenantsComponent.prototype.tenantForm; + /** @type {?} */ + TenantsComponent.prototype.defaultConnectionStringForm; + /** @type {?} */ + TenantsComponent.prototype.defaultConnectionString; + /** @type {?} */ + TenantsComponent.prototype.isModalVisible; + /** @type {?} */ + TenantsComponent.prototype.selectedModalContent; + /** @type {?} */ + TenantsComponent.prototype._useSharedDatabase; + /** @type {?} */ + TenantsComponent.prototype.pageQuery; + /** @type {?} */ + TenantsComponent.prototype.loading; + /** @type {?} */ + TenantsComponent.prototype.modalBusy; + /** @type {?} */ + TenantsComponent.prototype.tenantModalTemplate; + /** @type {?} */ + TenantsComponent.prototype.connectionStringModalTemplate; + /** + * @type {?} + * @private + */ + TenantsComponent.prototype.confirmationService; + /** + * @type {?} + * @private + */ + TenantsComponent.prototype.tenantService; + /** + * @type {?} + * @private + */ + TenantsComponent.prototype.fb; + /** + * @type {?} + * @private + */ + TenantsComponent.prototype.store; +} /** * @fileoverview added by tsickle @@ -741,6 +842,13 @@ var TenantsResolver = /** @class */ (function () { ]; }; return TenantsResolver; }()); +if (false) { + /** + * @type {?} + * @private + */ + TenantsResolver.prototype.store; +} /** * @fileoverview added by tsickle @@ -794,6 +902,16 @@ var TenantManagementModule = /** @class */ (function () { return TenantManagementModule; }()); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -817,6 +935,11 @@ var TENANT_MANAGEMENT_ROUTES = (/** @type {?} */ ([ }, ])); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -828,27 +951,83 @@ var TenantManagement; */ function State() { } TenantManagement.State = State; + if (false) { + /** @type {?} */ + State.prototype.result; + /** @type {?} */ + State.prototype.selectedItem; + } /** * @record */ function Item() { } TenantManagement.Item = Item; + if (false) { + /** @type {?} */ + Item.prototype.id; + /** @type {?} */ + Item.prototype.name; + } /** * @record */ function AddRequest() { } TenantManagement.AddRequest = AddRequest; + if (false) { + /** @type {?} */ + AddRequest.prototype.name; + } /** * @record */ function UpdateRequest() { } TenantManagement.UpdateRequest = UpdateRequest; + if (false) { + /** @type {?} */ + UpdateRequest.prototype.id; + } /** * @record */ function DefaultConnectionStringRequest() { } TenantManagement.DefaultConnectionStringRequest = DefaultConnectionStringRequest; + if (false) { + /** @type {?} */ + DefaultConnectionStringRequest.prototype.id; + /** @type {?} */ + DefaultConnectionStringRequest.prototype.defaultConnectionString; + } })(TenantManagement || (TenantManagement = {})); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + export { CreateTenant, DeleteTenant, GetTenantById, GetTenants, TENANT_MANAGEMENT_ROUTES, TenantManagementModule, TenantManagementService, TenantManagementState, TenantsComponent, TenantsResolver, UpdateTenant, TenantsComponent as ɵa, TenantManagementState as ɵb, TenantManagementService as ɵc, GetTenants as ɵd, GetTenantById as ɵe, CreateTenant as ɵf, UpdateTenant as ɵg, DeleteTenant as ɵh, TenantManagementRoutingModule as ɵj, TenantsResolver as ɵk }; //# sourceMappingURL=abp-ng.tenant-management.js.map diff --git a/npm/ng-packs/dist/tenant-management/fesm5/abp-ng.tenant-management.js.map b/npm/ng-packs/dist/tenant-management/fesm5/abp-ng.tenant-management.js.map index f7c9c4998c..8925fc4c0d 100644 --- a/npm/ng-packs/dist/tenant-management/fesm5/abp-ng.tenant-management.js.map +++ b/npm/ng-packs/dist/tenant-management/fesm5/abp-ng.tenant-management.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.tenant-management.js","sources":["ng://@abp/ng.tenant-management/lib/actions/tenant-management.actions.ts","ng://@abp/ng.tenant-management/lib/services/tenant-management.service.ts","ng://@abp/ng.tenant-management/lib/states/tenant-management.state.ts","ng://@abp/ng.tenant-management/lib/components/tenants/tenants.component.ts","ng://@abp/ng.tenant-management/lib/resolvers/tenants.resolver.ts","ng://@abp/ng.tenant-management/lib/tenant-management-routing.module.ts","ng://@abp/ng.tenant-management/lib/tenant-management.module.ts","ng://@abp/ng.tenant-management/lib/constants/routes.ts","ng://@abp/ng.tenant-management/lib/models/tenant-management.ts"],"sourcesContent":["import { TenantManagement } from '../models/tenant-management';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetTenants {\n static readonly type = '[TenantManagement] Get Tenant';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetTenantById {\n static readonly type = '[TenantManagement] Get Tenant By Id';\n constructor(public payload: string) {}\n}\n\nexport class CreateTenant {\n static readonly type = '[TenantManagement] Create Tenant';\n constructor(public payload: TenantManagement.AddRequest) {}\n}\n\nexport class UpdateTenant {\n static readonly type = '[TenantManagement] Update Tenant';\n constructor(public payload: TenantManagement.UpdateRequest) {}\n}\n\nexport class DeleteTenant {\n static readonly type = '[TenantManagement] Delete Tenant';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { TenantManagement } from '../models/tenant-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TenantManagementService {\n constructor(private rest: RestService) {}\n\n getTenant(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/multi-tenancy/tenants',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getTenantById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteTenant(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createTenant(body: TenantManagement.AddRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/multi-tenancy/tenants`,\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateTenant(body: TenantManagement.UpdateRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenants/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'GET',\n responseType: Rest.ResponseType.Text,\n url,\n };\n return this.rest.request(request);\n }\n\n updateDefaultConnectionString(payload: TenantManagement.DefaultConnectionStringRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${payload.id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n params: { defaultConnectionString: payload.defaultConnectionString },\n };\n return this.rest.request(request);\n }\n\n deleteDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenant/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'DELETE',\n url,\n };\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementService } from '../services/tenant-management.service';\nimport { ABP } from '@abp/ng.core';\n\n@State({\n name: 'TenantManagementState',\n defaults: { result: {}, selectedItem: {} } as TenantManagement.State,\n})\nexport class TenantManagementState {\n @Selector()\n static get({ result }: TenantManagement.State): ABP.BasicItem[] {\n return result.items || [];\n }\n\n @Selector()\n static getTenantsTotalCount({ result }: TenantManagement.State): number {\n return result.totalCount;\n }\n\n constructor(private tenantManagementService: TenantManagementService) {}\n\n @Action(GetTenants)\n get({ patchState }: StateContext, { payload }: GetTenants) {\n return this.tenantManagementService.getTenant(payload).pipe(\n tap(result =>\n patchState({\n result,\n }),\n ),\n );\n }\n\n @Action(GetTenantById)\n getById({ patchState }: StateContext, { payload }: GetTenantById) {\n return this.tenantManagementService.getTenantById(payload).pipe(\n tap(selectedItem =>\n patchState({\n selectedItem,\n }),\n ),\n );\n }\n\n @Action(DeleteTenant)\n delete({ dispatch }: StateContext, { payload }: DeleteTenant) {\n return this.tenantManagementService.deleteTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(CreateTenant)\n add({ dispatch }: StateContext, { payload }: CreateTenant) {\n return this.tenantManagementService.createTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(UpdateTenant)\n update({ dispatch, getState }: StateContext, { payload }: UpdateTenant) {\n return dispatch(new GetTenantById(payload.id)).pipe(\n switchMap(() => this.tenantManagementService.updateTenant({ ...getState().selectedItem, ...payload })),\n switchMap(() => dispatch(new GetTenants())),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable, Subject } from 'rxjs';\nimport { debounceTime, finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../../actions/tenant-management.actions';\nimport { TenantManagementService } from '../../services/tenant-management.service';\nimport { TenantManagementState } from '../../states/tenant-management.state';\n\ntype SelectedModalContent = {\n type: string;\n title: string;\n template: TemplateRef;\n};\n\n@Component({\n selector: 'abp-tenants',\n templateUrl: './tenants.component.html',\n})\nexport class TenantsComponent {\n @Select(TenantManagementState.get)\n data$: Observable;\n\n @Select(TenantManagementState.getTenantsTotalCount)\n totalCount$: Observable;\n\n selected: ABP.BasicItem;\n\n tenantForm: FormGroup;\n\n defaultConnectionStringForm: FormGroup;\n\n defaultConnectionString: string;\n\n isModalVisible: boolean;\n\n selectedModalContent = {} as SelectedModalContent;\n\n _useSharedDatabase: boolean;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n get useSharedDatabase(): boolean {\n return this.defaultConnectionStringForm.get('useSharedDatabase').value;\n }\n\n get connectionString(): string {\n return this.defaultConnectionStringForm.get('defaultConnectionString').value;\n }\n\n @ViewChild('tenantModalTemplate', { static: false })\n tenantModalTemplate: TemplateRef;\n\n @ViewChild('connectionStringModalTemplate', { static: false })\n connectionStringModalTemplate: TemplateRef;\n\n constructor(\n private confirmationService: ConfirmationService,\n private tenantService: TenantManagementService,\n private fb: FormBuilder,\n private store: Store,\n ) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n private createTenantForm() {\n this.tenantForm = this.fb.group({\n name: [this.selected.name || '', [Validators.required, Validators.maxLength(256)]],\n });\n }\n\n private createDefaultConnectionStringForm() {\n this.defaultConnectionStringForm = this.fb.group({\n useSharedDatabase: this._useSharedDatabase,\n defaultConnectionString: this.defaultConnectionString || '',\n });\n }\n\n openModal(title: string, template: TemplateRef, type: string) {\n this.selectedModalContent = {\n title,\n template,\n type,\n };\n\n this.isModalVisible = true;\n }\n\n onEditConnectionString(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(\n pluck('TenantManagementState', 'selectedItem'),\n switchMap(selected => {\n this.selected = selected;\n return this.tenantService.getDefaultConnectionString(id);\n }),\n )\n .subscribe(fetchedConnectionString => {\n this._useSharedDatabase = fetchedConnectionString ? false : true;\n this.defaultConnectionString = fetchedConnectionString ? fetchedConnectionString : '';\n this.createDefaultConnectionStringForm();\n this.openModal('AbpTenantManagement::ConnectionStrings', this.connectionStringModalTemplate, 'saveConnStr');\n });\n }\n\n onAddTenant() {\n this.selected = {} as ABP.BasicItem;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::NewTenant', this.tenantModalTemplate, 'saveTenant');\n }\n\n onEditTenant(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(pluck('TenantManagementState', 'selectedItem'))\n .subscribe(selected => {\n this.selected = selected;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::Edit', this.tenantModalTemplate, 'saveTenant');\n });\n }\n\n save() {\n const { type } = this.selectedModalContent;\n if (!type) return;\n if (type === 'saveTenant') this.saveTenant();\n else if (type === 'saveConnStr') this.saveConnectionString();\n }\n\n saveConnectionString() {\n if (this.useSharedDatabase) {\n this.tenantService\n .deleteDefaultConnectionString(this.selected.id)\n .pipe(take(1))\n .subscribe(() => {\n this.isModalVisible = false;\n });\n } else {\n this.tenantService\n .updateDefaultConnectionString({ id: this.selected.id, defaultConnectionString: this.connectionString })\n .pipe(take(1))\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n }\n\n saveTenant() {\n if (!this.tenantForm.valid) return;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateTenant({ ...this.tenantForm.value, id: this.selected.id })\n : new CreateTenant(this.tenantForm.value),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpTenantManagement::TenantDeletionConfirmationMessage', 'AbpTenantManagement::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteTenant(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetTenants(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetTenants } from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementState } from '../states/tenant-management.state';\n\n@Injectable()\nexport class TenantsResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const data = this.store.selectSnapshot(TenantManagementState.get);\n return data && data.length ? null : this.store.dispatch(new GetTenants());\n }\n}\n","import { AuthGuard, DynamicLayoutComponent, PermissionGuard } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { TenantsResolver } from './resolvers/tenants.resolver';\nimport { TenantsComponent } from './components/tenants/tenants.component';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'tenants', pathMatch: 'full' },\n {\n path: 'tenants',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpTenantManagement.Tenants' },\n children: [{ path: '', component: TenantsComponent, resolve: [TenantsResolver] }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [TenantsResolver],\n})\nexport class TenantManagementRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxsModule } from '@ngxs/store';\nimport { TableModule } from 'primeng/table';\nimport { TenantsComponent } from './components/tenants/tenants.component';\nimport { TenantManagementState } from './states/tenant-management.state';\nimport { TenantManagementRoutingModule } from './tenant-management-routing.module';\n\n@NgModule({\n declarations: [TenantsComponent],\n imports: [\n TenantManagementRoutingModule,\n NgxsModule.forFeature([TenantManagementState]),\n CoreModule,\n TableModule,\n ThemeSharedModule,\n NgbDropdownModule,\n ],\n})\nexport class TenantManagementModule {}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const TENANT_MANAGEMENT_ROUTES = [\n {\n name: 'AbpTenantManagement::Menu:TenantManagement',\n path: 'tenant-management',\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-users',\n children: [\n {\n path: 'tenants',\n name: 'AbpTenantManagement::Tenants',\n order: 1,\n requiredPolicy: 'AbpTenantManagement.Tenants',\n },\n ],\n },\n] as ABP.FullRoute[];\n","import { ABP } from '@abp/ng.core';\n\nexport namespace TenantManagement {\n export interface State {\n result: Response;\n selectedItem: Item;\n }\n\n export type Response = ABP.PagedResponse;\n\n export interface Item {\n id: string;\n name: string;\n }\n\n export interface AddRequest {\n name: string;\n }\n\n export interface UpdateRequest extends AddRequest {\n id: string;\n }\n\n export interface DefaultConnectionStringRequest {\n id: string;\n defaultConnectionString: string;\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.tenant-management.js","sources":["ng://@abp/ng.tenant-management/lib/actions/tenant-management.actions.ts","ng://@abp/ng.tenant-management/lib/services/tenant-management.service.ts","ng://@abp/ng.tenant-management/lib/states/tenant-management.state.ts","ng://@abp/ng.tenant-management/lib/components/tenants/tenants.component.ts","ng://@abp/ng.tenant-management/lib/resolvers/tenants.resolver.ts","ng://@abp/ng.tenant-management/lib/tenant-management-routing.module.ts","ng://@abp/ng.tenant-management/lib/tenant-management.module.ts","ng://@abp/ng.tenant-management/lib/constants/routes.ts","ng://@abp/ng.tenant-management/lib/models/tenant-management.ts"],"sourcesContent":["import { TenantManagement } from '../models/tenant-management';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetTenants {\n static readonly type = '[TenantManagement] Get Tenant';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetTenantById {\n static readonly type = '[TenantManagement] Get Tenant By Id';\n constructor(public payload: string) {}\n}\n\nexport class CreateTenant {\n static readonly type = '[TenantManagement] Create Tenant';\n constructor(public payload: TenantManagement.AddRequest) {}\n}\n\nexport class UpdateTenant {\n static readonly type = '[TenantManagement] Update Tenant';\n constructor(public payload: TenantManagement.UpdateRequest) {}\n}\n\nexport class DeleteTenant {\n static readonly type = '[TenantManagement] Delete Tenant';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { TenantManagement } from '../models/tenant-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TenantManagementService {\n constructor(private rest: RestService) {}\n\n getTenant(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/multi-tenancy/tenants',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getTenantById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteTenant(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createTenant(body: TenantManagement.AddRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/multi-tenancy/tenants`,\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateTenant(body: TenantManagement.UpdateRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenants/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'GET',\n responseType: Rest.ResponseType.Text,\n url,\n };\n return this.rest.request(request);\n }\n\n updateDefaultConnectionString(payload: TenantManagement.DefaultConnectionStringRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${payload.id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n params: { defaultConnectionString: payload.defaultConnectionString },\n };\n return this.rest.request(request);\n }\n\n deleteDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenant/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'DELETE',\n url,\n };\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementService } from '../services/tenant-management.service';\nimport { ABP } from '@abp/ng.core';\n\n@State({\n name: 'TenantManagementState',\n defaults: { result: {}, selectedItem: {} } as TenantManagement.State,\n})\nexport class TenantManagementState {\n @Selector()\n static get({ result }: TenantManagement.State): ABP.BasicItem[] {\n return result.items || [];\n }\n\n @Selector()\n static getTenantsTotalCount({ result }: TenantManagement.State): number {\n return result.totalCount;\n }\n\n constructor(private tenantManagementService: TenantManagementService) {}\n\n @Action(GetTenants)\n get({ patchState }: StateContext, { payload }: GetTenants) {\n return this.tenantManagementService.getTenant(payload).pipe(\n tap(result =>\n patchState({\n result,\n }),\n ),\n );\n }\n\n @Action(GetTenantById)\n getById({ patchState }: StateContext, { payload }: GetTenantById) {\n return this.tenantManagementService.getTenantById(payload).pipe(\n tap(selectedItem =>\n patchState({\n selectedItem,\n }),\n ),\n );\n }\n\n @Action(DeleteTenant)\n delete({ dispatch }: StateContext, { payload }: DeleteTenant) {\n return this.tenantManagementService.deleteTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(CreateTenant)\n add({ dispatch }: StateContext, { payload }: CreateTenant) {\n return this.tenantManagementService.createTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(UpdateTenant)\n update({ dispatch, getState }: StateContext, { payload }: UpdateTenant) {\n return dispatch(new GetTenantById(payload.id)).pipe(\n switchMap(() => this.tenantManagementService.updateTenant({ ...getState().selectedItem, ...payload })),\n switchMap(() => dispatch(new GetTenants())),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable, Subject } from 'rxjs';\nimport { debounceTime, finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../../actions/tenant-management.actions';\nimport { TenantManagementService } from '../../services/tenant-management.service';\nimport { TenantManagementState } from '../../states/tenant-management.state';\n\ntype SelectedModalContent = {\n type: string;\n title: string;\n template: TemplateRef;\n};\n\n@Component({\n selector: 'abp-tenants',\n templateUrl: './tenants.component.html',\n})\nexport class TenantsComponent {\n @Select(TenantManagementState.get)\n data$: Observable;\n\n @Select(TenantManagementState.getTenantsTotalCount)\n totalCount$: Observable;\n\n selected: ABP.BasicItem;\n\n tenantForm: FormGroup;\n\n defaultConnectionStringForm: FormGroup;\n\n defaultConnectionString: string;\n\n isModalVisible: boolean;\n\n selectedModalContent = {} as SelectedModalContent;\n\n _useSharedDatabase: boolean;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n get useSharedDatabase(): boolean {\n return this.defaultConnectionStringForm.get('useSharedDatabase').value;\n }\n\n get connectionString(): string {\n return this.defaultConnectionStringForm.get('defaultConnectionString').value;\n }\n\n @ViewChild('tenantModalTemplate', { static: false })\n tenantModalTemplate: TemplateRef;\n\n @ViewChild('connectionStringModalTemplate', { static: false })\n connectionStringModalTemplate: TemplateRef;\n\n constructor(\n private confirmationService: ConfirmationService,\n private tenantService: TenantManagementService,\n private fb: FormBuilder,\n private store: Store,\n ) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n private createTenantForm() {\n this.tenantForm = this.fb.group({\n name: [this.selected.name || '', [Validators.required, Validators.maxLength(256)]],\n });\n }\n\n private createDefaultConnectionStringForm() {\n this.defaultConnectionStringForm = this.fb.group({\n useSharedDatabase: this._useSharedDatabase,\n defaultConnectionString: this.defaultConnectionString || '',\n });\n }\n\n openModal(title: string, template: TemplateRef, type: string) {\n this.selectedModalContent = {\n title,\n template,\n type,\n };\n\n this.isModalVisible = true;\n }\n\n onEditConnectionString(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(\n pluck('TenantManagementState', 'selectedItem'),\n switchMap(selected => {\n this.selected = selected;\n return this.tenantService.getDefaultConnectionString(id);\n }),\n )\n .subscribe(fetchedConnectionString => {\n this._useSharedDatabase = fetchedConnectionString ? false : true;\n this.defaultConnectionString = fetchedConnectionString ? fetchedConnectionString : '';\n this.createDefaultConnectionStringForm();\n this.openModal('AbpTenantManagement::ConnectionStrings', this.connectionStringModalTemplate, 'saveConnStr');\n });\n }\n\n onAddTenant() {\n this.selected = {} as ABP.BasicItem;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::NewTenant', this.tenantModalTemplate, 'saveTenant');\n }\n\n onEditTenant(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(pluck('TenantManagementState', 'selectedItem'))\n .subscribe(selected => {\n this.selected = selected;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::Edit', this.tenantModalTemplate, 'saveTenant');\n });\n }\n\n save() {\n const { type } = this.selectedModalContent;\n if (!type) return;\n if (type === 'saveTenant') this.saveTenant();\n else if (type === 'saveConnStr') this.saveConnectionString();\n }\n\n saveConnectionString() {\n this.modalBusy = true;\n if (this.useSharedDatabase) {\n this.tenantService\n .deleteDefaultConnectionString(this.selected.id)\n .pipe(take(1))\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n } else {\n this.tenantService\n .updateDefaultConnectionString({ id: this.selected.id, defaultConnectionString: this.connectionString })\n .pipe(take(1))\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n }\n\n saveTenant() {\n if (!this.tenantForm.valid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateTenant({ ...this.tenantForm.value, id: this.selected.id })\n : new CreateTenant(this.tenantForm.value),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpTenantManagement::TenantDeletionConfirmationMessage', 'AbpTenantManagement::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteTenant(id));\n this.modalBusy = false;\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetTenants(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetTenants } from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementState } from '../states/tenant-management.state';\n\n@Injectable()\nexport class TenantsResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const data = this.store.selectSnapshot(TenantManagementState.get);\n return data && data.length ? null : this.store.dispatch(new GetTenants());\n }\n}\n","import { AuthGuard, DynamicLayoutComponent, PermissionGuard } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { TenantsResolver } from './resolvers/tenants.resolver';\nimport { TenantsComponent } from './components/tenants/tenants.component';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'tenants', pathMatch: 'full' },\n {\n path: 'tenants',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpTenantManagement.Tenants' },\n children: [{ path: '', component: TenantsComponent, resolve: [TenantsResolver] }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [TenantsResolver],\n})\nexport class TenantManagementRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxsModule } from '@ngxs/store';\nimport { TableModule } from 'primeng/table';\nimport { TenantsComponent } from './components/tenants/tenants.component';\nimport { TenantManagementState } from './states/tenant-management.state';\nimport { TenantManagementRoutingModule } from './tenant-management-routing.module';\n\n@NgModule({\n declarations: [TenantsComponent],\n imports: [\n TenantManagementRoutingModule,\n NgxsModule.forFeature([TenantManagementState]),\n CoreModule,\n TableModule,\n ThemeSharedModule,\n NgbDropdownModule,\n ],\n})\nexport class TenantManagementModule {}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const TENANT_MANAGEMENT_ROUTES = [\n {\n name: 'AbpTenantManagement::Menu:TenantManagement',\n path: 'tenant-management',\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-users',\n children: [\n {\n path: 'tenants',\n name: 'AbpTenantManagement::Tenants',\n order: 1,\n requiredPolicy: 'AbpTenantManagement.Tenants',\n },\n ],\n },\n] as ABP.FullRoute[];\n","import { ABP } from '@abp/ng.core';\n\nexport namespace TenantManagement {\n export interface State {\n result: Response;\n selectedItem: Item;\n }\n\n export type Response = ABP.PagedResponse;\n\n export interface Item {\n id: string;\n name: string;\n }\n\n export interface AddRequest {\n name: string;\n }\n\n export interface UpdateRequest extends AddRequest {\n id: string;\n }\n\n export interface DefaultConnectionStringRequest {\n id: string;\n defaultConnectionString: string;\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/lib/components/tenants/tenants.component.d.ts b/npm/ng-packs/dist/tenant-management/lib/components/tenants/tenants.component.d.ts index 59da7c904c..d27ecbf2b3 100644 --- a/npm/ng-packs/dist/tenant-management/lib/components/tenants/tenants.component.d.ts +++ b/npm/ng-packs/dist/tenant-management/lib/components/tenants/tenants.component.d.ts @@ -26,6 +26,7 @@ export declare class TenantsComponent { _useSharedDatabase: boolean; pageQuery: ABP.PageQueryParams; loading: boolean; + modalBusy: boolean; readonly useSharedDatabase: boolean; readonly connectionString: string; tenantModalTemplate: TemplateRef; diff --git a/npm/ng-packs/dist/theme-basic/abp-ng.theme.basic.metadata.json b/npm/ng-packs/dist/theme-basic/abp-ng.theme.basic.metadata.json index 8edbd71576..af5ab537d4 100644 --- a/npm/ng-packs/dist/theme-basic/abp-ng.theme.basic.metadata.json +++ b/npm/ng-packs/dist/theme-basic/abp-ng.theme.basic.metadata.json @@ -1 +1 @@ -{"__symbolic":"module","version":4,"exports":[{"from":"./lib/layout.state"},{"from":"./lib/application-layout/application-layout.component"},{"from":"./lib/empty-layout/empty-layout.component"}],"metadata":{"LAYOUTS":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"}],"ThemeBasicModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":17,"character":1},"arguments":[{"declarations":[{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"LAYOUTS"}},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"}],"imports":[{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":20,"character":4},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ThemeSharedModule","line":21,"character":4},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbCollapseModule","line":22,"character":4},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbDropdownModule","line":23,"character":4},{"__symbolic":"reference","module":"primeng/toast","name":"ToastModule","line":24,"character":4},{"__symbolic":"reference","module":"@ngx-validate/core","name":"NgxValidateCoreModule","line":25,"character":4},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"NgxsModule","line":26,"character":4},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"ɵh"}]]}],"exports":[{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"LAYOUTS"}}],"entryComponents":[{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"LAYOUTS"}}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":32,"character":1},"arguments":[{"selector":"abp-layout-application","template":"\n
\n\n
    \n \n
\n\n\n\n
  • \n \n {{ defaultLanguage$ | async }}\n \n
    \n {{ lang?.displayName }}\n
    \n
  • \n
    \n\n\n
  • \n \n {{ (currentUser$ | async)?.userName }}\n \n \n
  • \n\n \n\n \n
    \n"}]}],"members":{"routes$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":40,"character":3},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ConfigState","line":40,"character":10},"member":"getOne"},"arguments":["routes"]}]}]}],"currentUser$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":43,"character":3},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ConfigState","line":43,"character":10},"member":"getOne"},"arguments":["currentUser"]}]}]}],"languages$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":46,"character":3},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ConfigState","line":46,"character":10},"member":"getDeep"},"arguments":["localization.languages"]}]}]}],"navElements$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":49,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵb"},"member":"getNavigationElements"}]}]}],"currentUserRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":52,"character":3},"arguments":["currentUser",{"static":false,"read":{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":52,"character":51}}]}]}],"languageRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":55,"character":3},"arguments":["language",{"static":false,"read":{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":55,"character":48}}]}]}],"navbarRootDropdowns":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":58,"character":3},"arguments":["navbarRootDropdown",{"read":{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbDropdown","line":58,"character":46}}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":96,"character":29},{"__symbolic":"reference","module":"angular-oauth2-oidc","name":"OAuthService","line":96,"character":58}]}],"checkWindowWidth":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"onChangeLang":[{"__symbolic":"method"}],"logout":[{"__symbolic":"method"}]},"statics":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"eLayoutType","line":38,"character":16},"member":"application"}}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"abp-layout-account","template":"\n \n\n \n \n \n \n \n\n"}]}],"members":{},"statics":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"eLayoutType","line":9,"character":16},"member":"account"}}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"abp-layout-empty","template":"\n Layout-empty\n \n "}]}],"members":{},"statics":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"eLayoutType","line":12,"character":16},"member":"empty"}}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":" abp-layout","animations":[{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"slideFromBottom","line":8,"character":15}],"template":"\n\n\n \n\n\n\n\n\n\n {{ appInfo.name }}\n\n"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":17,"character":29}]}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":20,"character":1},"arguments":[{"selector":"abp-change-password","template":"\n \n

    {{ 'AbpIdentity::ChangePassword' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n"}]}],"members":{"visible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"visibleChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":37,"character":3}}]}],"modalContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":40,"character":3},"arguments":["modalContent",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":45,"character":26},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":45,"character":54},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ToasterService","line":45,"character":85}]}],"ngOnInit":[{"__symbolic":"method"}],"onSubmit":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}]}},"ɵg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"abp-profile","template":"\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n"}]}],"members":{"visible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"visibleChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"profile$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":29,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ProfileState","line":29,"character":10},"member":"getProfile"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":34,"character":26},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":34,"character":54}]}],"buildForm":[{"__symbolic":"method"}],"onSubmit":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}]}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":6,"character":1},"arguments":[{"name":"LayoutState","defaults":{"navigationElements":[]}}]}],"members":{"layoutAddAction":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":16,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵi"}]}]}],"layoutRemoveAction":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":45,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵj"}]}]}]},"statics":{"getNavigationElements":{"__symbolic":"function","parameters":["navigationElements"],"value":{"__symbolic":"reference","name":"navigationElements"}}}},"ɵi":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵk"},"member":"NavigationElement"}]}]},"statics":{"type":"[Layout] Add Navigation Element"}},"ɵj":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Layout] Remove Navigation ElementByName"}}},"origins":{"LAYOUTS":"./lib/theme-basic.module","ThemeBasicModule":"./lib/theme-basic.module","ɵa":"./lib/components/application-layout/application-layout.component","ɵb":"./lib/states","ɵc":"./lib/components/account-layout/account-layout.component","ɵd":"./lib/components/empty-layout/empty-layout.component","ɵe":"./lib/components/layout/layout.component","ɵf":"./lib/components/change-password/change-password.component","ɵg":"./lib/components/profile/profile.component","ɵh":"./lib/states/layout.state","ɵi":"./lib/actions/layout.actions","ɵj":"./lib/actions/layout.actions","ɵk":"./lib/models/layout"},"importAs":"@abp/ng.theme.basic"} \ No newline at end of file +{"__symbolic":"module","version":4,"exports":[{"from":"./lib/layout.state"},{"from":"./lib/application-layout/application-layout.component"},{"from":"./lib/empty-layout/empty-layout.component"}],"metadata":{"LAYOUTS":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"}],"ThemeBasicModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":17,"character":1},"arguments":[{"declarations":[{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"LAYOUTS"}},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"}],"imports":[{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":20,"character":4},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ThemeSharedModule","line":21,"character":4},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbCollapseModule","line":22,"character":4},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbDropdownModule","line":23,"character":4},{"__symbolic":"reference","module":"primeng/toast","name":"ToastModule","line":24,"character":4},{"__symbolic":"reference","module":"@ngx-validate/core","name":"NgxValidateCoreModule","line":25,"character":4},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"NgxsModule","line":26,"character":4},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"ɵh"}]]}],"exports":[{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"LAYOUTS"}}],"entryComponents":[{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"LAYOUTS"}}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":32,"character":1},"arguments":[{"selector":"abp-layout-application","template":"\n \n\n
      \n \n
    \n
    \n\n\n
  • \n \n {{ defaultLanguage$ | async }}\n \n
    \n {{ lang?.displayName }}\n
    \n
  • \n
    \n\n\n
  • \n \n {{ (currentUser$ | async)?.userName }}\n \n \n
  • \n\n \n\n \n
    \n"}]}],"members":{"routes$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":40,"character":3},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ConfigState","line":40,"character":10},"member":"getOne"},"arguments":["routes"]}]}]}],"currentUser$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":43,"character":3},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ConfigState","line":43,"character":10},"member":"getOne"},"arguments":["currentUser"]}]}]}],"languages$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":46,"character":3},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ConfigState","line":46,"character":10},"member":"getDeep"},"arguments":["localization.languages"]}]}]}],"navElements$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":49,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵb"},"member":"getNavigationElements"}]}]}],"currentUserRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":52,"character":3},"arguments":["currentUser",{"static":false,"read":{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":52,"character":51}}]}]}],"languageRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":55,"character":3},"arguments":["language",{"static":false,"read":{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":55,"character":48}}]}]}],"navbarRootDropdowns":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":58,"character":3},"arguments":["navbarRootDropdown",{"read":{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbDropdown","line":58,"character":46}}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":96,"character":29},{"__symbolic":"reference","module":"angular-oauth2-oidc","name":"OAuthService","line":96,"character":58}]}],"checkWindowWidth":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"onChangeLang":[{"__symbolic":"method"}],"logout":[{"__symbolic":"method"}]},"statics":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"eLayoutType","line":38,"character":16},"member":"application"}}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"abp-layout-account","template":"\n \n\n \n \n \n \n \n\n"}]}],"members":{},"statics":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"eLayoutType","line":9,"character":16},"member":"account"}}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"abp-layout-empty","template":"\n Layout-empty\n \n "}]}],"members":{},"statics":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"eLayoutType","line":12,"character":16},"member":"empty"}}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":" abp-layout","animations":[{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"slideFromBottom","line":8,"character":15}],"template":"\n\n\n \n\n\n\n\n\n\n {{ appInfo.name }}\n\n"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":17,"character":29}]}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":21,"character":1},"arguments":[{"selector":"abp-change-password","template":"\n \n

    {{ 'AbpIdentity::ChangePassword' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n"}]}],"members":{"visible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"visibleChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":38,"character":3}}]}],"modalContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":41,"character":3},"arguments":["modalContent",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":48,"character":26},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":48,"character":54},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ToasterService","line":48,"character":85}]}],"ngOnInit":[{"__symbolic":"method"}],"onSubmit":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}]}},"ɵg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"abp-profile","template":"\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n"}]}],"members":{"visible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"visibleChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"profile$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":29,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ProfileState","line":29,"character":10},"member":"getProfile"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":36,"character":26},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":36,"character":54}]}],"buildForm":[{"__symbolic":"method"}],"onSubmit":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}]}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":6,"character":1},"arguments":[{"name":"LayoutState","defaults":{"navigationElements":[]}}]}],"members":{"layoutAddAction":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":16,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵi"}]}]}],"layoutRemoveAction":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":45,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵj"}]}]}]},"statics":{"getNavigationElements":{"__symbolic":"function","parameters":["navigationElements"],"value":{"__symbolic":"reference","name":"navigationElements"}}}},"ɵi":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵk"},"member":"NavigationElement"}]}]},"statics":{"type":"[Layout] Add Navigation Element"}},"ɵj":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Layout] Remove Navigation ElementByName"}}},"origins":{"LAYOUTS":"./lib/theme-basic.module","ThemeBasicModule":"./lib/theme-basic.module","ɵa":"./lib/components/application-layout/application-layout.component","ɵb":"./lib/states","ɵc":"./lib/components/account-layout/account-layout.component","ɵd":"./lib/components/empty-layout/empty-layout.component","ɵe":"./lib/components/layout/layout.component","ɵf":"./lib/components/change-password/change-password.component","ɵg":"./lib/components/profile/profile.component","ɵh":"./lib/states/layout.state","ɵi":"./lib/actions/layout.actions","ɵj":"./lib/actions/layout.actions","ɵk":"./lib/models/layout"},"importAs":"@abp/ng.theme.basic"} \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.js b/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.js index 8947e2fcf7..900eb9f08f 100644 --- a/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.js +++ b/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.js @@ -1,8 +1,8 @@ (function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@abp/ng.core'), require('@angular/core'), require('@ng-bootstrap/ng-bootstrap'), require('@abp/ng.theme.shared'), require('@angular/forms'), require('@ngx-validate/core'), require('@ngxs/store'), require('snq'), require('@ngxs/router-plugin'), require('angular-oauth2-oidc'), require('just-compare'), require('rxjs'), require('rxjs/operators'), require('primeng/toast')) : - typeof define === 'function' && define.amd ? define('@abp/ng.theme.basic', ['exports', '@abp/ng.core', '@angular/core', '@ng-bootstrap/ng-bootstrap', '@abp/ng.theme.shared', '@angular/forms', '@ngx-validate/core', '@ngxs/store', 'snq', '@ngxs/router-plugin', 'angular-oauth2-oidc', 'just-compare', 'rxjs', 'rxjs/operators', 'primeng/toast'], factory) : - (global = global || self, factory((global.abp = global.abp || {}, global.abp.ng = global.abp.ng || {}, global.abp.ng.theme = global.abp.ng.theme || {}, global.abp.ng.theme.basic = {}), global.ng_core, global.ng.core, global.ngBootstrap, global.ng_theme_shared, global.ng.forms, global.core$1, global.store, global.snq, global.routerPlugin, global.angularOauth2Oidc, global.compare, global.rxjs, global.rxjs.operators, global.toast)); -}(this, function (exports, ng_core, core, ngBootstrap, ng_theme_shared, forms, core$1, store, snq, routerPlugin, angularOauth2Oidc, compare, rxjs, operators, toast) { 'use strict'; + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@abp/ng.core'), require('@angular/core'), require('@ng-bootstrap/ng-bootstrap'), require('@abp/ng.theme.shared'), require('@angular/forms'), require('@ngx-validate/core'), require('@ngxs/store'), require('snq'), require('rxjs/operators'), require('@ngxs/router-plugin'), require('angular-oauth2-oidc'), require('just-compare'), require('rxjs'), require('primeng/toast')) : + typeof define === 'function' && define.amd ? define('@abp/ng.theme.basic', ['exports', '@abp/ng.core', '@angular/core', '@ng-bootstrap/ng-bootstrap', '@abp/ng.theme.shared', '@angular/forms', '@ngx-validate/core', '@ngxs/store', 'snq', 'rxjs/operators', '@ngxs/router-plugin', 'angular-oauth2-oidc', 'just-compare', 'rxjs', 'primeng/toast'], factory) : + (global = global || self, factory((global.abp = global.abp || {}, global.abp.ng = global.abp.ng || {}, global.abp.ng.theme = global.abp.ng.theme || {}, global.abp.ng.theme.basic = {}), global.ng_core, global.ng.core, global.ngBootstrap, global.ng_theme_shared, global.ng.forms, global.core$1, global.store, global.snq, global.rxjs.operators, global.routerPlugin, global.angularOauth2Oidc, global.compare, global.rxjs, global.toast)); +}(this, function (exports, ng_core, core, ngBootstrap, ng_theme_shared, forms, core$1, store, snq, operators, routerPlugin, angularOauth2Oidc, compare, rxjs, toast) { 'use strict'; snq = snq && snq.hasOwnProperty('default') ? snq['default'] : snq; compare = compare && compare.hasOwnProperty('default') ? compare['default'] : compare; @@ -21,6 +21,20 @@ See the Apache Version 2.0 License for specific language governing permissions and limitations under the License. ***************************************************************************** */ + /* global Reflect, Promise */ + + var extendStatics = function(d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + + function __extends(d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + } var __assign = function() { __assign = Object.assign || function __assign(t) { @@ -33,6 +47,18 @@ return __assign.apply(this, arguments); }; + function __rest(s, e) { + var t = {}; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; + } + function __decorate(decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -40,10 +66,66 @@ return c > 3 && r && Object.defineProperty(target, key, r), r; } + function __param(paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } + } + function __metadata(metadataKey, metadataValue) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); } + function __awaiter(thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + } + + function __generator(thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + 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; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } + } + + function __exportStar(m, exports) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + + function __values(o) { + var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0; + if (m) return m.call(o); + return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + } + function __read(o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; @@ -65,6 +147,61 @@ for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); return ar; + } + + function __spreadArrays() { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; + }; + + function __await(v) { + return this instanceof __await ? (this.v = v, this) : new __await(v); + } + + function __asyncGenerator(thisArg, _arguments, generator) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var g = generator.apply(thisArg, _arguments || []), i, q = []; + return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; + 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); }); }; } + function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } + function fulfill(value) { resume("next", value); } + function reject(value) { resume("throw", value); } + function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } + } + + function __asyncDelegator(o) { + var i, p; + return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; + 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; } + } + + function __asyncValues(o) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var m = o[Symbol.asyncIterator], i; + 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); + 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); }); }; } + function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } + } + + function __makeTemplateObject(cooked, raw) { + if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + return cooked; + }; + + function __importStar(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result.default = mod; + return result; + } + + function __importDefault(mod) { + return (mod && mod.__esModule) ? mod : { default: mod }; } /** @@ -78,6 +215,7 @@ this.store = store; this.toasterService = toasterService; this.visibleChange = new core.EventEmitter(); + this.modalBusy = false; } Object.defineProperty(ChangePasswordComponent.prototype, "visible", { get: /** @@ -122,11 +260,18 @@ var _this = this; if (this.form.invalid) return; + this.modalBusy = true; this.store .dispatch(new ng_core.ChangePassword({ currentPassword: this.form.get('password').value, newPassword: this.form.get('newPassword').value, })) + .pipe(operators.finalize((/** + * @return {?} + */ + function () { + _this.modalBusy = false; + }))) .subscribe({ next: (/** * @return {?} @@ -180,7 +325,7 @@ ChangePasswordComponent.decorators = [ { type: core.Component, args: [{ selector: 'abp-change-password', - template: "\n \n

    {{ 'AbpIdentity::ChangePassword' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" + template: "\n \n

    {{ 'AbpIdentity::ChangePassword' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" }] } ]; /** @nocollapse */ @@ -196,6 +341,36 @@ }; return ChangePasswordComponent; }()); + if (false) { + /** + * @type {?} + * @protected + */ + ChangePasswordComponent.prototype._visible; + /** @type {?} */ + ChangePasswordComponent.prototype.visibleChange; + /** @type {?} */ + ChangePasswordComponent.prototype.modalContent; + /** @type {?} */ + ChangePasswordComponent.prototype.form; + /** @type {?} */ + ChangePasswordComponent.prototype.modalBusy; + /** + * @type {?} + * @private + */ + ChangePasswordComponent.prototype.fb; + /** + * @type {?} + * @private + */ + ChangePasswordComponent.prototype.store; + /** + * @type {?} + * @private + */ + ChangePasswordComponent.prototype.toasterService; + } /** * @fileoverview added by tsickle @@ -215,6 +390,12 @@ ]; return AccountLayoutComponent; }()); + if (false) { + /** @type {?} */ + AccountLayoutComponent.type; + /** @type {?} */ + AccountLayoutComponent.prototype.isCollapsed; + } /** * @fileoverview added by tsickle @@ -227,6 +408,12 @@ AddNavigationElement.type = '[Layout] Add Navigation Element'; return AddNavigationElement; }()); + if (false) { + /** @type {?} */ + AddNavigationElement.type; + /** @type {?} */ + AddNavigationElement.prototype.payload; + } var RemoveNavigationElementByName = /** @class */ (function () { function RemoveNavigationElementByName(name) { this.name = name; @@ -234,6 +421,17 @@ RemoveNavigationElementByName.type = '[Layout] Remove Navigation ElementByName'; return RemoveNavigationElementByName; }()); + if (false) { + /** @type {?} */ + RemoveNavigationElementByName.type; + /** @type {?} */ + RemoveNavigationElementByName.prototype.name; + } + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ /** * @fileoverview added by tsickle @@ -361,6 +559,11 @@ return LayoutState; }()); + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -579,7 +782,7 @@ ApplicationLayoutComponent.decorators = [ { type: core.Component, args: [{ selector: 'abp-layout-application', - template: "\n \n\n
      \n \n
    \n
    \n\n\n
  • \n \n {{ defaultLanguage$ | async }}\n \n
    \n {{ lang?.displayName }}\n
    \n
  • \n
    \n\n\n
  • \n \n {{ (currentUser$ | async)?.userName }}\n \n \n
  • \n\n \n\n \n
    \n" + template: "\n \n\n
      \n \n
    \n
    \n\n\n
  • \n \n {{ defaultLanguage$ | async }}\n \n
    \n {{ lang?.displayName }}\n
    \n
  • \n
    \n\n\n
  • \n \n {{ (currentUser$ | async)?.userName }}\n \n \n
  • \n\n \n\n \n
    \n" }] } ]; /** @nocollapse */ @@ -610,6 +813,46 @@ ], ApplicationLayoutComponent.prototype, "navElements$", void 0); return ApplicationLayoutComponent; }()); + if (false) { + /** @type {?} */ + ApplicationLayoutComponent.type; + /** @type {?} */ + ApplicationLayoutComponent.prototype.routes$; + /** @type {?} */ + ApplicationLayoutComponent.prototype.currentUser$; + /** @type {?} */ + ApplicationLayoutComponent.prototype.languages$; + /** @type {?} */ + ApplicationLayoutComponent.prototype.navElements$; + /** @type {?} */ + ApplicationLayoutComponent.prototype.currentUserRef; + /** @type {?} */ + ApplicationLayoutComponent.prototype.languageRef; + /** @type {?} */ + ApplicationLayoutComponent.prototype.navbarRootDropdowns; + /** @type {?} */ + ApplicationLayoutComponent.prototype.isOpenChangePassword; + /** @type {?} */ + ApplicationLayoutComponent.prototype.isOpenProfile; + /** @type {?} */ + ApplicationLayoutComponent.prototype.isDropdownChildDynamic; + /** @type {?} */ + ApplicationLayoutComponent.prototype.rightPartElements; + /** @type {?} */ + ApplicationLayoutComponent.prototype.trackByFn; + /** @type {?} */ + ApplicationLayoutComponent.prototype.trackElementByFn; + /** + * @type {?} + * @private + */ + ApplicationLayoutComponent.prototype.store; + /** + * @type {?} + * @private + */ + ApplicationLayoutComponent.prototype.oauthService; + } /** * @param {?} routes * @return {?} @@ -647,6 +890,10 @@ ]; return EmptyLayoutComponent; }()); + if (false) { + /** @type {?} */ + EmptyLayoutComponent.type; + } /** * @fileoverview added by tsickle @@ -655,7 +902,7 @@ var LayoutComponent = /** @class */ (function () { function LayoutComponent(store) { this.store = store; - this.isCollapsed = false; + this.isCollapsed = true; } Object.defineProperty(LayoutComponent.prototype, "appInfo", { get: /** @@ -680,6 +927,15 @@ ]; }; return LayoutComponent; }()); + if (false) { + /** @type {?} */ + LayoutComponent.prototype.isCollapsed; + /** + * @type {?} + * @private + */ + LayoutComponent.prototype.store; + } /** * @fileoverview added by tsickle @@ -691,6 +947,7 @@ this.fb = fb; this.store = store; this.visibleChange = new core.EventEmitter(); + this.modalBusy = false; } Object.defineProperty(ProfileComponent.prototype, "visible", { get: /** @@ -746,10 +1003,12 @@ var _this = this; if (this.form.invalid) return; + this.modalBusy = true; this.store.dispatch(new ng_core.UpdateProfile(this.form.value)).subscribe((/** * @return {?} */ function () { + _this.modalBusy = false; _this.visible = false; _this.form.reset(); })); @@ -786,7 +1045,7 @@ ProfileComponent.decorators = [ { type: core.Component, args: [{ selector: 'abp-profile', - template: "\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" + template: "\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" }] } ]; /** @nocollapse */ @@ -804,6 +1063,31 @@ ], ProfileComponent.prototype, "profile$", void 0); return ProfileComponent; }()); + if (false) { + /** + * @type {?} + * @protected + */ + ProfileComponent.prototype._visible; + /** @type {?} */ + ProfileComponent.prototype.visibleChange; + /** @type {?} */ + ProfileComponent.prototype.profile$; + /** @type {?} */ + ProfileComponent.prototype.form; + /** @type {?} */ + ProfileComponent.prototype.modalBusy; + /** + * @type {?} + * @private + */ + ProfileComponent.prototype.fb; + /** + * @type {?} + * @private + */ + ProfileComponent.prototype.store; + } /** * @fileoverview added by tsickle @@ -833,6 +1117,11 @@ return ThemeBasicModule; }()); + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -844,11 +1133,23 @@ */ function State() { } Layout.State = State; + if (false) { + /** @type {?} */ + State.prototype.navigationElements; + } /** * @record */ function NavigationElement() { } Layout.NavigationElement = NavigationElement; + if (false) { + /** @type {?} */ + NavigationElement.prototype.name; + /** @type {?} */ + NavigationElement.prototype.element; + /** @type {?|undefined} */ + NavigationElement.prototype.order; + } })(Layout || (Layout = {})); exports.AccountLayoutComponent = AccountLayoutComponent; diff --git a/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.js.map b/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.js.map index 039f66922e..eb6492c77c 100644 --- a/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.js.map +++ b/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.theme.basic.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.theme.basic/lib/components/change-password/change-password.component.ts","ng://@abp/ng.theme.basic/lib/components/account-layout/account-layout.component.ts","ng://@abp/ng.theme.basic/lib/actions/layout.actions.ts","ng://@abp/ng.theme.basic/lib/states/layout.state.ts","ng://@abp/ng.theme.basic/lib/components/application-layout/application-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/empty-layout/empty-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/layout/layout.component.ts","ng://@abp/ng.theme.basic/lib/components/profile/profile.component.ts","ng://@abp/ng.theme.basic/lib/theme-basic.module.ts","ng://@abp/ng.theme.basic/lib/models/layout.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","import { ChangePassword } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { comparePasswords } from '@ngx-validate/core';\nimport { Store } from '@ngxs/store';\nimport snq from 'snq';\n\nconst { minLength, required } = Validators;\n\n@Component({\n selector: 'abp-change-password',\n templateUrl: './change-password.component.html',\n})\nexport class ChangePasswordComponent implements OnInit, OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n constructor(private fb: FormBuilder, private store: Store, private toasterService: ToasterService) {}\n\n ngOnInit(): void {\n this.form = this.fb.group(\n {\n password: ['', required],\n newPassword: ['', required],\n repeatNewPassword: ['', required],\n },\n {\n validators: [comparePasswords(['newPassword', 'repeatNewPassword'])],\n },\n );\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.store\n .dispatch(\n new ChangePassword({\n currentPassword: this.form.get('password').value,\n newPassword: this.form.get('newPassword').value,\n }),\n )\n .subscribe({\n next: () => {\n this.visible = false;\n this.form.reset();\n },\n error: err => {\n this.toasterService.error(snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'), 'Error', {\n life: 7000,\n });\n },\n });\n }\n\n openModal() {\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-account',\n templateUrl: './account-layout.component.html',\n})\nexport class AccountLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.account;\n\n isCollapsed: boolean = false;\n}\n","import { Layout } from '../models/layout';\n\nexport class AddNavigationElement {\n static readonly type = '[Layout] Add Navigation Element';\n constructor(public payload: Layout.NavigationElement | Layout.NavigationElement[]) {}\n}\n\nexport class RemoveNavigationElementByName {\n static readonly type = '[Layout] Remove Navigation ElementByName';\n constructor(public name: string) {}\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { AddNavigationElement, RemoveNavigationElementByName } from '../actions/layout.actions';\nimport { Layout } from '../models/layout';\nimport { TemplateRef } from '@angular/core';\nimport snq from 'snq';\n\n@State({\n name: 'LayoutState',\n defaults: { navigationElements: [] } as Layout.State,\n})\nexport class LayoutState {\n @Selector()\n static getNavigationElements({ navigationElements }: Layout.State): Layout.NavigationElement[] {\n return navigationElements;\n }\n\n @Action(AddNavigationElement)\n layoutAddAction({ getState, patchState }: StateContext, { payload = [] }: AddNavigationElement) {\n let { navigationElements } = getState();\n\n if (!Array.isArray(payload)) {\n payload = [payload];\n }\n\n if (navigationElements.length) {\n payload = snq(\n () =>\n (payload as Layout.NavigationElement[]).filter(\n ({ name }) => navigationElements.findIndex(nav => nav.name === name) < 0,\n ),\n [],\n );\n }\n\n if (!payload.length) return;\n\n navigationElements = [...navigationElements, ...payload]\n .map(element => ({ ...element, order: element.order || 99 }))\n .sort((a, b) => a.order - b.order);\n\n return patchState({\n navigationElements,\n });\n }\n\n @Action(RemoveNavigationElementByName)\n layoutRemoveAction({ getState, patchState }: StateContext, { name }: RemoveNavigationElementByName) {\n let { navigationElements } = getState();\n\n const index = navigationElements.findIndex(element => element.name === name);\n\n if (index > -1) {\n navigationElements = navigationElements.splice(index, 1);\n }\n\n return patchState({\n navigationElements,\n });\n }\n}\n","import {\n ABP,\n ApplicationConfiguration,\n GetAppConfiguration,\n ConfigState,\n eLayoutType,\n SetLanguage,\n SessionState,\n takeUntilDestroy,\n} from '@abp/ng.core';\nimport {\n AfterViewInit,\n Component,\n OnDestroy,\n QueryList,\n TemplateRef,\n TrackByFunction,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { NgbDropdown } from '@ng-bootstrap/ng-bootstrap';\nimport { Navigate, RouterState } from '@ngxs/router-plugin';\nimport { Select, Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport compare from 'just-compare';\nimport { fromEvent, Observable } from 'rxjs';\nimport { debounceTime, filter, map } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AddNavigationElement } from '../../actions';\nimport { Layout } from '../../models/layout';\nimport { LayoutState } from '../../states';\n\n@Component({\n selector: 'abp-layout-application',\n templateUrl: './application-layout.component.html',\n})\nexport class ApplicationLayoutComponent implements AfterViewInit, OnDestroy {\n // required for dynamic component\n static type = eLayoutType.application;\n\n @Select(ConfigState.getOne('routes'))\n routes$: Observable;\n\n @Select(ConfigState.getOne('currentUser'))\n currentUser$: Observable;\n\n @Select(ConfigState.getDeep('localization.languages'))\n languages$: Observable;\n\n @Select(LayoutState.getNavigationElements)\n navElements$: Observable;\n\n @ViewChild('currentUser', { static: false, read: TemplateRef })\n currentUserRef: TemplateRef;\n\n @ViewChild('language', { static: false, read: TemplateRef })\n languageRef: TemplateRef;\n\n @ViewChildren('navbarRootDropdown', { read: NgbDropdown })\n navbarRootDropdowns: QueryList;\n\n isOpenChangePassword: boolean = false;\n\n isOpenProfile: boolean = false;\n\n isDropdownChildDynamic: boolean;\n\n get visibleRoutes$(): Observable {\n return this.routes$.pipe(map(routes => getVisibleRoutes(routes)));\n }\n\n get defaultLanguage$(): Observable {\n return this.languages$.pipe(\n map(\n languages => snq(() => languages.find(lang => lang.cultureName === this.selectedLangCulture).displayName),\n '',\n ),\n );\n }\n\n get dropdownLanguages$(): Observable {\n return this.languages$.pipe(\n map(languages => snq(() => languages.filter(lang => lang.cultureName !== this.selectedLangCulture)), []),\n );\n }\n\n get selectedLangCulture(): string {\n return this.store.selectSnapshot(SessionState.getLanguage);\n }\n\n rightPartElements: TemplateRef[] = [];\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n trackElementByFn: TrackByFunction = (_, element) => element;\n\n constructor(private store: Store, private oauthService: OAuthService) {}\n\n private checkWindowWidth() {\n setTimeout(() => {\n this.navbarRootDropdowns.forEach(item => {\n item.close();\n });\n if (window.innerWidth < 768) {\n this.isDropdownChildDynamic = false;\n } else {\n this.isDropdownChildDynamic = true;\n }\n }, 0);\n }\n\n ngAfterViewInit() {\n const navigations = this.store.selectSnapshot(LayoutState.getNavigationElements).map(({ name }) => name);\n\n if (navigations.indexOf('LanguageRef') < 0) {\n this.store.dispatch(\n new AddNavigationElement([\n { element: this.languageRef, order: 4, name: 'LanguageRef' },\n { element: this.currentUserRef, order: 5, name: 'CurrentUserRef' },\n ]),\n );\n }\n\n this.navElements$\n .pipe(\n map(elements => elements.map(({ element }) => element)),\n filter(elements => !compare(elements, this.rightPartElements)),\n takeUntilDestroy(this),\n )\n .subscribe(elements => {\n setTimeout(() => (this.rightPartElements = elements), 0);\n });\n\n this.checkWindowWidth();\n\n fromEvent(window, 'resize')\n .pipe(\n takeUntilDestroy(this),\n debounceTime(250),\n )\n .subscribe(() => {\n this.checkWindowWidth();\n });\n }\n\n ngOnDestroy() {}\n\n onChangeLang(cultureName: string) {\n this.store.dispatch(new SetLanguage(cultureName));\n this.store.dispatch(new GetAppConfiguration());\n }\n\n logout() {\n this.oauthService.logOut();\n this.store.dispatch(\n new Navigate(['/'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n this.store.dispatch(new GetAppConfiguration());\n }\n}\n\nfunction getVisibleRoutes(routes: ABP.FullRoute[]) {\n return routes.reduce((acc, val) => {\n if (val.invisible) return acc;\n\n if (val.children && val.children.length) {\n val.children = getVisibleRoutes(val.children);\n }\n\n return [...acc, val];\n }, []);\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-empty',\n template: `\n Layout-empty\n \n `,\n})\nexport class EmptyLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.empty;\n}\n","import { Config, ConfigState } from '@abp/ng.core';\nimport { slideFromBottom } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { Store } from '@ngxs/store';\n\n@Component({\n selector: ' abp-layout',\n templateUrl: './layout.component.html',\n animations: [slideFromBottom],\n})\nexport class LayoutComponent {\n isCollapsed: boolean = false;\n\n get appInfo(): Config.Application {\n return this.store.selectSnapshot(ConfigState.getApplicationInfo);\n }\n\n constructor(private store: Store) {}\n}\n","import { Profile, GetProfile, ProfileState, UpdateProfile } from '@abp/ng.core';\nimport { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { take, withLatestFrom } from 'rxjs/operators';\n\nconst { maxLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-profile',\n templateUrl: './profile.component.html',\n})\nexport class ProfileComponent implements OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(ProfileState.getProfile)\n profile$: Observable;\n\n form: FormGroup;\n\n constructor(private fb: FormBuilder, private store: Store) {}\n\n buildForm() {\n this.store\n .dispatch(new GetProfile())\n .pipe(\n withLatestFrom(this.profile$),\n take(1),\n )\n .subscribe(([, profile]) => {\n this.form = this.fb.group({\n userName: [profile.userName, [required, maxLength(256)]],\n email: [profile.email, [required, email, maxLength(256)]],\n name: [profile.name || '', [maxLength(64)]],\n surname: [profile.surname || '', [maxLength(64)]],\n phoneNumber: [profile.phoneNumber || '', [maxLength(16)]],\n });\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.store.dispatch(new UpdateProfile(this.form.value)).subscribe(() => {\n this.visible = false;\n this.form.reset();\n });\n }\n\n openModal() {\n this.buildForm();\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ChangePasswordComponent } from './components/change-password/change-password.component';\nimport { AccountLayoutComponent } from './components/account-layout/account-layout.component';\nimport { ApplicationLayoutComponent } from './components/application-layout/application-layout.component';\nimport { EmptyLayoutComponent } from './components/empty-layout/empty-layout.component';\nimport { LayoutComponent } from './components/layout/layout.component';\nimport { ProfileComponent } from './components/profile/profile.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { ToastModule } from 'primeng/toast';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { LayoutState } from './states/layout.state';\n\nexport const LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent];\n\n@NgModule({\n declarations: [...LAYOUTS, LayoutComponent, ChangePasswordComponent, ProfileComponent],\n imports: [\n CoreModule,\n ThemeSharedModule,\n NgbCollapseModule,\n NgbDropdownModule,\n ToastModule,\n NgxValidateCoreModule,\n NgxsModule.forFeature([LayoutState]),\n ],\n exports: [...LAYOUTS],\n entryComponents: [...LAYOUTS],\n})\nexport class ThemeBasicModule {}\n","import { TemplateRef } from '@angular/core';\n\nexport namespace Layout {\n export interface State {\n navigationElements: NavigationElement[];\n }\n\n export interface NavigationElement {\n name: string;\n element: TemplateRef;\n order?: number;\n }\n}\n"],"names":["EventEmitter","comparePasswords","ChangePassword","Component","FormBuilder","Store","ToasterService","Input","Output","ViewChild","tslib_1.__spread","tslib_1.__decorate","Action","Selector","State","map","SessionState","filter","takeUntilDestroy","fromEvent","debounceTime","SetLanguage","GetAppConfiguration","Navigate","RouterState","OAuthService","TemplateRef","ViewChildren","NgbDropdown","Select","ConfigState","Observable","slideFromBottom","required","GetProfile","withLatestFrom","take","UpdateProfile","ProfileState","NgModule","CoreModule","ThemeSharedModule","NgbCollapseModule","NgbDropdownModule","ToastModule","NgxValidateCoreModule","NgxsModule"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.theme.basic.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.theme.basic/lib/components/change-password/change-password.component.ts","ng://@abp/ng.theme.basic/lib/components/account-layout/account-layout.component.ts","ng://@abp/ng.theme.basic/lib/actions/layout.actions.ts","ng://@abp/ng.theme.basic/lib/states/layout.state.ts","ng://@abp/ng.theme.basic/lib/components/application-layout/application-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/empty-layout/empty-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/layout/layout.component.ts","ng://@abp/ng.theme.basic/lib/components/profile/profile.component.ts","ng://@abp/ng.theme.basic/lib/theme-basic.module.ts","ng://@abp/ng.theme.basic/lib/models/layout.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","import { ChangePassword } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { comparePasswords } from '@ngx-validate/core';\nimport { Store } from '@ngxs/store';\nimport snq from 'snq';\nimport { finalize } from 'rxjs/operators';\n\nconst { minLength, required } = Validators;\n\n@Component({\n selector: 'abp-change-password',\n templateUrl: './change-password.component.html',\n})\nexport class ChangePasswordComponent implements OnInit, OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n modalBusy: boolean = false;\n\n constructor(private fb: FormBuilder, private store: Store, private toasterService: ToasterService) {}\n\n ngOnInit(): void {\n this.form = this.fb.group(\n {\n password: ['', required],\n newPassword: ['', required],\n repeatNewPassword: ['', required],\n },\n {\n validators: [comparePasswords(['newPassword', 'repeatNewPassword'])],\n },\n );\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n new ChangePassword({\n currentPassword: this.form.get('password').value,\n newPassword: this.form.get('newPassword').value,\n }),\n )\n .pipe(\n finalize(() => {\n this.modalBusy = false;\n }),\n )\n .subscribe({\n next: () => {\n this.visible = false;\n this.form.reset();\n },\n error: err => {\n this.toasterService.error(snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'), 'Error', {\n life: 7000,\n });\n },\n });\n }\n\n openModal() {\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-account',\n templateUrl: './account-layout.component.html',\n})\nexport class AccountLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.account;\n\n isCollapsed: boolean = false;\n}\n","import { Layout } from '../models/layout';\n\nexport class AddNavigationElement {\n static readonly type = '[Layout] Add Navigation Element';\n constructor(public payload: Layout.NavigationElement | Layout.NavigationElement[]) {}\n}\n\nexport class RemoveNavigationElementByName {\n static readonly type = '[Layout] Remove Navigation ElementByName';\n constructor(public name: string) {}\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { AddNavigationElement, RemoveNavigationElementByName } from '../actions/layout.actions';\nimport { Layout } from '../models/layout';\nimport { TemplateRef } from '@angular/core';\nimport snq from 'snq';\n\n@State({\n name: 'LayoutState',\n defaults: { navigationElements: [] } as Layout.State,\n})\nexport class LayoutState {\n @Selector()\n static getNavigationElements({ navigationElements }: Layout.State): Layout.NavigationElement[] {\n return navigationElements;\n }\n\n @Action(AddNavigationElement)\n layoutAddAction({ getState, patchState }: StateContext, { payload = [] }: AddNavigationElement) {\n let { navigationElements } = getState();\n\n if (!Array.isArray(payload)) {\n payload = [payload];\n }\n\n if (navigationElements.length) {\n payload = snq(\n () =>\n (payload as Layout.NavigationElement[]).filter(\n ({ name }) => navigationElements.findIndex(nav => nav.name === name) < 0,\n ),\n [],\n );\n }\n\n if (!payload.length) return;\n\n navigationElements = [...navigationElements, ...payload]\n .map(element => ({ ...element, order: element.order || 99 }))\n .sort((a, b) => a.order - b.order);\n\n return patchState({\n navigationElements,\n });\n }\n\n @Action(RemoveNavigationElementByName)\n layoutRemoveAction({ getState, patchState }: StateContext, { name }: RemoveNavigationElementByName) {\n let { navigationElements } = getState();\n\n const index = navigationElements.findIndex(element => element.name === name);\n\n if (index > -1) {\n navigationElements = navigationElements.splice(index, 1);\n }\n\n return patchState({\n navigationElements,\n });\n }\n}\n","import {\n ABP,\n ApplicationConfiguration,\n GetAppConfiguration,\n ConfigState,\n eLayoutType,\n SetLanguage,\n SessionState,\n takeUntilDestroy,\n} from '@abp/ng.core';\nimport {\n AfterViewInit,\n Component,\n OnDestroy,\n QueryList,\n TemplateRef,\n TrackByFunction,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { NgbDropdown } from '@ng-bootstrap/ng-bootstrap';\nimport { Navigate, RouterState } from '@ngxs/router-plugin';\nimport { Select, Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport compare from 'just-compare';\nimport { fromEvent, Observable } from 'rxjs';\nimport { debounceTime, filter, map } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AddNavigationElement } from '../../actions';\nimport { Layout } from '../../models/layout';\nimport { LayoutState } from '../../states';\n\n@Component({\n selector: 'abp-layout-application',\n templateUrl: './application-layout.component.html',\n})\nexport class ApplicationLayoutComponent implements AfterViewInit, OnDestroy {\n // required for dynamic component\n static type = eLayoutType.application;\n\n @Select(ConfigState.getOne('routes'))\n routes$: Observable;\n\n @Select(ConfigState.getOne('currentUser'))\n currentUser$: Observable;\n\n @Select(ConfigState.getDeep('localization.languages'))\n languages$: Observable;\n\n @Select(LayoutState.getNavigationElements)\n navElements$: Observable;\n\n @ViewChild('currentUser', { static: false, read: TemplateRef })\n currentUserRef: TemplateRef;\n\n @ViewChild('language', { static: false, read: TemplateRef })\n languageRef: TemplateRef;\n\n @ViewChildren('navbarRootDropdown', { read: NgbDropdown })\n navbarRootDropdowns: QueryList;\n\n isOpenChangePassword: boolean = false;\n\n isOpenProfile: boolean = false;\n\n isDropdownChildDynamic: boolean;\n\n get visibleRoutes$(): Observable {\n return this.routes$.pipe(map(routes => getVisibleRoutes(routes)));\n }\n\n get defaultLanguage$(): Observable {\n return this.languages$.pipe(\n map(\n languages => snq(() => languages.find(lang => lang.cultureName === this.selectedLangCulture).displayName),\n '',\n ),\n );\n }\n\n get dropdownLanguages$(): Observable {\n return this.languages$.pipe(\n map(languages => snq(() => languages.filter(lang => lang.cultureName !== this.selectedLangCulture)), []),\n );\n }\n\n get selectedLangCulture(): string {\n return this.store.selectSnapshot(SessionState.getLanguage);\n }\n\n rightPartElements: TemplateRef[] = [];\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n trackElementByFn: TrackByFunction = (_, element) => element;\n\n constructor(private store: Store, private oauthService: OAuthService) {}\n\n private checkWindowWidth() {\n setTimeout(() => {\n this.navbarRootDropdowns.forEach(item => {\n item.close();\n });\n if (window.innerWidth < 768) {\n this.isDropdownChildDynamic = false;\n } else {\n this.isDropdownChildDynamic = true;\n }\n }, 0);\n }\n\n ngAfterViewInit() {\n const navigations = this.store.selectSnapshot(LayoutState.getNavigationElements).map(({ name }) => name);\n\n if (navigations.indexOf('LanguageRef') < 0) {\n this.store.dispatch(\n new AddNavigationElement([\n { element: this.languageRef, order: 4, name: 'LanguageRef' },\n { element: this.currentUserRef, order: 5, name: 'CurrentUserRef' },\n ]),\n );\n }\n\n this.navElements$\n .pipe(\n map(elements => elements.map(({ element }) => element)),\n filter(elements => !compare(elements, this.rightPartElements)),\n takeUntilDestroy(this),\n )\n .subscribe(elements => {\n setTimeout(() => (this.rightPartElements = elements), 0);\n });\n\n this.checkWindowWidth();\n\n fromEvent(window, 'resize')\n .pipe(\n takeUntilDestroy(this),\n debounceTime(250),\n )\n .subscribe(() => {\n this.checkWindowWidth();\n });\n }\n\n ngOnDestroy() {}\n\n onChangeLang(cultureName: string) {\n this.store.dispatch(new SetLanguage(cultureName));\n this.store.dispatch(new GetAppConfiguration());\n }\n\n logout() {\n this.oauthService.logOut();\n this.store.dispatch(\n new Navigate(['/'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n this.store.dispatch(new GetAppConfiguration());\n }\n}\n\nfunction getVisibleRoutes(routes: ABP.FullRoute[]) {\n return routes.reduce((acc, val) => {\n if (val.invisible) return acc;\n\n if (val.children && val.children.length) {\n val.children = getVisibleRoutes(val.children);\n }\n\n return [...acc, val];\n }, []);\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-empty',\n template: `\n Layout-empty\n \n `,\n})\nexport class EmptyLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.empty;\n}\n","import { Config, ConfigState } from '@abp/ng.core';\nimport { slideFromBottom } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { Store } from '@ngxs/store';\n\n@Component({\n selector: ' abp-layout',\n templateUrl: './layout.component.html',\n animations: [slideFromBottom],\n})\nexport class LayoutComponent {\n isCollapsed: boolean = true;\n\n get appInfo(): Config.Application {\n return this.store.selectSnapshot(ConfigState.getApplicationInfo);\n }\n\n constructor(private store: Store) {}\n}\n","import { Profile, GetProfile, ProfileState, UpdateProfile } from '@abp/ng.core';\nimport { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { take, withLatestFrom } from 'rxjs/operators';\n\nconst { maxLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-profile',\n templateUrl: './profile.component.html',\n})\nexport class ProfileComponent implements OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(ProfileState.getProfile)\n profile$: Observable;\n\n form: FormGroup;\n\n modalBusy: boolean = false;\n\n constructor(private fb: FormBuilder, private store: Store) {}\n\n buildForm() {\n this.store\n .dispatch(new GetProfile())\n .pipe(\n withLatestFrom(this.profile$),\n take(1),\n )\n .subscribe(([, profile]) => {\n this.form = this.fb.group({\n userName: [profile.userName, [required, maxLength(256)]],\n email: [profile.email, [required, email, maxLength(256)]],\n name: [profile.name || '', [maxLength(64)]],\n surname: [profile.surname || '', [maxLength(64)]],\n phoneNumber: [profile.phoneNumber || '', [maxLength(16)]],\n });\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.modalBusy = true;\n\n this.store.dispatch(new UpdateProfile(this.form.value)).subscribe(() => {\n this.modalBusy = false;\n this.visible = false;\n this.form.reset();\n });\n }\n\n openModal() {\n this.buildForm();\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ChangePasswordComponent } from './components/change-password/change-password.component';\nimport { AccountLayoutComponent } from './components/account-layout/account-layout.component';\nimport { ApplicationLayoutComponent } from './components/application-layout/application-layout.component';\nimport { EmptyLayoutComponent } from './components/empty-layout/empty-layout.component';\nimport { LayoutComponent } from './components/layout/layout.component';\nimport { ProfileComponent } from './components/profile/profile.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { ToastModule } from 'primeng/toast';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { LayoutState } from './states/layout.state';\n\nexport const LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent];\n\n@NgModule({\n declarations: [...LAYOUTS, LayoutComponent, ChangePasswordComponent, ProfileComponent],\n imports: [\n CoreModule,\n ThemeSharedModule,\n NgbCollapseModule,\n NgbDropdownModule,\n ToastModule,\n NgxValidateCoreModule,\n NgxsModule.forFeature([LayoutState]),\n ],\n exports: [...LAYOUTS],\n entryComponents: [...LAYOUTS],\n})\nexport class ThemeBasicModule {}\n","import { TemplateRef } from '@angular/core';\n\nexport namespace Layout {\n export interface State {\n navigationElements: NavigationElement[];\n }\n\n export interface NavigationElement {\n name: string;\n element: TemplateRef;\n order?: number;\n }\n}\n"],"names":["EventEmitter","comparePasswords","ChangePassword","finalize","Component","FormBuilder","Store","ToasterService","Input","Output","ViewChild","tslib_1.__spread","tslib_1.__decorate","Action","Selector","State","map","SessionState","filter","takeUntilDestroy","fromEvent","debounceTime","SetLanguage","GetAppConfiguration","Navigate","RouterState","OAuthService","TemplateRef","ViewChildren","NgbDropdown","Select","ConfigState","Observable","slideFromBottom","required","GetProfile","withLatestFrom","take","UpdateProfile","ProfileState","NgModule","CoreModule","ThemeSharedModule","NgbCollapseModule","NgbDropdownModule","ToastModule","NgxValidateCoreModule","NgxsModule"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.min.js b/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.min.js index 4bb8e1200b..c14abb45c0 100644 --- a/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.min.js +++ b/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.min.js @@ -1,2 +1,2 @@ -!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@abp/ng.core"),require("@angular/core"),require("@ng-bootstrap/ng-bootstrap"),require("@abp/ng.theme.shared"),require("@angular/forms"),require("@ngx-validate/core"),require("@ngxs/store"),require("snq"),require("@ngxs/router-plugin"),require("angular-oauth2-oidc"),require("just-compare"),require("rxjs"),require("rxjs/operators"),require("primeng/toast")):"function"==typeof define&&define.amd?define("@abp/ng.theme.basic",["exports","@abp/ng.core","@angular/core","@ng-bootstrap/ng-bootstrap","@abp/ng.theme.shared","@angular/forms","@ngx-validate/core","@ngxs/store","snq","@ngxs/router-plugin","angular-oauth2-oidc","just-compare","rxjs","rxjs/operators","primeng/toast"],n):n(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng.theme=e.abp.ng.theme||{},e.abp.ng.theme.basic={}),e.ng_core,e.ng.core,e.ngBootstrap,e.ng_theme_shared,e.ng.forms,e.core$1,e.store,e.snq,e.routerPlugin,e.angularOauth2Oidc,e.compare,e.rxjs,e.rxjs.operators,e.toast)}(this,function(e,n,t,o,a,r,i,s,l,p,u,c,d,m,g){"use strict";l=l&&l.hasOwnProperty("default")?l.default:l,c=c&&c.hasOwnProperty("default")?c.default:c;var f=function(){return(f=Object.assign||function(e){for(var n,t=1,o=arguments.length;t=0;s--)(a=e[s])&&(i=(r<3?a(i):r>3?a(n,t,i):a(n,t))||i);return r>3&&i&&Object.defineProperty(n,t,i),i}function h(e,n){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,n)}function y(e,n){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var o,a,r=t.call(e),i=[];try{for(;(void 0===n||n-- >0)&&!(o=r.next()).done;)i.push(o.value)}catch(e){a={error:e}}finally{try{o&&!o.done&&(t=r.return)&&t.call(r)}finally{if(a)throw a.error}}return i}function v(){for(var e=[],n=0;n\n \n

    {{ \'AbpIdentity::ChangePassword\' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ \'AbpIdentity::Save\' | abpLocalization }}\n \n\n'}]}],e.ctorParameters=function(){return[{type:r.FormBuilder},{type:s.Store},{type:a.ToasterService}]},e.propDecorators={visible:[{type:t.Input}],visibleChange:[{type:t.Output}],modalContent:[{type:t.ViewChild,args:["modalContent",{static:!1}]}]},e}(),P=function(){function e(){this.isCollapsed=!1}return e.type="account",e.decorators=[{type:t.Component,args:[{selector:"abp-layout-account",template:'\n \n\n \n \n \n \n \n\n'}]}],e}(),L=function(){function e(e){this.payload=e}return e.type="[Layout] Add Navigation Element",e}(),N=function(){function e(e){this.name=e}return e.type="[Layout] Remove Navigation ElementByName",e}(),O=function(){function e(){}return e.getNavigationElements=function(e){return e.navigationElements},e.prototype.layoutAddAction=function(e,n){var t=e.getState,o=e.patchState,a=n.payload,r=void 0===a?[]:a,i=t().navigationElements;if(Array.isArray(r)||(r=[r]),i.length&&(r=l(function(){return r.filter(function(e){var n=e.name;return i.findIndex(function(e){return e.name===n})<0})},[])),r.length)return o({navigationElements:i=v(i,r).map(function(e){return f({},e,{order:e.order||99})}).sort(function(e,n){return e.order-n.order})})},e.prototype.layoutRemoveAction=function(e,n){var t=e.getState,o=e.patchState,a=n.name,r=t().navigationElements,i=r.findIndex(function(e){return e.name===a});return i>-1&&(r=r.splice(i,1)),o({navigationElements:r})},b([s.Action(L),h("design:type",Function),h("design:paramtypes",[Object,L]),h("design:returntype",void 0)],e.prototype,"layoutAddAction",null),b([s.Action(N),h("design:type",Function),h("design:paramtypes",[Object,N]),h("design:returntype",void 0)],e.prototype,"layoutRemoveAction",null),b([s.Selector(),h("design:type",Function),h("design:paramtypes",[Object]),h("design:returntype",Array)],e,"getNavigationElements",null),e=b([s.State({name:"LayoutState",defaults:{navigationElements:[]}})],e)}(),S=function(){function e(e,n){this.store=e,this.oauthService=n,this.isOpenChangePassword=!1,this.isOpenProfile=!1,this.rightPartElements=[],this.trackByFn=function(e,n){return n.name},this.trackElementByFn=function(e,n){return n}}return Object.defineProperty(e.prototype,"visibleRoutes$",{get:function(){return this.routes$.pipe(m.map(function(e){return function e(n){return n.reduce(function(n,t){return t.invisible?n:(t.children&&t.children.length&&(t.children=e(t.children)),v(n,[t]))},[])}(e)}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"defaultLanguage$",{get:function(){var e=this;return this.languages$.pipe(m.map(function(n){return l(function(){return n.find(function(n){return n.cultureName===e.selectedLangCulture}).displayName})},""))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"dropdownLanguages$",{get:function(){var e=this;return this.languages$.pipe(m.map(function(n){return l(function(){return n.filter(function(n){return n.cultureName!==e.selectedLangCulture})})},[]))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selectedLangCulture",{get:function(){return this.store.selectSnapshot(n.SessionState.getLanguage)},enumerable:!0,configurable:!0}),e.prototype.checkWindowWidth=function(){var e=this;setTimeout(function(){e.navbarRootDropdowns.forEach(function(e){e.close()}),window.innerWidth<768?e.isDropdownChildDynamic=!1:e.isDropdownChildDynamic=!0},0)},e.prototype.ngAfterViewInit=function(){var e=this;this.store.selectSnapshot(O.getNavigationElements).map(function(e){return e.name}).indexOf("LanguageRef")<0&&this.store.dispatch(new L([{element:this.languageRef,order:4,name:"LanguageRef"},{element:this.currentUserRef,order:5,name:"CurrentUserRef"}])),this.navElements$.pipe(m.map(function(e){return e.map(function(e){return e.element})}),m.filter(function(n){return!c(n,e.rightPartElements)}),n.takeUntilDestroy(this)).subscribe(function(n){setTimeout(function(){return e.rightPartElements=n},0)}),this.checkWindowWidth(),d.fromEvent(window,"resize").pipe(n.takeUntilDestroy(this),m.debounceTime(250)).subscribe(function(){e.checkWindowWidth()})},e.prototype.ngOnDestroy=function(){},e.prototype.onChangeLang=function(e){this.store.dispatch(new n.SetLanguage(e)),this.store.dispatch(new n.GetAppConfiguration)},e.prototype.logout=function(){this.oauthService.logOut(),this.store.dispatch(new p.Navigate(["/"],null,{state:{redirectUrl:this.store.selectSnapshot(p.RouterState).state.url}})),this.store.dispatch(new n.GetAppConfiguration)},e.type="application",e.decorators=[{type:t.Component,args:[{selector:"abp-layout-application",template:'\n \n\n \n\n\n\n \n\n\n\n \n\n \n\n \n\n'}]}],e.ctorParameters=function(){return[{type:s.Store},{type:u.OAuthService}]},e.propDecorators={currentUserRef:[{type:t.ViewChild,args:["currentUser",{static:!1,read:t.TemplateRef}]}],languageRef:[{type:t.ViewChild,args:["language",{static:!1,read:t.TemplateRef}]}],navbarRootDropdowns:[{type:t.ViewChildren,args:["navbarRootDropdown",{read:o.NgbDropdown}]}]},b([s.Select(n.ConfigState.getOne("routes")),h("design:type",d.Observable)],e.prototype,"routes$",void 0),b([s.Select(n.ConfigState.getOne("currentUser")),h("design:type",d.Observable)],e.prototype,"currentUser$",void 0),b([s.Select(n.ConfigState.getDeep("localization.languages")),h("design:type",d.Observable)],e.prototype,"languages$",void 0),b([s.Select(O.getNavigationElements),h("design:type",d.Observable)],e.prototype,"navElements$",void 0),e}();var D,k=function(){function e(){}return e.type="empty",e.decorators=[{type:t.Component,args:[{selector:"abp-layout-empty",template:"\n Layout-empty\n \n "}]}],e}(),A=function(){function e(e){this.store=e,this.isCollapsed=!1}return Object.defineProperty(e.prototype,"appInfo",{get:function(){return this.store.selectSnapshot(n.ConfigState.getApplicationInfo)},enumerable:!0,configurable:!0}),e.decorators=[{type:t.Component,args:[{selector:" abp-layout",template:'\n\n\n \n\n\n\n\n\n\n {{ appInfo.name }}\n\n',animations:[a.slideFromBottom]}]}],e.ctorParameters=function(){return[{type:s.Store}]},e}(),x=r.Validators.maxLength,E=r.Validators.required,I=r.Validators.email,F=function(){function e(e,n){this.fb=e,this.store=n,this.visibleChange=new t.EventEmitter}return Object.defineProperty(e.prototype,"visible",{get:function(){return this._visible},set:function(e){this._visible=e,this.visibleChange.emit(e)},enumerable:!0,configurable:!0}),e.prototype.buildForm=function(){var e=this;this.store.dispatch(new n.GetProfile).pipe(m.withLatestFrom(this.profile$),m.take(1)).subscribe(function(n){var t=y(n,2)[1];e.form=e.fb.group({userName:[t.userName,[E,x(256)]],email:[t.email,[E,I,x(256)]],name:[t.name||"",[x(64)]],surname:[t.surname||"",[x(64)]],phoneNumber:[t.phoneNumber||"",[x(16)]]})})},e.prototype.onSubmit=function(){var e=this;this.form.invalid||this.store.dispatch(new n.UpdateProfile(this.form.value)).subscribe(function(){e.visible=!1,e.form.reset()})},e.prototype.openModal=function(){this.buildForm(),this.visible=!0},e.prototype.ngOnChanges=function(e){var n=e.visible;n&&(n.currentValue?this.openModal():!1===n.currentValue&&this.visible&&(this.visible=!1))},e.decorators=[{type:t.Component,args:[{selector:"abp-profile",template:'\n \n

    {{ \'AbpIdentity::PersonalInfo\' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ \'AbpIdentity::Save\' | abpLocalization }}\n \n
    \n'}]}],e.ctorParameters=function(){return[{type:r.FormBuilder},{type:s.Store}]},e.propDecorators={visible:[{type:t.Input}],visibleChange:[{type:t.Output}]},b([s.Select(n.ProfileState.getProfile),h("design:type",d.Observable)],e.prototype,"profile$",void 0),e}(),R=[S,P,k],T=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{declarations:v(R,[A,C,F]),imports:[n.CoreModule,a.ThemeSharedModule,o.NgbCollapseModule,o.NgbDropdownModule,g.ToastModule,i.NgxValidateCoreModule,s.NgxsModule.forFeature([O])],exports:v(R),entryComponents:v(R)}]}],e}();!function(e){e.State=function(){},e.NavigationElement=function(){}}(D||(D={})),e.AccountLayoutComponent=P,e.AddNavigationElement=L,e.ApplicationLayoutComponent=S,e.EmptyLayoutComponent=k,e.LAYOUTS=R,e.LayoutState=O,e.RemoveNavigationElementByName=N,e.ThemeBasicModule=T,e.ɵa=S,e.ɵb=O,e.ɵc=P,e.ɵd=k,e.ɵe=A,e.ɵf=C,e.ɵg=F,e.ɵh=O,e.ɵi=L,e.ɵj=N,Object.defineProperty(e,"__esModule",{value:!0})}); +!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@abp/ng.core"),require("@angular/core"),require("@ng-bootstrap/ng-bootstrap"),require("@abp/ng.theme.shared"),require("@angular/forms"),require("@ngx-validate/core"),require("@ngxs/store"),require("snq"),require("rxjs/operators"),require("@ngxs/router-plugin"),require("angular-oauth2-oidc"),require("just-compare"),require("rxjs"),require("primeng/toast")):"function"==typeof define&&define.amd?define("@abp/ng.theme.basic",["exports","@abp/ng.core","@angular/core","@ng-bootstrap/ng-bootstrap","@abp/ng.theme.shared","@angular/forms","@ngx-validate/core","@ngxs/store","snq","rxjs/operators","@ngxs/router-plugin","angular-oauth2-oidc","just-compare","rxjs","primeng/toast"],n):n(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng.theme=e.abp.ng.theme||{},e.abp.ng.theme.basic={}),e.ng_core,e.ng.core,e.ngBootstrap,e.ng_theme_shared,e.ng.forms,e.core$1,e.store,e.snq,e.rxjs.operators,e.routerPlugin,e.angularOauth2Oidc,e.compare,e.rxjs,e.toast)}(this,function(e,n,t,o,a,r,i,s,l,p,u,c,d,m,g){"use strict";l=l&&l.hasOwnProperty("default")?l.default:l,d=d&&d.hasOwnProperty("default")?d.default:d;var b=function(){return(b=Object.assign||function(e){for(var n,t=1,o=arguments.length;t=0;s--)(a=e[s])&&(i=(r<3?a(i):r>3?a(n,t,i):a(n,t))||i);return r>3&&i&&Object.defineProperty(n,t,i),i}function h(e,n){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,n)}function y(e,n){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var o,a,r=t.call(e),i=[];try{for(;(void 0===n||n-- >0)&&!(o=r.next()).done;)i.push(o.value)}catch(e){a={error:e}}finally{try{o&&!o.done&&(t=r.return)&&t.call(r)}finally{if(a)throw a.error}}return i}function v(){for(var e=[],n=0;n\n \n

    {{ \'AbpIdentity::ChangePassword\' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ \'AbpIdentity::Save\' | abpLocalization }}\n \n\n'}]}],e.ctorParameters=function(){return[{type:r.FormBuilder},{type:s.Store},{type:a.ToasterService}]},e.propDecorators={visible:[{type:t.Input}],visibleChange:[{type:t.Output}],modalContent:[{type:t.ViewChild,args:["modalContent",{static:!1}]}]},e}();var P=function(){function e(){this.isCollapsed=!1}return e.type="account",e.decorators=[{type:t.Component,args:[{selector:"abp-layout-account",template:'\n \n\n \n \n \n \n \n\n'}]}],e}();var L=function(){function e(e){this.payload=e}return e.type="[Layout] Add Navigation Element",e}();var N=function(){function e(e){this.name=e}return e.type="[Layout] Remove Navigation ElementByName",e}();var S=function(){function e(){}return e.getNavigationElements=function(e){return e.navigationElements},e.prototype.layoutAddAction=function(e,n){var t=e.getState,o=e.patchState,a=n.payload,r=void 0===a?[]:a,i=t().navigationElements;if(Array.isArray(r)||(r=[r]),i.length&&(r=l(function(){return r.filter(function(e){var n=e.name;return i.findIndex(function(e){return e.name===n})<0})},[])),r.length)return o({navigationElements:i=v(i,r).map(function(e){return b({},e,{order:e.order||99})}).sort(function(e,n){return e.order-n.order})})},e.prototype.layoutRemoveAction=function(e,n){var t=e.getState,o=e.patchState,a=n.name,r=t().navigationElements,i=r.findIndex(function(e){return e.name===a});return i>-1&&(r=r.splice(i,1)),o({navigationElements:r})},f([s.Action(L),h("design:type",Function),h("design:paramtypes",[Object,L]),h("design:returntype",void 0)],e.prototype,"layoutAddAction",null),f([s.Action(N),h("design:type",Function),h("design:paramtypes",[Object,N]),h("design:returntype",void 0)],e.prototype,"layoutRemoveAction",null),f([s.Selector(),h("design:type",Function),h("design:paramtypes",[Object]),h("design:returntype",Array)],e,"getNavigationElements",null),e=f([s.State({name:"LayoutState",defaults:{navigationElements:[]}})],e)}(),O=function(){function e(e,n){this.store=e,this.oauthService=n,this.isOpenChangePassword=!1,this.isOpenProfile=!1,this.rightPartElements=[],this.trackByFn=function(e,n){return n.name},this.trackElementByFn=function(e,n){return n}}return Object.defineProperty(e.prototype,"visibleRoutes$",{get:function(){return this.routes$.pipe(p.map(function(e){return function e(n){return n.reduce(function(n,t){return t.invisible?n:(t.children&&t.children.length&&(t.children=e(t.children)),v(n,[t]))},[])}(e)}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"defaultLanguage$",{get:function(){var e=this;return this.languages$.pipe(p.map(function(n){return l(function(){return n.find(function(n){return n.cultureName===e.selectedLangCulture}).displayName})},""))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"dropdownLanguages$",{get:function(){var e=this;return this.languages$.pipe(p.map(function(n){return l(function(){return n.filter(function(n){return n.cultureName!==e.selectedLangCulture})})},[]))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selectedLangCulture",{get:function(){return this.store.selectSnapshot(n.SessionState.getLanguage)},enumerable:!0,configurable:!0}),e.prototype.checkWindowWidth=function(){var e=this;setTimeout(function(){e.navbarRootDropdowns.forEach(function(e){e.close()}),window.innerWidth<768?e.isDropdownChildDynamic=!1:e.isDropdownChildDynamic=!0},0)},e.prototype.ngAfterViewInit=function(){var e=this;this.store.selectSnapshot(S.getNavigationElements).map(function(e){return e.name}).indexOf("LanguageRef")<0&&this.store.dispatch(new L([{element:this.languageRef,order:4,name:"LanguageRef"},{element:this.currentUserRef,order:5,name:"CurrentUserRef"}])),this.navElements$.pipe(p.map(function(e){return e.map(function(e){return e.element})}),p.filter(function(n){return!d(n,e.rightPartElements)}),n.takeUntilDestroy(this)).subscribe(function(n){setTimeout(function(){return e.rightPartElements=n},0)}),this.checkWindowWidth(),m.fromEvent(window,"resize").pipe(n.takeUntilDestroy(this),p.debounceTime(250)).subscribe(function(){e.checkWindowWidth()})},e.prototype.ngOnDestroy=function(){},e.prototype.onChangeLang=function(e){this.store.dispatch(new n.SetLanguage(e)),this.store.dispatch(new n.GetAppConfiguration)},e.prototype.logout=function(){this.oauthService.logOut(),this.store.dispatch(new u.Navigate(["/"],null,{state:{redirectUrl:this.store.selectSnapshot(u.RouterState).state.url}})),this.store.dispatch(new n.GetAppConfiguration)},e.type="application",e.decorators=[{type:t.Component,args:[{selector:"abp-layout-application",template:'\n \n\n \n\n\n\n \n\n\n\n \n\n \n\n \n\n'}]}],e.ctorParameters=function(){return[{type:s.Store},{type:c.OAuthService}]},e.propDecorators={currentUserRef:[{type:t.ViewChild,args:["currentUser",{static:!1,read:t.TemplateRef}]}],languageRef:[{type:t.ViewChild,args:["language",{static:!1,read:t.TemplateRef}]}],navbarRootDropdowns:[{type:t.ViewChildren,args:["navbarRootDropdown",{read:o.NgbDropdown}]}]},f([s.Select(n.ConfigState.getOne("routes")),h("design:type",m.Observable)],e.prototype,"routes$",void 0),f([s.Select(n.ConfigState.getOne("currentUser")),h("design:type",m.Observable)],e.prototype,"currentUser$",void 0),f([s.Select(n.ConfigState.getDeep("localization.languages")),h("design:type",m.Observable)],e.prototype,"languages$",void 0),f([s.Select(S.getNavigationElements),h("design:type",m.Observable)],e.prototype,"navElements$",void 0),e}();var D=function(){function e(){}return e.type="empty",e.decorators=[{type:t.Component,args:[{selector:"abp-layout-empty",template:"\n Layout-empty\n \n "}]}],e}();var k=function(){function e(e){this.store=e,this.isCollapsed=!0}return Object.defineProperty(e.prototype,"appInfo",{get:function(){return this.store.selectSnapshot(n.ConfigState.getApplicationInfo)},enumerable:!0,configurable:!0}),e.decorators=[{type:t.Component,args:[{selector:" abp-layout",template:'\n\n\n \n\n\n\n\n\n\n {{ appInfo.name }}\n\n',animations:[a.slideFromBottom]}]}],e.ctorParameters=function(){return[{type:s.Store}]},e}();var A=r.Validators.maxLength,x=r.Validators.required,E=r.Validators.email,I=function(){function e(e,n){this.fb=e,this.store=n,this.visibleChange=new t.EventEmitter,this.modalBusy=!1}return Object.defineProperty(e.prototype,"visible",{get:function(){return this._visible},set:function(e){this._visible=e,this.visibleChange.emit(e)},enumerable:!0,configurable:!0}),e.prototype.buildForm=function(){var e=this;this.store.dispatch(new n.GetProfile).pipe(p.withLatestFrom(this.profile$),p.take(1)).subscribe(function(n){var t=y(n,2)[1];e.form=e.fb.group({userName:[t.userName,[x,A(256)]],email:[t.email,[x,E,A(256)]],name:[t.name||"",[A(64)]],surname:[t.surname||"",[A(64)]],phoneNumber:[t.phoneNumber||"",[A(16)]]})})},e.prototype.onSubmit=function(){var e=this;this.form.invalid||(this.modalBusy=!0,this.store.dispatch(new n.UpdateProfile(this.form.value)).subscribe(function(){e.modalBusy=!1,e.visible=!1,e.form.reset()}))},e.prototype.openModal=function(){this.buildForm(),this.visible=!0},e.prototype.ngOnChanges=function(e){var n=e.visible;n&&(n.currentValue?this.openModal():!1===n.currentValue&&this.visible&&(this.visible=!1))},e.decorators=[{type:t.Component,args:[{selector:"abp-profile",template:'\n \n

    {{ \'AbpIdentity::PersonalInfo\' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ \'AbpIdentity::Save\' | abpLocalization }}\n \n
    \n'}]}],e.ctorParameters=function(){return[{type:r.FormBuilder},{type:s.Store}]},e.propDecorators={visible:[{type:t.Input}],visibleChange:[{type:t.Output}]},f([s.Select(n.ProfileState.getProfile),h("design:type",m.Observable)],e.prototype,"profile$",void 0),e}();var F,R=[O,P,D],j=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{declarations:v(R,[k,C,I]),imports:[n.CoreModule,a.ThemeSharedModule,o.NgbCollapseModule,o.NgbDropdownModule,g.ToastModule,i.NgxValidateCoreModule,s.NgxsModule.forFeature([S])],exports:v(R),entryComponents:v(R)}]}],e}();!function(e){function n(){}function t(){}e.State=n,e.NavigationElement=t}(F||(F={})),e.AccountLayoutComponent=P,e.AddNavigationElement=L,e.ApplicationLayoutComponent=O,e.EmptyLayoutComponent=D,e.LAYOUTS=R,e.LayoutState=S,e.RemoveNavigationElementByName=N,e.ThemeBasicModule=j,e.ɵa=O,e.ɵb=S,e.ɵc=P,e.ɵd=D,e.ɵe=k,e.ɵf=C,e.ɵg=I,e.ɵh=S,e.ɵi=L,e.ɵj=N,Object.defineProperty(e,"__esModule",{value:!0})}); //# sourceMappingURL=abp-ng.theme.basic.umd.min.js.map \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.min.js.map b/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.min.js.map index 579d2b6b6c..a70a7cf09d 100644 --- a/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.min.js.map +++ b/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.theme.basic/lib/components/change-password/change-password.component.ts","ng://@abp/ng.theme.basic/lib/components/account-layout/account-layout.component.ts","ng://@abp/ng.theme.basic/lib/actions/layout.actions.ts","ng://@abp/ng.theme.basic/lib/states/layout.state.ts","ng://@abp/ng.theme.basic/lib/components/application-layout/application-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/empty-layout/empty-layout.component.ts","ng://@abp/ng.theme.basic/lib/models/layout.ts","ng://@abp/ng.theme.basic/lib/components/layout/layout.component.ts","ng://@abp/ng.theme.basic/lib/components/profile/profile.component.ts","ng://@abp/ng.theme.basic/lib/theme-basic.module.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__metadata","metadataKey","metadataValue","metadata","__read","o","m","Symbol","iterator","e","ar","next","done","push","value","error","__spread","concat","forms","Validators","minLength","required","ChangePasswordComponent","fb","store","toasterService","visibleChange","EventEmitter","_visible","emit","ngOnInit","form","group","password","newPassword","repeatNewPassword","validators","comparePasswords","onSubmit","_this","invalid","dispatch","ChangePassword","currentPassword","get","subscribe","visible","reset","err","snq","message","life","openModal","ngOnChanges","_a","currentValue","Component","args","selector","template","FormBuilder","Store","ToasterService","Input","Output","ViewChild","static","AccountLayoutComponent","isCollapsed","type","AddNavigationElement","payload","RemoveNavigationElementByName","name","LayoutState","getNavigationElements","navigationElements","layoutAddAction","_b","getState","patchState","_c","Array","isArray","filter","findIndex","nav","tslib_1.__spread","map","element","order","sort","a","b","layoutRemoveAction","index","splice","tslib_1.__decorate","Action","Selector","State","defaults","ApplicationLayoutComponent","oauthService","isOpenChangePassword","isOpenProfile","rightPartElements","trackByFn","_","item","trackElementByFn","routes$","pipe","routes","getVisibleRoutes","reduce","acc","val","invisible","children","languages$","languages","find","lang","cultureName","selectedLangCulture","displayName","selectSnapshot","SessionState","getLanguage","checkWindowWidth","setTimeout","navbarRootDropdowns","forEach","close","window","innerWidth","isDropdownChildDynamic","ngAfterViewInit","indexOf","languageRef","currentUserRef","navElements$","elements","compare","takeUntilDestroy","fromEvent","debounceTime","ngOnDestroy","onChangeLang","SetLanguage","GetAppConfiguration","logout","logOut","Navigate","state","redirectUrl","RouterState","url","OAuthService","read","TemplateRef","ViewChildren","NgbDropdown","Select","ConfigState","getOne","Observable","getDeep","Layout","EmptyLayoutComponent","LayoutComponent","getApplicationInfo","animations","slideFromBottom","maxLength","email","ProfileComponent","buildForm","GetProfile","withLatestFrom","profile$","take","profile","userName","surname","phoneNumber","UpdateProfile","ProfileState","getProfile","LAYOUTS","ThemeBasicModule","NgModule","declarations","imports","CoreModule","ThemeSharedModule","NgbCollapseModule","NgbDropdownModule","ToastModule","NgxValidateCoreModule","NgxsModule","forFeature","exports","entryComponents"],"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","import { ChangePassword } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { comparePasswords } from '@ngx-validate/core';\nimport { Store } from '@ngxs/store';\nimport snq from 'snq';\n\nconst { minLength, required } = Validators;\n\n@Component({\n selector: 'abp-change-password',\n templateUrl: './change-password.component.html',\n})\nexport class ChangePasswordComponent implements OnInit, OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n constructor(private fb: FormBuilder, private store: Store, private toasterService: ToasterService) {}\n\n ngOnInit(): void {\n this.form = this.fb.group(\n {\n password: ['', required],\n newPassword: ['', required],\n repeatNewPassword: ['', required],\n },\n {\n validators: [comparePasswords(['newPassword', 'repeatNewPassword'])],\n },\n );\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.store\n .dispatch(\n new ChangePassword({\n currentPassword: this.form.get('password').value,\n newPassword: this.form.get('newPassword').value,\n }),\n )\n .subscribe({\n next: () => {\n this.visible = false;\n this.form.reset();\n },\n error: err => {\n this.toasterService.error(snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'), 'Error', {\n life: 7000,\n });\n },\n });\n }\n\n openModal() {\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-account',\n templateUrl: './account-layout.component.html',\n})\nexport class AccountLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.account;\n\n isCollapsed: boolean = false;\n}\n","import { Layout } from '../models/layout';\n\nexport class AddNavigationElement {\n static readonly type = '[Layout] Add Navigation Element';\n constructor(public payload: Layout.NavigationElement | Layout.NavigationElement[]) {}\n}\n\nexport class RemoveNavigationElementByName {\n static readonly type = '[Layout] Remove Navigation ElementByName';\n constructor(public name: string) {}\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { AddNavigationElement, RemoveNavigationElementByName } from '../actions/layout.actions';\nimport { Layout } from '../models/layout';\nimport { TemplateRef } from '@angular/core';\nimport snq from 'snq';\n\n@State({\n name: 'LayoutState',\n defaults: { navigationElements: [] } as Layout.State,\n})\nexport class LayoutState {\n @Selector()\n static getNavigationElements({ navigationElements }: Layout.State): Layout.NavigationElement[] {\n return navigationElements;\n }\n\n @Action(AddNavigationElement)\n layoutAddAction({ getState, patchState }: StateContext, { payload = [] }: AddNavigationElement) {\n let { navigationElements } = getState();\n\n if (!Array.isArray(payload)) {\n payload = [payload];\n }\n\n if (navigationElements.length) {\n payload = snq(\n () =>\n (payload as Layout.NavigationElement[]).filter(\n ({ name }) => navigationElements.findIndex(nav => nav.name === name) < 0,\n ),\n [],\n );\n }\n\n if (!payload.length) return;\n\n navigationElements = [...navigationElements, ...payload]\n .map(element => ({ ...element, order: element.order || 99 }))\n .sort((a, b) => a.order - b.order);\n\n return patchState({\n navigationElements,\n });\n }\n\n @Action(RemoveNavigationElementByName)\n layoutRemoveAction({ getState, patchState }: StateContext, { name }: RemoveNavigationElementByName) {\n let { navigationElements } = getState();\n\n const index = navigationElements.findIndex(element => element.name === name);\n\n if (index > -1) {\n navigationElements = navigationElements.splice(index, 1);\n }\n\n return patchState({\n navigationElements,\n });\n }\n}\n","import {\n ABP,\n ApplicationConfiguration,\n GetAppConfiguration,\n ConfigState,\n eLayoutType,\n SetLanguage,\n SessionState,\n takeUntilDestroy,\n} from '@abp/ng.core';\nimport {\n AfterViewInit,\n Component,\n OnDestroy,\n QueryList,\n TemplateRef,\n TrackByFunction,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { NgbDropdown } from '@ng-bootstrap/ng-bootstrap';\nimport { Navigate, RouterState } from '@ngxs/router-plugin';\nimport { Select, Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport compare from 'just-compare';\nimport { fromEvent, Observable } from 'rxjs';\nimport { debounceTime, filter, map } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AddNavigationElement } from '../../actions';\nimport { Layout } from '../../models/layout';\nimport { LayoutState } from '../../states';\n\n@Component({\n selector: 'abp-layout-application',\n templateUrl: './application-layout.component.html',\n})\nexport class ApplicationLayoutComponent implements AfterViewInit, OnDestroy {\n // required for dynamic component\n static type = eLayoutType.application;\n\n @Select(ConfigState.getOne('routes'))\n routes$: Observable;\n\n @Select(ConfigState.getOne('currentUser'))\n currentUser$: Observable;\n\n @Select(ConfigState.getDeep('localization.languages'))\n languages$: Observable;\n\n @Select(LayoutState.getNavigationElements)\n navElements$: Observable;\n\n @ViewChild('currentUser', { static: false, read: TemplateRef })\n currentUserRef: TemplateRef;\n\n @ViewChild('language', { static: false, read: TemplateRef })\n languageRef: TemplateRef;\n\n @ViewChildren('navbarRootDropdown', { read: NgbDropdown })\n navbarRootDropdowns: QueryList;\n\n isOpenChangePassword: boolean = false;\n\n isOpenProfile: boolean = false;\n\n isDropdownChildDynamic: boolean;\n\n get visibleRoutes$(): Observable {\n return this.routes$.pipe(map(routes => getVisibleRoutes(routes)));\n }\n\n get defaultLanguage$(): Observable {\n return this.languages$.pipe(\n map(\n languages => snq(() => languages.find(lang => lang.cultureName === this.selectedLangCulture).displayName),\n '',\n ),\n );\n }\n\n get dropdownLanguages$(): Observable {\n return this.languages$.pipe(\n map(languages => snq(() => languages.filter(lang => lang.cultureName !== this.selectedLangCulture)), []),\n );\n }\n\n get selectedLangCulture(): string {\n return this.store.selectSnapshot(SessionState.getLanguage);\n }\n\n rightPartElements: TemplateRef[] = [];\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n trackElementByFn: TrackByFunction = (_, element) => element;\n\n constructor(private store: Store, private oauthService: OAuthService) {}\n\n private checkWindowWidth() {\n setTimeout(() => {\n this.navbarRootDropdowns.forEach(item => {\n item.close();\n });\n if (window.innerWidth < 768) {\n this.isDropdownChildDynamic = false;\n } else {\n this.isDropdownChildDynamic = true;\n }\n }, 0);\n }\n\n ngAfterViewInit() {\n const navigations = this.store.selectSnapshot(LayoutState.getNavigationElements).map(({ name }) => name);\n\n if (navigations.indexOf('LanguageRef') < 0) {\n this.store.dispatch(\n new AddNavigationElement([\n { element: this.languageRef, order: 4, name: 'LanguageRef' },\n { element: this.currentUserRef, order: 5, name: 'CurrentUserRef' },\n ]),\n );\n }\n\n this.navElements$\n .pipe(\n map(elements => elements.map(({ element }) => element)),\n filter(elements => !compare(elements, this.rightPartElements)),\n takeUntilDestroy(this),\n )\n .subscribe(elements => {\n setTimeout(() => (this.rightPartElements = elements), 0);\n });\n\n this.checkWindowWidth();\n\n fromEvent(window, 'resize')\n .pipe(\n takeUntilDestroy(this),\n debounceTime(250),\n )\n .subscribe(() => {\n this.checkWindowWidth();\n });\n }\n\n ngOnDestroy() {}\n\n onChangeLang(cultureName: string) {\n this.store.dispatch(new SetLanguage(cultureName));\n this.store.dispatch(new GetAppConfiguration());\n }\n\n logout() {\n this.oauthService.logOut();\n this.store.dispatch(\n new Navigate(['/'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n this.store.dispatch(new GetAppConfiguration());\n }\n}\n\nfunction getVisibleRoutes(routes: ABP.FullRoute[]) {\n return routes.reduce((acc, val) => {\n if (val.invisible) return acc;\n\n if (val.children && val.children.length) {\n val.children = getVisibleRoutes(val.children);\n }\n\n return [...acc, val];\n }, []);\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-empty',\n template: `\n Layout-empty\n \n `,\n})\nexport class EmptyLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.empty;\n}\n","import { TemplateRef } from '@angular/core';\n\nexport namespace Layout {\n export interface State {\n navigationElements: NavigationElement[];\n }\n\n export interface NavigationElement {\n name: string;\n element: TemplateRef;\n order?: number;\n }\n}\n","import { Config, ConfigState } from '@abp/ng.core';\nimport { slideFromBottom } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { Store } from '@ngxs/store';\n\n@Component({\n selector: ' abp-layout',\n templateUrl: './layout.component.html',\n animations: [slideFromBottom],\n})\nexport class LayoutComponent {\n isCollapsed: boolean = false;\n\n get appInfo(): Config.Application {\n return this.store.selectSnapshot(ConfigState.getApplicationInfo);\n }\n\n constructor(private store: Store) {}\n}\n","import { Profile, GetProfile, ProfileState, UpdateProfile } from '@abp/ng.core';\nimport { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { take, withLatestFrom } from 'rxjs/operators';\n\nconst { maxLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-profile',\n templateUrl: './profile.component.html',\n})\nexport class ProfileComponent implements OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(ProfileState.getProfile)\n profile$: Observable;\n\n form: FormGroup;\n\n constructor(private fb: FormBuilder, private store: Store) {}\n\n buildForm() {\n this.store\n .dispatch(new GetProfile())\n .pipe(\n withLatestFrom(this.profile$),\n take(1),\n )\n .subscribe(([, profile]) => {\n this.form = this.fb.group({\n userName: [profile.userName, [required, maxLength(256)]],\n email: [profile.email, [required, email, maxLength(256)]],\n name: [profile.name || '', [maxLength(64)]],\n surname: [profile.surname || '', [maxLength(64)]],\n phoneNumber: [profile.phoneNumber || '', [maxLength(16)]],\n });\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.store.dispatch(new UpdateProfile(this.form.value)).subscribe(() => {\n this.visible = false;\n this.form.reset();\n });\n }\n\n openModal() {\n this.buildForm();\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ChangePasswordComponent } from './components/change-password/change-password.component';\nimport { AccountLayoutComponent } from './components/account-layout/account-layout.component';\nimport { ApplicationLayoutComponent } from './components/application-layout/application-layout.component';\nimport { EmptyLayoutComponent } from './components/empty-layout/empty-layout.component';\nimport { LayoutComponent } from './components/layout/layout.component';\nimport { ProfileComponent } from './components/profile/profile.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { ToastModule } from 'primeng/toast';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { LayoutState } from './states/layout.state';\n\nexport const LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent];\n\n@NgModule({\n declarations: [...LAYOUTS, LayoutComponent, ChangePasswordComponent, ProfileComponent],\n imports: [\n CoreModule,\n ThemeSharedModule,\n NgbCollapseModule,\n NgbDropdownModule,\n ToastModule,\n NgxValidateCoreModule,\n NgxsModule.forFeature([LayoutState]),\n ],\n exports: [...LAYOUTS],\n entryComponents: [...LAYOUTS],\n})\nexport class ThemeBasicModule {}\n"]} \ No newline at end of file +{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.theme.basic/lib/components/change-password/change-password.component.ts","ng://@abp/ng.theme.basic/lib/components/account-layout/account-layout.component.ts","ng://@abp/ng.theme.basic/lib/actions/layout.actions.ts","ng://@abp/ng.theme.basic/lib/states/layout.state.ts","ng://@abp/ng.theme.basic/lib/components/application-layout/application-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/empty-layout/empty-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/layout/layout.component.ts","ng://@abp/ng.theme.basic/lib/components/profile/profile.component.ts","ng://@abp/ng.theme.basic/lib/theme-basic.module.ts","ng://@abp/ng.theme.basic/lib/models/layout.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__metadata","metadataKey","metadataValue","metadata","__read","o","m","Symbol","iterator","e","ar","next","done","push","value","error","__spread","concat","forms","Validators","minLength","required","ChangePasswordComponent","fb","store","toasterService","visibleChange","EventEmitter","modalBusy","_visible","emit","ngOnInit","form","group","password","newPassword","repeatNewPassword","validators","comparePasswords","onSubmit","_this","invalid","dispatch","ChangePassword","currentPassword","get","pipe","finalize","subscribe","visible","reset","err","snq","message","life","openModal","ngOnChanges","_a","currentValue","Component","args","selector","template","FormBuilder","Store","ToasterService","Input","Output","ViewChild","static","AccountLayoutComponent","isCollapsed","type","AddNavigationElement","payload","RemoveNavigationElementByName","name","LayoutState","getNavigationElements","navigationElements","layoutAddAction","_b","getState","patchState","_c","Array","isArray","filter","findIndex","nav","tslib_1.__spread","map","element","order","sort","a","b","layoutRemoveAction","index","splice","tslib_1.__decorate","Action","Selector","State","defaults","ApplicationLayoutComponent","oauthService","isOpenChangePassword","isOpenProfile","rightPartElements","trackByFn","_","item","trackElementByFn","routes$","routes","getVisibleRoutes","reduce","acc","val","invisible","children","languages$","languages","find","lang","cultureName","selectedLangCulture","displayName","selectSnapshot","SessionState","getLanguage","checkWindowWidth","setTimeout","navbarRootDropdowns","forEach","close","window","innerWidth","isDropdownChildDynamic","ngAfterViewInit","indexOf","languageRef","currentUserRef","navElements$","elements","compare","takeUntilDestroy","fromEvent","debounceTime","ngOnDestroy","onChangeLang","SetLanguage","GetAppConfiguration","logout","logOut","Navigate","state","redirectUrl","RouterState","url","OAuthService","read","TemplateRef","ViewChildren","NgbDropdown","Select","ConfigState","getOne","Observable","getDeep","EmptyLayoutComponent","LayoutComponent","getApplicationInfo","animations","slideFromBottom","maxLength","email","ProfileComponent","buildForm","GetProfile","withLatestFrom","profile$","take","profile","userName","surname","phoneNumber","UpdateProfile","ProfileState","getProfile","Layout","LAYOUTS","ThemeBasicModule","NgModule","declarations","imports","CoreModule","ThemeSharedModule","NgbCollapseModule","NgbDropdownModule","ToastModule","NgxValidateCoreModule","NgxsModule","forFeature","exports","entryComponents","NavigationElement"],"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","import { ChangePassword } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { comparePasswords } from '@ngx-validate/core';\nimport { Store } from '@ngxs/store';\nimport snq from 'snq';\nimport { finalize } from 'rxjs/operators';\n\nconst { minLength, required } = Validators;\n\n@Component({\n selector: 'abp-change-password',\n templateUrl: './change-password.component.html',\n})\nexport class ChangePasswordComponent implements OnInit, OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n modalBusy: boolean = false;\n\n constructor(private fb: FormBuilder, private store: Store, private toasterService: ToasterService) {}\n\n ngOnInit(): void {\n this.form = this.fb.group(\n {\n password: ['', required],\n newPassword: ['', required],\n repeatNewPassword: ['', required],\n },\n {\n validators: [comparePasswords(['newPassword', 'repeatNewPassword'])],\n },\n );\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n new ChangePassword({\n currentPassword: this.form.get('password').value,\n newPassword: this.form.get('newPassword').value,\n }),\n )\n .pipe(\n finalize(() => {\n this.modalBusy = false;\n }),\n )\n .subscribe({\n next: () => {\n this.visible = false;\n this.form.reset();\n },\n error: err => {\n this.toasterService.error(snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'), 'Error', {\n life: 7000,\n });\n },\n });\n }\n\n openModal() {\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-account',\n templateUrl: './account-layout.component.html',\n})\nexport class AccountLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.account;\n\n isCollapsed: boolean = false;\n}\n","import { Layout } from '../models/layout';\n\nexport class AddNavigationElement {\n static readonly type = '[Layout] Add Navigation Element';\n constructor(public payload: Layout.NavigationElement | Layout.NavigationElement[]) {}\n}\n\nexport class RemoveNavigationElementByName {\n static readonly type = '[Layout] Remove Navigation ElementByName';\n constructor(public name: string) {}\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { AddNavigationElement, RemoveNavigationElementByName } from '../actions/layout.actions';\nimport { Layout } from '../models/layout';\nimport { TemplateRef } from '@angular/core';\nimport snq from 'snq';\n\n@State({\n name: 'LayoutState',\n defaults: { navigationElements: [] } as Layout.State,\n})\nexport class LayoutState {\n @Selector()\n static getNavigationElements({ navigationElements }: Layout.State): Layout.NavigationElement[] {\n return navigationElements;\n }\n\n @Action(AddNavigationElement)\n layoutAddAction({ getState, patchState }: StateContext, { payload = [] }: AddNavigationElement) {\n let { navigationElements } = getState();\n\n if (!Array.isArray(payload)) {\n payload = [payload];\n }\n\n if (navigationElements.length) {\n payload = snq(\n () =>\n (payload as Layout.NavigationElement[]).filter(\n ({ name }) => navigationElements.findIndex(nav => nav.name === name) < 0,\n ),\n [],\n );\n }\n\n if (!payload.length) return;\n\n navigationElements = [...navigationElements, ...payload]\n .map(element => ({ ...element, order: element.order || 99 }))\n .sort((a, b) => a.order - b.order);\n\n return patchState({\n navigationElements,\n });\n }\n\n @Action(RemoveNavigationElementByName)\n layoutRemoveAction({ getState, patchState }: StateContext, { name }: RemoveNavigationElementByName) {\n let { navigationElements } = getState();\n\n const index = navigationElements.findIndex(element => element.name === name);\n\n if (index > -1) {\n navigationElements = navigationElements.splice(index, 1);\n }\n\n return patchState({\n navigationElements,\n });\n }\n}\n","import {\n ABP,\n ApplicationConfiguration,\n GetAppConfiguration,\n ConfigState,\n eLayoutType,\n SetLanguage,\n SessionState,\n takeUntilDestroy,\n} from '@abp/ng.core';\nimport {\n AfterViewInit,\n Component,\n OnDestroy,\n QueryList,\n TemplateRef,\n TrackByFunction,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { NgbDropdown } from '@ng-bootstrap/ng-bootstrap';\nimport { Navigate, RouterState } from '@ngxs/router-plugin';\nimport { Select, Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport compare from 'just-compare';\nimport { fromEvent, Observable } from 'rxjs';\nimport { debounceTime, filter, map } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AddNavigationElement } from '../../actions';\nimport { Layout } from '../../models/layout';\nimport { LayoutState } from '../../states';\n\n@Component({\n selector: 'abp-layout-application',\n templateUrl: './application-layout.component.html',\n})\nexport class ApplicationLayoutComponent implements AfterViewInit, OnDestroy {\n // required for dynamic component\n static type = eLayoutType.application;\n\n @Select(ConfigState.getOne('routes'))\n routes$: Observable;\n\n @Select(ConfigState.getOne('currentUser'))\n currentUser$: Observable;\n\n @Select(ConfigState.getDeep('localization.languages'))\n languages$: Observable;\n\n @Select(LayoutState.getNavigationElements)\n navElements$: Observable;\n\n @ViewChild('currentUser', { static: false, read: TemplateRef })\n currentUserRef: TemplateRef;\n\n @ViewChild('language', { static: false, read: TemplateRef })\n languageRef: TemplateRef;\n\n @ViewChildren('navbarRootDropdown', { read: NgbDropdown })\n navbarRootDropdowns: QueryList;\n\n isOpenChangePassword: boolean = false;\n\n isOpenProfile: boolean = false;\n\n isDropdownChildDynamic: boolean;\n\n get visibleRoutes$(): Observable {\n return this.routes$.pipe(map(routes => getVisibleRoutes(routes)));\n }\n\n get defaultLanguage$(): Observable {\n return this.languages$.pipe(\n map(\n languages => snq(() => languages.find(lang => lang.cultureName === this.selectedLangCulture).displayName),\n '',\n ),\n );\n }\n\n get dropdownLanguages$(): Observable {\n return this.languages$.pipe(\n map(languages => snq(() => languages.filter(lang => lang.cultureName !== this.selectedLangCulture)), []),\n );\n }\n\n get selectedLangCulture(): string {\n return this.store.selectSnapshot(SessionState.getLanguage);\n }\n\n rightPartElements: TemplateRef[] = [];\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n trackElementByFn: TrackByFunction = (_, element) => element;\n\n constructor(private store: Store, private oauthService: OAuthService) {}\n\n private checkWindowWidth() {\n setTimeout(() => {\n this.navbarRootDropdowns.forEach(item => {\n item.close();\n });\n if (window.innerWidth < 768) {\n this.isDropdownChildDynamic = false;\n } else {\n this.isDropdownChildDynamic = true;\n }\n }, 0);\n }\n\n ngAfterViewInit() {\n const navigations = this.store.selectSnapshot(LayoutState.getNavigationElements).map(({ name }) => name);\n\n if (navigations.indexOf('LanguageRef') < 0) {\n this.store.dispatch(\n new AddNavigationElement([\n { element: this.languageRef, order: 4, name: 'LanguageRef' },\n { element: this.currentUserRef, order: 5, name: 'CurrentUserRef' },\n ]),\n );\n }\n\n this.navElements$\n .pipe(\n map(elements => elements.map(({ element }) => element)),\n filter(elements => !compare(elements, this.rightPartElements)),\n takeUntilDestroy(this),\n )\n .subscribe(elements => {\n setTimeout(() => (this.rightPartElements = elements), 0);\n });\n\n this.checkWindowWidth();\n\n fromEvent(window, 'resize')\n .pipe(\n takeUntilDestroy(this),\n debounceTime(250),\n )\n .subscribe(() => {\n this.checkWindowWidth();\n });\n }\n\n ngOnDestroy() {}\n\n onChangeLang(cultureName: string) {\n this.store.dispatch(new SetLanguage(cultureName));\n this.store.dispatch(new GetAppConfiguration());\n }\n\n logout() {\n this.oauthService.logOut();\n this.store.dispatch(\n new Navigate(['/'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n this.store.dispatch(new GetAppConfiguration());\n }\n}\n\nfunction getVisibleRoutes(routes: ABP.FullRoute[]) {\n return routes.reduce((acc, val) => {\n if (val.invisible) return acc;\n\n if (val.children && val.children.length) {\n val.children = getVisibleRoutes(val.children);\n }\n\n return [...acc, val];\n }, []);\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-empty',\n template: `\n Layout-empty\n \n `,\n})\nexport class EmptyLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.empty;\n}\n","import { Config, ConfigState } from '@abp/ng.core';\nimport { slideFromBottom } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { Store } from '@ngxs/store';\n\n@Component({\n selector: ' abp-layout',\n templateUrl: './layout.component.html',\n animations: [slideFromBottom],\n})\nexport class LayoutComponent {\n isCollapsed: boolean = true;\n\n get appInfo(): Config.Application {\n return this.store.selectSnapshot(ConfigState.getApplicationInfo);\n }\n\n constructor(private store: Store) {}\n}\n","import { Profile, GetProfile, ProfileState, UpdateProfile } from '@abp/ng.core';\nimport { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { take, withLatestFrom } from 'rxjs/operators';\n\nconst { maxLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-profile',\n templateUrl: './profile.component.html',\n})\nexport class ProfileComponent implements OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(ProfileState.getProfile)\n profile$: Observable;\n\n form: FormGroup;\n\n modalBusy: boolean = false;\n\n constructor(private fb: FormBuilder, private store: Store) {}\n\n buildForm() {\n this.store\n .dispatch(new GetProfile())\n .pipe(\n withLatestFrom(this.profile$),\n take(1),\n )\n .subscribe(([, profile]) => {\n this.form = this.fb.group({\n userName: [profile.userName, [required, maxLength(256)]],\n email: [profile.email, [required, email, maxLength(256)]],\n name: [profile.name || '', [maxLength(64)]],\n surname: [profile.surname || '', [maxLength(64)]],\n phoneNumber: [profile.phoneNumber || '', [maxLength(16)]],\n });\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.modalBusy = true;\n\n this.store.dispatch(new UpdateProfile(this.form.value)).subscribe(() => {\n this.modalBusy = false;\n this.visible = false;\n this.form.reset();\n });\n }\n\n openModal() {\n this.buildForm();\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ChangePasswordComponent } from './components/change-password/change-password.component';\nimport { AccountLayoutComponent } from './components/account-layout/account-layout.component';\nimport { ApplicationLayoutComponent } from './components/application-layout/application-layout.component';\nimport { EmptyLayoutComponent } from './components/empty-layout/empty-layout.component';\nimport { LayoutComponent } from './components/layout/layout.component';\nimport { ProfileComponent } from './components/profile/profile.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { ToastModule } from 'primeng/toast';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { LayoutState } from './states/layout.state';\n\nexport const LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent];\n\n@NgModule({\n declarations: [...LAYOUTS, LayoutComponent, ChangePasswordComponent, ProfileComponent],\n imports: [\n CoreModule,\n ThemeSharedModule,\n NgbCollapseModule,\n NgbDropdownModule,\n ToastModule,\n NgxValidateCoreModule,\n NgxsModule.forFeature([LayoutState]),\n ],\n exports: [...LAYOUTS],\n entryComponents: [...LAYOUTS],\n})\nexport class ThemeBasicModule {}\n","import { TemplateRef } from '@angular/core';\n\nexport namespace Layout {\n export interface State {\n navigationElements: NavigationElement[];\n }\n\n export interface NavigationElement {\n name: string;\n element: TemplateRef;\n order?: number;\n }\n}\n"]} \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm2015/lib/components/application-layout/application-layout.component.js b/npm/ng-packs/dist/theme-basic/esm2015/lib/components/application-layout/application-layout.component.js index 79db22c9a3..416cacfecd 100644 --- a/npm/ng-packs/dist/theme-basic/esm2015/lib/components/application-layout/application-layout.component.js +++ b/npm/ng-packs/dist/theme-basic/esm2015/lib/components/application-layout/application-layout.component.js @@ -191,7 +191,7 @@ ApplicationLayoutComponent.type = "application" /* application */; ApplicationLayoutComponent.decorators = [ { type: Component, args: [{ selector: 'abp-layout-application', - template: "\n \n\n
      \n \n
    \n
    \n\n\n
  • \n \n {{ defaultLanguage$ | async }}\n \n
    \n {{ lang?.displayName }}\n
    \n
  • \n
    \n\n\n
  • \n \n {{ (currentUser$ | async)?.userName }}\n \n \n
  • \n\n \n\n \n
    \n" + template: "\n \n\n
      \n \n
    \n
    \n\n\n
  • \n \n {{ defaultLanguage$ | async }}\n \n
    \n {{ lang?.displayName }}\n
    \n
  • \n
    \n\n\n
  • \n \n {{ (currentUser$ | async)?.userName }}\n \n \n
  • \n\n \n\n \n
    \n" }] } ]; /** @nocollapse */ diff --git a/npm/ng-packs/dist/theme-basic/esm2015/lib/components/change-password/change-password.component.js b/npm/ng-packs/dist/theme-basic/esm2015/lib/components/change-password/change-password.component.js index 420e17c620..ca505959f6 100644 --- a/npm/ng-packs/dist/theme-basic/esm2015/lib/components/change-password/change-password.component.js +++ b/npm/ng-packs/dist/theme-basic/esm2015/lib/components/change-password/change-password.component.js @@ -9,6 +9,7 @@ import { FormBuilder, Validators } from '@angular/forms'; import { comparePasswords } from '@ngx-validate/core'; import { Store } from '@ngxs/store'; import snq from 'snq'; +import { finalize } from 'rxjs/operators'; const { minLength, required } = Validators; export class ChangePasswordComponent { /** @@ -21,6 +22,7 @@ export class ChangePasswordComponent { this.store = store; this.toasterService = toasterService; this.visibleChange = new EventEmitter(); + this.modalBusy = false; } /** * @return {?} @@ -54,11 +56,18 @@ export class ChangePasswordComponent { onSubmit() { if (this.form.invalid) return; + this.modalBusy = true; this.store .dispatch(new ChangePassword({ currentPassword: this.form.get('password').value, newPassword: this.form.get('newPassword').value, })) + .pipe(finalize((/** + * @return {?} + */ + () => { + this.modalBusy = false; + }))) .subscribe({ next: (/** * @return {?} @@ -105,7 +114,7 @@ export class ChangePasswordComponent { ChangePasswordComponent.decorators = [ { type: Component, args: [{ selector: 'abp-change-password', - template: "\n \n

    {{ 'AbpIdentity::ChangePassword' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" + template: "\n \n

    {{ 'AbpIdentity::ChangePassword' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" }] } ]; /** @nocollapse */ @@ -131,6 +140,8 @@ if (false) { ChangePasswordComponent.prototype.modalContent; /** @type {?} */ ChangePasswordComponent.prototype.form; + /** @type {?} */ + ChangePasswordComponent.prototype.modalBusy; /** * @type {?} * @private @@ -147,4 +158,4 @@ if (false) { */ ChangePasswordComponent.prototype.toasterService; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9jaGFuZ2UtcGFzc3dvcmQvY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFTixXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQWEsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUM7TUFFaEIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEdBQUcsVUFBVTtBQU0xQyxNQUFNLE9BQU8sdUJBQXVCOzs7Ozs7SUFxQmxDLFlBQW9CLEVBQWUsRUFBVSxLQUFZLEVBQVUsY0FBOEI7UUFBN0UsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUFVLFVBQUssR0FBTCxLQUFLLENBQU87UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFQakcsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBT3dELENBQUM7Ozs7SUFsQnJHLElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDOzs7OztJQUVELElBQUksT0FBTyxDQUFDLEtBQWM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQzs7OztJQVlELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUN2QjtZQUNFLFFBQVEsRUFBRSxDQUFDLEVBQUUsRUFBRSxRQUFRLENBQUM7WUFDeEIsV0FBVyxFQUFFLENBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQztZQUMzQixpQkFBaUIsRUFBRSxDQUFDLEVBQUUsRUFBRSxRQUFRLENBQUM7U0FDbEMsRUFDRDtZQUNFLFVBQVUsRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUMsYUFBYSxFQUFFLG1CQUFtQixDQUFDLENBQUMsQ0FBQztTQUNyRSxDQUNGLENBQUM7SUFDSixDQUFDOzs7O0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUU5QixJQUFJLENBQUMsS0FBSzthQUNQLFFBQVEsQ0FDUCxJQUFJLGNBQWMsQ0FBQztZQUNqQixlQUFlLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsS0FBSztZQUNoRCxXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsS0FBSztTQUNoRCxDQUFDLENBQ0g7YUFDQSxTQUFTLENBQUM7WUFDVCxJQUFJOzs7WUFBRSxHQUFHLEVBQUU7Z0JBQ1QsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDcEIsQ0FBQyxDQUFBO1lBQ0QsS0FBSzs7OztZQUFFLEdBQUcsQ0FBQyxFQUFFO2dCQUNYLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEdBQUc7OztnQkFBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUUsaUNBQWlDLENBQUMsRUFBRSxPQUFPLEVBQUU7b0JBQ3hHLElBQUksRUFBRSxJQUFJO2lCQUNYLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQTtTQUNGLENBQUMsQ0FBQztJQUNQLENBQUM7Ozs7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDdEIsQ0FBQzs7Ozs7SUFFRCxXQUFXLENBQUMsRUFBRSxPQUFPLEVBQWlCO1FBQ3BDLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUVyQixJQUFJLE9BQU8sQ0FBQyxZQUFZLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ2xCO2FBQU0sSUFBSSxPQUFPLENBQUMsWUFBWSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3pELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQzs7O1lBM0VGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUscUJBQXFCO2dCQUMvQixrMERBQStDO2FBQ2hEOzs7O1lBVlEsV0FBVztZQUVYLEtBQUs7WUFkTCxjQUFjOzs7c0JBMEJwQixLQUFLOzRCQVVMLE1BQU07MkJBR04sU0FBUyxTQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Ozs7Ozs7SUFmNUMsMkNBQW1COztJQVluQixnREFDNEM7O0lBRTVDLCtDQUMrQjs7SUFFL0IsdUNBQWdCOzs7OztJQUVKLHFDQUF1Qjs7Ozs7SUFBRSx3Q0FBb0I7Ozs7O0lBQUUsaURBQXNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlUGFzc3dvcmQgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgVG9hc3RlclNlcnZpY2UgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGNvbXBhcmVQYXNzd29yZHMgfSBmcm9tICdAbmd4LXZhbGlkYXRlL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgc25xIGZyb20gJ3NucSc7XG5cbmNvbnN0IHsgbWluTGVuZ3RoLCByZXF1aXJlZCB9ID0gVmFsaWRhdG9ycztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLWNoYW5nZS1wYXNzd29yZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGFuZ2UtcGFzc3dvcmQuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBDaGFuZ2VQYXNzd29yZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgcHJvdGVjdGVkIF92aXNpYmxlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xuICB9XG5cbiAgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl92aXNpYmxlID0gdmFsdWU7XG4gICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQFZpZXdDaGlsZCgnbW9kYWxDb250ZW50JywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIG1vZGFsQ29udGVudDogVGVtcGxhdGVSZWY8YW55PjtcblxuICBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgc3RvcmU6IFN0b3JlLCBwcml2YXRlIHRvYXN0ZXJTZXJ2aWNlOiBUb2FzdGVyU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKFxuICAgICAge1xuICAgICAgICBwYXNzd29yZDogWycnLCByZXF1aXJlZF0sXG4gICAgICAgIG5ld1Bhc3N3b3JkOiBbJycsIHJlcXVpcmVkXSxcbiAgICAgICAgcmVwZWF0TmV3UGFzc3dvcmQ6IFsnJywgcmVxdWlyZWRdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdmFsaWRhdG9yczogW2NvbXBhcmVQYXNzd29yZHMoWyduZXdQYXNzd29yZCcsICdyZXBlYXROZXdQYXNzd29yZCddKV0sXG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICBvblN1Ym1pdCgpIHtcbiAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHJldHVybjtcblxuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5kaXNwYXRjaChcbiAgICAgICAgbmV3IENoYW5nZVBhc3N3b3JkKHtcbiAgICAgICAgICBjdXJyZW50UGFzc3dvcmQ6IHRoaXMuZm9ybS5nZXQoJ3Bhc3N3b3JkJykudmFsdWUsXG4gICAgICAgICAgbmV3UGFzc3dvcmQ6IHRoaXMuZm9ybS5nZXQoJ25ld1Bhc3N3b3JkJykudmFsdWUsXG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmZvcm0ucmVzZXQoKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6IGVyciA9PiB7XG4gICAgICAgICAgdGhpcy50b2FzdGVyU2VydmljZS5lcnJvcihzbnEoKCkgPT4gZXJyLmVycm9yLmVycm9yLm1lc3NhZ2UsICdBYnBBY2NvdW50OjpEZWZhdWx0RXJyb3JNZXNzYWdlJyksICdFcnJvcicsIHtcbiAgICAgICAgICAgIGxpZmU6IDcwMDAsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgfVxuXG4gIG9wZW5Nb2RhbCgpIHtcbiAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoeyB2aXNpYmxlIH06IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoIXZpc2libGUpIHJldHVybjtcblxuICAgIGlmICh2aXNpYmxlLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5vcGVuTW9kYWwoKTtcbiAgICB9IGVsc2UgaWYgKHZpc2libGUuY3VycmVudFZhbHVlID09PSBmYWxzZSAmJiB0aGlzLnZpc2libGUpIHtcbiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9jaGFuZ2UtcGFzc3dvcmQvY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFTixXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQWEsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUM7QUFDdEIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO01BRXBDLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxHQUFHLFVBQVU7QUFNMUMsTUFBTSxPQUFPLHVCQUF1Qjs7Ozs7O0lBdUJsQyxZQUFvQixFQUFlLEVBQVUsS0FBWSxFQUFVLGNBQThCO1FBQTdFLE9BQUUsR0FBRixFQUFFLENBQWE7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBVGpHLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQU81QyxjQUFTLEdBQVksS0FBSyxDQUFDO0lBRXlFLENBQUM7Ozs7SUFwQnJHLElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFD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Q29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VQYXNzd29yZCB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBUb2FzdGVyU2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY29tcGFyZVBhc3N3b3JkcyB9IGZyb20gJ0BuZ3gtdmFsaWRhdGUvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCBzbnEgZnJvbSAnc25xJztcbmltcG9ydCB7IGZpbmFsaXplIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5jb25zdCB7IG1pbkxlbmd0aCwgcmVxdWlyZWQgfSA9IFZhbGlkYXRvcnM7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1jaGFuZ2UtcGFzc3dvcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQ2hhbmdlUGFzc3dvcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIHByb3RlY3RlZCBfdmlzaWJsZTtcblxuICBASW5wdXQoKVxuICBnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTtcbiAgfVxuXG4gIHNldCB2aXNpYmxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fdmlzaWJsZSA9IHZhbHVlO1xuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ21vZGFsQ29udGVudCcsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBtb2RhbENvbnRlbnQ6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgZm9ybTogRm9ybUdyb3VwO1xuXG4gIG1vZGFsQnVzeTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIHN0b3JlOiBTdG9yZSwgcHJpdmF0ZSB0b2FzdGVyU2VydmljZTogVG9hc3RlclNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cChcbiAgICAgIHtcbiAgICAgICAgcGFzc3dvcmQ6IFsnJywgcmVxdWlyZWRdLFxuICAgICAgICBuZXdQYXNzd29yZDogWycnLCByZXF1aXJlZF0sXG4gICAgICAgIHJlcGVhdE5ld1Bhc3N3b3JkOiBbJycsIHJlcXVpcmVkXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHZhbGlkYXRvcnM6IFtjb21wYXJlUGFzc3dvcmRzKFsnbmV3UGFzc3dvcmQnLCAncmVwZWF0TmV3UGFzc3dvcmQnXSldLFxuICAgICAgfSxcbiAgICApO1xuICB9XG5cbiAgb25TdWJtaXQoKSB7XG4gICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSByZXR1cm47XG4gICAgdGhpcy5tb2RhbEJ1c3kgPSB0cnVlO1xuXG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKFxuICAgICAgICBuZXcgQ2hhbmdlUGFzc3dvcmQoe1xuICAgICAgICAgIGN1cnJlbnRQYXNzd29yZDogdGhpcy5mb3JtLmdldCgncGFzc3dvcmQnKS52YWx1ZSxcbiAgICAgICAgICBuZXdQYXNzd29yZDogdGhpcy5mb3JtLmdldCgnbmV3UGFzc3dvcmQnKS52YWx1ZSxcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAucGlwZShcbiAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMubW9kYWxCdXN5ID0gZmFsc2U7XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmZvcm0ucmVzZXQoKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6IGVyciA9PiB7XG4gICAgICAgICAgdGhpcy50b2FzdGVyU2VydmljZS5lcnJvcihzbnEoKCkgPT4gZXJyLmVycm9yLmVycm9yLm1lc3NhZ2UsICdBYnBBY2NvdW50OjpEZWZhdWx0RXJyb3JNZXNzYWdlJyksICdFcnJvcicsIHtcbiAgICAgICAgICAgIGxpZmU6IDcwMDAsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgfVxuXG4gIG9wZW5Nb2RhbCgpIHtcbiAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoeyB2aXNpYmxlIH06IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoIXZpc2libGUpIHJldHVybjtcblxuICAgIGlmICh2aXNpYmxlLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5vcGVuTW9kYWwoKTtcbiAgICB9IGVsc2UgaWYgKHZpc2libGUuY3VycmVudFZhbHVlID09PSBmYWxzZSAmJiB0aGlzLnZpc2libGUpIHtcbiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm2015/lib/components/layout/layout.component.js b/npm/ng-packs/dist/theme-basic/esm2015/lib/components/layout/layout.component.js index f4265a292f..3f4c43a1e9 100644 --- a/npm/ng-packs/dist/theme-basic/esm2015/lib/components/layout/layout.component.js +++ b/npm/ng-packs/dist/theme-basic/esm2015/lib/components/layout/layout.component.js @@ -12,7 +12,7 @@ export class LayoutComponent { */ constructor(store) { this.store = store; - this.isCollapsed = false; + this.isCollapsed = true; } /** * @return {?} @@ -41,4 +41,4 @@ if (false) { */ LayoutComponent.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFVLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBT3BDLE1BQU0sT0FBTyxlQUFlOzs7O0lBTzFCLFlBQW9CLEtBQVk7UUFBWixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBTmhDLGdCQUFXLEdBQVksS0FBSyxDQUFDO0lBTU0sQ0FBQzs7OztJQUpwQyxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ25FLENBQUM7OztZQVZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsYUFBYTtnQkFDdkIsZzhCQUFzQztnQkFDdEMsVUFBVSxFQUFFLENBQUMsZUFBZSxDQUFDO2FBQzlCOzs7O1lBTlEsS0FBSzs7OztJQVFaLHNDQUE2Qjs7Ozs7SUFNakIsZ0NBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uZmlnLCBDb25maWdTdGF0ZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBzbGlkZUZyb21Cb3R0b20gfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICcgYWJwLWxheW91dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9sYXlvdXQuY29tcG9uZW50Lmh0bWwnLFxuICBhbmltYXRpb25zOiBbc2xpZGVGcm9tQm90dG9tXSxcbn0pXG5leHBvcnQgY2xhc3MgTGF5b3V0Q29tcG9uZW50IHtcbiAgaXNDb2xsYXBzZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBnZXQgYXBwSW5mbygpOiBDb25maWcuQXBwbGljYXRpb24ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KENvbmZpZ1N0YXRlLmdldEFwcGxpY2F0aW9uSW5mbyk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZSkge31cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFVLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBT3BDLE1BQU0sT0FBTyxlQUFlOzs7O0lBTzFCLFlBQW9CLEtBQVk7UUFBWixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBTmhDLGdCQUFXLEdBQVksSUFBSSxDQUFDO0lBTU8sQ0FBQzs7OztJQUpwQyxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ25FLENBQUM7OztZQVZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsYUFBYTtnQkFDdkIsZzhCQUFzQztnQkFDdEMsVUFBVSxFQUFFLENBQUMsZUFBZSxDQUFDO2FBQzlCOzs7O1lBTlEsS0FBSzs7OztJQVFaLHNDQUE0Qjs7Ozs7SUFNaEIsZ0NBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uZmlnLCBDb25maWdTdGF0ZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBzbGlkZUZyb21Cb3R0b20gfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICcgYWJwLWxheW91dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9sYXlvdXQuY29tcG9uZW50Lmh0bWwnLFxuICBhbmltYXRpb25zOiBbc2xpZGVGcm9tQm90dG9tXSxcbn0pXG5leHBvcnQgY2xhc3MgTGF5b3V0Q29tcG9uZW50IHtcbiAgaXNDb2xsYXBzZWQ6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIGdldCBhcHBJbmZvKCk6IENvbmZpZy5BcHBsaWNhdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoQ29uZmlnU3RhdGUuZ2V0QXBwbGljYXRpb25JbmZvKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm2015/lib/components/profile/profile.component.js b/npm/ng-packs/dist/theme-basic/esm2015/lib/components/profile/profile.component.js index 877d961bb8..de1477f650 100644 --- a/npm/ng-packs/dist/theme-basic/esm2015/lib/components/profile/profile.component.js +++ b/npm/ng-packs/dist/theme-basic/esm2015/lib/components/profile/profile.component.js @@ -19,6 +19,7 @@ export class ProfileComponent { this.fb = fb; this.store = store; this.visibleChange = new EventEmitter(); + this.modalBusy = false; } /** * @return {?} @@ -61,10 +62,12 @@ export class ProfileComponent { onSubmit() { if (this.form.invalid) return; + this.modalBusy = true; this.store.dispatch(new UpdateProfile(this.form.value)).subscribe((/** * @return {?} */ () => { + this.modalBusy = false; this.visible = false; this.form.reset(); })); @@ -94,7 +97,7 @@ export class ProfileComponent { ProfileComponent.decorators = [ { type: Component, args: [{ selector: 'abp-profile', - template: "\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" + template: "\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" }] } ]; /** @nocollapse */ @@ -122,6 +125,8 @@ if (false) { ProfileComponent.prototype.profile$; /** @type {?} */ ProfileComponent.prototype.form; + /** @type {?} */ + ProfileComponent.prototype.modalBusy; /** * @type {?} * @private @@ -133,4 +138,4 @@ if (false) { */ ProfileComponent.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLmJhc2ljLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcHJvZmlsZS9wcm9maWxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBVyxVQUFVLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoRixPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztNQUVoRCxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEdBQUcsVUFBVTtBQU1qRCxNQUFNLE9BQU8sZ0JBQWdCOzs7OztJQXFCM0IsWUFBb0IsRUFBZSxFQUFVLEtBQVk7UUFBckMsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUFVLFVBQUssR0FBTCxLQUFLLENBQU87UUFQekQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBT2dCLENBQUM7Ozs7SUFsQjdELElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDOzs7OztJQUVELElBQUksT0FBTyxDQUFDLEtBQWM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQzs7OztJQVlELFNBQVM7UUFDUCxJQUFJLENBQUMsS0FBSzthQUNQLFFBQVEsQ0FBQyxJQUFJLFVBQVUsRUFBRSxDQUFDO2FBQzFCLElBQUksQ0FDSCxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUM3QixJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ1I7YUFDQSxTQUFTOzs7O1FBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRTtZQUN6QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO2dCQUN4QixRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUN4RCxLQUFLLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDekQsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDM0MsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDakQsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLFdBQVcsSUFBSSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUMxRCxDQUFDLENBQUM7UUFDTCxDQUFDLEVBQUMsQ0FBQztJQUNQLENBQUM7Ozs7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBRTlCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTOzs7UUFBQyxHQUFHLEVBQUU7WUFDckUsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNwQixDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7Ozs7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLENBQUM7Ozs7O0lBRUQsV0FBVyxDQUFDLEVBQUUsT0FBTyxFQUFpQjtRQUNwQyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFFckIsSUFBSSxPQUFPLENBQUMsWUFBWSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUNsQjthQUFNLElBQUksT0FBTyxDQUFDLFlBQVksS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUN6RCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztTQUN0QjtJQUNILENBQUM7OztZQW5FRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGFBQWE7Z0JBQ3ZCLG1vRUFBdUM7YUFDeEM7Ozs7WUFWUSxXQUFXO1lBQ0gsS0FBSzs7O3NCQWFuQixLQUFLOzRCQVVMLE1BQU07O0FBSVA7SUFEQyxNQUFNLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQztzQ0FDdEIsVUFBVTtrREFBbUI7Ozs7OztJQWhCdkMsb0NBQW1COztJQVluQix5Q0FDNEM7O0lBRTVDLG9DQUN1Qzs7SUFFdkMsZ0NBQWdCOzs7OztJQUVKLDhCQUF1Qjs7Ozs7SUFBRSxpQ0FBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9maWxlLCBHZXRQcm9maWxlLCBQcm9maWxlU3RhdGUsIFVwZGF0ZVByb2ZpbGUgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlLCB3aXRoTGF0ZXN0RnJvbSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuY29uc3QgeyBtYXhMZW5ndGgsIHJlcXVpcmVkLCBlbWFpbCB9ID0gVmFsaWRhdG9ycztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLXByb2ZpbGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZmlsZS5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFByb2ZpbGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBwcm90ZWN0ZWQgX3Zpc2libGU7XG5cbiAgQElucHV0KClcbiAgZ2V0IHZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3Zpc2libGU7XG4gIH1cblxuICBzZXQgdmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3Zpc2libGUgPSB2YWx1ZTtcbiAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgdmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBAU2VsZWN0KFByb2ZpbGVTdGF0ZS5nZXRQcm9maWxlKVxuICBwcm9maWxlJDogT2JzZXJ2YWJsZTxQcm9maWxlLlJlc3BvbnNlPjtcblxuICBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxuXG4gIGJ1aWxkRm9ybSgpIHtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFByb2ZpbGUoKSlcbiAgICAgIC5waXBlKFxuICAgICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnByb2ZpbGUkKSxcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKFssIHByb2ZpbGVdKSA9PiB7XG4gICAgICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgICAgIHVzZXJOYW1lOiBbcHJvZmlsZS51c2VyTmFtZSwgW3JlcXVpcmVkLCBtYXhMZW5ndGgoMjU2KV1dLFxuICAgICAgICAgIGVtYWlsOiBbcHJvZmlsZS5lbWFpbCwgW3JlcXVpcmVkLCBlbWFpbCwgbWF4TGVuZ3RoKDI1NildXSxcbiAgICAgICAgICBuYW1lOiBbcHJvZmlsZS5uYW1lIHx8ICcnLCBbbWF4TGVuZ3RoKDY0KV1dLFxuICAgICAgICAgIHN1cm5hbWU6IFtwcm9maWxlLnN1cm5hbWUgfHwgJycsIFttYXhMZW5ndGgoNjQpXV0sXG4gICAgICAgICAgcGhvbmVOdW1iZXI6IFtwcm9maWxlLnBob25lTnVtYmVyIHx8ICcnLCBbbWF4TGVuZ3RoKDE2KV1dLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgb25TdWJtaXQoKSB7XG4gICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSByZXR1cm47XG5cbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBVcGRhdGVQcm9maWxlKHRoaXMuZm9ybS52YWx1ZSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICAgIHRoaXMuZm9ybS5yZXNldCgpO1xuICAgIH0pO1xuICB9XG5cbiAgb3Blbk1vZGFsKCkge1xuICAgIHRoaXMuYnVpbGRGb3JtKCk7XG4gICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKHsgdmlzaWJsZSB9OiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKCF2aXNpYmxlKSByZXR1cm47XG5cbiAgICBpZiAodmlzaWJsZS5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMub3Blbk1vZGFsKCk7XG4gICAgfSBlbHNlIGlmICh2aXNpYmxlLmN1cnJlbnRWYWx1ZSA9PT0gZmFsc2UgJiYgdGhpcy52aXNpYmxlKSB7XG4gICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLmJhc2ljLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcHJvZmlsZS9wcm9maWxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBVyxVQUFVLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoRixPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztNQUVoRCxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEdBQUcsVUFBVTtBQU1qRCxNQUFNLE9BQU8sZ0JBQWdCOzs7OztJQXVCM0IsWUFBb0IsRUFBZSxFQUFVLEtBQVk7UUFBckMsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUFVLFVBQUssR0FBTCxLQUFLLENBQU87UUFUekQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBTzVDLGNBQVMsR0FBWSxLQUFLLENBQUM7SUFFaUMsQ0FBQzs7OztJQXBCN0QsSUFDSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7Ozs7O0lBRUQsSUFBSSxPQUFPLENBQUMsS0FBYztRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDOzs7O0lBY0QsU0FBUztRQUNQLElBQUksQ0FBQyxLQUFLO2FBQ1AsUUFBUSxDQUFDLElBQUksVUFBVSxFQUFFLENBQUM7YUFDMUIsSUFBSSxDQUNILGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQzdCLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDUjthQUNBLFNBQVM7Ozs7UUFBQyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFO1lBQ3pCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7Z0JBQ3hCLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3hELEtBQUssRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUN6RCxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUMzQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNqRCxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsV0FBVyxJQUFJLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQzFELENBQUMsQ0FBQztRQUNMLENBQUMsRUFBQyxDQUFDO0lBQ1AsQ0FBQzs7OztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFFdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVM7OztRQUFDLEdBQUcsRUFBRTtZQUNyRSxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3BCLENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7OztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDdEIsQ0FBQzs7Ozs7SUFFRCxXQUFXLENBQUMsRUFBRSxPQUFPLEVBQWlCO1FBQ3BDLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUVyQixJQUFJLE9BQU8sQ0FBQyxZQUFZLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ2xCO2FBQU0sSUFBSSxPQUFPLENBQUMsWUFBWSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3pELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQzs7O1lBdkVGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsYUFBYTtnQkFDdkIsa2tFQUF1QzthQUN4Qzs7OztZQVZRLFdBQVc7WUFDSCxLQUFLOzs7c0JBYW5CLEtBQUs7NEJBVUwsTUFBTTs7QUFJUDtJQURDLE1BQU0sQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDO3NDQUN0QixVQUFVO2tEQUFtQjs7Ozs7O0lBaEJ2QyxvQ0FBbUI7O0lBWW5CLHlDQUM0Qzs7SUFFNUMsb0NBQ3VDOztJQUV2QyxnQ0FBZ0I7O0lBRWhCLHFDQUEyQjs7Ozs7SUFFZiw4QkFBdUI7Ozs7O0lBQUUsaUNBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvZmlsZSwgR2V0UHJvZmlsZSwgUHJvZmlsZVN0YXRlLCBVcGRhdGVQcm9maWxlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZSwgd2l0aExhdGVzdEZyb20gfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmNvbnN0IHsgbWF4TGVuZ3RoLCByZXF1aXJlZCwgZW1haWwgfSA9IFZhbGlkYXRvcnM7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1wcm9maWxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2ZpbGUuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9maWxlQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgcHJvdGVjdGVkIF92aXNpYmxlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xuICB9XG5cbiAgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl92aXNpYmxlID0gdmFsdWU7XG4gICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQFNlbGVjdChQcm9maWxlU3RhdGUuZ2V0UHJvZmlsZSlcbiAgcHJvZmlsZSQ6IE9ic2VydmFibGU8UHJvZmlsZS5SZXNwb25zZT47XG5cbiAgZm9ybTogRm9ybUdyb3VwO1xuXG4gIG1vZGFsQnVzeTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIHN0b3JlOiBTdG9yZSkge31cblxuICBidWlsZEZvcm0oKSB7XG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKG5ldyBHZXRQcm9maWxlKCkpXG4gICAgICAucGlwZShcbiAgICAgICAgd2l0aExhdGVzdEZyb20odGhpcy5wcm9maWxlJCksXG4gICAgICAgIHRha2UoMSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChbLCBwcm9maWxlXSkgPT4ge1xuICAgICAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgICAgICB1c2VyTmFtZTogW3Byb2ZpbGUudXNlck5hbWUsIFtyZXF1aXJlZCwgbWF4TGVuZ3RoKDI1NildXSxcbiAgICAgICAgICBlbWFpbDogW3Byb2ZpbGUuZW1haWwsIFtyZXF1aXJlZCwgZW1haWwsIG1heExlbmd0aCgyNTYpXV0sXG4gICAgICAgICAgbmFtZTogW3Byb2ZpbGUubmFtZSB8fCAnJywgW21heExlbmd0aCg2NCldXSxcbiAgICAgICAgICBzdXJuYW1lOiBbcHJvZmlsZS5zdXJuYW1lIHx8ICcnLCBbbWF4TGVuZ3RoKDY0KV1dLFxuICAgICAgICAgIHBob25lTnVtYmVyOiBbcHJvZmlsZS5waG9uZU51bWJlciB8fCAnJywgW21heExlbmd0aCgxNildXSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG9uU3VibWl0KCkge1xuICAgIGlmICh0aGlzLmZvcm0uaW52YWxpZCkgcmV0dXJuO1xuICAgIHRoaXMubW9kYWxCdXN5ID0gdHJ1ZTtcblxuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFVwZGF0ZVByb2ZpbGUodGhpcy5mb3JtLnZhbHVlKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMubW9kYWxCdXN5ID0gZmFsc2U7XG4gICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICAgIHRoaXMuZm9ybS5yZXNldCgpO1xuICAgIH0pO1xuICB9XG5cbiAgb3Blbk1vZGFsKCkge1xuICAgIHRoaXMuYnVpbGRGb3JtKCk7XG4gICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKHsgdmlzaWJsZSB9OiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKCF2aXNpYmxlKSByZXR1cm47XG5cbiAgICBpZiAodmlzaWJsZS5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMub3Blbk1vZGFsKCk7XG4gICAgfSBlbHNlIGlmICh2aXNpYmxlLmN1cnJlbnRWYWx1ZSA9PT0gZmFsc2UgJiYgdGhpcy52aXNpYmxlKSB7XG4gICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm5/lib/components/application-layout/application-layout.component.js b/npm/ng-packs/dist/theme-basic/esm5/lib/components/application-layout/application-layout.component.js index b6b28df370..e75005e8df 100644 --- a/npm/ng-packs/dist/theme-basic/esm5/lib/components/application-layout/application-layout.component.js +++ b/npm/ng-packs/dist/theme-basic/esm5/lib/components/application-layout/application-layout.component.js @@ -229,7 +229,7 @@ var ApplicationLayoutComponent = /** @class */ (function () { ApplicationLayoutComponent.decorators = [ { type: Component, args: [{ selector: 'abp-layout-application', - template: "\n \n\n
      \n \n
    \n
    \n\n\n
  • \n \n {{ defaultLanguage$ | async }}\n \n
    \n {{ lang?.displayName }}\n
    \n
  • \n
    \n\n\n
  • \n \n {{ (currentUser$ | async)?.userName }}\n \n \n
  • \n\n \n\n \n
    \n" + template: "\n \n\n
      \n \n
    \n
    \n\n\n
  • \n \n {{ defaultLanguage$ | async }}\n \n
    \n {{ lang?.displayName }}\n
    \n
  • \n
    \n\n\n
  • \n \n {{ (currentUser$ | async)?.userName }}\n \n \n
  • \n\n \n\n \n
    \n" }] } ]; /** @nocollapse */ diff --git a/npm/ng-packs/dist/theme-basic/esm5/lib/components/change-password/change-password.component.js b/npm/ng-packs/dist/theme-basic/esm5/lib/components/change-password/change-password.component.js index 34a424642b..b9444599bd 100644 --- a/npm/ng-packs/dist/theme-basic/esm5/lib/components/change-password/change-password.component.js +++ b/npm/ng-packs/dist/theme-basic/esm5/lib/components/change-password/change-password.component.js @@ -9,6 +9,7 @@ import { FormBuilder, Validators } from '@angular/forms'; import { comparePasswords } from '@ngx-validate/core'; import { Store } from '@ngxs/store'; import snq from 'snq'; +import { finalize } from 'rxjs/operators'; var minLength = Validators.minLength, required = Validators.required; var ChangePasswordComponent = /** @class */ (function () { function ChangePasswordComponent(fb, store, toasterService) { @@ -16,6 +17,7 @@ var ChangePasswordComponent = /** @class */ (function () { this.store = store; this.toasterService = toasterService; this.visibleChange = new EventEmitter(); + this.modalBusy = false; } Object.defineProperty(ChangePasswordComponent.prototype, "visible", { get: /** @@ -60,11 +62,18 @@ var ChangePasswordComponent = /** @class */ (function () { var _this = this; if (this.form.invalid) return; + this.modalBusy = true; this.store .dispatch(new ChangePassword({ currentPassword: this.form.get('password').value, newPassword: this.form.get('newPassword').value, })) + .pipe(finalize((/** + * @return {?} + */ + function () { + _this.modalBusy = false; + }))) .subscribe({ next: (/** * @return {?} @@ -118,7 +127,7 @@ var ChangePasswordComponent = /** @class */ (function () { ChangePasswordComponent.decorators = [ { type: Component, args: [{ selector: 'abp-change-password', - template: "\n \n

    {{ 'AbpIdentity::ChangePassword' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" + template: "\n \n

    {{ 'AbpIdentity::ChangePassword' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" }] } ]; /** @nocollapse */ @@ -147,6 +156,8 @@ if (false) { ChangePasswordComponent.prototype.modalContent; /** @type {?} */ ChangePasswordComponent.prototype.form; + /** @type {?} */ + ChangePasswordComponent.prototype.modalBusy; /** * @type {?} * @private @@ -163,4 +174,4 @@ if (false) { */ ChangePasswordComponent.prototype.toasterService; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9jaGFuZ2UtcGFzc3dvcmQvY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFTixXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQWEsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUM7QUFFZCxJQUFBLGdDQUFTLEVBQUUsOEJBQVE7QUFFM0I7SUF5QkUsaUNBQW9CLEVBQWUsRUFBVSxLQUFZLEVBQVUsY0FBOEI7UUFBN0UsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUFVLFVBQUssR0FBTCxLQUFLLENBQU87UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFQakcsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBT3dELENBQUM7SUFsQnJHLHNCQUNJLDRDQUFPOzs7O1FBRFg7WUFFRSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDdkIsQ0FBQzs7Ozs7UUFFRCxVQUFZLEtBQWM7WUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsQ0FBQzs7O09BTEE7Ozs7SUFpQkQsMENBQVE7OztJQUFSO1FBQ0UsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FDdkI7WUFDRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDO1lBQ3hCLFdBQVcsRUFBRSxDQUFDLEVBQUUsRUFBRSxRQUFRLENBQUM7WUFDM0IsaUJBQWlCLEVBQUUsQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDO1NBQ2xDLEVBQ0Q7WUFDRSxVQUFVLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLGFBQWEsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7U0FDckUsQ0FDRixDQUFDO0lBQ0osQ0FBQzs7OztJQUVELDBDQUFROzs7SUFBUjtRQUFBLGlCQXFCQztRQXBCQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFFOUIsSUFBSSxDQUFDLEtBQUs7YUFDUCxRQUFRLENBQ1AsSUFBSSxjQUFjLENBQUM7WUFDakIsZUFBZSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUs7WUFDaEQsV0FBVyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEtBQUs7U0FDaEQsQ0FBQyxDQUNIO2FBQ0EsU0FBUyxDQUFDO1lBQ1QsSUFBSTs7O1lBQUU7Z0JBQ0osS0FBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0JBQ3JCLEtBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDcEIsQ0FBQyxDQUFBO1lBQ0QsS0FBSzs7OztZQUFFLFVBQUEsR0FBRztnQkFDUixLQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxHQUFHOzs7Z0JBQUMsY0FBTSxPQUFBLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBdkIsQ0FBdUIsR0FBRSxpQ0FBaUMsQ0FBQyxFQUFFLE9BQU8sRUFBRTtvQkFDeEcsSUFBSSxFQUFFLElBQUk7aUJBQ1gsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFBO1NBQ0YsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7OztJQUVELDJDQUFTOzs7SUFBVDtRQUNFLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLENBQUM7Ozs7O0lBRUQsNkNBQVc7Ozs7SUFBWCxVQUFZLEVBQTBCO1lBQXhCLG9CQUFPO1FBQ25CLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUVyQixJQUFJLE9BQU8sQ0FBQyxZQUFZLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ2xCO2FBQU0sSUFBSSxPQUFPLENBQUMsWUFBWSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3pELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQzs7Z0JBM0VGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixrMERBQStDO2lCQUNoRDs7OztnQkFWUSxXQUFXO2dCQUVYLEtBQUs7Z0JBZEwsY0FBYzs7OzBCQTBCcEIsS0FBSztnQ0FVTCxNQUFNOytCQUdOLFNBQVMsU0FBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOztJQXdEOUMsOEJBQUM7Q0FBQSxBQTVFRCxJQTRFQztTQXhFWSx1QkFBdUI7Ozs7OztJQUNsQywyQ0FBbUI7O0lBWW5CLGdEQUM0Qzs7SUFFNUMsK0NBQytCOztJQUUvQix1Q0FBZ0I7Ozs7O0lBRUoscUNBQXVCOzs7OztJQUFFLHdDQUFvQjs7Ozs7SUFBRSxpREFBc0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VQYXNzd29yZCB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBUb2FzdGVyU2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY29tcGFyZVBhc3N3b3JkcyB9IGZyb20gJ0BuZ3gtdmFsaWRhdGUvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCBzbnEgZnJvbSAnc25xJztcblxuY29uc3QgeyBtaW5MZW5ndGgsIHJlcXVpcmVkIH0gPSBWYWxpZGF0b3JzO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtY2hhbmdlLXBhc3N3b3JkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoYW5nZS1wYXNzd29yZC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIENoYW5nZVBhc3N3b3JkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBwcm90ZWN0ZWQgX3Zpc2libGU7XG5cbiAgQElucHV0KClcbiAgZ2V0IHZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3Zpc2libGU7XG4gIH1cblxuICBzZXQgdmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3Zpc2libGUgPSB2YWx1ZTtcbiAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgdmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBAVmlld0NoaWxkKCdtb2RhbENvbnRlbnQnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgbW9kYWxDb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIGZvcm06IEZvcm1Hcm91cDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBGb3JtQnVpbGRlciwgcHJpdmF0ZSBzdG9yZTogU3RvcmUsIHByaXZhdGUgdG9hc3RlclNlcnZpY2U6IFRvYXN0ZXJTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoXG4gICAgICB7XG4gICAgICAgIHBhc3N3b3JkOiBbJycsIHJlcXVpcmVkXSxcbiAgICAgICAgbmV3UGFzc3dvcmQ6IFsnJywgcmVxdWlyZWRdLFxuICAgICAgICByZXBlYXROZXdQYXNzd29yZDogWycnLCByZXF1aXJlZF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB2YWxpZGF0b3JzOiBbY29tcGFyZVBhc3N3b3JkcyhbJ25ld1Bhc3N3b3JkJywgJ3JlcGVhdE5ld1Bhc3N3b3JkJ10pXSxcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIG9uU3VibWl0KCkge1xuICAgIGlmICh0aGlzLmZvcm0uaW52YWxpZCkgcmV0dXJuO1xuXG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKFxuICAgICAgICBuZXcgQ2hhbmdlUGFzc3dvcmQoe1xuICAgICAgICAgIGN1cnJlbnRQYXNzd29yZDogdGhpcy5mb3JtLmdldCgncGFzc3dvcmQnKS52YWx1ZSxcbiAgICAgICAgICBuZXdQYXNzd29yZDogdGhpcy5mb3JtLmdldCgnbmV3UGFzc3dvcmQnKS52YWx1ZSxcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKCkgPT4ge1xuICAgICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuZm9ybS5yZXNldCgpO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogZXJyID0+IHtcbiAgICAgICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLmVycm9yKHNucSgoKSA9PiBlcnIuZXJyb3IuZXJyb3IubWVzc2FnZSwgJ0FicEFjY291bnQ6OkRlZmF1bHRFcnJvck1lc3NhZ2UnKSwgJ0Vycm9yJywge1xuICAgICAgICAgICAgbGlmZTogNzAwMCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICB9XG5cbiAgb3Blbk1vZGFsKCkge1xuICAgIHRoaXMudmlzaWJsZSA9IHRydWU7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyh7IHZpc2libGUgfTogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICghdmlzaWJsZSkgcmV0dXJuO1xuXG4gICAgaWYgKHZpc2libGUuY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLm9wZW5Nb2RhbCgpO1xuICAgIH0gZWxzZSBpZiAodmlzaWJsZS5jdXJyZW50VmFsdWUgPT09IGZhbHNlICYmIHRoaXMudmlzaWJsZSkge1xuICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9jaGFuZ2UtcGFzc3dvcmQvY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFTixXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQWEsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUM7QUFDdEIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxDLElBQUEsZ0NBQVMsRUFBRSw4QkFBUTtBQUUzQjtJQTJCRSxpQ0FBb0IsRUFBZSxFQUFVLEtBQVksRUFBVSxjQUE4QjtRQUE3RSxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQVRqRyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFPNUMsY0FBUyxHQUFZLEtBQUssQ0FBQztJQUV5RSxDQUFDO0lBcEJyRyxzQkFDSSw0Q0FBTzs7OztRQURYO1lBRUUsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3ZCLENBQUM7Ozs7O1FBRUQsVUFBWSxLQUFjO1lBQ3hCLElB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Q0FBdUI7Ozs7O0lBQUUsd0NBQW9COzs7OztJQUFFLGlEQUFzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZVBhc3N3b3JkIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IFRvYXN0ZXJTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjb21wYXJlUGFzc3dvcmRzIH0gZnJvbSAnQG5neC12YWxpZGF0ZS9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHNucSBmcm9tICdzbnEnO1xuaW1wb3J0IHsgZmluYWxpemUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmNvbnN0IHsgbWluTGVuZ3RoLCByZXF1aXJlZCB9ID0gVmFsaWRhdG9ycztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLWNoYW5nZS1wYXNzd29yZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGFuZ2UtcGFzc3dvcmQuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBDaGFuZ2VQYXNzd29yZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgcHJvdGVjdGVkIF92aXNpYmxlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xuICB9XG5cbiAgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl92aXNpYmxlID0gdmFsdWU7XG4gICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQFZpZXdDaGlsZCgnbW9kYWxDb250ZW50JywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIG1vZGFsQ29udGVudDogVGVtcGxhdGVSZWY8YW55PjtcblxuICBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgbW9kYWxCdXN5OiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgc3RvcmU6IFN0b3JlLCBwcml2YXRlIHRvYXN0ZXJTZXJ2aWNlOiBUb2FzdGVyU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKFxuICAgICAge1xuICAgICAgICBwYXNzd29yZDogWycnLCByZXF1aXJlZF0sXG4gICAgICAgIG5ld1Bhc3N3b3JkOiBbJycsIHJlcXVpcmVkXSxcbiAgICAgICAgcmVwZWF0TmV3UGFzc3dvcmQ6IFsnJywgcmVxdWlyZWRdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdmFsaWRhdG9yczogW2NvbXBhcmVQYXNzd29yZHMoWyduZXdQYXNzd29yZCcsICdyZXBlYXROZXdQYXNzd29yZCddKV0sXG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICBvblN1Ym1pdCgpIHtcbiAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHJldHVybjtcbiAgICB0aGlzLm1vZGFsQnVzeSA9IHRydWU7XG5cbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2goXG4gICAgICAgIG5ldyBDaGFuZ2VQYXNzd29yZCh7XG4gICAgICAgICAgY3VycmVudFBhc3N3b3JkOiB0aGlzLmZvcm0uZ2V0KCdwYXNzd29yZCcpLnZhbHVlLFxuICAgICAgICAgIG5ld1Bhc3N3b3JkOiB0aGlzLmZvcm0uZ2V0KCduZXdQYXNzd29yZCcpLnZhbHVlLFxuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5tb2RhbEJ1c3kgPSBmYWxzZTtcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKCkgPT4ge1xuICAgICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuZm9ybS5yZXNldCgpO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogZXJyID0+IHtcbiAgICAgICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLmVycm9yKHNucSgoKSA9PiBlcnIuZXJyb3IuZXJyb3IubWVzc2FnZSwgJ0FicEFjY291bnQ6OkRlZmF1bHRFcnJvck1lc3NhZ2UnKSwgJ0Vycm9yJywge1xuICAgICAgICAgICAgbGlmZTogNzAwMCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICB9XG5cbiAgb3Blbk1vZGFsKCkge1xuICAgIHRoaXMudmlzaWJsZSA9IHRydWU7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyh7IHZpc2libGUgfTogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICghdmlzaWJsZSkgcmV0dXJuO1xuXG4gICAgaWYgKHZpc2libGUuY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLm9wZW5Nb2RhbCgpO1xuICAgIH0gZWxzZSBpZiAodmlzaWJsZS5jdXJyZW50VmFsdWUgPT09IGZhbHNlICYmIHRoaXMudmlzaWJsZSkge1xuICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm5/lib/components/layout/layout.component.js b/npm/ng-packs/dist/theme-basic/esm5/lib/components/layout/layout.component.js index 7386b75adf..72beb73c1e 100644 --- a/npm/ng-packs/dist/theme-basic/esm5/lib/components/layout/layout.component.js +++ b/npm/ng-packs/dist/theme-basic/esm5/lib/components/layout/layout.component.js @@ -9,7 +9,7 @@ import { Store } from '@ngxs/store'; var LayoutComponent = /** @class */ (function () { function LayoutComponent(store) { this.store = store; - this.isCollapsed = false; + this.isCollapsed = true; } Object.defineProperty(LayoutComponent.prototype, "appInfo", { get: /** @@ -44,4 +44,4 @@ if (false) { */ LayoutComponent.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFVLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXBDO0lBWUUseUJBQW9CLEtBQVk7UUFBWixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBTmhDLGdCQUFXLEdBQVksS0FBSyxDQUFDO0lBTU0sQ0FBQztJQUpwQyxzQkFBSSxvQ0FBTzs7OztRQUFYO1lBQ0UsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNuRSxDQUFDOzs7T0FBQTs7Z0JBVkYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO29CQUN2QixnOEJBQXNDO29CQUN0QyxVQUFVLEVBQUUsQ0FBQyxlQUFlLENBQUM7aUJBQzlCOzs7O2dCQU5RLEtBQUs7O0lBZWQsc0JBQUM7Q0FBQSxBQWJELElBYUM7U0FSWSxlQUFlOzs7SUFDMUIsc0NBQTZCOzs7OztJQU1qQixnQ0FBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25maWcsIENvbmZpZ1N0YXRlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IHNsaWRlRnJvbUJvdHRvbSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJyBhYnAtbGF5b3V0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xheW91dC5jb21wb25lbnQuaHRtbCcsXG4gIGFuaW1hdGlvbnM6IFtzbGlkZUZyb21Cb3R0b21dLFxufSlcbmV4cG9ydCBjbGFzcyBMYXlvdXRDb21wb25lbnQge1xuICBpc0NvbGxhcHNlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGdldCBhcHBJbmZvKCk6IENvbmZpZy5BcHBsaWNhdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoQ29uZmlnU3RhdGUuZ2V0QXBwbGljYXRpb25JbmZvKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFVLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXBDO0lBWUUseUJBQW9CLEtBQVk7UUFBWixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBTmhDLGdCQUFXLEdBQVksSUFBSSxDQUFDO0lBTU8sQ0FBQztJQUpwQyxzQkFBSSxvQ0FBTzs7OztRQUFYO1lBQ0UsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNuRSxDQUFDOzs7T0FBQTs7Z0JBVkYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO29CQUN2QixnOEJBQXNDO29CQUN0QyxVQUFVLEVBQUUsQ0FBQyxlQUFlLENBQUM7aUJBQzlCOzs7O2dCQU5RLEtBQUs7O0lBZWQsc0JBQUM7Q0FBQSxBQWJELElBYUM7U0FSWSxlQUFlOzs7SUFDMUIsc0NBQTRCOzs7OztJQU1oQixnQ0FBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25maWcsIENvbmZpZ1N0YXRlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IHNsaWRlRnJvbUJvdHRvbSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJyBhYnAtbGF5b3V0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xheW91dC5jb21wb25lbnQuaHRtbCcsXG4gIGFuaW1hdGlvbnM6IFtzbGlkZUZyb21Cb3R0b21dLFxufSlcbmV4cG9ydCBjbGFzcyBMYXlvdXRDb21wb25lbnQge1xuICBpc0NvbGxhcHNlZDogYm9vbGVhbiA9IHRydWU7XG5cbiAgZ2V0IGFwcEluZm8oKTogQ29uZmlnLkFwcGxpY2F0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChDb25maWdTdGF0ZS5nZXRBcHBsaWNhdGlvbkluZm8pO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmUpIHt9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm5/lib/components/profile/profile.component.js b/npm/ng-packs/dist/theme-basic/esm5/lib/components/profile/profile.component.js index a524d3e0fa..cecd37fd0d 100644 --- a/npm/ng-packs/dist/theme-basic/esm5/lib/components/profile/profile.component.js +++ b/npm/ng-packs/dist/theme-basic/esm5/lib/components/profile/profile.component.js @@ -15,6 +15,7 @@ var ProfileComponent = /** @class */ (function () { this.fb = fb; this.store = store; this.visibleChange = new EventEmitter(); + this.modalBusy = false; } Object.defineProperty(ProfileComponent.prototype, "visible", { get: /** @@ -70,10 +71,12 @@ var ProfileComponent = /** @class */ (function () { var _this = this; if (this.form.invalid) return; + this.modalBusy = true; this.store.dispatch(new UpdateProfile(this.form.value)).subscribe((/** * @return {?} */ function () { + _this.modalBusy = false; _this.visible = false; _this.form.reset(); })); @@ -110,7 +113,7 @@ var ProfileComponent = /** @class */ (function () { ProfileComponent.decorators = [ { type: Component, args: [{ selector: 'abp-profile', - template: "\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" + template: "\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" }] } ]; /** @nocollapse */ @@ -141,6 +144,8 @@ if (false) { ProfileComponent.prototype.profile$; /** @type {?} */ ProfileComponent.prototype.form; + /** @type {?} */ + ProfileComponent.prototype.modalBusy; /** * @type {?} * @private @@ -152,4 +157,4 @@ if (false) { */ ProfileComponent.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLmJhc2ljLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcHJvZmlsZS9wcm9maWxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBVyxVQUFVLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoRixPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5QyxJQUFBLGdDQUFTLEVBQUUsOEJBQVEsRUFBRSx3QkFBSztBQUVsQztJQXlCRSwwQkFBb0IsRUFBZSxFQUFVLEtBQVk7UUFBckMsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUFVLFVBQUssR0FBTCxLQUFLLENBQU87UUFQekQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBT2dCLENBQUM7SUFsQjdELHNCQUNJLHFDQUFPOzs7O1FBRFg7WUFFRSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDdkIsQ0FBQzs7Ozs7UUFFRCxVQUFZLEtBQWM7WUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsQ0FBQzs7O09BTEE7Ozs7SUFpQkQsb0NBQVM7OztJQUFUO1FBQUEsaUJBZ0JDO1FBZkMsSUFBSSxDQUFDLEtBQUs7YUFDUCxRQUFRLENBQUMsSUFBSSxVQUFVLEVBQUUsQ0FBQzthQUMxQixJQUFJLENBQ0gsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFDN0IsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUNSO2FBQ0EsU0FBUzs7OztRQUFDLFVBQUMsRUFBVztnQkFBWCwwQkFBVyxFQUFSLGVBQU87WUFDcEIsS0FBSSxDQUFDLElBQUksR0FBRyxLQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztnQkFDeEIsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDeEQsS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3pELElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQzNDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pELFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXLElBQUksRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDMUQsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxFQUFDLENBQUM7SUFDUCxDQUFDOzs7O0lBRUQsbUNBQVE7OztJQUFSO1FBQUEsaUJBT0M7UUFOQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFFOUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVM7OztRQUFDO1lBQ2hFLEtBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3JCLEtBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDcEIsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7O0lBRUQsb0NBQVM7OztJQUFUO1FBQ0UsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLENBQUM7Ozs7O0lBRUQsc0NBQVc7Ozs7SUFBWCxVQUFZLEVBQTBCO1lBQXhCLG9CQUFPO1FBQ25CLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUVyQixJQUFJLE9BQU8sQ0FBQyxZQUFZLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ2xCO2FBQU0sSUFBSSxPQUFPLENBQUMsWUFBWSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3pELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQzs7Z0JBbkVGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsbW9FQUF1QztpQkFDeEM7Ozs7Z0JBVlEsV0FBVztnQkFDSCxLQUFLOzs7MEJBYW5CLEtBQUs7Z0NBVUwsTUFBTTs7SUFJUDtRQURDLE1BQU0sQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDOzBDQUN0QixVQUFVO3NEQUFtQjtJQStDekMsdUJBQUM7Q0FBQSxBQXBFRCxJQW9FQztTQWhFWSxnQkFBZ0I7Ozs7OztJQUMzQixvQ0FBbUI7O0lBWW5CLHlDQUM0Qzs7SUFFNUMsb0NBQ3VDOztJQUV2QyxnQ0FBZ0I7Ozs7O0lBRUosOEJBQXVCOzs7OztJQUFFLGlDQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb2ZpbGUsIEdldFByb2ZpbGUsIFByb2ZpbGVTdGF0ZSwgVXBkYXRlUHJvZmlsZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UsIHdpdGhMYXRlc3RGcm9tIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5jb25zdCB7IG1heExlbmd0aCwgcmVxdWlyZWQsIGVtYWlsIH0gPSBWYWxpZGF0b3JzO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtcHJvZmlsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9maWxlLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZmlsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIHByb3RlY3RlZCBfdmlzaWJsZTtcblxuICBASW5wdXQoKVxuICBnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTtcbiAgfVxuXG4gIHNldCB2aXNpYmxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fdmlzaWJsZSA9IHZhbHVlO1xuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBTZWxlY3QoUHJvZmlsZVN0YXRlLmdldFByb2ZpbGUpXG4gIHByb2ZpbGUkOiBPYnNlcnZhYmxlPFByb2ZpbGUuUmVzcG9uc2U+O1xuXG4gIGZvcm06IEZvcm1Hcm91cDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBGb3JtQnVpbGRlciwgcHJpdmF0ZSBzdG9yZTogU3RvcmUpIHt9XG5cbiAgYnVpbGRGb3JtKCkge1xuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5kaXNwYXRjaChuZXcgR2V0UHJvZmlsZSgpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMucHJvZmlsZSQpLFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoWywgcHJvZmlsZV0pID0+IHtcbiAgICAgICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICAgICAgdXNlck5hbWU6IFtwcm9maWxlLnVzZXJOYW1lLCBbcmVxdWlyZWQsIG1heExlbmd0aCgyNTYpXV0sXG4gICAgICAgICAgZW1haWw6IFtwcm9maWxlLmVtYWlsLCBbcmVxdWlyZWQsIGVtYWlsLCBtYXhMZW5ndGgoMjU2KV1dLFxuICAgICAgICAgIG5hbWU6IFtwcm9maWxlLm5hbWUgfHwgJycsIFttYXhMZW5ndGgoNjQpXV0sXG4gICAgICAgICAgc3VybmFtZTogW3Byb2ZpbGUuc3VybmFtZSB8fCAnJywgW21heExlbmd0aCg2NCldXSxcbiAgICAgICAgICBwaG9uZU51bWJlcjogW3Byb2ZpbGUucGhvbmVOdW1iZXIgfHwgJycsIFttYXhMZW5ndGgoMTYpXV0sXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gIH1cblxuICBvblN1Ym1pdCgpIHtcbiAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHJldHVybjtcblxuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFVwZGF0ZVByb2ZpbGUodGhpcy5mb3JtLnZhbHVlKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgICAgdGhpcy5mb3JtLnJlc2V0KCk7XG4gICAgfSk7XG4gIH1cblxuICBvcGVuTW9kYWwoKSB7XG4gICAgdGhpcy5idWlsZEZvcm0oKTtcbiAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoeyB2aXNpYmxlIH06IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoIXZpc2libGUpIHJldHVybjtcblxuICAgIGlmICh2aXNpYmxlLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5vcGVuTW9kYWwoKTtcbiAgICB9IGVsc2UgaWYgKHZpc2libGUuY3VycmVudFZhbHVlID09PSBmYWxzZSAmJiB0aGlzLnZpc2libGUpIHtcbiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLmJhc2ljLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcHJvZmlsZS9wcm9maWxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBVyxVQUFVLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoRixPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5QyxJQUFBLGdDQUFTLEVBQUUsOEJBQVEsRUFBRSx3QkFBSztBQUVsQztJQTJCRSwwQkFBb0IsRUFBZSxFQUFVLEtBQVk7UUFBckMsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUFVLFVBQUssR0FBTCxLQUFLLENBQU87UUFUekQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBTzVDLGNBQVMsR0FBWSxLQUFLLENBQUM7SUFFaUMsQ0FBQztJQXBCN0Qsc0JBQ0kscUNBQU87Ozs7UUFEWDtZQUVFLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUN2QixDQUFDOzs7OztRQUVELFVBQVksS0FBYztZQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztZQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxDQUFDOzs7T0FMQTs7OztJQW1CRCxv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dGVudCI6WyJpbXBvcnQgeyBQcm9maWxlLCBHZXRQcm9maWxlLCBQcm9maWxlU3RhdGUsIFVwZGF0ZVByb2ZpbGUgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlLCB3aXRoTGF0ZXN0RnJvbSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuY29uc3QgeyBtYXhMZW5ndGgsIHJlcXVpcmVkLCBlbWFpbCB9ID0gVmFsaWRhdG9ycztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLXByb2ZpbGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZmlsZS5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFByb2ZpbGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBwcm90ZWN0ZWQgX3Zpc2libGU7XG5cbiAgQElucHV0KClcbiAgZ2V0IHZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3Zpc2libGU7XG4gIH1cblxuICBzZXQgdmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3Zpc2libGUgPSB2YWx1ZTtcbiAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgdmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBAU2VsZWN0KFByb2ZpbGVTdGF0ZS5nZXRQcm9maWxlKVxuICBwcm9maWxlJDogT2JzZXJ2YWJsZTxQcm9maWxlLlJlc3BvbnNlPjtcblxuICBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgbW9kYWxCdXN5OiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxuXG4gIGJ1aWxkRm9ybSgpIHtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFByb2ZpbGUoKSlcbiAgICAgIC5waXBlKFxuICAgICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnByb2ZpbGUkKSxcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKFssIHByb2ZpbGVdKSA9PiB7XG4gICAgICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgICAgIHVzZXJOYW1lOiBbcHJvZmlsZS51c2VyTmFtZSwgW3JlcXVpcmVkLCBtYXhMZW5ndGgoMjU2KV1dLFxuICAgICAgICAgIGVtYWlsOiBbcHJvZmlsZS5lbWFpbCwgW3JlcXVpcmVkLCBlbWFpbCwgbWF4TGVuZ3RoKDI1NildXSxcbiAgICAgICAgICBuYW1lOiBbcHJvZmlsZS5uYW1lIHx8ICcnLCBbbWF4TGVuZ3RoKDY0KV1dLFxuICAgICAgICAgIHN1cm5hbWU6IFtwcm9maWxlLnN1cm5hbWUgfHwgJycsIFttYXhMZW5ndGgoNjQpXV0sXG4gICAgICAgICAgcGhvbmVOdW1iZXI6IFtwcm9maWxlLnBob25lTnVtYmVyIHx8ICcnLCBbbWF4TGVuZ3RoKDE2KV1dLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgb25TdWJtaXQoKSB7XG4gICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSByZXR1cm47XG4gICAgdGhpcy5tb2RhbEJ1c3kgPSB0cnVlO1xuXG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgVXBkYXRlUHJvZmlsZSh0aGlzLmZvcm0udmFsdWUpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5tb2RhbEJ1c3kgPSBmYWxzZTtcbiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgICAgdGhpcy5mb3JtLnJlc2V0KCk7XG4gICAgfSk7XG4gIH1cblxuICBvcGVuTW9kYWwoKSB7XG4gICAgdGhpcy5idWlsZEZvcm0oKTtcbiAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoeyB2aXNpYmxlIH06IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoIXZpc2libGUpIHJldHVybjtcblxuICAgIGlmICh2aXNpYmxlLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5vcGVuTW9kYWwoKTtcbiAgICB9IGVsc2UgaWYgKHZpc2libGUuY3VycmVudFZhbHVlID09PSBmYWxzZSAmJiB0aGlzLnZpc2libGUpIHtcbiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/fesm2015/abp-ng.theme.basic.js b/npm/ng-packs/dist/theme-basic/fesm2015/abp-ng.theme.basic.js index 7e12b5be19..d60f25a6cd 100644 --- a/npm/ng-packs/dist/theme-basic/fesm2015/abp-ng.theme.basic.js +++ b/npm/ng-packs/dist/theme-basic/fesm2015/abp-ng.theme.basic.js @@ -2,16 +2,16 @@ import { ChangePassword, SessionState, takeUntilDestroy, SetLanguage, GetAppConf import { EventEmitter, Component, Input, Output, ViewChild, TemplateRef, ViewChildren, NgModule } from '@angular/core'; import { NgbDropdown, NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; import { ToasterService, slideFromBottom, ThemeSharedModule } from '@abp/ng.theme.shared'; -import { FormBuilder, Validators } from '@angular/forms'; +import { Validators, FormBuilder } from '@angular/forms'; import { comparePasswords, NgxValidateCoreModule } from '@ngx-validate/core'; import { Store, Action, Selector, State, Select, NgxsModule } from '@ngxs/store'; import snq from 'snq'; +import { finalize, map, filter, debounceTime, withLatestFrom, take } from 'rxjs/operators'; import { __decorate, __metadata } from 'tslib'; import { Navigate, RouterState } from '@ngxs/router-plugin'; import { OAuthService } from 'angular-oauth2-oidc'; import compare from 'just-compare'; import { fromEvent, Observable } from 'rxjs'; -import { map, filter, debounceTime, withLatestFrom, take } from 'rxjs/operators'; import { ToastModule } from 'primeng/toast'; /** @@ -30,6 +30,7 @@ class ChangePasswordComponent { this.store = store; this.toasterService = toasterService; this.visibleChange = new EventEmitter(); + this.modalBusy = false; } /** * @return {?} @@ -63,11 +64,18 @@ class ChangePasswordComponent { onSubmit() { if (this.form.invalid) return; + this.modalBusy = true; this.store .dispatch(new ChangePassword({ currentPassword: this.form.get('password').value, newPassword: this.form.get('newPassword').value, })) + .pipe(finalize((/** + * @return {?} + */ + () => { + this.modalBusy = false; + }))) .subscribe({ next: (/** * @return {?} @@ -114,7 +122,7 @@ class ChangePasswordComponent { ChangePasswordComponent.decorators = [ { type: Component, args: [{ selector: 'abp-change-password', - template: "\n \n

    {{ 'AbpIdentity::ChangePassword' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" + template: "\n \n

    {{ 'AbpIdentity::ChangePassword' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" }] } ]; /** @nocollapse */ @@ -128,6 +136,36 @@ ChangePasswordComponent.propDecorators = { visibleChange: [{ type: Output }], modalContent: [{ type: ViewChild, args: ['modalContent', { static: false },] }] }; +if (false) { + /** + * @type {?} + * @protected + */ + ChangePasswordComponent.prototype._visible; + /** @type {?} */ + ChangePasswordComponent.prototype.visibleChange; + /** @type {?} */ + ChangePasswordComponent.prototype.modalContent; + /** @type {?} */ + ChangePasswordComponent.prototype.form; + /** @type {?} */ + ChangePasswordComponent.prototype.modalBusy; + /** + * @type {?} + * @private + */ + ChangePasswordComponent.prototype.fb; + /** + * @type {?} + * @private + */ + ChangePasswordComponent.prototype.store; + /** + * @type {?} + * @private + */ + ChangePasswordComponent.prototype.toasterService; +} /** * @fileoverview added by tsickle @@ -146,6 +184,12 @@ AccountLayoutComponent.decorators = [ template: "\n \n\n \n \n \n \n \n\n" }] } ]; +if (false) { + /** @type {?} */ + AccountLayoutComponent.type; + /** @type {?} */ + AccountLayoutComponent.prototype.isCollapsed; +} /** * @fileoverview added by tsickle @@ -160,6 +204,12 @@ class AddNavigationElement { } } AddNavigationElement.type = '[Layout] Add Navigation Element'; +if (false) { + /** @type {?} */ + AddNavigationElement.type; + /** @type {?} */ + AddNavigationElement.prototype.payload; +} class RemoveNavigationElementByName { /** * @param {?} name @@ -169,6 +219,17 @@ class RemoveNavigationElementByName { } } RemoveNavigationElementByName.type = '[Layout] Remove Navigation ElementByName'; +if (false) { + /** @type {?} */ + RemoveNavigationElementByName.type; + /** @type {?} */ + RemoveNavigationElementByName.prototype.name; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ /** * @fileoverview added by tsickle @@ -270,6 +331,11 @@ LayoutState = __decorate([ }) ], LayoutState); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -450,7 +516,7 @@ ApplicationLayoutComponent.type = "application" /* application */; ApplicationLayoutComponent.decorators = [ { type: Component, args: [{ selector: 'abp-layout-application', - template: "\n \n\n
      \n \n
    \n
    \n\n\n
  • \n \n {{ defaultLanguage$ | async }}\n \n
    \n {{ lang?.displayName }}\n
    \n
  • \n
    \n\n\n
  • \n \n {{ (currentUser$ | async)?.userName }}\n \n \n
  • \n\n \n\n \n
    \n" + template: "\n \n\n
      \n \n
    \n
    \n\n\n
  • \n \n {{ defaultLanguage$ | async }}\n \n
    \n {{ lang?.displayName }}\n
    \n
  • \n
    \n\n\n
  • \n \n {{ (currentUser$ | async)?.userName }}\n \n \n
  • \n\n \n\n \n
    \n" }] } ]; /** @nocollapse */ @@ -479,6 +545,46 @@ __decorate([ Select(LayoutState.getNavigationElements), __metadata("design:type", Observable) ], ApplicationLayoutComponent.prototype, "navElements$", void 0); +if (false) { + /** @type {?} */ + ApplicationLayoutComponent.type; + /** @type {?} */ + ApplicationLayoutComponent.prototype.routes$; + /** @type {?} */ + ApplicationLayoutComponent.prototype.currentUser$; + /** @type {?} */ + ApplicationLayoutComponent.prototype.languages$; + /** @type {?} */ + ApplicationLayoutComponent.prototype.navElements$; + /** @type {?} */ + ApplicationLayoutComponent.prototype.currentUserRef; + /** @type {?} */ + ApplicationLayoutComponent.prototype.languageRef; + /** @type {?} */ + ApplicationLayoutComponent.prototype.navbarRootDropdowns; + /** @type {?} */ + ApplicationLayoutComponent.prototype.isOpenChangePassword; + /** @type {?} */ + ApplicationLayoutComponent.prototype.isOpenProfile; + /** @type {?} */ + ApplicationLayoutComponent.prototype.isDropdownChildDynamic; + /** @type {?} */ + ApplicationLayoutComponent.prototype.rightPartElements; + /** @type {?} */ + ApplicationLayoutComponent.prototype.trackByFn; + /** @type {?} */ + ApplicationLayoutComponent.prototype.trackElementByFn; + /** + * @type {?} + * @private + */ + ApplicationLayoutComponent.prototype.store; + /** + * @type {?} + * @private + */ + ApplicationLayoutComponent.prototype.oauthService; +} /** * @param {?} routes * @return {?} @@ -516,6 +622,10 @@ EmptyLayoutComponent.decorators = [ ` }] } ]; +if (false) { + /** @type {?} */ + EmptyLayoutComponent.type; +} /** * @fileoverview added by tsickle @@ -527,7 +637,7 @@ class LayoutComponent { */ constructor(store) { this.store = store; - this.isCollapsed = false; + this.isCollapsed = true; } /** * @return {?} @@ -547,6 +657,15 @@ LayoutComponent.decorators = [ LayoutComponent.ctorParameters = () => [ { type: Store } ]; +if (false) { + /** @type {?} */ + LayoutComponent.prototype.isCollapsed; + /** + * @type {?} + * @private + */ + LayoutComponent.prototype.store; +} /** * @fileoverview added by tsickle @@ -562,6 +681,7 @@ class ProfileComponent { this.fb = fb; this.store = store; this.visibleChange = new EventEmitter(); + this.modalBusy = false; } /** * @return {?} @@ -604,10 +724,12 @@ class ProfileComponent { onSubmit() { if (this.form.invalid) return; + this.modalBusy = true; this.store.dispatch(new UpdateProfile(this.form.value)).subscribe((/** * @return {?} */ () => { + this.modalBusy = false; this.visible = false; this.form.reset(); })); @@ -637,7 +759,7 @@ class ProfileComponent { ProfileComponent.decorators = [ { type: Component, args: [{ selector: 'abp-profile', - template: "\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" + template: "\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" }] } ]; /** @nocollapse */ @@ -653,6 +775,31 @@ __decorate([ Select(ProfileState.getProfile), __metadata("design:type", Observable) ], ProfileComponent.prototype, "profile$", void 0); +if (false) { + /** + * @type {?} + * @protected + */ + ProfileComponent.prototype._visible; + /** @type {?} */ + ProfileComponent.prototype.visibleChange; + /** @type {?} */ + ProfileComponent.prototype.profile$; + /** @type {?} */ + ProfileComponent.prototype.form; + /** @type {?} */ + ProfileComponent.prototype.modalBusy; + /** + * @type {?} + * @private + */ + ProfileComponent.prototype.fb; + /** + * @type {?} + * @private + */ + ProfileComponent.prototype.store; +} /** * @fileoverview added by tsickle @@ -679,6 +826,11 @@ ThemeBasicModule.decorators = [ },] } ]; +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -690,12 +842,39 @@ var Layout; */ function State() { } Layout.State = State; + if (false) { + /** @type {?} */ + State.prototype.navigationElements; + } /** * @record */ function NavigationElement() { } Layout.NavigationElement = NavigationElement; + if (false) { + /** @type {?} */ + NavigationElement.prototype.name; + /** @type {?} */ + NavigationElement.prototype.element; + /** @type {?|undefined} */ + NavigationElement.prototype.order; + } })(Layout || (Layout = {})); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + export { AccountLayoutComponent, AddNavigationElement, ApplicationLayoutComponent, EmptyLayoutComponent, LAYOUTS, LayoutState, RemoveNavigationElementByName, ThemeBasicModule, ApplicationLayoutComponent as ɵa, LayoutState as ɵb, AccountLayoutComponent as ɵc, EmptyLayoutComponent as ɵd, LayoutComponent as ɵe, ChangePasswordComponent as ɵf, ProfileComponent as ɵg, LayoutState as ɵh, AddNavigationElement as ɵi, RemoveNavigationElementByName as ɵj }; //# sourceMappingURL=abp-ng.theme.basic.js.map diff --git a/npm/ng-packs/dist/theme-basic/fesm2015/abp-ng.theme.basic.js.map b/npm/ng-packs/dist/theme-basic/fesm2015/abp-ng.theme.basic.js.map index 18d9cce4dd..5a601ca57a 100644 --- a/npm/ng-packs/dist/theme-basic/fesm2015/abp-ng.theme.basic.js.map +++ b/npm/ng-packs/dist/theme-basic/fesm2015/abp-ng.theme.basic.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.theme.basic.js","sources":["ng://@abp/ng.theme.basic/lib/components/change-password/change-password.component.ts","ng://@abp/ng.theme.basic/lib/components/account-layout/account-layout.component.ts","ng://@abp/ng.theme.basic/lib/actions/layout.actions.ts","ng://@abp/ng.theme.basic/lib/states/layout.state.ts","ng://@abp/ng.theme.basic/lib/components/application-layout/application-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/empty-layout/empty-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/layout/layout.component.ts","ng://@abp/ng.theme.basic/lib/components/profile/profile.component.ts","ng://@abp/ng.theme.basic/lib/theme-basic.module.ts","ng://@abp/ng.theme.basic/lib/models/layout.ts"],"sourcesContent":["import { ChangePassword } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { comparePasswords } from '@ngx-validate/core';\nimport { Store } from '@ngxs/store';\nimport snq from 'snq';\n\nconst { minLength, required } = Validators;\n\n@Component({\n selector: 'abp-change-password',\n templateUrl: './change-password.component.html',\n})\nexport class ChangePasswordComponent implements OnInit, OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n constructor(private fb: FormBuilder, private store: Store, private toasterService: ToasterService) {}\n\n ngOnInit(): void {\n this.form = this.fb.group(\n {\n password: ['', required],\n newPassword: ['', required],\n repeatNewPassword: ['', required],\n },\n {\n validators: [comparePasswords(['newPassword', 'repeatNewPassword'])],\n },\n );\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.store\n .dispatch(\n new ChangePassword({\n currentPassword: this.form.get('password').value,\n newPassword: this.form.get('newPassword').value,\n }),\n )\n .subscribe({\n next: () => {\n this.visible = false;\n this.form.reset();\n },\n error: err => {\n this.toasterService.error(snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'), 'Error', {\n life: 7000,\n });\n },\n });\n }\n\n openModal() {\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-account',\n templateUrl: './account-layout.component.html',\n})\nexport class AccountLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.account;\n\n isCollapsed: boolean = false;\n}\n","import { Layout } from '../models/layout';\n\nexport class AddNavigationElement {\n static readonly type = '[Layout] Add Navigation Element';\n constructor(public payload: Layout.NavigationElement | Layout.NavigationElement[]) {}\n}\n\nexport class RemoveNavigationElementByName {\n static readonly type = '[Layout] Remove Navigation ElementByName';\n constructor(public name: string) {}\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { AddNavigationElement, RemoveNavigationElementByName } from '../actions/layout.actions';\nimport { Layout } from '../models/layout';\nimport { TemplateRef } from '@angular/core';\nimport snq from 'snq';\n\n@State({\n name: 'LayoutState',\n defaults: { navigationElements: [] } as Layout.State,\n})\nexport class LayoutState {\n @Selector()\n static getNavigationElements({ navigationElements }: Layout.State): Layout.NavigationElement[] {\n return navigationElements;\n }\n\n @Action(AddNavigationElement)\n layoutAddAction({ getState, patchState }: StateContext, { payload = [] }: AddNavigationElement) {\n let { navigationElements } = getState();\n\n if (!Array.isArray(payload)) {\n payload = [payload];\n }\n\n if (navigationElements.length) {\n payload = snq(\n () =>\n (payload as Layout.NavigationElement[]).filter(\n ({ name }) => navigationElements.findIndex(nav => nav.name === name) < 0,\n ),\n [],\n );\n }\n\n if (!payload.length) return;\n\n navigationElements = [...navigationElements, ...payload]\n .map(element => ({ ...element, order: element.order || 99 }))\n .sort((a, b) => a.order - b.order);\n\n return patchState({\n navigationElements,\n });\n }\n\n @Action(RemoveNavigationElementByName)\n layoutRemoveAction({ getState, patchState }: StateContext, { name }: RemoveNavigationElementByName) {\n let { navigationElements } = getState();\n\n const index = navigationElements.findIndex(element => element.name === name);\n\n if (index > -1) {\n navigationElements = navigationElements.splice(index, 1);\n }\n\n return patchState({\n navigationElements,\n });\n }\n}\n","import {\n ABP,\n ApplicationConfiguration,\n GetAppConfiguration,\n ConfigState,\n eLayoutType,\n SetLanguage,\n SessionState,\n takeUntilDestroy,\n} from '@abp/ng.core';\nimport {\n AfterViewInit,\n Component,\n OnDestroy,\n QueryList,\n TemplateRef,\n TrackByFunction,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { NgbDropdown } from '@ng-bootstrap/ng-bootstrap';\nimport { Navigate, RouterState } from '@ngxs/router-plugin';\nimport { Select, Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport compare from 'just-compare';\nimport { fromEvent, Observable } from 'rxjs';\nimport { debounceTime, filter, map } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AddNavigationElement } from '../../actions';\nimport { Layout } from '../../models/layout';\nimport { LayoutState } from '../../states';\n\n@Component({\n selector: 'abp-layout-application',\n templateUrl: './application-layout.component.html',\n})\nexport class ApplicationLayoutComponent implements AfterViewInit, OnDestroy {\n // required for dynamic component\n static type = eLayoutType.application;\n\n @Select(ConfigState.getOne('routes'))\n routes$: Observable;\n\n @Select(ConfigState.getOne('currentUser'))\n currentUser$: Observable;\n\n @Select(ConfigState.getDeep('localization.languages'))\n languages$: Observable;\n\n @Select(LayoutState.getNavigationElements)\n navElements$: Observable;\n\n @ViewChild('currentUser', { static: false, read: TemplateRef })\n currentUserRef: TemplateRef;\n\n @ViewChild('language', { static: false, read: TemplateRef })\n languageRef: TemplateRef;\n\n @ViewChildren('navbarRootDropdown', { read: NgbDropdown })\n navbarRootDropdowns: QueryList;\n\n isOpenChangePassword: boolean = false;\n\n isOpenProfile: boolean = false;\n\n isDropdownChildDynamic: boolean;\n\n get visibleRoutes$(): Observable {\n return this.routes$.pipe(map(routes => getVisibleRoutes(routes)));\n }\n\n get defaultLanguage$(): Observable {\n return this.languages$.pipe(\n map(\n languages => snq(() => languages.find(lang => lang.cultureName === this.selectedLangCulture).displayName),\n '',\n ),\n );\n }\n\n get dropdownLanguages$(): Observable {\n return this.languages$.pipe(\n map(languages => snq(() => languages.filter(lang => lang.cultureName !== this.selectedLangCulture)), []),\n );\n }\n\n get selectedLangCulture(): string {\n return this.store.selectSnapshot(SessionState.getLanguage);\n }\n\n rightPartElements: TemplateRef[] = [];\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n trackElementByFn: TrackByFunction = (_, element) => element;\n\n constructor(private store: Store, private oauthService: OAuthService) {}\n\n private checkWindowWidth() {\n setTimeout(() => {\n this.navbarRootDropdowns.forEach(item => {\n item.close();\n });\n if (window.innerWidth < 768) {\n this.isDropdownChildDynamic = false;\n } else {\n this.isDropdownChildDynamic = true;\n }\n }, 0);\n }\n\n ngAfterViewInit() {\n const navigations = this.store.selectSnapshot(LayoutState.getNavigationElements).map(({ name }) => name);\n\n if (navigations.indexOf('LanguageRef') < 0) {\n this.store.dispatch(\n new AddNavigationElement([\n { element: this.languageRef, order: 4, name: 'LanguageRef' },\n { element: this.currentUserRef, order: 5, name: 'CurrentUserRef' },\n ]),\n );\n }\n\n this.navElements$\n .pipe(\n map(elements => elements.map(({ element }) => element)),\n filter(elements => !compare(elements, this.rightPartElements)),\n takeUntilDestroy(this),\n )\n .subscribe(elements => {\n setTimeout(() => (this.rightPartElements = elements), 0);\n });\n\n this.checkWindowWidth();\n\n fromEvent(window, 'resize')\n .pipe(\n takeUntilDestroy(this),\n debounceTime(250),\n )\n .subscribe(() => {\n this.checkWindowWidth();\n });\n }\n\n ngOnDestroy() {}\n\n onChangeLang(cultureName: string) {\n this.store.dispatch(new SetLanguage(cultureName));\n this.store.dispatch(new GetAppConfiguration());\n }\n\n logout() {\n this.oauthService.logOut();\n this.store.dispatch(\n new Navigate(['/'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n this.store.dispatch(new GetAppConfiguration());\n }\n}\n\nfunction getVisibleRoutes(routes: ABP.FullRoute[]) {\n return routes.reduce((acc, val) => {\n if (val.invisible) return acc;\n\n if (val.children && val.children.length) {\n val.children = getVisibleRoutes(val.children);\n }\n\n return [...acc, val];\n }, []);\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-empty',\n template: `\n Layout-empty\n \n `,\n})\nexport class EmptyLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.empty;\n}\n","import { Config, ConfigState } from '@abp/ng.core';\nimport { slideFromBottom } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { Store } from '@ngxs/store';\n\n@Component({\n selector: ' abp-layout',\n templateUrl: './layout.component.html',\n animations: [slideFromBottom],\n})\nexport class LayoutComponent {\n isCollapsed: boolean = false;\n\n get appInfo(): Config.Application {\n return this.store.selectSnapshot(ConfigState.getApplicationInfo);\n }\n\n constructor(private store: Store) {}\n}\n","import { Profile, GetProfile, ProfileState, UpdateProfile } from '@abp/ng.core';\nimport { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { take, withLatestFrom } from 'rxjs/operators';\n\nconst { maxLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-profile',\n templateUrl: './profile.component.html',\n})\nexport class ProfileComponent implements OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(ProfileState.getProfile)\n profile$: Observable;\n\n form: FormGroup;\n\n constructor(private fb: FormBuilder, private store: Store) {}\n\n buildForm() {\n this.store\n .dispatch(new GetProfile())\n .pipe(\n withLatestFrom(this.profile$),\n take(1),\n )\n .subscribe(([, profile]) => {\n this.form = this.fb.group({\n userName: [profile.userName, [required, maxLength(256)]],\n email: [profile.email, [required, email, maxLength(256)]],\n name: [profile.name || '', [maxLength(64)]],\n surname: [profile.surname || '', [maxLength(64)]],\n phoneNumber: [profile.phoneNumber || '', [maxLength(16)]],\n });\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.store.dispatch(new UpdateProfile(this.form.value)).subscribe(() => {\n this.visible = false;\n this.form.reset();\n });\n }\n\n openModal() {\n this.buildForm();\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ChangePasswordComponent } from './components/change-password/change-password.component';\nimport { AccountLayoutComponent } from './components/account-layout/account-layout.component';\nimport { ApplicationLayoutComponent } from './components/application-layout/application-layout.component';\nimport { EmptyLayoutComponent } from './components/empty-layout/empty-layout.component';\nimport { LayoutComponent } from './components/layout/layout.component';\nimport { ProfileComponent } from './components/profile/profile.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { ToastModule } from 'primeng/toast';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { LayoutState } from './states/layout.state';\n\nexport const LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent];\n\n@NgModule({\n declarations: [...LAYOUTS, LayoutComponent, ChangePasswordComponent, ProfileComponent],\n imports: [\n CoreModule,\n ThemeSharedModule,\n NgbCollapseModule,\n NgbDropdownModule,\n ToastModule,\n NgxValidateCoreModule,\n NgxsModule.forFeature([LayoutState]),\n ],\n exports: [...LAYOUTS],\n entryComponents: [...LAYOUTS],\n})\nexport class ThemeBasicModule {}\n","import { TemplateRef } from '@angular/core';\n\nexport namespace Layout {\n export interface State {\n navigationElements: NavigationElement[];\n }\n\n export interface NavigationElement {\n name: string;\n element: TemplateRef;\n order?: number;\n }\n}\n"],"names":["tslib_1.__decorate","required"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,MAkBM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,UAAU;AAM1C,MAAa,uBAAuB;;;;;;IAqBlC,YAAoB,EAAe,EAAU,KAAY,EAAU,cAA8B;QAA7E,OAAE,GAAF,EAAE,CAAa;QAAU,UAAK,GAAL,KAAK,CAAO;QAAU,mBAAc,GAAd,cAAc,CAAgB;QAPjG,kBAAa,GAAG,IAAI,YAAY,EAAW,CAAC;KAOyD;;;;IAlBrG,IACI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;KACtB;;;;;IAED,IAAI,OAAO,CAAC,KAAc;QACxB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAChC;;;;IAYD,QAAQ;QACN,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CACvB;YACE,QAAQ,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC;YACxB,WAAW,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC;YAC3B,iBAAiB,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC;SAClC,EACD;YACE,UAAU,EAAE,CAAC,gBAAgB,CAAC,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC,CAAC;SACrE,CACF,CAAC;KACH;;;;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAE9B,IAAI,CAAC,KAAK;aACP,QAAQ,CACP,IAAI,cAAc,CAAC;YACjB,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK;YAChD,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,KAAK;SAChD,CAAC,CACH;aACA,SAAS,CAAC;YACT,IAAI;;;YAAE;gBACJ,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;aACnB,CAAA;YACD,KAAK;;;;YAAE,GAAG;gBACR,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;;;gBAAC,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,GAAE,iCAAiC,CAAC,EAAE,OAAO,EAAE;oBACxG,IAAI,EAAE,IAAI;iBACX,CAAC,CAAC;aACJ,CAAA;SACF,CAAC,CAAC;KACN;;;;IAED,SAAS;QACP,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;KACrB;;;;;IAED,WAAW,CAAC,EAAE,OAAO,EAAiB;QACpC,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,IAAI,OAAO,CAAC,YAAY,EAAE;YACxB,IAAI,CAAC,SAAS,EAAE,CAAC;SAClB;aAAM,IAAI,OAAO,CAAC,YAAY,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE;YACzD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;KACF;;;YA3EF,SAAS,SAAC;gBACT,QAAQ,EAAE,qBAAqB;gBAC/B,k0DAA+C;aAChD;;;;YAVQ,WAAW;YAEX,KAAK;YAdL,cAAc;;;sBA0BpB,KAAK;4BAUL,MAAM;2BAGN,SAAS,SAAC,cAAc,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;;;;;;;ACxC9C,MAOa,sBAAsB;IAJnC;QAQE,gBAAW,GAAY,KAAK,CAAC;KAC9B;;;AAHQ,2BAAI,2BAAuB;;YANnC,SAAS,SAAC;gBACT,QAAQ,EAAE,oBAAoB;gBAC9B,2zBAA8C;aAC/C;;;;;;;ACJD,MAAa,oBAAoB;;;;IAE/B,YAAmB,OAA8D;QAA9D,YAAO,GAAP,OAAO,CAAuD;KAAI;;AADrE,yBAAI,GAAG,iCAAiC,CAAC;MAI9C,6BAA6B;;;;IAExC,YAAmB,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;KAAI;;AADnB,kCAAI,GAAG,0CAA0C,CAAC;;;;;;ICEvD,WAAW,SAAX,WAAW;;;;;IAEtB,OAAO,qBAAqB,CAAC,EAAE,kBAAkB,EAAgB;QAC/D,OAAO,kBAAkB,CAAC;KAC3B;;;;;;IAGD,eAAe,CAAC,EAAE,QAAQ,EAAE,UAAU,EAA8B,EAAE,EAAE,OAAO,GAAG,EAAE,EAAwB;YACtG,EAAE,kBAAkB,EAAE,GAAG,QAAQ,EAAE;QAEvC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3B,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;SACrB;QAED,IAAI,kBAAkB,CAAC,MAAM,EAAE;YAC7B,OAAO,GAAG,GAAG;;;YACX,MACE,oBAAC,OAAO,IAAgC,MAAM;;;;YAC5C,CAAC,EAAE,IAAI,EAAE,KAAK,kBAAkB,CAAC,SAAS;;;;YAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,EAAC,GAAG,CAAC,EACzE,GACH,EAAE,CACH,CAAC;SACH;QAED,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,OAAO;QAE5B,kBAAkB,GAAG,CAAC,GAAG,kBAAkB,EAAE,GAAG,OAAO,CAAC;aACrD,GAAG;;;;QAAC,OAAO,uBAAU,OAAO,IAAE,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE,IAAG,EAAC;aAC5D,IAAI;;;;;QAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,EAAC,CAAC;QAErC,OAAO,UAAU,CAAC;YAChB,kBAAkB;SACnB,CAAC,CAAC;KACJ;;;;;;IAGD,kBAAkB,CAAC,EAAE,QAAQ,EAAE,UAAU,EAA8B,EAAE,EAAE,IAAI,EAAiC;YAC1G,EAAE,kBAAkB,EAAE,GAAG,QAAQ,EAAE;;cAEjC,KAAK,GAAG,kBAAkB,CAAC,SAAS;;;;QAAC,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,EAAC;QAE5E,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;YACd,kBAAkB,GAAG,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SAC1D;QAED,OAAO,UAAU,CAAC;YAChB,kBAAkB;SACnB,CAAC,CAAC;KACJ;CACF,CAAA;AA1CCA;IADC,MAAM,CAAC,oBAAoB,CAAC;;6CAC2D,oBAAoB;;kDA0B3G;AAGDA;IADC,MAAM,CAAC,6BAA6B,CAAC;;6CAC6C,6BAA6B;;qDAY/G;AA9CDA;IADC,QAAQ,EAAE;;;;8CAGV;AAJU,WAAW;IAJvB,KAAK,CAAe;QACnB,IAAI,EAAE,aAAa;QACnB,QAAQ,qBAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE,EAAgB;KACrD,CAAC;GACW,WAAW,CAiDvB;;;;;;MCvBY,0BAA0B;;;;;IA4DrC,YAAoB,KAAY,EAAU,YAA0B;QAAhD,UAAK,GAAL,KAAK,CAAO;QAAU,iBAAY,GAAZ,YAAY,CAAc;QAnCpE,yBAAoB,GAAY,KAAK,CAAC;QAEtC,kBAAa,GAAY,KAAK,CAAC;QA2B/B,sBAAiB,GAAuB,EAAE,CAAC;QAE3C,cAAS;;;;;QAAmC,CAAC,CAAC,EAAE,IAAI,KAAK,IAAI,CAAC,IAAI,EAAC;QAEnE,qBAAgB;;;;;QAAmC,CAAC,CAAC,EAAE,OAAO,KAAK,OAAO,EAAC;KAEH;;;;IA7BxE,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG;;;;QAAC,MAAM,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAC,CAAC,CAAC;KACnE;;;;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CACzB,GAAG;;;;QACD,SAAS,IAAI,GAAG;;;QAAC,MAAM,SAAS,CAAC,IAAI;;;;QAAC,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,mBAAmB,EAAC,CAAC,WAAW,EAAC,GACzG,EAAE,CACH,CACF,CAAC;KACH;;;;IAED,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CACzB,GAAG;;;;QAAC,SAAS,IAAI,GAAG;;;QAAC,MAAM,SAAS,CAAC,MAAM;;;;QAAC,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,mBAAmB,EAAC,EAAC,GAAE,EAAE,CAAC,CACzG,CAAC;KACH;;;;IAED,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;KAC5D;;;;;IAUO,gBAAgB;QACtB,UAAU;;;QAAC;YACT,IAAI,CAAC,mBAAmB,CAAC,OAAO;;;;YAAC,IAAI;gBACnC,IAAI,CAAC,KAAK,EAAE,CAAC;aACd,EAAC,CAAC;YACH,IAAI,MAAM,CAAC,UAAU,GAAG,GAAG,EAAE;gBAC3B,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;aACrC;iBAAM;gBACL,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;aACpC;SACF,GAAE,CAAC,CAAC,CAAC;KACP;;;;IAED,eAAe;;cACP,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC,GAAG;;;;QAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,EAAC;QAExG,IAAI,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE;YAC1C,IAAI,CAAC,KAAK,CAAC,QAAQ,CACjB,IAAI,oBAAoB,CAAC;gBACvB,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE;gBAC5D,EAAE,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE;aACnE,CAAC,CACH,CAAC;SACH;QAED,IAAI,CAAC,YAAY;aACd,IAAI,CACH,GAAG;;;;QAAC,QAAQ,IAAI,QAAQ,CAAC,GAAG;;;;QAAC,CAAC,EAAE,OAAO,EAAE,KAAK,OAAO,EAAC,EAAC,EACvD,MAAM;;;;QAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,EAAC,EAC9D,gBAAgB,CAAC,IAAI,CAAC,CACvB;aACA,SAAS;;;;QAAC,QAAQ;YACjB,UAAU;;;YAAC,OAAO,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,GAAE,CAAC,CAAC,CAAC;SAC1D,EAAC,CAAC;QAEL,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC;aACxB,IAAI,CACH,gBAAgB,CAAC,IAAI,CAAC,EACtB,YAAY,CAAC,GAAG,CAAC,CAClB;aACA,SAAS;;;QAAC;YACT,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB,EAAC,CAAC;KACN;;;;IAED,WAAW,MAAK;;;;;IAEhB,YAAY,CAAC,WAAmB;QAC9B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;KAChD;;;;IAED,MAAM;QACJ,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,QAAQ,CACjB,IAAI,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;YACxB,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;SACzE,CAAC,CACH,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;KAChD;;;AA1HM,+BAAI,mCAA2B;;YANvC,SAAS,SAAC;gBACT,QAAQ,EAAE,wBAAwB;gBAClC,yvJAAkD;aACnD;;;;YAbgB,KAAK;YACb,YAAY;;;6BA6BlB,SAAS,SAAC,aAAa,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE;0BAG7D,SAAS,SAAC,UAAU,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE;kCAG1D,YAAY,SAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;;AAjBzDA;IADC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;8BAC5B,UAAU;2DAAkB;AAGrCA;IADC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;8BAC5B,UAAU;gEAAuC;AAG/DA;IADC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;8BAC1C,UAAU;8DAAsC;AAG5DA;IADC,MAAM,CAAC,WAAW,CAAC,qBAAqB,CAAC;8BAC5B,UAAU;gEAA6B;;;;;AAiHvD,SAAS,gBAAgB,CAAC,MAAuB;IAC/C,OAAO,MAAM,CAAC,MAAM;;;;;IAAC,CAAC,GAAG,EAAE,GAAG;QAC5B,IAAI,GAAG,CAAC,SAAS;YAAE,OAAO,GAAG,CAAC;QAE9B,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE;YACvC,GAAG,CAAC,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SAC/C;QAED,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;KACtB,GAAE,EAAE,CAAC,CAAC;CACR;;;;;;AC7KD,MAUa,oBAAoB;;;AAExB,yBAAI,uBAAqB;;YATjC,SAAS,SAAC;gBACT,QAAQ,EAAE,kBAAkB;gBAC5B,QAAQ,EAAE;;;GAGT;aACF;;;;;;;ACTD,MAUa,eAAe;;;;IAO1B,YAAoB,KAAY;QAAZ,UAAK,GAAL,KAAK,CAAO;QANhC,gBAAW,GAAY,KAAK,CAAC;KAMO;;;;IAJpC,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;KAClE;;;YAVF,SAAS,SAAC;gBACT,QAAQ,EAAE,aAAa;gBACvB,g8BAAsC;gBACtC,UAAU,EAAE,CAAC,eAAe,CAAC;aAC9B;;;;YANQ,KAAK;;;;;;;MCIR,EAAE,SAAS,YAAEC,UAAQ,EAAE,KAAK,EAAE,GAAG,UAAU;AAMjD,MAAa,gBAAgB;;;;;IAqB3B,YAAoB,EAAe,EAAU,KAAY;QAArC,OAAE,GAAF,EAAE,CAAa;QAAU,UAAK,GAAL,KAAK,CAAO;QAPzD,kBAAa,GAAG,IAAI,YAAY,EAAW,CAAC;KAOiB;;;;IAlB7D,IACI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;KACtB;;;;;IAED,IAAI,OAAO,CAAC,KAAc;QACxB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAChC;;;;IAYD,SAAS;QACP,IAAI,CAAC,KAAK;aACP,QAAQ,CAAC,IAAI,UAAU,EAAE,CAAC;aAC1B,IAAI,CACH,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,EAC7B,IAAI,CAAC,CAAC,CAAC,CACR;aACA,SAAS;;;;QAAC,CAAC,GAAG,OAAO,CAAC;YACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACxB,QAAQ,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAACA,UAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;gBACxD,KAAK,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAACA,UAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzD,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC3C,OAAO,EAAE,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;gBACjD,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;aAC1D,CAAC,CAAC;SACJ,EAAC,CAAC;KACN;;;;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAE9B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;;;QAAC;YAChE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;SACnB,EAAC,CAAC;KACJ;;;;IAED,SAAS;QACP,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;KACrB;;;;;IAED,WAAW,CAAC,EAAE,OAAO,EAAiB;QACpC,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,IAAI,OAAO,CAAC,YAAY,EAAE;YACxB,IAAI,CAAC,SAAS,EAAE,CAAC;SAClB;aAAM,IAAI,OAAO,CAAC,YAAY,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE;YACzD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;KACF;;;YAnEF,SAAS,SAAC;gBACT,QAAQ,EAAE,aAAa;gBACvB,moEAAuC;aACxC;;;;YAVQ,WAAW;YACH,KAAK;;;sBAanB,KAAK;4BAUL,MAAM;;AAIPD;IADC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC;8BACtB,UAAU;kDAAmB;;;;;;AC9BzC;AAeA,MAAa,OAAO,GAAG,CAAC,0BAA0B,EAAE,sBAAsB,EAAE,oBAAoB,CAAC;AAgBjG,MAAa,gBAAgB;;;YAd5B,QAAQ,SAAC;gBACR,YAAY,EAAE,CAAC,GAAG,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,gBAAgB,CAAC;gBACtF,OAAO,EAAE;oBACP,UAAU;oBACV,iBAAiB;oBACjB,iBAAiB;oBACjB,iBAAiB;oBACjB,WAAW;oBACX,qBAAqB;oBACrB,UAAU,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC;iBACrC;gBACD,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC;gBACrB,eAAe,EAAE,CAAC,GAAG,OAAO,CAAC;aAC9B;;;;;;;AC5BD,IAAiB,MAAM,CAUtB;AAVD,WAAiB,MAAM;;;;IACrB,oBAEC;;;;;IAED,gCAIC;;AACH,CAAC,EAVgB,MAAM,KAAN,MAAM,QAUtB;;;;"} \ No newline at end of file +{"version":3,"file":"abp-ng.theme.basic.js","sources":["ng://@abp/ng.theme.basic/lib/components/change-password/change-password.component.ts","ng://@abp/ng.theme.basic/lib/components/account-layout/account-layout.component.ts","ng://@abp/ng.theme.basic/lib/actions/layout.actions.ts","ng://@abp/ng.theme.basic/lib/states/layout.state.ts","ng://@abp/ng.theme.basic/lib/components/application-layout/application-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/empty-layout/empty-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/layout/layout.component.ts","ng://@abp/ng.theme.basic/lib/components/profile/profile.component.ts","ng://@abp/ng.theme.basic/lib/theme-basic.module.ts","ng://@abp/ng.theme.basic/lib/models/layout.ts"],"sourcesContent":["import { ChangePassword } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { comparePasswords } from '@ngx-validate/core';\nimport { Store } from '@ngxs/store';\nimport snq from 'snq';\nimport { finalize } from 'rxjs/operators';\n\nconst { minLength, required } = Validators;\n\n@Component({\n selector: 'abp-change-password',\n templateUrl: './change-password.component.html',\n})\nexport class ChangePasswordComponent implements OnInit, OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n modalBusy: boolean = false;\n\n constructor(private fb: FormBuilder, private store: Store, private toasterService: ToasterService) {}\n\n ngOnInit(): void {\n this.form = this.fb.group(\n {\n password: ['', required],\n newPassword: ['', required],\n repeatNewPassword: ['', required],\n },\n {\n validators: [comparePasswords(['newPassword', 'repeatNewPassword'])],\n },\n );\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n new ChangePassword({\n currentPassword: this.form.get('password').value,\n newPassword: this.form.get('newPassword').value,\n }),\n )\n .pipe(\n finalize(() => {\n this.modalBusy = false;\n }),\n )\n .subscribe({\n next: () => {\n this.visible = false;\n this.form.reset();\n },\n error: err => {\n this.toasterService.error(snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'), 'Error', {\n life: 7000,\n });\n },\n });\n }\n\n openModal() {\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-account',\n templateUrl: './account-layout.component.html',\n})\nexport class AccountLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.account;\n\n isCollapsed: boolean = false;\n}\n","import { Layout } from '../models/layout';\n\nexport class AddNavigationElement {\n static readonly type = '[Layout] Add Navigation Element';\n constructor(public payload: Layout.NavigationElement | Layout.NavigationElement[]) {}\n}\n\nexport class RemoveNavigationElementByName {\n static readonly type = '[Layout] Remove Navigation ElementByName';\n constructor(public name: string) {}\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { AddNavigationElement, RemoveNavigationElementByName } from '../actions/layout.actions';\nimport { Layout } from '../models/layout';\nimport { TemplateRef } from '@angular/core';\nimport snq from 'snq';\n\n@State({\n name: 'LayoutState',\n defaults: { navigationElements: [] } as Layout.State,\n})\nexport class LayoutState {\n @Selector()\n static getNavigationElements({ navigationElements }: Layout.State): Layout.NavigationElement[] {\n return navigationElements;\n }\n\n @Action(AddNavigationElement)\n layoutAddAction({ getState, patchState }: StateContext, { payload = [] }: AddNavigationElement) {\n let { navigationElements } = getState();\n\n if (!Array.isArray(payload)) {\n payload = [payload];\n }\n\n if (navigationElements.length) {\n payload = snq(\n () =>\n (payload as Layout.NavigationElement[]).filter(\n ({ name }) => navigationElements.findIndex(nav => nav.name === name) < 0,\n ),\n [],\n );\n }\n\n if (!payload.length) return;\n\n navigationElements = [...navigationElements, ...payload]\n .map(element => ({ ...element, order: element.order || 99 }))\n .sort((a, b) => a.order - b.order);\n\n return patchState({\n navigationElements,\n });\n }\n\n @Action(RemoveNavigationElementByName)\n layoutRemoveAction({ getState, patchState }: StateContext, { name }: RemoveNavigationElementByName) {\n let { navigationElements } = getState();\n\n const index = navigationElements.findIndex(element => element.name === name);\n\n if (index > -1) {\n navigationElements = navigationElements.splice(index, 1);\n }\n\n return patchState({\n navigationElements,\n });\n }\n}\n","import {\n ABP,\n ApplicationConfiguration,\n GetAppConfiguration,\n ConfigState,\n eLayoutType,\n SetLanguage,\n SessionState,\n takeUntilDestroy,\n} from '@abp/ng.core';\nimport {\n AfterViewInit,\n Component,\n OnDestroy,\n QueryList,\n TemplateRef,\n TrackByFunction,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { NgbDropdown } from '@ng-bootstrap/ng-bootstrap';\nimport { Navigate, RouterState } from '@ngxs/router-plugin';\nimport { Select, Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport compare from 'just-compare';\nimport { fromEvent, Observable } from 'rxjs';\nimport { debounceTime, filter, map } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AddNavigationElement } from '../../actions';\nimport { Layout } from '../../models/layout';\nimport { LayoutState } from '../../states';\n\n@Component({\n selector: 'abp-layout-application',\n templateUrl: './application-layout.component.html',\n})\nexport class ApplicationLayoutComponent implements AfterViewInit, OnDestroy {\n // required for dynamic component\n static type = eLayoutType.application;\n\n @Select(ConfigState.getOne('routes'))\n routes$: Observable;\n\n @Select(ConfigState.getOne('currentUser'))\n currentUser$: Observable;\n\n @Select(ConfigState.getDeep('localization.languages'))\n languages$: Observable;\n\n @Select(LayoutState.getNavigationElements)\n navElements$: Observable;\n\n @ViewChild('currentUser', { static: false, read: TemplateRef })\n currentUserRef: TemplateRef;\n\n @ViewChild('language', { static: false, read: TemplateRef })\n languageRef: TemplateRef;\n\n @ViewChildren('navbarRootDropdown', { read: NgbDropdown })\n navbarRootDropdowns: QueryList;\n\n isOpenChangePassword: boolean = false;\n\n isOpenProfile: boolean = false;\n\n isDropdownChildDynamic: boolean;\n\n get visibleRoutes$(): Observable {\n return this.routes$.pipe(map(routes => getVisibleRoutes(routes)));\n }\n\n get defaultLanguage$(): Observable {\n return this.languages$.pipe(\n map(\n languages => snq(() => languages.find(lang => lang.cultureName === this.selectedLangCulture).displayName),\n '',\n ),\n );\n }\n\n get dropdownLanguages$(): Observable {\n return this.languages$.pipe(\n map(languages => snq(() => languages.filter(lang => lang.cultureName !== this.selectedLangCulture)), []),\n );\n }\n\n get selectedLangCulture(): string {\n return this.store.selectSnapshot(SessionState.getLanguage);\n }\n\n rightPartElements: TemplateRef[] = [];\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n trackElementByFn: TrackByFunction = (_, element) => element;\n\n constructor(private store: Store, private oauthService: OAuthService) {}\n\n private checkWindowWidth() {\n setTimeout(() => {\n this.navbarRootDropdowns.forEach(item => {\n item.close();\n });\n if (window.innerWidth < 768) {\n this.isDropdownChildDynamic = false;\n } else {\n this.isDropdownChildDynamic = true;\n }\n }, 0);\n }\n\n ngAfterViewInit() {\n const navigations = this.store.selectSnapshot(LayoutState.getNavigationElements).map(({ name }) => name);\n\n if (navigations.indexOf('LanguageRef') < 0) {\n this.store.dispatch(\n new AddNavigationElement([\n { element: this.languageRef, order: 4, name: 'LanguageRef' },\n { element: this.currentUserRef, order: 5, name: 'CurrentUserRef' },\n ]),\n );\n }\n\n this.navElements$\n .pipe(\n map(elements => elements.map(({ element }) => element)),\n filter(elements => !compare(elements, this.rightPartElements)),\n takeUntilDestroy(this),\n )\n .subscribe(elements => {\n setTimeout(() => (this.rightPartElements = elements), 0);\n });\n\n this.checkWindowWidth();\n\n fromEvent(window, 'resize')\n .pipe(\n takeUntilDestroy(this),\n debounceTime(250),\n )\n .subscribe(() => {\n this.checkWindowWidth();\n });\n }\n\n ngOnDestroy() {}\n\n onChangeLang(cultureName: string) {\n this.store.dispatch(new SetLanguage(cultureName));\n this.store.dispatch(new GetAppConfiguration());\n }\n\n logout() {\n this.oauthService.logOut();\n this.store.dispatch(\n new Navigate(['/'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n this.store.dispatch(new GetAppConfiguration());\n }\n}\n\nfunction getVisibleRoutes(routes: ABP.FullRoute[]) {\n return routes.reduce((acc, val) => {\n if (val.invisible) return acc;\n\n if (val.children && val.children.length) {\n val.children = getVisibleRoutes(val.children);\n }\n\n return [...acc, val];\n }, []);\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-empty',\n template: `\n Layout-empty\n \n `,\n})\nexport class EmptyLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.empty;\n}\n","import { Config, ConfigState } from '@abp/ng.core';\nimport { slideFromBottom } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { Store } from '@ngxs/store';\n\n@Component({\n selector: ' abp-layout',\n templateUrl: './layout.component.html',\n animations: [slideFromBottom],\n})\nexport class LayoutComponent {\n isCollapsed: boolean = true;\n\n get appInfo(): Config.Application {\n return this.store.selectSnapshot(ConfigState.getApplicationInfo);\n }\n\n constructor(private store: Store) {}\n}\n","import { Profile, GetProfile, ProfileState, UpdateProfile } from '@abp/ng.core';\nimport { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { take, withLatestFrom } from 'rxjs/operators';\n\nconst { maxLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-profile',\n templateUrl: './profile.component.html',\n})\nexport class ProfileComponent implements OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(ProfileState.getProfile)\n profile$: Observable;\n\n form: FormGroup;\n\n modalBusy: boolean = false;\n\n constructor(private fb: FormBuilder, private store: Store) {}\n\n buildForm() {\n this.store\n .dispatch(new GetProfile())\n .pipe(\n withLatestFrom(this.profile$),\n take(1),\n )\n .subscribe(([, profile]) => {\n this.form = this.fb.group({\n userName: [profile.userName, [required, maxLength(256)]],\n email: [profile.email, [required, email, maxLength(256)]],\n name: [profile.name || '', [maxLength(64)]],\n surname: [profile.surname || '', [maxLength(64)]],\n phoneNumber: [profile.phoneNumber || '', [maxLength(16)]],\n });\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.modalBusy = true;\n\n this.store.dispatch(new UpdateProfile(this.form.value)).subscribe(() => {\n this.modalBusy = false;\n this.visible = false;\n this.form.reset();\n });\n }\n\n openModal() {\n this.buildForm();\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ChangePasswordComponent } from './components/change-password/change-password.component';\nimport { AccountLayoutComponent } from './components/account-layout/account-layout.component';\nimport { ApplicationLayoutComponent } from './components/application-layout/application-layout.component';\nimport { EmptyLayoutComponent } from './components/empty-layout/empty-layout.component';\nimport { LayoutComponent } from './components/layout/layout.component';\nimport { ProfileComponent } from './components/profile/profile.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { ToastModule } from 'primeng/toast';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { LayoutState } from './states/layout.state';\n\nexport const LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent];\n\n@NgModule({\n declarations: [...LAYOUTS, LayoutComponent, ChangePasswordComponent, ProfileComponent],\n imports: [\n CoreModule,\n ThemeSharedModule,\n NgbCollapseModule,\n NgbDropdownModule,\n ToastModule,\n NgxValidateCoreModule,\n NgxsModule.forFeature([LayoutState]),\n ],\n exports: [...LAYOUTS],\n entryComponents: [...LAYOUTS],\n})\nexport class ThemeBasicModule {}\n","import { TemplateRef } from '@angular/core';\n\nexport namespace Layout {\n export interface State {\n navigationElements: NavigationElement[];\n }\n\n export interface NavigationElement {\n name: string;\n element: TemplateRef;\n order?: number;\n }\n}\n"],"names":["tslib_1.__decorate","required"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/fesm5/abp-ng.theme.basic.js b/npm/ng-packs/dist/theme-basic/fesm5/abp-ng.theme.basic.js index cd99b29917..8195942547 100644 --- a/npm/ng-packs/dist/theme-basic/fesm5/abp-ng.theme.basic.js +++ b/npm/ng-packs/dist/theme-basic/fesm5/abp-ng.theme.basic.js @@ -1,17 +1,17 @@ import { __spread, __assign, __decorate, __metadata, __read } from 'tslib'; import { ChangePassword, SessionState, takeUntilDestroy, SetLanguage, GetAppConfiguration, ConfigState, GetProfile, UpdateProfile, ProfileState, CoreModule } from '@abp/ng.core'; -import { Component, Input, Output, ViewChild, EventEmitter, TemplateRef, ViewChildren, NgModule } from '@angular/core'; +import { EventEmitter, Component, Input, Output, ViewChild, TemplateRef, ViewChildren, NgModule } from '@angular/core'; import { NgbDropdown, NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; import { ToasterService, slideFromBottom, ThemeSharedModule } from '@abp/ng.theme.shared'; import { Validators, FormBuilder } from '@angular/forms'; import { comparePasswords, NgxValidateCoreModule } from '@ngx-validate/core'; import { Store, Action, Selector, State, Select, NgxsModule } from '@ngxs/store'; import snq from 'snq'; +import { finalize, map, filter, debounceTime, withLatestFrom, take } from 'rxjs/operators'; import { Navigate, RouterState } from '@ngxs/router-plugin'; import { OAuthService } from 'angular-oauth2-oidc'; import compare from 'just-compare'; import { fromEvent, Observable } from 'rxjs'; -import { map, filter, debounceTime, withLatestFrom, take } from 'rxjs/operators'; import { ToastModule } from 'primeng/toast'; /** @@ -25,6 +25,7 @@ var ChangePasswordComponent = /** @class */ (function () { this.store = store; this.toasterService = toasterService; this.visibleChange = new EventEmitter(); + this.modalBusy = false; } Object.defineProperty(ChangePasswordComponent.prototype, "visible", { get: /** @@ -69,11 +70,18 @@ var ChangePasswordComponent = /** @class */ (function () { var _this = this; if (this.form.invalid) return; + this.modalBusy = true; this.store .dispatch(new ChangePassword({ currentPassword: this.form.get('password').value, newPassword: this.form.get('newPassword').value, })) + .pipe(finalize((/** + * @return {?} + */ + function () { + _this.modalBusy = false; + }))) .subscribe({ next: (/** * @return {?} @@ -127,7 +135,7 @@ var ChangePasswordComponent = /** @class */ (function () { ChangePasswordComponent.decorators = [ { type: Component, args: [{ selector: 'abp-change-password', - template: "\n \n

    {{ 'AbpIdentity::ChangePassword' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" + template: "\n \n

    {{ 'AbpIdentity::ChangePassword' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" }] } ]; /** @nocollapse */ @@ -143,6 +151,36 @@ var ChangePasswordComponent = /** @class */ (function () { }; return ChangePasswordComponent; }()); +if (false) { + /** + * @type {?} + * @protected + */ + ChangePasswordComponent.prototype._visible; + /** @type {?} */ + ChangePasswordComponent.prototype.visibleChange; + /** @type {?} */ + ChangePasswordComponent.prototype.modalContent; + /** @type {?} */ + ChangePasswordComponent.prototype.form; + /** @type {?} */ + ChangePasswordComponent.prototype.modalBusy; + /** + * @type {?} + * @private + */ + ChangePasswordComponent.prototype.fb; + /** + * @type {?} + * @private + */ + ChangePasswordComponent.prototype.store; + /** + * @type {?} + * @private + */ + ChangePasswordComponent.prototype.toasterService; +} /** * @fileoverview added by tsickle @@ -162,6 +200,12 @@ var AccountLayoutComponent = /** @class */ (function () { ]; return AccountLayoutComponent; }()); +if (false) { + /** @type {?} */ + AccountLayoutComponent.type; + /** @type {?} */ + AccountLayoutComponent.prototype.isCollapsed; +} /** * @fileoverview added by tsickle @@ -174,6 +218,12 @@ var AddNavigationElement = /** @class */ (function () { AddNavigationElement.type = '[Layout] Add Navigation Element'; return AddNavigationElement; }()); +if (false) { + /** @type {?} */ + AddNavigationElement.type; + /** @type {?} */ + AddNavigationElement.prototype.payload; +} var RemoveNavigationElementByName = /** @class */ (function () { function RemoveNavigationElementByName(name) { this.name = name; @@ -181,6 +231,17 @@ var RemoveNavigationElementByName = /** @class */ (function () { RemoveNavigationElementByName.type = '[Layout] Remove Navigation ElementByName'; return RemoveNavigationElementByName; }()); +if (false) { + /** @type {?} */ + RemoveNavigationElementByName.type; + /** @type {?} */ + RemoveNavigationElementByName.prototype.name; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ /** * @fileoverview added by tsickle @@ -308,6 +369,11 @@ var LayoutState = /** @class */ (function () { return LayoutState; }()); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -526,7 +592,7 @@ var ApplicationLayoutComponent = /** @class */ (function () { ApplicationLayoutComponent.decorators = [ { type: Component, args: [{ selector: 'abp-layout-application', - template: "\n \n\n
      \n \n
    \n
    \n\n\n
  • \n \n {{ defaultLanguage$ | async }}\n \n
    \n {{ lang?.displayName }}\n
    \n
  • \n
    \n\n\n
  • \n \n {{ (currentUser$ | async)?.userName }}\n \n \n
  • \n\n \n\n \n
    \n" + template: "\n \n\n
      \n \n
    \n
    \n\n\n
  • \n \n {{ defaultLanguage$ | async }}\n \n
    \n {{ lang?.displayName }}\n
    \n
  • \n
    \n\n\n
  • \n \n {{ (currentUser$ | async)?.userName }}\n \n \n
  • \n\n \n\n \n
    \n" }] } ]; /** @nocollapse */ @@ -557,6 +623,46 @@ var ApplicationLayoutComponent = /** @class */ (function () { ], ApplicationLayoutComponent.prototype, "navElements$", void 0); return ApplicationLayoutComponent; }()); +if (false) { + /** @type {?} */ + ApplicationLayoutComponent.type; + /** @type {?} */ + ApplicationLayoutComponent.prototype.routes$; + /** @type {?} */ + ApplicationLayoutComponent.prototype.currentUser$; + /** @type {?} */ + ApplicationLayoutComponent.prototype.languages$; + /** @type {?} */ + ApplicationLayoutComponent.prototype.navElements$; + /** @type {?} */ + ApplicationLayoutComponent.prototype.currentUserRef; + /** @type {?} */ + ApplicationLayoutComponent.prototype.languageRef; + /** @type {?} */ + ApplicationLayoutComponent.prototype.navbarRootDropdowns; + /** @type {?} */ + ApplicationLayoutComponent.prototype.isOpenChangePassword; + /** @type {?} */ + ApplicationLayoutComponent.prototype.isOpenProfile; + /** @type {?} */ + ApplicationLayoutComponent.prototype.isDropdownChildDynamic; + /** @type {?} */ + ApplicationLayoutComponent.prototype.rightPartElements; + /** @type {?} */ + ApplicationLayoutComponent.prototype.trackByFn; + /** @type {?} */ + ApplicationLayoutComponent.prototype.trackElementByFn; + /** + * @type {?} + * @private + */ + ApplicationLayoutComponent.prototype.store; + /** + * @type {?} + * @private + */ + ApplicationLayoutComponent.prototype.oauthService; +} /** * @param {?} routes * @return {?} @@ -594,6 +700,10 @@ var EmptyLayoutComponent = /** @class */ (function () { ]; return EmptyLayoutComponent; }()); +if (false) { + /** @type {?} */ + EmptyLayoutComponent.type; +} /** * @fileoverview added by tsickle @@ -602,7 +712,7 @@ var EmptyLayoutComponent = /** @class */ (function () { var LayoutComponent = /** @class */ (function () { function LayoutComponent(store) { this.store = store; - this.isCollapsed = false; + this.isCollapsed = true; } Object.defineProperty(LayoutComponent.prototype, "appInfo", { get: /** @@ -627,6 +737,15 @@ var LayoutComponent = /** @class */ (function () { ]; }; return LayoutComponent; }()); +if (false) { + /** @type {?} */ + LayoutComponent.prototype.isCollapsed; + /** + * @type {?} + * @private + */ + LayoutComponent.prototype.store; +} /** * @fileoverview added by tsickle @@ -638,6 +757,7 @@ var ProfileComponent = /** @class */ (function () { this.fb = fb; this.store = store; this.visibleChange = new EventEmitter(); + this.modalBusy = false; } Object.defineProperty(ProfileComponent.prototype, "visible", { get: /** @@ -693,10 +813,12 @@ var ProfileComponent = /** @class */ (function () { var _this = this; if (this.form.invalid) return; + this.modalBusy = true; this.store.dispatch(new UpdateProfile(this.form.value)).subscribe((/** * @return {?} */ function () { + _this.modalBusy = false; _this.visible = false; _this.form.reset(); })); @@ -733,7 +855,7 @@ var ProfileComponent = /** @class */ (function () { ProfileComponent.decorators = [ { type: Component, args: [{ selector: 'abp-profile', - template: "\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" + template: "\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" }] } ]; /** @nocollapse */ @@ -751,6 +873,31 @@ var ProfileComponent = /** @class */ (function () { ], ProfileComponent.prototype, "profile$", void 0); return ProfileComponent; }()); +if (false) { + /** + * @type {?} + * @protected + */ + ProfileComponent.prototype._visible; + /** @type {?} */ + ProfileComponent.prototype.visibleChange; + /** @type {?} */ + ProfileComponent.prototype.profile$; + /** @type {?} */ + ProfileComponent.prototype.form; + /** @type {?} */ + ProfileComponent.prototype.modalBusy; + /** + * @type {?} + * @private + */ + ProfileComponent.prototype.fb; + /** + * @type {?} + * @private + */ + ProfileComponent.prototype.store; +} /** * @fileoverview added by tsickle @@ -780,6 +927,11 @@ var ThemeBasicModule = /** @class */ (function () { return ThemeBasicModule; }()); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -791,12 +943,39 @@ var Layout; */ function State() { } Layout.State = State; + if (false) { + /** @type {?} */ + State.prototype.navigationElements; + } /** * @record */ function NavigationElement() { } Layout.NavigationElement = NavigationElement; + if (false) { + /** @type {?} */ + NavigationElement.prototype.name; + /** @type {?} */ + NavigationElement.prototype.element; + /** @type {?|undefined} */ + NavigationElement.prototype.order; + } })(Layout || (Layout = {})); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + export { AccountLayoutComponent, AddNavigationElement, ApplicationLayoutComponent, EmptyLayoutComponent, LAYOUTS, LayoutState, RemoveNavigationElementByName, ThemeBasicModule, ApplicationLayoutComponent as ɵa, LayoutState as ɵb, AccountLayoutComponent as ɵc, EmptyLayoutComponent as ɵd, LayoutComponent as ɵe, ChangePasswordComponent as ɵf, ProfileComponent as ɵg, LayoutState as ɵh, AddNavigationElement as ɵi, RemoveNavigationElementByName as ɵj }; //# sourceMappingURL=abp-ng.theme.basic.js.map diff --git a/npm/ng-packs/dist/theme-basic/fesm5/abp-ng.theme.basic.js.map b/npm/ng-packs/dist/theme-basic/fesm5/abp-ng.theme.basic.js.map index 524577f3eb..034c40ece8 100644 --- a/npm/ng-packs/dist/theme-basic/fesm5/abp-ng.theme.basic.js.map +++ b/npm/ng-packs/dist/theme-basic/fesm5/abp-ng.theme.basic.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.theme.basic.js","sources":["ng://@abp/ng.theme.basic/lib/components/change-password/change-password.component.ts","ng://@abp/ng.theme.basic/lib/components/account-layout/account-layout.component.ts","ng://@abp/ng.theme.basic/lib/actions/layout.actions.ts","ng://@abp/ng.theme.basic/lib/states/layout.state.ts","ng://@abp/ng.theme.basic/lib/components/application-layout/application-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/empty-layout/empty-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/layout/layout.component.ts","ng://@abp/ng.theme.basic/lib/components/profile/profile.component.ts","ng://@abp/ng.theme.basic/lib/theme-basic.module.ts","ng://@abp/ng.theme.basic/lib/models/layout.ts"],"sourcesContent":["import { ChangePassword } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { comparePasswords } from '@ngx-validate/core';\nimport { Store } from '@ngxs/store';\nimport snq from 'snq';\n\nconst { minLength, required } = Validators;\n\n@Component({\n selector: 'abp-change-password',\n templateUrl: './change-password.component.html',\n})\nexport class ChangePasswordComponent implements OnInit, OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n constructor(private fb: FormBuilder, private store: Store, private toasterService: ToasterService) {}\n\n ngOnInit(): void {\n this.form = this.fb.group(\n {\n password: ['', required],\n newPassword: ['', required],\n repeatNewPassword: ['', required],\n },\n {\n validators: [comparePasswords(['newPassword', 'repeatNewPassword'])],\n },\n );\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.store\n .dispatch(\n new ChangePassword({\n currentPassword: this.form.get('password').value,\n newPassword: this.form.get('newPassword').value,\n }),\n )\n .subscribe({\n next: () => {\n this.visible = false;\n this.form.reset();\n },\n error: err => {\n this.toasterService.error(snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'), 'Error', {\n life: 7000,\n });\n },\n });\n }\n\n openModal() {\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-account',\n templateUrl: './account-layout.component.html',\n})\nexport class AccountLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.account;\n\n isCollapsed: boolean = false;\n}\n","import { Layout } from '../models/layout';\n\nexport class AddNavigationElement {\n static readonly type = '[Layout] Add Navigation Element';\n constructor(public payload: Layout.NavigationElement | Layout.NavigationElement[]) {}\n}\n\nexport class RemoveNavigationElementByName {\n static readonly type = '[Layout] Remove Navigation ElementByName';\n constructor(public name: string) {}\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { AddNavigationElement, RemoveNavigationElementByName } from '../actions/layout.actions';\nimport { Layout } from '../models/layout';\nimport { TemplateRef } from '@angular/core';\nimport snq from 'snq';\n\n@State({\n name: 'LayoutState',\n defaults: { navigationElements: [] } as Layout.State,\n})\nexport class LayoutState {\n @Selector()\n static getNavigationElements({ navigationElements }: Layout.State): Layout.NavigationElement[] {\n return navigationElements;\n }\n\n @Action(AddNavigationElement)\n layoutAddAction({ getState, patchState }: StateContext, { payload = [] }: AddNavigationElement) {\n let { navigationElements } = getState();\n\n if (!Array.isArray(payload)) {\n payload = [payload];\n }\n\n if (navigationElements.length) {\n payload = snq(\n () =>\n (payload as Layout.NavigationElement[]).filter(\n ({ name }) => navigationElements.findIndex(nav => nav.name === name) < 0,\n ),\n [],\n );\n }\n\n if (!payload.length) return;\n\n navigationElements = [...navigationElements, ...payload]\n .map(element => ({ ...element, order: element.order || 99 }))\n .sort((a, b) => a.order - b.order);\n\n return patchState({\n navigationElements,\n });\n }\n\n @Action(RemoveNavigationElementByName)\n layoutRemoveAction({ getState, patchState }: StateContext, { name }: RemoveNavigationElementByName) {\n let { navigationElements } = getState();\n\n const index = navigationElements.findIndex(element => element.name === name);\n\n if (index > -1) {\n navigationElements = navigationElements.splice(index, 1);\n }\n\n return patchState({\n navigationElements,\n });\n }\n}\n","import {\n ABP,\n ApplicationConfiguration,\n GetAppConfiguration,\n ConfigState,\n eLayoutType,\n SetLanguage,\n SessionState,\n takeUntilDestroy,\n} from '@abp/ng.core';\nimport {\n AfterViewInit,\n Component,\n OnDestroy,\n QueryList,\n TemplateRef,\n TrackByFunction,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { NgbDropdown } from '@ng-bootstrap/ng-bootstrap';\nimport { Navigate, RouterState } from '@ngxs/router-plugin';\nimport { Select, Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport compare from 'just-compare';\nimport { fromEvent, Observable } from 'rxjs';\nimport { debounceTime, filter, map } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AddNavigationElement } from '../../actions';\nimport { Layout } from '../../models/layout';\nimport { LayoutState } from '../../states';\n\n@Component({\n selector: 'abp-layout-application',\n templateUrl: './application-layout.component.html',\n})\nexport class ApplicationLayoutComponent implements AfterViewInit, OnDestroy {\n // required for dynamic component\n static type = eLayoutType.application;\n\n @Select(ConfigState.getOne('routes'))\n routes$: Observable;\n\n @Select(ConfigState.getOne('currentUser'))\n currentUser$: Observable;\n\n @Select(ConfigState.getDeep('localization.languages'))\n languages$: Observable;\n\n @Select(LayoutState.getNavigationElements)\n navElements$: Observable;\n\n @ViewChild('currentUser', { static: false, read: TemplateRef })\n currentUserRef: TemplateRef;\n\n @ViewChild('language', { static: false, read: TemplateRef })\n languageRef: TemplateRef;\n\n @ViewChildren('navbarRootDropdown', { read: NgbDropdown })\n navbarRootDropdowns: QueryList;\n\n isOpenChangePassword: boolean = false;\n\n isOpenProfile: boolean = false;\n\n isDropdownChildDynamic: boolean;\n\n get visibleRoutes$(): Observable {\n return this.routes$.pipe(map(routes => getVisibleRoutes(routes)));\n }\n\n get defaultLanguage$(): Observable {\n return this.languages$.pipe(\n map(\n languages => snq(() => languages.find(lang => lang.cultureName === this.selectedLangCulture).displayName),\n '',\n ),\n );\n }\n\n get dropdownLanguages$(): Observable {\n return this.languages$.pipe(\n map(languages => snq(() => languages.filter(lang => lang.cultureName !== this.selectedLangCulture)), []),\n );\n }\n\n get selectedLangCulture(): string {\n return this.store.selectSnapshot(SessionState.getLanguage);\n }\n\n rightPartElements: TemplateRef[] = [];\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n trackElementByFn: TrackByFunction = (_, element) => element;\n\n constructor(private store: Store, private oauthService: OAuthService) {}\n\n private checkWindowWidth() {\n setTimeout(() => {\n this.navbarRootDropdowns.forEach(item => {\n item.close();\n });\n if (window.innerWidth < 768) {\n this.isDropdownChildDynamic = false;\n } else {\n this.isDropdownChildDynamic = true;\n }\n }, 0);\n }\n\n ngAfterViewInit() {\n const navigations = this.store.selectSnapshot(LayoutState.getNavigationElements).map(({ name }) => name);\n\n if (navigations.indexOf('LanguageRef') < 0) {\n this.store.dispatch(\n new AddNavigationElement([\n { element: this.languageRef, order: 4, name: 'LanguageRef' },\n { element: this.currentUserRef, order: 5, name: 'CurrentUserRef' },\n ]),\n );\n }\n\n this.navElements$\n .pipe(\n map(elements => elements.map(({ element }) => element)),\n filter(elements => !compare(elements, this.rightPartElements)),\n takeUntilDestroy(this),\n )\n .subscribe(elements => {\n setTimeout(() => (this.rightPartElements = elements), 0);\n });\n\n this.checkWindowWidth();\n\n fromEvent(window, 'resize')\n .pipe(\n takeUntilDestroy(this),\n debounceTime(250),\n )\n .subscribe(() => {\n this.checkWindowWidth();\n });\n }\n\n ngOnDestroy() {}\n\n onChangeLang(cultureName: string) {\n this.store.dispatch(new SetLanguage(cultureName));\n this.store.dispatch(new GetAppConfiguration());\n }\n\n logout() {\n this.oauthService.logOut();\n this.store.dispatch(\n new Navigate(['/'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n this.store.dispatch(new GetAppConfiguration());\n }\n}\n\nfunction getVisibleRoutes(routes: ABP.FullRoute[]) {\n return routes.reduce((acc, val) => {\n if (val.invisible) return acc;\n\n if (val.children && val.children.length) {\n val.children = getVisibleRoutes(val.children);\n }\n\n return [...acc, val];\n }, []);\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-empty',\n template: `\n Layout-empty\n \n `,\n})\nexport class EmptyLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.empty;\n}\n","import { Config, ConfigState } from '@abp/ng.core';\nimport { slideFromBottom } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { Store } from '@ngxs/store';\n\n@Component({\n selector: ' abp-layout',\n templateUrl: './layout.component.html',\n animations: [slideFromBottom],\n})\nexport class LayoutComponent {\n isCollapsed: boolean = false;\n\n get appInfo(): Config.Application {\n return this.store.selectSnapshot(ConfigState.getApplicationInfo);\n }\n\n constructor(private store: Store) {}\n}\n","import { Profile, GetProfile, ProfileState, UpdateProfile } from '@abp/ng.core';\nimport { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { take, withLatestFrom } from 'rxjs/operators';\n\nconst { maxLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-profile',\n templateUrl: './profile.component.html',\n})\nexport class ProfileComponent implements OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(ProfileState.getProfile)\n profile$: Observable;\n\n form: FormGroup;\n\n constructor(private fb: FormBuilder, private store: Store) {}\n\n buildForm() {\n this.store\n .dispatch(new GetProfile())\n .pipe(\n withLatestFrom(this.profile$),\n take(1),\n )\n .subscribe(([, profile]) => {\n this.form = this.fb.group({\n userName: [profile.userName, [required, maxLength(256)]],\n email: [profile.email, [required, email, maxLength(256)]],\n name: [profile.name || '', [maxLength(64)]],\n surname: [profile.surname || '', [maxLength(64)]],\n phoneNumber: [profile.phoneNumber || '', [maxLength(16)]],\n });\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.store.dispatch(new UpdateProfile(this.form.value)).subscribe(() => {\n this.visible = false;\n this.form.reset();\n });\n }\n\n openModal() {\n this.buildForm();\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ChangePasswordComponent } from './components/change-password/change-password.component';\nimport { AccountLayoutComponent } from './components/account-layout/account-layout.component';\nimport { ApplicationLayoutComponent } from './components/application-layout/application-layout.component';\nimport { EmptyLayoutComponent } from './components/empty-layout/empty-layout.component';\nimport { LayoutComponent } from './components/layout/layout.component';\nimport { ProfileComponent } from './components/profile/profile.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { ToastModule } from 'primeng/toast';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { LayoutState } from './states/layout.state';\n\nexport const LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent];\n\n@NgModule({\n declarations: [...LAYOUTS, LayoutComponent, ChangePasswordComponent, ProfileComponent],\n imports: [\n CoreModule,\n ThemeSharedModule,\n NgbCollapseModule,\n NgbDropdownModule,\n ToastModule,\n NgxValidateCoreModule,\n NgxsModule.forFeature([LayoutState]),\n ],\n exports: [...LAYOUTS],\n entryComponents: [...LAYOUTS],\n})\nexport class ThemeBasicModule {}\n","import { TemplateRef } from '@angular/core';\n\nexport namespace Layout {\n export interface State {\n navigationElements: NavigationElement[];\n }\n\n export interface NavigationElement {\n name: string;\n element: TemplateRef;\n order?: number;\n }\n}\n"],"names":["tslib_1.__spread","tslib_1.__decorate","required"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.theme.basic.js","sources":["ng://@abp/ng.theme.basic/lib/components/change-password/change-password.component.ts","ng://@abp/ng.theme.basic/lib/components/account-layout/account-layout.component.ts","ng://@abp/ng.theme.basic/lib/actions/layout.actions.ts","ng://@abp/ng.theme.basic/lib/states/layout.state.ts","ng://@abp/ng.theme.basic/lib/components/application-layout/application-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/empty-layout/empty-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/layout/layout.component.ts","ng://@abp/ng.theme.basic/lib/components/profile/profile.component.ts","ng://@abp/ng.theme.basic/lib/theme-basic.module.ts","ng://@abp/ng.theme.basic/lib/models/layout.ts"],"sourcesContent":["import { ChangePassword } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { comparePasswords } from '@ngx-validate/core';\nimport { Store } from '@ngxs/store';\nimport snq from 'snq';\nimport { finalize } from 'rxjs/operators';\n\nconst { minLength, required } = Validators;\n\n@Component({\n selector: 'abp-change-password',\n templateUrl: './change-password.component.html',\n})\nexport class ChangePasswordComponent implements OnInit, OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n modalBusy: boolean = false;\n\n constructor(private fb: FormBuilder, private store: Store, private toasterService: ToasterService) {}\n\n ngOnInit(): void {\n this.form = this.fb.group(\n {\n password: ['', required],\n newPassword: ['', required],\n repeatNewPassword: ['', required],\n },\n {\n validators: [comparePasswords(['newPassword', 'repeatNewPassword'])],\n },\n );\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n new ChangePassword({\n currentPassword: this.form.get('password').value,\n newPassword: this.form.get('newPassword').value,\n }),\n )\n .pipe(\n finalize(() => {\n this.modalBusy = false;\n }),\n )\n .subscribe({\n next: () => {\n this.visible = false;\n this.form.reset();\n },\n error: err => {\n this.toasterService.error(snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'), 'Error', {\n life: 7000,\n });\n },\n });\n }\n\n openModal() {\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-account',\n templateUrl: './account-layout.component.html',\n})\nexport class AccountLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.account;\n\n isCollapsed: boolean = false;\n}\n","import { Layout } from '../models/layout';\n\nexport class AddNavigationElement {\n static readonly type = '[Layout] Add Navigation Element';\n constructor(public payload: Layout.NavigationElement | Layout.NavigationElement[]) {}\n}\n\nexport class RemoveNavigationElementByName {\n static readonly type = '[Layout] Remove Navigation ElementByName';\n constructor(public name: string) {}\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { AddNavigationElement, RemoveNavigationElementByName } from '../actions/layout.actions';\nimport { Layout } from '../models/layout';\nimport { TemplateRef } from '@angular/core';\nimport snq from 'snq';\n\n@State({\n name: 'LayoutState',\n defaults: { navigationElements: [] } as Layout.State,\n})\nexport class LayoutState {\n @Selector()\n static getNavigationElements({ navigationElements }: Layout.State): Layout.NavigationElement[] {\n return navigationElements;\n }\n\n @Action(AddNavigationElement)\n layoutAddAction({ getState, patchState }: StateContext, { payload = [] }: AddNavigationElement) {\n let { navigationElements } = getState();\n\n if (!Array.isArray(payload)) {\n payload = [payload];\n }\n\n if (navigationElements.length) {\n payload = snq(\n () =>\n (payload as Layout.NavigationElement[]).filter(\n ({ name }) => navigationElements.findIndex(nav => nav.name === name) < 0,\n ),\n [],\n );\n }\n\n if (!payload.length) return;\n\n navigationElements = [...navigationElements, ...payload]\n .map(element => ({ ...element, order: element.order || 99 }))\n .sort((a, b) => a.order - b.order);\n\n return patchState({\n navigationElements,\n });\n }\n\n @Action(RemoveNavigationElementByName)\n layoutRemoveAction({ getState, patchState }: StateContext, { name }: RemoveNavigationElementByName) {\n let { navigationElements } = getState();\n\n const index = navigationElements.findIndex(element => element.name === name);\n\n if (index > -1) {\n navigationElements = navigationElements.splice(index, 1);\n }\n\n return patchState({\n navigationElements,\n });\n }\n}\n","import {\n ABP,\n ApplicationConfiguration,\n GetAppConfiguration,\n ConfigState,\n eLayoutType,\n SetLanguage,\n SessionState,\n takeUntilDestroy,\n} from '@abp/ng.core';\nimport {\n AfterViewInit,\n Component,\n OnDestroy,\n QueryList,\n TemplateRef,\n TrackByFunction,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { NgbDropdown } from '@ng-bootstrap/ng-bootstrap';\nimport { Navigate, RouterState } from '@ngxs/router-plugin';\nimport { Select, Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport compare from 'just-compare';\nimport { fromEvent, Observable } from 'rxjs';\nimport { debounceTime, filter, map } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AddNavigationElement } from '../../actions';\nimport { Layout } from '../../models/layout';\nimport { LayoutState } from '../../states';\n\n@Component({\n selector: 'abp-layout-application',\n templateUrl: './application-layout.component.html',\n})\nexport class ApplicationLayoutComponent implements AfterViewInit, OnDestroy {\n // required for dynamic component\n static type = eLayoutType.application;\n\n @Select(ConfigState.getOne('routes'))\n routes$: Observable;\n\n @Select(ConfigState.getOne('currentUser'))\n currentUser$: Observable;\n\n @Select(ConfigState.getDeep('localization.languages'))\n languages$: Observable;\n\n @Select(LayoutState.getNavigationElements)\n navElements$: Observable;\n\n @ViewChild('currentUser', { static: false, read: TemplateRef })\n currentUserRef: TemplateRef;\n\n @ViewChild('language', { static: false, read: TemplateRef })\n languageRef: TemplateRef;\n\n @ViewChildren('navbarRootDropdown', { read: NgbDropdown })\n navbarRootDropdowns: QueryList;\n\n isOpenChangePassword: boolean = false;\n\n isOpenProfile: boolean = false;\n\n isDropdownChildDynamic: boolean;\n\n get visibleRoutes$(): Observable {\n return this.routes$.pipe(map(routes => getVisibleRoutes(routes)));\n }\n\n get defaultLanguage$(): Observable {\n return this.languages$.pipe(\n map(\n languages => snq(() => languages.find(lang => lang.cultureName === this.selectedLangCulture).displayName),\n '',\n ),\n );\n }\n\n get dropdownLanguages$(): Observable {\n return this.languages$.pipe(\n map(languages => snq(() => languages.filter(lang => lang.cultureName !== this.selectedLangCulture)), []),\n );\n }\n\n get selectedLangCulture(): string {\n return this.store.selectSnapshot(SessionState.getLanguage);\n }\n\n rightPartElements: TemplateRef[] = [];\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n trackElementByFn: TrackByFunction = (_, element) => element;\n\n constructor(private store: Store, private oauthService: OAuthService) {}\n\n private checkWindowWidth() {\n setTimeout(() => {\n this.navbarRootDropdowns.forEach(item => {\n item.close();\n });\n if (window.innerWidth < 768) {\n this.isDropdownChildDynamic = false;\n } else {\n this.isDropdownChildDynamic = true;\n }\n }, 0);\n }\n\n ngAfterViewInit() {\n const navigations = this.store.selectSnapshot(LayoutState.getNavigationElements).map(({ name }) => name);\n\n if (navigations.indexOf('LanguageRef') < 0) {\n this.store.dispatch(\n new AddNavigationElement([\n { element: this.languageRef, order: 4, name: 'LanguageRef' },\n { element: this.currentUserRef, order: 5, name: 'CurrentUserRef' },\n ]),\n );\n }\n\n this.navElements$\n .pipe(\n map(elements => elements.map(({ element }) => element)),\n filter(elements => !compare(elements, this.rightPartElements)),\n takeUntilDestroy(this),\n )\n .subscribe(elements => {\n setTimeout(() => (this.rightPartElements = elements), 0);\n });\n\n this.checkWindowWidth();\n\n fromEvent(window, 'resize')\n .pipe(\n takeUntilDestroy(this),\n debounceTime(250),\n )\n .subscribe(() => {\n this.checkWindowWidth();\n });\n }\n\n ngOnDestroy() {}\n\n onChangeLang(cultureName: string) {\n this.store.dispatch(new SetLanguage(cultureName));\n this.store.dispatch(new GetAppConfiguration());\n }\n\n logout() {\n this.oauthService.logOut();\n this.store.dispatch(\n new Navigate(['/'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n this.store.dispatch(new GetAppConfiguration());\n }\n}\n\nfunction getVisibleRoutes(routes: ABP.FullRoute[]) {\n return routes.reduce((acc, val) => {\n if (val.invisible) return acc;\n\n if (val.children && val.children.length) {\n val.children = getVisibleRoutes(val.children);\n }\n\n return [...acc, val];\n }, []);\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-empty',\n template: `\n Layout-empty\n \n `,\n})\nexport class EmptyLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.empty;\n}\n","import { Config, ConfigState } from '@abp/ng.core';\nimport { slideFromBottom } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { Store } from '@ngxs/store';\n\n@Component({\n selector: ' abp-layout',\n templateUrl: './layout.component.html',\n animations: [slideFromBottom],\n})\nexport class LayoutComponent {\n isCollapsed: boolean = true;\n\n get appInfo(): Config.Application {\n return this.store.selectSnapshot(ConfigState.getApplicationInfo);\n }\n\n constructor(private store: Store) {}\n}\n","import { Profile, GetProfile, ProfileState, UpdateProfile } from '@abp/ng.core';\nimport { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { take, withLatestFrom } from 'rxjs/operators';\n\nconst { maxLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-profile',\n templateUrl: './profile.component.html',\n})\nexport class ProfileComponent implements OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(ProfileState.getProfile)\n profile$: Observable;\n\n form: FormGroup;\n\n modalBusy: boolean = false;\n\n constructor(private fb: FormBuilder, private store: Store) {}\n\n buildForm() {\n this.store\n .dispatch(new GetProfile())\n .pipe(\n withLatestFrom(this.profile$),\n take(1),\n )\n .subscribe(([, profile]) => {\n this.form = this.fb.group({\n userName: [profile.userName, [required, maxLength(256)]],\n email: [profile.email, [required, email, maxLength(256)]],\n name: [profile.name || '', [maxLength(64)]],\n surname: [profile.surname || '', [maxLength(64)]],\n phoneNumber: [profile.phoneNumber || '', [maxLength(16)]],\n });\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.modalBusy = true;\n\n this.store.dispatch(new UpdateProfile(this.form.value)).subscribe(() => {\n this.modalBusy = false;\n this.visible = false;\n this.form.reset();\n });\n }\n\n openModal() {\n this.buildForm();\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ChangePasswordComponent } from './components/change-password/change-password.component';\nimport { AccountLayoutComponent } from './components/account-layout/account-layout.component';\nimport { ApplicationLayoutComponent } from './components/application-layout/application-layout.component';\nimport { EmptyLayoutComponent } from './components/empty-layout/empty-layout.component';\nimport { LayoutComponent } from './components/layout/layout.component';\nimport { ProfileComponent } from './components/profile/profile.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { ToastModule } from 'primeng/toast';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { LayoutState } from './states/layout.state';\n\nexport const LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent];\n\n@NgModule({\n declarations: [...LAYOUTS, LayoutComponent, ChangePasswordComponent, ProfileComponent],\n imports: [\n CoreModule,\n ThemeSharedModule,\n NgbCollapseModule,\n NgbDropdownModule,\n ToastModule,\n NgxValidateCoreModule,\n NgxsModule.forFeature([LayoutState]),\n ],\n exports: [...LAYOUTS],\n entryComponents: [...LAYOUTS],\n})\nexport class ThemeBasicModule {}\n","import { TemplateRef } from '@angular/core';\n\nexport namespace Layout {\n export interface State {\n navigationElements: NavigationElement[];\n }\n\n export interface NavigationElement {\n name: string;\n element: TemplateRef;\n order?: number;\n }\n}\n"],"names":["tslib_1.__spread","tslib_1.__decorate","required"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,AAmBQ,IAAA,gCAAS,EAAE,8BAAQ;AAE3B;IA2BE,iCAAoB,EAAe,EAAU,KAAY,EAAU,cAA8B;QAA7E,OAAE,GAAF,EAAE,CAAa;QAAU,UAAK,GAAL,KAAK,CAAO;QAAU,mBAAc,GAAd,cAAc,CAAgB;QATjG,kBAAa,GAAG,IAAI,YAAY,EAAW,CAAC;QAO5C,cAAS,GAAY,KAAK,CAAC;KAE0E;IApBrG,sBACI,4CAAO;;;;QADX;YAEE,OAAO,IAAI,CAAC,QAAQ,CAAC;SACtB;;;;;QAED,UAAY,KAAc;YACxB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAChC;;;OALA;;;;IAmBD,0CAAQ;;;IAAR;QACE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CACvB;YACE,QAAQ,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC;YACxB,WAAW,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC;YAC3B,iBAAiB,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC;SAClC,EACD;YACE,UAAU,EAAE,CAAC,gBAAgB,CAAC,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC,CAAC;SACrE,CACF,CAAC;KACH;;;;IAED,0CAAQ;;;IAAR;QAAA,iBA2BC;QA1BC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB,IAAI,CAAC,KAAK;aACP,QAAQ,CACP,IAAI,cAAc,CAAC;YACjB,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK;YAChD,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,KAAK;SAChD,CAAC,CACH;aACA,IAAI,CACH,QAAQ;;;QAAC;YACP,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB,EAAC,CACH;aACA,SAAS,CAAC;YACT,IAAI;;;YAAE;gBACJ,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,KAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;aACnB,CAAA;YACD,KAAK;;;;YAAE,UAAA,GAAG;gBACR,KAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;;;gBAAC,cAAM,OAAA,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,GAAA,GAAE,iCAAiC,CAAC,EAAE,OAAO,EAAE;oBACxG,IAAI,EAAE,IAAI;iBACX,CAAC,CAAC;aACJ,CAAA;SACF,CAAC,CAAC;KACN;;;;IAED,2CAAS;;;IAAT;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;KACrB;;;;;IAED,6CAAW;;;;IAAX,UAAY,EAA0B;YAAxB,oBAAO;QACnB,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,IAAI,OAAO,CAAC,YAAY,EAAE;YACxB,IAAI,CAAC,SAAS,EAAE,CAAC;SAClB;aAAM,IAAI,OAAO,CAAC,YAAY,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE;YACzD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;KACF;;gBAnFF,SAAS,SAAC;oBACT,QAAQ,EAAE,qBAAqB;oBAC/B,gvDAA+C;iBAChD;;;;gBAXQ,WAAW;gBAEX,KAAK;gBAdL,cAAc;;;0BA2BpB,KAAK;gCAUL,MAAM;+BAGN,SAAS,SAAC,cAAc,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;;IAgE9C,8BAAC;CApFD,IAoFC;;;;;;IA/EC,2CAAmB;;IAYnB,gDAC4C;;IAE5C,+CAC+B;;IAE/B,uCAAgB;;IAEhB,4CAA2B;;;;;IAEf,qCAAuB;;;;;IAAE,wCAAoB;;;;;IAAE,iDAAsC;;;;;;;AChDnG;IAGA;QAQE,gBAAW,GAAY,KAAK,CAAC;KAC9B;;IAHQ,2BAAI,2BAAuB;;gBANnC,SAAS,SAAC;oBACT,QAAQ,EAAE,oBAAoB;oBAC9B,2zBAA8C;iBAC/C;;IAMD,6BAAC;CATD,IASC;;;IAHC,4BAAkC;;IAElC,6CAA6B;;;;;;;ACT/B;IAEE,8BAAmB,OAA8D;QAA9D,YAAO,GAAP,OAAO,CAAuD;KAAI;IADrE,yBAAI,GAAG,iCAAiC,CAAC;IAE3D,2BAAC;CAHD,IAGC;;;IAFC,0BAAyD;;IAC7C,uCAAqE;;AAGnF;IAEE,uCAAmB,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;KAAI;IADnB,kCAAI,GAAG,0CAA0C,CAAC;IAEpE,oCAAC;CAHD,IAGC;;;IAFC,mCAAkE;;IACtD,6CAAmB;;;;;;;;;;;;;;KCkDhC;;;;;IA/CQ,iCAAqB;;;;IAA5B,UAA6B,EAAoC;YAAlC,0CAAkB;QAC/C,OAAO,kBAAkB,CAAC;KAC3B;;;;;;IAGD,qCAAe;;;;;IAAf,UAAgB,EAAoD,EAAE,EAAsC;YAA1F,sBAAQ,EAAE,0BAAU;YAAkC,eAAY,EAAZ,iCAAY;QAC5E,IAAA,kDAAkB;QAExB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3B,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;SACrB;QAED,IAAI,kBAAkB,CAAC,MAAM,EAAE;YAC7B,OAAO,GAAG,GAAG;;;YACX;gBACE,OAAA,oBAAC,OAAO,IAAgC,MAAM;;;;gBAC5C,UAAC,EAAQ;wBAAN,cAAI;oBAAO,OAAA,kBAAkB,CAAC,SAAS;;;;oBAAC,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,IAAI,KAAK,IAAI,GAAA,EAAC,GAAG,CAAC;iBAAA,EACzE;aAAA,GACH,EAAE,CACH,CAAC;SACH;QAED,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,OAAO;QAE5B,kBAAkB,GAAGA,SAAI,kBAAkB,EAAK,OAAO,EACpD,GAAG;;;;QAAC,UAAA,OAAO,IAAI,qBAAM,OAAO,IAAE,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE,OAAG,EAAC;aAC5D,IAAI;;;;;QAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAA,EAAC,CAAC;QAErC,OAAO,UAAU,CAAC;YAChB,kBAAkB,oBAAA;SACnB,CAAC,CAAC;KACJ;;;;;;IAGD,wCAAkB;;;;;IAAlB,UAAmB,EAAoD,EAAE,EAAuC;YAA3F,sBAAQ,EAAE,0BAAU;YAAkC,cAAI;QACvE,IAAA,kDAAkB;;YAElB,KAAK,GAAG,kBAAkB,CAAC,SAAS;;;;QAAC,UAAA,OAAO,IAAI,OAAA,OAAO,CAAC,IAAI,KAAK,IAAI,GAAA,EAAC;QAE5E,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;YACd,kBAAkB,GAAG,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SAC1D;QAED,OAAO,UAAU,CAAC;YAChB,kBAAkB,oBAAA;SACnB,CAAC,CAAC;KACJ;IAzCDC;QADC,MAAM,CAAC,oBAAoB,CAAC;;iDAC2D,oBAAoB;;sDA0B3G;IAGDA;QADC,MAAM,CAAC,6BAA6B,CAAC;;iDAC6C,6BAA6B;;yDAY/G;IA9CDA;QADC,QAAQ,EAAE;;;;kDAGV;IAJU,WAAW;QAJvB,KAAK,CAAe;YACnB,IAAI,EAAE,aAAa;YACnB,QAAQ,qBAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE,EAAgB;SACrD,CAAC;OACW,WAAW,CAiDvB;IAAD,kBAAC;CAAA;;;;;;;;;;;;ICqCC,oCAAoB,KAAY,EAAU,YAA0B;QAAhD,UAAK,GAAL,KAAK,CAAO;QAAU,iBAAY,GAAZ,YAAY,CAAc;QAnCpE,yBAAoB,GAAY,KAAK,CAAC;QAEtC,kBAAa,GAAY,KAAK,CAAC;QA2B/B,sBAAiB,GAAuB,EAAE,CAAC;QAE3C,cAAS;;;;;QAAmC,UAAC,CAAC,EAAE,IAAI,IAAK,OAAA,IAAI,CAAC,IAAI,GAAA,EAAC;QAEnE,qBAAgB;;;;;QAAmC,UAAC,CAAC,EAAE,OAAO,IAAK,OAAA,OAAO,GAAA,EAAC;KAEH;IA7BxE,sBAAI,sDAAc;;;;QAAlB;YACE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG;;;;YAAC,UAAA,MAAM,IAAI,OAAA,gBAAgB,CAAC,MAAM,CAAC,GAAA,EAAC,CAAC,CAAC;SACnE;;;OAAA;IAED,sBAAI,wDAAgB;;;;QAApB;YAAA,iBAOC;YANC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CACzB,GAAG;;;;YACD,UAAA,SAAS,IAAI,OAAA,GAAG;;;YAAC,cAAM,OAAA,SAAS,CAAC,IAAI;;;;YAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,WAAW,KAAK,KAAI,CAAC,mBAAmB,GAAA,EAAC,CAAC,WAAW,GAAA,EAAC,GAAA,GACzG,EAAE,CACH,CACF,CAAC;SACH;;;OAAA;IAED,sBAAI,0DAAkB;;;;QAAtB;YAAA,iBAIC;YAHC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CACzB,GAAG;;;;YAAC,UAAA,SAAS,IAAI,OAAA,GAAG;;;YAAC,cAAM,OAAA,SAAS,CAAC,MAAM;;;;YAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,WAAW,KAAK,KAAI,CAAC,mBAAmB,GAAA,EAAC,GAAA,EAAC,GAAA,GAAE,EAAE,CAAC,CACzG,CAAC;SACH;;;OAAA;IAED,sBAAI,2DAAmB;;;;QAAvB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;SAC5D;;;OAAA;;;;;IAUO,qDAAgB;;;;IAAxB;QAAA,iBAWC;QAVC,UAAU;;;QAAC;YACT,KAAI,CAAC,mBAAmB,CAAC,OAAO;;;;YAAC,UAAA,IAAI;gBACnC,IAAI,CAAC,KAAK,EAAE,CAAC;aACd,EAAC,CAAC;YACH,IAAI,MAAM,CAAC,UAAU,GAAG,GAAG,EAAE;gBAC3B,KAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;aACrC;iBAAM;gBACL,KAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;aACpC;SACF,GAAE,CAAC,CAAC,CAAC;KACP;;;;IAED,oDAAe;;;IAAf;QAAA,iBAgCC;;YA/BO,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC,GAAG;;;;QAAC,UAAC,EAAQ;gBAAN,cAAI;YAAO,OAAA,IAAI;SAAA,EAAC;QAExG,IAAI,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE;YAC1C,IAAI,CAAC,KAAK,CAAC,QAAQ,CACjB,IAAI,oBAAoB,CAAC;gBACvB,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE;gBAC5D,EAAE,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE;aACnE,CAAC,CACH,CAAC;SACH;QAED,IAAI,CAAC,YAAY;aACd,IAAI,CACH,GAAG;;;;QAAC,UAAA,QAAQ,IAAI,OAAA,QAAQ,CAAC,GAAG;;;;QAAC,UAAC,EAAW;gBAAT,oBAAO;YAAO,OAAA,OAAO;SAAA,EAAC,GAAA,EAAC,EACvD,MAAM;;;;QAAC,UAAA,QAAQ,IAAI,OAAA,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAI,CAAC,iBAAiB,CAAC,GAAA,EAAC,EAC9D,gBAAgB,CAAC,IAAI,CAAC,CACvB;aACA,SAAS;;;;QAAC,UAAA,QAAQ;YACjB,UAAU;;;YAAC,cAAM,QAAC,KAAI,CAAC,iBAAiB,GAAG,QAAQ,IAAC,GAAE,CAAC,CAAC,CAAC;SAC1D,EAAC,CAAC;QAEL,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC;aACxB,IAAI,CACH,gBAAgB,CAAC,IAAI,CAAC,EACtB,YAAY,CAAC,GAAG,CAAC,CAClB;aACA,SAAS;;;QAAC;YACT,KAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB,EAAC,CAAC;KACN;;;;IAED,gDAAW;;;IAAX,eAAgB;;;;;IAEhB,iDAAY;;;;IAAZ,UAAa,WAAmB;QAC9B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;KAChD;;;;IAED,2CAAM;;;IAAN;QACE,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,QAAQ,CACjB,IAAI,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;YACxB,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;SACzE,CAAC,CACH,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;KAChD;;IA1HM,+BAAI,mCAA2B;;gBANvC,SAAS,SAAC;oBACT,QAAQ,EAAE,wBAAwB;oBAClC,yvJAAkD;iBACnD;;;;gBAbgB,KAAK;gBACb,YAAY;;;iCA6BlB,SAAS,SAAC,aAAa,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE;8BAG7D,SAAS,SAAC,UAAU,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE;sCAG1D,YAAY,SAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;;IAjBzDA;QADC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;kCAC5B,UAAU;+DAAkB;IAGrCA;QADC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;kCAC5B,UAAU;oEAAuC;IAG/DA;QADC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;kCAC1C,UAAU;kEAAsC;IAG5DA;QADC,MAAM,CAAC,WAAW,CAAC,qBAAqB,CAAC;kCAC5B,UAAU;oEAA6B;IA+GvD,iCAAC;CAjID,IAiIC;;;IA3HC,gCAAsC;;IAEtC,6CACqC;;IAErC,kDAC+D;;IAE/D,gDAC4D;;IAE5D,kDACqD;;IAErD,oDACiC;;IAEjC,iDAC8B;;IAE9B,yDAC4C;;IAE5C,0DAAsC;;IAEtC,mDAA+B;;IAE/B,4DAAgC;;IAyBhC,uDAA2C;;IAE3C,+CAAmE;;IAEnE,sDAA2E;;;;;IAE/D,2CAAoB;;;;;IAAE,kDAAkC;;;;;;AAmEtE,SAAS,gBAAgB,CAAC,MAAuB;IAC/C,OAAO,MAAM,CAAC,MAAM;;;;;IAAC,UAAC,GAAG,EAAE,GAAG;QAC5B,IAAI,GAAG,CAAC,SAAS;YAAE,OAAO,GAAG,CAAC;QAE9B,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE;YACvC,GAAG,CAAC,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SAC/C;QAED,gBAAW,GAAG,GAAE,GAAG,GAAE;KACtB,GAAE,EAAE,CAAC,CAAC;CACR;;;;;;AC7KD;IAGA;KAUC;;IADQ,yBAAI,uBAAqB;;gBATjC,SAAS,SAAC;oBACT,QAAQ,EAAE,kBAAkB;oBAC5B,QAAQ,EAAE,6DAGT;iBACF;;IAID,2BAAC;CAVD,IAUC;;;IADC,0BAAgC;;;;;;;ACZlC;IAiBE,yBAAoB,KAAY;QAAZ,UAAK,GAAL,KAAK,CAAO;QANhC,gBAAW,GAAY,IAAI,CAAC;KAMQ;IAJpC,sBAAI,oCAAO;;;;QAAX;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;SAClE;;;OAAA;;gBAVF,SAAS,SAAC;oBACT,QAAQ,EAAE,aAAa;oBACvB,g8BAAsC;oBACtC,UAAU,EAAE,CAAC,eAAe,CAAC;iBAC9B;;;;gBANQ,KAAK;;IAed,sBAAC;CAbD,IAaC;;;IAPC,sCAA4B;;;;;IAMhB,gCAAoB;;;;;;;ACV1B,IAAA,gCAAS,EAAEC,gCAAQ,EAAE,wBAAK;AAElC;IA2BE,0BAAoB,EAAe,EAAU,KAAY;QAArC,OAAE,GAAF,EAAE,CAAa;QAAU,UAAK,GAAL,KAAK,CAAO;QATzD,kBAAa,GAAG,IAAI,YAAY,EAAW,CAAC;QAO5C,cAAS,GAAY,KAAK,CAAC;KAEkC;IApB7D,sBACI,qCAAO;;;;QADX;YAEE,OAAO,IAAI,CAAC,QAAQ,CAAC;SACtB;;;;;QAED,UAAY,KAAc;YACxB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAChC;;;OALA;;;;IAmBD,oCAAS;;;IAAT;QAAA,iBAgBC;QAfC,IAAI,CAAC,KAAK;aACP,QAAQ,CAAC,IAAI,UAAU,EAAE,CAAC;aAC1B,IAAI,CACH,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,EAC7B,IAAI,CAAC,CAAC,CAAC,CACR;aACA,SAAS;;;;QAAC,UAAC,EAAW;gBAAX,kBAAW,EAAR,eAAO;YACpB,KAAI,CAAC,IAAI,GAAG,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACxB,QAAQ,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAACA,UAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;gBACxD,KAAK,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAACA,UAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzD,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC3C,OAAO,EAAE,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;gBACjD,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;aAC1D,CAAC,CAAC;SACJ,EAAC,CAAC;KACN;;;;IAED,mCAAQ;;;IAAR;QAAA,iBASC;QARC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;;;QAAC;YAChE,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,KAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;SACnB,EAAC,CAAC;KACJ;;;;IAED,oCAAS;;;IAAT;QACE,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;KACrB;;;;;IAED,sCAAW;;;;IAAX,UAAY,EAA0B;YAAxB,oBAAO;QACnB,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,IAAI,OAAO,CAAC,YAAY,EAAE;YACxB,IAAI,CAAC,SAAS,EAAE,CAAC;SAClB;aAAM,IAAI,OAAO,CAAC,YAAY,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE;YACzD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;KACF;;gBAvEF,SAAS,SAAC;oBACT,QAAQ,EAAE,aAAa;oBACvB,kkEAAuC;iBACxC;;;;gBAVQ,WAAW;gBACH,KAAK;;;0BAanB,KAAK;gCAUL,MAAM;;IAIPD;QADC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC;kCACtB,UAAU;sDAAmB;IAmDzC,uBAAC;CAxED,IAwEC;;;;;;IAnEC,oCAAmB;;IAYnB,yCAC4C;;IAE5C,oCACuC;;IAEvC,gCAAgB;;IAEhB,qCAA2B;;;;;IAEf,8BAAuB;;;;;IAAE,iCAAoB;;;;;;;;ACrB3D,IAAa,OAAO,GAAG,CAAC,0BAA0B,EAAE,sBAAsB,EAAE,oBAAoB,CAAC;AAEjG;IAAA;KAcgC;;gBAd/B,QAAQ,SAAC;oBACR,YAAY,WAAM,OAAO,GAAE,eAAe,EAAE,uBAAuB,EAAE,gBAAgB,EAAC;oBACtF,OAAO,EAAE;wBACP,UAAU;wBACV,iBAAiB;wBACjB,iBAAiB;wBACjB,iBAAiB;wBACjB,WAAW;wBACX,qBAAqB;wBACrB,UAAU,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC;qBACrC;oBACD,OAAO,WAAM,OAAO,CAAC;oBACrB,eAAe,WAAM,OAAO,CAAC;iBAC9B;;IAC8B,uBAAC;CAdhC;;;;;;;;;;;ACfA,IAAiB,MAAM,CAUtB;AAVD,WAAiB,MAAM;;;;IACrB,oBAEC;;;;QADC,mCAAwC;;;;;IAG1C,gCAIC;;;;QAHC,iCAAa;;QACb,oCAA0B;;QAC1B,kCAAe;;CAElB,EAVgB,MAAM,KAAN,MAAM,QAUtB;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/lib/components/change-password/change-password.component.d.ts b/npm/ng-packs/dist/theme-basic/lib/components/change-password/change-password.component.d.ts index e820e5e709..6294583b12 100644 --- a/npm/ng-packs/dist/theme-basic/lib/components/change-password/change-password.component.d.ts +++ b/npm/ng-packs/dist/theme-basic/lib/components/change-password/change-password.component.d.ts @@ -11,6 +11,7 @@ export declare class ChangePasswordComponent implements OnInit, OnChanges { visibleChange: EventEmitter; modalContent: TemplateRef; form: FormGroup; + modalBusy: boolean; constructor(fb: FormBuilder, store: Store, toasterService: ToasterService); ngOnInit(): void; onSubmit(): void; diff --git a/npm/ng-packs/dist/theme-basic/lib/components/profile/profile.component.d.ts b/npm/ng-packs/dist/theme-basic/lib/components/profile/profile.component.d.ts index ad787579ca..4294e76fc8 100644 --- a/npm/ng-packs/dist/theme-basic/lib/components/profile/profile.component.d.ts +++ b/npm/ng-packs/dist/theme-basic/lib/components/profile/profile.component.d.ts @@ -11,6 +11,7 @@ export declare class ProfileComponent implements OnChanges { visibleChange: EventEmitter; profile$: Observable; form: FormGroup; + modalBusy: boolean; constructor(fb: FormBuilder, store: Store); buildForm(): void; onSubmit(): void; diff --git a/npm/ng-packs/dist/theme-shared/abp-ng.theme.shared.metadata.json b/npm/ng-packs/dist/theme-shared/abp-ng.theme.shared.metadata.json index c9112db207..4862430bad 100644 --- a/npm/ng-packs/dist/theme-shared/abp-ng.theme.shared.metadata.json +++ b/npm/ng-packs/dist/theme-shared/abp-ng.theme.shared.metadata.json @@ -1 +1 @@ -{"__symbolic":"module","version":4,"exports":[{"from":"./lib/confirmation.service"},{"from":"./lib/toaster.service"},{"from":"./lib/loader-bar/loader-bar.component"},{"from":"./lib/modal/modal.component"},{"from":"./lib/toast/toast.component"}],"metadata":{"appendScript":{"__symbolic":"function"},"ThemeSharedModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":36,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":38,"character":4},{"__symbolic":"reference","module":"primeng/toast","name":"ToastModule","line":39,"character":4},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbModalModule","line":40,"character":4},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngx-validate/core","name":"NgxValidateCoreModule","line":41,"character":4},"member":"forRoot"},"arguments":[{"targetSelector":".form-group","blueprints":{"email":"AbpAccount::ThisFieldIsNotAValidEmailAddress.","max":"AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]","maxlength":"AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]","min":"AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]","minlength":"AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]","required":"AbpAccount::ThisFieldIsRequired.","passwordMismatch":"AbpIdentity::Identity.PasswordConfirmationFailed"},"errorTemplate":{"__symbolic":"reference","name":"ɵa"}}]}],"declarations":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","name":"ɵa"}],"exports":[{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbModalModule","line":64,"character":12},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵi"}],"entryComponents":[{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵa"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"ThemeSharedModule"},"providers":[{"provide":{"__symbolic":"reference","module":"@angular/core","name":"APP_INITIALIZER","line":73,"character":19},"multi":true,"deps":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":75,"character":17},{"__symbolic":"reference","name":"ɵj"}],"useFactory":{"__symbolic":"reference","name":"appendScript"}},{"provide":{"__symbolic":"reference","module":"primeng/components/common/messageservice","name":"MessageService","line":78,"character":19},"useClass":{"__symbolic":"reference","module":"primeng/components/common/messageservice","name":"MessageService","line":78,"character":45}}]}}}},"ɵa":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@ngx-validate/core","name":"ValidationErrorComponent","line":13,"character":46},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"abp-validation-error","template":"\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n ","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":10,"character":19},"member":"OnPush"},"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":11,"character":17},"member":"None"}}]}],"members":{}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"abp-button","template":"\n \n "}]}],"members":{"buttonClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"buttonType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"iconClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"loading":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"requestType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"requestURLContainSearchValue":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Actions","line":39,"character":31}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"abp-confirmation","template":"\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n "}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵd"}]}],"close":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵe"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{},"statics":{"ngInjectableDef":{}}},"ɵe":{"__symbolic":"class","arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"primeng/components/common/messageservice","name":"MessageService","line":11,"character":40}]}],"info":[{"__symbolic":"method"}],"success":[{"__symbolic":"method"}],"warn":[{"__symbolic":"method"}],"error":[{"__symbolic":"method"}],"show":[{"__symbolic":"method"}],"clear":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"abp-toast","template":"\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n "}]}],"members":{}},"ɵg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":23,"character":1},"arguments":[{"selector":"abp-modal","template":"\n \n
    \n
    \n \n\n \n
    \n \n \n\n
    \n \n
    \n
    \n \n \n\n \n\n"}]}],"members":{"visible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"busy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":58,"character":3}}]}],"centered":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":70,"character":3}}]}],"modalClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":72,"character":3}}]}],"size":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":74,"character":3}}]}],"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":76,"character":3}}]}],"minHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":78,"character":3}}]}],"visibleChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":80,"character":3}}]}],"init":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":82,"character":3}}]}],"abpHeader":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":84,"character":3},"arguments":["abpHeader",{"static":false}]}]}],"abpBody":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":86,"character":3},"arguments":["abpBody",{"static":false}]}]}],"abpFooter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":88,"character":3},"arguments":["abpFooter",{"static":false}]}]}],"abpClose":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":90,"character":3},"arguments":["abpClose",{"static":false,"read":{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":90,"character":51}}]}]}],"abpSubmit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":92,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵb"},{"static":false,"read":{"__symbolic":"reference","name":"ɵb"}}]}]}],"modalContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":94,"character":3},"arguments":["abpModalContent",{"static":false}]}]}],"abpButtons":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":96,"character":3},"arguments":["abp-button"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":110,"character":32},{"__symbolic":"reference","name":"ɵd"}]}],"ngOnDestroy":[{"__symbolic":"method"}],"setVisible":[{"__symbolic":"method"}],"listen":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}]}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"abp-error","template":"\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n ","styles":[".error{position:fixed;top:0;background-color:#fff;width:100vw;height:100vh;z-index:999999}.centered{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}"]}]}],"members":{"destroy":[{"__symbolic":"method"}]}},"ɵi":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"abp-loader-bar","template":"\n
    \n
    \n
    \n ","styles":[".abp-loader-bar{left:0;opacity:0;position:fixed;top:0;transition:opacity .4s linear .4s;z-index:99999}.abp-loader-bar.is-loading{opacity:1;transition:none}.abp-loader-bar .abp-progress{background:#77b6ff;box-shadow:0 0 10px rgba(119,182,255,.7);height:2px;left:0;position:fixed;top:0;transition:width .4s}"]}]}],"members":{"containerClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"progressClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"isLoading":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"filter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Actions","line":33,"character":31},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":33,"character":56}]}],"ngOnDestroy":[{"__symbolic":"method"}],"startLoading":[{"__symbolic":"method"}],"stopLoading":[{"__symbolic":"method"}]}},"ɵj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":40,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Actions","line":43,"character":21},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":44,"character":19},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","module":"@angular/core","name":"ApplicationRef","line":46,"character":20},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":47,"character":19},{"__symbolic":"reference","module":"@angular/core","name":"RendererFactory2","line":48,"character":29},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":49,"character":22}]}],"showError":[{"__symbolic":"method"}],"navigateToLogin":[{"__symbolic":"method"}],"createErrorComponent":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}}},"origins":{"appendScript":"./lib/theme-shared.module","ThemeSharedModule":"./lib/theme-shared.module","ɵa":"./lib/components/errors/validation-error.component","ɵb":"./lib/components/button/button.component","ɵc":"./lib/components/confirmation/confirmation.component","ɵd":"./lib/services/confirmation.service","ɵe":"./lib/abstracts/toaster","ɵf":"./lib/components/toast/toast.component","ɵg":"./lib/components/modal/modal.component","ɵh":"./lib/components/errors/error.component","ɵi":"./lib/components/loader-bar/loader-bar.component","ɵj":"./lib/handlers/error.handler"},"importAs":"@abp/ng.theme.shared"} \ No newline at end of file +{"__symbolic":"module","version":4,"exports":[{"from":"./lib/confirmation.service"},{"from":"./lib/toaster.service"},{"from":"./lib/loader-bar/loader-bar.component"},{"from":"./lib/modal/modal.component"},{"from":"./lib/toast/toast.component"}],"metadata":{"appendScript":{"__symbolic":"function"},"ThemeSharedModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":36,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":38,"character":4},{"__symbolic":"reference","module":"primeng/toast","name":"ToastModule","line":39,"character":4},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbModalModule","line":40,"character":4},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngx-validate/core","name":"NgxValidateCoreModule","line":41,"character":4},"member":"forRoot"},"arguments":[{"targetSelector":".form-group","blueprints":{"email":"AbpAccount::ThisFieldIsNotAValidEmailAddress.","max":"AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]","maxlength":"AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]","min":"AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]","minlength":"AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]","required":"AbpAccount::ThisFieldIsRequired.","passwordMismatch":"AbpIdentity::Identity.PasswordConfirmationFailed"},"errorTemplate":{"__symbolic":"reference","name":"ɵa"}}]}],"declarations":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","name":"ɵa"}],"exports":[{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbModalModule","line":64,"character":12},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵi"}],"entryComponents":[{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵa"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"ThemeSharedModule"},"providers":[{"provide":{"__symbolic":"reference","module":"@angular/core","name":"APP_INITIALIZER","line":73,"character":19},"multi":true,"deps":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":75,"character":17},{"__symbolic":"reference","name":"ɵj"}],"useFactory":{"__symbolic":"reference","name":"appendScript"}},{"provide":{"__symbolic":"reference","module":"primeng/components/common/messageservice","name":"MessageService","line":78,"character":19},"useClass":{"__symbolic":"reference","module":"primeng/components/common/messageservice","name":"MessageService","line":78,"character":45}}]}}}},"ɵa":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@ngx-validate/core","name":"ValidationErrorComponent","line":13,"character":46},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"abp-validation-error","template":"\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n ","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":10,"character":19},"member":"OnPush"},"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":11,"character":17},"member":"None"}}]}],"members":{}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"abp-button","template":"\n \n "}]}],"members":{"buttonClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"buttonType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"iconClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"loading":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"abp-confirmation","template":"\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n "}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵd"}]}],"close":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵe"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{},"statics":{"ngInjectableDef":{}}},"ɵe":{"__symbolic":"class","arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"primeng/components/common/messageservice","name":"MessageService","line":11,"character":40}]}],"info":[{"__symbolic":"method"}],"success":[{"__symbolic":"method"}],"warn":[{"__symbolic":"method"}],"error":[{"__symbolic":"method"}],"show":[{"__symbolic":"method"}],"clear":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"abp-toast","template":"\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n "}]}],"members":{}},"ɵg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":23,"character":1},"arguments":[{"selector":"abp-modal","template":"\n \n
    \n
    \n \n\n \n
    \n \n \n\n
    \n \n
    \n
    \n \n \n\n \n\n"}]}],"members":{"visible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"busy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":58,"character":3}}]}],"centered":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":70,"character":3}}]}],"modalClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":72,"character":3}}]}],"size":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":74,"character":3}}]}],"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":76,"character":3}}]}],"minHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":78,"character":3}}]}],"visibleChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":80,"character":3}}]}],"init":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":82,"character":3}}]}],"abpHeader":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":84,"character":3},"arguments":["abpHeader",{"static":false}]}]}],"abpBody":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":86,"character":3},"arguments":["abpBody",{"static":false}]}]}],"abpFooter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":88,"character":3},"arguments":["abpFooter",{"static":false}]}]}],"abpClose":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":90,"character":3},"arguments":["abpClose",{"static":false,"read":{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":90,"character":51}}]}]}],"abpSubmit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":92,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵb"},{"static":false,"read":{"__symbolic":"reference","name":"ɵb"}}]}]}],"modalContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":94,"character":3},"arguments":["abpModalContent",{"static":false}]}]}],"abpButtons":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":96,"character":3},"arguments":["abp-button"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":110,"character":32},{"__symbolic":"reference","name":"ɵd"}]}],"ngOnDestroy":[{"__symbolic":"method"}],"setVisible":[{"__symbolic":"method"}],"listen":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}]}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"abp-error","template":"\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n ","styles":[".error{position:fixed;top:0;background-color:#fff;width:100vw;height:100vh;z-index:999999}.centered{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}"]}]}],"members":{"destroy":[{"__symbolic":"method"}]}},"ɵi":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"abp-loader-bar","template":"\n
    \n
    \n
    \n ","styles":[".abp-loader-bar{left:0;opacity:0;position:fixed;top:0;transition:opacity .4s linear .4s;z-index:99999}.abp-loader-bar.is-loading{opacity:1;transition:none}.abp-loader-bar .abp-progress{background:#77b6ff;box-shadow:0 0 10px rgba(119,182,255,.7);height:2px;left:0;position:fixed;top:0;transition:width .4s}"]}]}],"members":{"containerClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"progressClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"isLoading":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"filter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Actions","line":33,"character":31},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":33,"character":56}]}],"ngOnDestroy":[{"__symbolic":"method"}],"startLoading":[{"__symbolic":"method"}],"stopLoading":[{"__symbolic":"method"}]}},"ɵj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":40,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Actions","line":43,"character":21},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":44,"character":19},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","module":"@angular/core","name":"ApplicationRef","line":46,"character":20},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":47,"character":19},{"__symbolic":"reference","module":"@angular/core","name":"RendererFactory2","line":48,"character":29},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":49,"character":22}]}],"showError":[{"__symbolic":"method"}],"navigateToLogin":[{"__symbolic":"method"}],"createErrorComponent":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}}},"origins":{"appendScript":"./lib/theme-shared.module","ThemeSharedModule":"./lib/theme-shared.module","ɵa":"./lib/components/errors/validation-error.component","ɵb":"./lib/components/button/button.component","ɵc":"./lib/components/confirmation/confirmation.component","ɵd":"./lib/services/confirmation.service","ɵe":"./lib/abstracts/toaster","ɵf":"./lib/components/toast/toast.component","ɵg":"./lib/components/modal/modal.component","ɵh":"./lib/components/errors/error.component","ɵi":"./lib/components/loader-bar/loader-bar.component","ɵj":"./lib/handlers/error.handler"},"importAs":"@abp/ng.theme.shared"} \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.js b/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.js index 89638b1ba7..4723ad30b6 100644 --- a/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.js +++ b/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.js @@ -46,6 +46,85 @@ return __assign.apply(this, arguments); }; + function __rest(s, e) { + var t = {}; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; + } + + function __decorate(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + 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; + return c > 3 && r && Object.defineProperty(target, key, r), r; + } + + function __param(paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } + } + + function __metadata(metadataKey, metadataValue) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); + } + + function __awaiter(thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + } + + function __generator(thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + 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; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } + } + + function __exportStar(m, exports) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + + function __values(o) { + var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0; + if (m) return m.call(o); + return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + } + function __read(o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; @@ -67,6 +146,61 @@ for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); return ar; + } + + function __spreadArrays() { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; + }; + + function __await(v) { + return this instanceof __await ? (this.v = v, this) : new __await(v); + } + + function __asyncGenerator(thisArg, _arguments, generator) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var g = generator.apply(thisArg, _arguments || []), i, q = []; + return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; + 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); }); }; } + function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } + function fulfill(value) { resume("next", value); } + function reject(value) { resume("throw", value); } + function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } + } + + function __asyncDelegator(o) { + var i, p; + return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; + 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; } + } + + function __asyncValues(o) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var m = o[Symbol.asyncIterator], i; + 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); + 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); }); }; } + function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } + } + + function __makeTemplateObject(cooked, raw) { + if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + return cooked; + }; + + function __importStar(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result.default = mod; + return result; + } + + function __importDefault(mod) { + return (mod && mod.__esModule) ? mod : { default: mod }; } /** @@ -182,6 +316,19 @@ }; return AbstractToaster; }()); + if (false) { + /** @type {?} */ + AbstractToaster.prototype.status$; + /** @type {?} */ + AbstractToaster.prototype.key; + /** @type {?} */ + AbstractToaster.prototype.sticky; + /** + * @type {?} + * @protected + */ + AbstractToaster.prototype.messageService; + } /** * @fileoverview added by tsickle @@ -201,6 +348,12 @@ /** @nocollapse */ ConfirmationService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function ConfirmationService_Factory() { return new ConfirmationService(core.ɵɵinject(messageservice.MessageService)); }, token: ConfirmationService, providedIn: "root" }); return ConfirmationService; }(AbstractToaster)); + if (false) { + /** @type {?} */ + ConfirmationService.prototype.key; + /** @type {?} */ + ConfirmationService.prototype.sticky; + } /** * @fileoverview added by tsickle @@ -236,6 +389,19 @@ ]; }; return ConfirmationComponent; }()); + if (false) { + /** @type {?} */ + ConfirmationComponent.prototype.confirm; + /** @type {?} */ + ConfirmationComponent.prototype.reject; + /** @type {?} */ + ConfirmationComponent.prototype.dismiss; + /** + * @type {?} + * @private + */ + ConfirmationComponent.prototype.confirmationService; + } /** * @fileoverview added by tsickle @@ -264,6 +430,18 @@ ]; return ErrorComponent; }()); + if (false) { + /** @type {?} */ + ErrorComponent.prototype.title; + /** @type {?} */ + ErrorComponent.prototype.details; + /** @type {?} */ + ErrorComponent.prototype.renderer; + /** @type {?} */ + ErrorComponent.prototype.elementRef; + /** @type {?} */ + ErrorComponent.prototype.host; + } /** * @fileoverview added by tsickle @@ -386,14 +564,37 @@ }; return LoaderBarComponent; }()); + if (false) { + /** @type {?} */ + LoaderBarComponent.prototype.containerClass; + /** @type {?} */ + LoaderBarComponent.prototype.progressClass; + /** @type {?} */ + LoaderBarComponent.prototype.isLoading; + /** @type {?} */ + LoaderBarComponent.prototype.filter; + /** @type {?} */ + LoaderBarComponent.prototype.progressLevel; + /** @type {?} */ + LoaderBarComponent.prototype.interval; + /** + * @type {?} + * @private + */ + LoaderBarComponent.prototype.actions; + /** + * @type {?} + * @private + */ + LoaderBarComponent.prototype.router; + } /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var ButtonComponent = /** @class */ (function () { - function ButtonComponent(actions) { - this.actions = actions; + function ButtonComponent() { this.buttonClass = 'btn btn-primary'; this.buttonType = 'button'; this.loading = false; @@ -409,75 +610,33 @@ enumerable: true, configurable: true }); - /** - * @return {?} - */ - ButtonComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - var _this = this; - if (this.requestType || this.requestURLContainSearchValue) { - this.actions - .pipe(store.ofActionSuccessful(ng_core.StartLoader, ng_core.StopLoader), operators.filter((/** - * @param {?} event - * @return {?} - */ - function (event) { - /** @type {?} */ - var condition = true; - if (_this.requestType) { - if (!Array.isArray(_this.requestType)) - _this.requestType = [_this.requestType]; - condition = - condition && - _this.requestType.findIndex((/** - * @param {?} type - * @return {?} - */ - function (type) { return type.toLowerCase() === event.payload.method.toLowerCase(); })) > -1; - } - if (condition && _this.requestURLContainSearchValue) { - condition = - condition && - event.payload.url.toLowerCase().indexOf(_this.requestURLContainSearchValue.toLowerCase()) > -1; - } - return condition; - }))) - .subscribe((/** - * @return {?} - */ - function () { - setTimeout((/** - * @return {?} - */ - function () { - _this.loading = !_this.loading; - }), 0); - })); - } - }; ButtonComponent.decorators = [ { type: core.Component, args: [{ selector: 'abp-button', template: "\n \n " }] } ]; - /** @nocollapse */ - ButtonComponent.ctorParameters = function () { return [ - { type: store.Actions } - ]; }; ButtonComponent.propDecorators = { buttonClass: [{ type: core.Input }], buttonType: [{ type: core.Input }], iconClass: [{ type: core.Input }], loading: [{ type: core.Input }], - disabled: [{ type: core.Input }], - requestType: [{ type: core.Input }], - requestURLContainSearchValue: [{ type: core.Input }] + disabled: [{ type: core.Input }] }; return ButtonComponent; }()); + if (false) { + /** @type {?} */ + ButtonComponent.prototype.buttonClass; + /** @type {?} */ + ButtonComponent.prototype.buttonType; + /** @type {?} */ + ButtonComponent.prototype.iconClass; + /** @type {?} */ + ButtonComponent.prototype.loading; + /** @type {?} */ + ButtonComponent.prototype.disabled; + } /** * @fileoverview added by tsickle @@ -707,6 +866,58 @@ }; return ModalComponent; }()); + if (false) { + /** @type {?} */ + ModalComponent.prototype.centered; + /** @type {?} */ + ModalComponent.prototype.modalClass; + /** @type {?} */ + ModalComponent.prototype.size; + /** @type {?} */ + ModalComponent.prototype.height; + /** @type {?} */ + ModalComponent.prototype.minHeight; + /** @type {?} */ + ModalComponent.prototype.visibleChange; + /** @type {?} */ + ModalComponent.prototype.init; + /** @type {?} */ + ModalComponent.prototype.abpHeader; + /** @type {?} */ + ModalComponent.prototype.abpBody; + /** @type {?} */ + ModalComponent.prototype.abpFooter; + /** @type {?} */ + ModalComponent.prototype.abpClose; + /** @type {?} */ + ModalComponent.prototype.abpSubmit; + /** @type {?} */ + ModalComponent.prototype.modalContent; + /** @type {?} */ + ModalComponent.prototype.abpButtons; + /** @type {?} */ + ModalComponent.prototype._visible; + /** @type {?} */ + ModalComponent.prototype._busy; + /** @type {?} */ + ModalComponent.prototype.showModal; + /** @type {?} */ + ModalComponent.prototype.isOpenConfirmation; + /** @type {?} */ + ModalComponent.prototype.closable; + /** @type {?} */ + ModalComponent.prototype.destroy$; + /** + * @type {?} + * @private + */ + ModalComponent.prototype.renderer; + /** + * @type {?} + * @private + */ + ModalComponent.prototype.confirmationService; + } /** * @param {?} nodes * @return {?} @@ -751,7 +962,7 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ - var styles = "\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 200px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* = 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","import { MessageService } from 'primeng/components/common/messageservice';\nimport { Observable, Subject } from 'rxjs';\nimport { Toaster } from '../models/toaster';\n\nexport class AbstractToaster {\n status$: Subject;\n\n key: string = 'abpToast';\n\n sticky: boolean = false;\n\n constructor(protected messageService: MessageService) {}\n info(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'info', options);\n }\n\n success(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'success', options);\n }\n\n warn(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'warn', options);\n }\n\n error(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'error', options);\n }\n\n protected show(message: string, title: string, severity: Toaster.Severity, options?: T): Observable {\n this.messageService.clear(this.key);\n\n this.messageService.add({\n severity,\n detail: message,\n summary: title,\n ...options,\n key: this.key,\n ...(typeof (options || ({} as any)).sticky === 'undefined' && { sticky: this.sticky }),\n });\n this.status$ = new Subject();\n return this.status$;\n }\n\n clear(status?: Toaster.Status) {\n this.messageService.clear(this.key);\n this.status$.next(status || Toaster.Status.dismiss);\n this.status$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Confirmation } from '../models/confirmation';\n\n@Injectable({ providedIn: 'root' })\nexport class ConfirmationService extends AbstractToaster {\n key: string = 'abpConfirmation';\n\n sticky: boolean = true;\n}\n","import { Component } from '@angular/core';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { Toaster } from '../../models/toaster';\n\n@Component({\n selector: 'abp-confirmation',\n template: `\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n `,\n})\nexport class ConfirmationComponent {\n confirm = Toaster.Status.confirm;\n reject = Toaster.Status.reject;\n dismiss = Toaster.Status.dismiss;\n\n constructor(private confirmationService: ConfirmationService) {}\n\n close(status: Toaster.Status) {\n this.confirmationService.clear(status);\n }\n}\n","import { Component, Renderer2, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'abp-error',\n template: `\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n `,\n styleUrls: ['error.component.scss'],\n})\nexport class ErrorComponent {\n title = 'Oops!';\n\n details = 'Sorry, an error has occured.';\n\n renderer: Renderer2;\n\n elementRef: ElementRef;\n\n host: any;\n\n destroy() {\n this.renderer.removeChild(this.host, this.elementRef.nativeElement);\n }\n}\n","import { StartLoader, StopLoader } from '@abp/ng.core';\nimport { Component, Input, OnDestroy } from '@angular/core';\nimport { NavigationEnd, NavigationStart, Router } from '@angular/router';\nimport { takeUntilDestroy } from '@ngx-validate/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-loader-bar',\n template: `\n
    \n
    \n
    \n `,\n styleUrls: ['./loader-bar.component.scss'],\n})\nexport class LoaderBarComponent implements OnDestroy {\n @Input()\n containerClass: string = 'abp-loader-bar';\n\n @Input()\n progressClass: string = 'abp-progress';\n\n @Input()\n isLoading: boolean = false;\n\n @Input()\n filter = (action: StartLoader | StopLoader) => action.payload.url.indexOf('openid-configuration') < 0;\n\n progressLevel: number = 0;\n\n interval: any;\n\n constructor(private actions: Actions, private router: Router) {\n actions\n .pipe(\n ofActionSuccessful(StartLoader, StopLoader),\n filter(this.filter),\n takeUntilDestroy(this),\n )\n .subscribe(action => {\n if (action instanceof StartLoader) this.startLoading();\n else this.stopLoading();\n });\n\n router.events\n .pipe(\n filter(event => event instanceof NavigationStart || event instanceof NavigationEnd),\n takeUntilDestroy(this),\n )\n .subscribe(event => {\n if (event instanceof NavigationStart) this.startLoading();\n else this.stopLoading();\n });\n }\n\n ngOnDestroy() {}\n\n startLoading() {\n this.isLoading = true;\n const interval = setInterval(() => {\n if (this.progressLevel < 75) {\n this.progressLevel += Math.random() * 10;\n } else if (this.progressLevel < 90) {\n this.progressLevel += 0.4;\n } else if (this.progressLevel < 100) {\n this.progressLevel += 0.1;\n } else {\n clearInterval(interval);\n }\n }, 300);\n\n this.interval = interval;\n }\n\n stopLoading() {\n clearInterval(this.interval);\n this.progressLevel = 100;\n this.isLoading = false;\n\n setTimeout(() => {\n this.progressLevel = 0;\n }, 800);\n }\n}\n","import { StartLoader, StopLoader } from '@abp/ng.core';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-button',\n template: `\n \n `,\n})\nexport class ButtonComponent implements OnInit {\n @Input()\n buttonClass: string = 'btn btn-primary';\n\n @Input()\n buttonType: string = 'button';\n\n @Input()\n iconClass: string;\n\n @Input()\n loading: boolean = false;\n\n @Input()\n disabled: boolean = false;\n\n @Input()\n requestType: string | string[];\n\n @Input()\n requestURLContainSearchValue: string;\n\n get icon(): string {\n return `${this.loading ? 'fa fa-spin fa-spinner' : this.iconClass || 'd-none'}`;\n }\n\n constructor(private actions: Actions) {}\n\n ngOnInit(): void {\n if (this.requestType || this.requestURLContainSearchValue) {\n this.actions\n .pipe(\n ofActionSuccessful(StartLoader, StopLoader),\n filter((event: StartLoader | StopLoader) => {\n let condition = true;\n if (this.requestType) {\n if (!Array.isArray(this.requestType)) this.requestType = [this.requestType];\n\n condition =\n condition &&\n this.requestType.findIndex(type => type.toLowerCase() === event.payload.method.toLowerCase()) > -1;\n }\n\n if (condition && this.requestURLContainSearchValue) {\n condition =\n condition &&\n event.payload.url.toLowerCase().indexOf(this.requestURLContainSearchValue.toLowerCase()) > -1;\n }\n\n return condition;\n }),\n )\n .subscribe(() => {\n setTimeout(() => {\n this.loading = !this.loading;\n }, 0);\n });\n }\n }\n}\n","import {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { fromEvent, Subject, timer } from 'rxjs';\nimport { filter, take, takeUntil, debounceTime } from 'rxjs/operators';\nimport { Toaster } from '../../models/toaster';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { ButtonComponent } from '../button/button.component';\n\nexport type ModalSize = 'sm' | 'md' | 'lg' | 'xl';\n\nconst ANIMATION_TIMEOUT = 200;\n\n@Component({\n selector: 'abp-modal',\n templateUrl: './modal.component.html',\n})\nexport class ModalComponent implements OnDestroy {\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n set visible(value: boolean) {\n if (typeof value !== 'boolean') return;\n\n if (!this.modalContent) {\n if (value) {\n setTimeout(() => {\n this.showModal = value;\n this.visible = value;\n }, 0);\n }\n return;\n }\n\n if (value) {\n this.setVisible(value);\n this.listen();\n } else {\n this.closable = false;\n this.renderer.addClass(this.modalContent.nativeElement, 'fade-out-top');\n setTimeout(() => {\n this.setVisible(value);\n this.ngOnDestroy();\n }, ANIMATION_TIMEOUT - 10);\n }\n }\n\n @Input()\n get busy(): boolean {\n return this._busy;\n }\n set busy(value: boolean) {\n if (this.abpSubmit && this.abpSubmit instanceof ButtonComponent) {\n this.abpSubmit.loading = value;\n }\n\n this._busy = value;\n }\n\n @Input() centered: boolean = false;\n\n @Input() modalClass: string = '';\n\n @Input() size: ModalSize = 'lg';\n\n @Input() height: number;\n\n @Input() minHeight: number;\n\n @Output() visibleChange = new EventEmitter();\n\n @Output() init = new EventEmitter();\n\n @ContentChild('abpHeader', { static: false }) abpHeader: TemplateRef;\n\n @ContentChild('abpBody', { static: false }) abpBody: TemplateRef;\n\n @ContentChild('abpFooter', { static: false }) abpFooter: TemplateRef;\n\n @ContentChild('abpClose', { static: false, read: ElementRef }) abpClose: ElementRef;\n\n @ContentChild(ButtonComponent, { static: false, read: ButtonComponent }) abpSubmit: ButtonComponent;\n\n @ViewChild('abpModalContent', { static: false }) modalContent: ElementRef;\n\n @ViewChildren('abp-button') abpButtons;\n\n _visible: boolean = false;\n\n _busy: boolean = false;\n\n showModal: boolean = false;\n\n isOpenConfirmation: boolean = false;\n\n closable: boolean = false;\n\n destroy$ = new Subject();\n\n constructor(private renderer: Renderer2, private confirmationService: ConfirmationService) {}\n\n ngOnDestroy(): void {\n this.destroy$.next();\n }\n\n setVisible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n this.showModal = value;\n\n value\n ? timer(ANIMATION_TIMEOUT + 100)\n .pipe(take(1))\n .subscribe(_ => (this.closable = true))\n : (this.closable = false);\n }\n\n listen() {\n fromEvent(document, 'keyup')\n .pipe(\n takeUntil(this.destroy$),\n debounceTime(150),\n filter((key: KeyboardEvent) => key && key.code === 'Escape' && this.closable),\n )\n .subscribe(_ => {\n this.close();\n });\n\n setTimeout(() => {\n if (!this.abpClose) return;\n fromEvent(this.abpClose.nativeElement, 'click')\n .pipe(\n takeUntil(this.destroy$),\n filter(() => !!(this.closable && this.modalContent)),\n )\n .subscribe(() => this.close());\n }, 0);\n\n this.init.emit();\n }\n\n close() {\n if (!this.closable || this.busy) return;\n\n const nodes = getFlatNodes(\n (this.modalContent.nativeElement.querySelector('#abp-modal-body') as HTMLElement).childNodes,\n );\n\n if (hasNgDirty(nodes)) {\n if (this.isOpenConfirmation) return;\n\n this.isOpenConfirmation = true;\n this.confirmationService\n .warn('AbpAccount::AreYouSureYouWantToCancelEditingWarningMessage', 'AbpAccount::AreYouSure')\n .subscribe((status: Toaster.Status) => {\n timer(ANIMATION_TIMEOUT).subscribe(() => {\n this.isOpenConfirmation = false;\n });\n\n if (status === Toaster.Status.confirm) {\n this.visible = false;\n }\n });\n } else {\n this.visible = false;\n }\n }\n}\n\nfunction getFlatNodes(nodes: NodeList): HTMLElement[] {\n return Array.from(nodes).reduce(\n (acc, val) => [...acc, ...(val.childNodes && val.childNodes.length ? getFlatNodes(val.childNodes) : [val])],\n [],\n );\n}\n\nfunction hasNgDirty(nodes: HTMLElement[]) {\n return nodes.findIndex(node => (node.className || '').indexOf('ng-dirty') > -1) > -1;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-toast',\n template: `\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n `,\n})\nexport class ToastComponent {}\n","export default `\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 200px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* {\n const { payload: err = {} as HttpErrorResponse | any } = res;\n const body = snq(() => (err as HttpErrorResponse).error.error, DEFAULTS.defaultError.message);\n\n if (err.headers.get('_AbpErrorFormat')) {\n const confirmation$ = this.showError(null, null, body);\n\n if (err.status === 401) {\n confirmation$.subscribe(() => {\n this.navigateToLogin();\n });\n }\n } else {\n switch ((err as HttpErrorResponse).status) {\n case 401:\n this.showError(DEFAULTS.defaultError401.details, DEFAULTS.defaultError401.message).subscribe(() =>\n this.navigateToLogin(),\n );\n break;\n case 403:\n this.createErrorComponent({\n title: DEFAULTS.defaultError403.message,\n details: DEFAULTS.defaultError403.details,\n });\n break;\n case 404:\n this.showError(DEFAULTS.defaultError404.details, DEFAULTS.defaultError404.message);\n break;\n case 500:\n this.createErrorComponent({\n title: '500',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n break;\n case 0:\n if ((err as HttpErrorResponse).statusText === 'Unknown Error') {\n this.createErrorComponent({\n title: 'Unknown Error',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n }\n break;\n default:\n this.showError(DEFAULTS.defaultError.details, DEFAULTS.defaultError.message);\n break;\n }\n }\n });\n }\n\n private showError(message?: string, title?: string, body?: any): Observable {\n if (body) {\n if (body.details) {\n message = body.details;\n title = body.message;\n } else {\n message = body.message || DEFAULTS.defaultError.message;\n }\n }\n\n return this.confirmationService.error(message, title, {\n hideCancelBtn: true,\n yesCopy: 'OK',\n });\n }\n\n private navigateToLogin() {\n this.store.dispatch(\n new Navigate(['/account/login'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n }\n\n createErrorComponent(instance: Partial) {\n const renderer = this.rendererFactory.createRenderer(null, null);\n const host = renderer.selectRootElement('app-root', true);\n\n const componentRef = this.cfRes.resolveComponentFactory(ErrorComponent).create(this.injector);\n\n for (const key in componentRef.instance) {\n if (componentRef.instance.hasOwnProperty(key)) {\n componentRef.instance[key] = instance[key];\n }\n }\n\n this.appRef.attachView(componentRef.hostView);\n renderer.appendChild(host, (componentRef.hostView as EmbeddedViewRef).rootNodes[0]);\n\n componentRef.instance.renderer = renderer;\n componentRef.instance.elementRef = componentRef.location;\n componentRef.instance.host = host;\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { Validation, ValidationErrorComponent as ErrorComponent } from '@ngx-validate/core';\n\n@Component({\n selector: 'abp-validation-error',\n template: `\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class ValidationErrorComponent extends ErrorComponent {\n get abpErrors(): Validation.Error[] & { interpoliteParams?: string[] } {\n return this.validationErrors.map(error => {\n if (!error.message) return error;\n\n const index = error.message.indexOf('[');\n\n if (index > -1) {\n return {\n ...error,\n message: error.message.slice(0, index),\n interpoliteParams: error.message.slice(index + 1, error.message.length - 1).split(','),\n };\n }\n\n return error;\n });\n }\n}\n","import { CoreModule, LazyLoadService } from '@abp/ng.core';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgbModalModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { MessageService } from 'primeng/components/common/messageservice';\nimport { ToastModule } from 'primeng/toast';\nimport { forkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { ConfirmationComponent } from './components/confirmation/confirmation.component';\nimport { ErrorComponent } from './components/errors/error.component';\nimport { LoaderBarComponent } from './components/loader-bar/loader-bar.component';\nimport { ModalComponent } from './components/modal/modal.component';\nimport { ToastComponent } from './components/toast/toast.component';\nimport styles from './contants/styles';\nimport { ErrorHandler } from './handlers/error.handler';\nimport { ButtonComponent } from './components/button/button.component';\nimport { ValidationErrorComponent } from './components/errors/validation-error.component';\n\nexport function appendScript(injector: Injector) {\n const fn = function() {\n const lazyLoadService: LazyLoadService = injector.get(LazyLoadService);\n\n return forkJoin(\n lazyLoadService.load(\n null,\n 'style',\n styles,\n 'head',\n 'afterbegin',\n ) /* lazyLoadService.load(null, 'script', scripts) */,\n ).pipe(take(1));\n };\n\n return fn;\n}\n\n@NgModule({\n imports: [\n CoreModule,\n ToastModule,\n NgbModalModule,\n NgxValidateCoreModule.forRoot({\n targetSelector: '.form-group',\n blueprints: {\n email: `AbpAccount::ThisFieldIsNotAValidEmailAddress.`,\n max: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]`,\n maxlength: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]`,\n min: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n minlength: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n required: `AbpAccount::ThisFieldIsRequired.`,\n passwordMismatch: `AbpIdentity::Identity.PasswordConfirmationFailed`,\n },\n errorTemplate: ValidationErrorComponent,\n }),\n ],\n declarations: [\n ButtonComponent,\n ConfirmationComponent,\n ToastComponent,\n ModalComponent,\n ErrorComponent,\n LoaderBarComponent,\n ValidationErrorComponent,\n ],\n exports: [NgbModalModule, ButtonComponent, ConfirmationComponent, ToastComponent, ModalComponent, LoaderBarComponent],\n entryComponents: [ErrorComponent, ValidationErrorComponent],\n})\nexport class ThemeSharedModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: ThemeSharedModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector, ErrorHandler],\n useFactory: appendScript,\n },\n { provide: MessageService, useClass: MessageService },\n ],\n };\n }\n}\n","import { animate, state, style, transition, trigger, query } from '@angular/animations';\nexport const slideFromBottom = trigger('routeAnimations', [\n state('void', style({ 'margin-top': '20px', opacity: '0' })),\n state('*', style({ 'margin-top': '0px', opacity: '1' })),\n transition(':enter', [animate('0.2s ease-out', style({ opacity: '1', 'margin-top': '0px' }))]),\n]);\n","import { Toaster } from './toaster';\n\nexport namespace Confirmation {\n export interface Options extends Toaster.Options {\n hideCancelBtn?: boolean;\n hideYesBtn?: boolean;\n cancelCopy?: string;\n yesCopy?: string;\n }\n}\n","export namespace Toaster {\n export interface Options {\n id?: any;\n closable?: boolean;\n life?: number;\n sticky?: boolean;\n data?: any;\n messageLocalizationParams?: string[];\n titleLocalizationParams?: string[];\n }\n\n export type Severity = 'success' | 'info' | 'warn' | 'error';\n\n export const enum Status {\n confirm = 'confirm',\n reject = 'reject',\n dismiss = 'dismiss',\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Message } from 'primeng/components/common/message';\n\n@Injectable({ providedIn: 'root' })\nexport class ToasterService extends AbstractToaster {\n addAll(messages: Message[]): void {\n this.messageService.addAll(messages.map(message => ({ key: this.key, ...message })));\n }\n}\n"],"names":["Subject","tslib_1.__extends","Injectable","Component","router","ofActionSuccessful","StartLoader","StopLoader","filter","takeUntilDestroy","NavigationStart","NavigationEnd","Actions","Router","Input","EventEmitter","timer","take","fromEvent","takeUntil","debounceTime","Renderer2","Output","ContentChild","ElementRef","ViewChild","ViewChildren","store","RestOccurError","Navigate","RouterState","Store","ApplicationRef","ComponentFactoryResolver","RendererFactory2","Injector","ChangeDetectionStrategy","ViewEncapsulation","ErrorComponent","LazyLoadService","forkJoin","APP_INITIALIZER","MessageService","NgModule","CoreModule","ToastModule","NgbModalModule","NgxValidateCoreModule","trigger","state","style","transition","animate","Toaster"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.theme.shared.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.theme.shared/lib/abstracts/toaster.ts","ng://@abp/ng.theme.shared/lib/services/confirmation.service.ts","ng://@abp/ng.theme.shared/lib/components/confirmation/confirmation.component.ts","ng://@abp/ng.theme.shared/lib/components/errors/error.component.ts","ng://@abp/ng.theme.shared/lib/components/loader-bar/loader-bar.component.ts","ng://@abp/ng.theme.shared/lib/components/button/button.component.ts","ng://@abp/ng.theme.shared/lib/components/modal/modal.component.ts","ng://@abp/ng.theme.shared/lib/components/toast/toast.component.ts","ng://@abp/ng.theme.shared/lib/contants/styles.ts","ng://@abp/ng.theme.shared/lib/handlers/error.handler.ts","ng://@abp/ng.theme.shared/lib/components/errors/validation-error.component.ts","ng://@abp/ng.theme.shared/lib/theme-shared.module.ts","ng://@abp/ng.theme.shared/lib/animations/slide.animation.ts","ng://@abp/ng.theme.shared/lib/models/confirmation.ts","ng://@abp/ng.theme.shared/lib/models/toaster.ts","ng://@abp/ng.theme.shared/lib/services/toaster.service.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","import { MessageService } from 'primeng/components/common/messageservice';\nimport { Observable, Subject } from 'rxjs';\nimport { Toaster } from '../models/toaster';\n\nexport class AbstractToaster {\n status$: Subject;\n\n key: string = 'abpToast';\n\n sticky: boolean = false;\n\n constructor(protected messageService: MessageService) {}\n info(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'info', options);\n }\n\n success(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'success', options);\n }\n\n warn(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'warn', options);\n }\n\n error(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'error', options);\n }\n\n protected show(message: string, title: string, severity: Toaster.Severity, options?: T): Observable {\n this.messageService.clear(this.key);\n\n this.messageService.add({\n severity,\n detail: message,\n summary: title,\n ...options,\n key: this.key,\n ...(typeof (options || ({} as any)).sticky === 'undefined' && { sticky: this.sticky }),\n });\n this.status$ = new Subject();\n return this.status$;\n }\n\n clear(status?: Toaster.Status) {\n this.messageService.clear(this.key);\n this.status$.next(status || Toaster.Status.dismiss);\n this.status$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Confirmation } from '../models/confirmation';\n\n@Injectable({ providedIn: 'root' })\nexport class ConfirmationService extends AbstractToaster {\n key: string = 'abpConfirmation';\n\n sticky: boolean = true;\n}\n","import { Component } from '@angular/core';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { Toaster } from '../../models/toaster';\n\n@Component({\n selector: 'abp-confirmation',\n template: `\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n `,\n})\nexport class ConfirmationComponent {\n confirm = Toaster.Status.confirm;\n reject = Toaster.Status.reject;\n dismiss = Toaster.Status.dismiss;\n\n constructor(private confirmationService: ConfirmationService) {}\n\n close(status: Toaster.Status) {\n this.confirmationService.clear(status);\n }\n}\n","import { Component, Renderer2, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'abp-error',\n template: `\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n `,\n styleUrls: ['error.component.scss'],\n})\nexport class ErrorComponent {\n title = 'Oops!';\n\n details = 'Sorry, an error has occured.';\n\n renderer: Renderer2;\n\n elementRef: ElementRef;\n\n host: any;\n\n destroy() {\n this.renderer.removeChild(this.host, this.elementRef.nativeElement);\n }\n}\n","import { StartLoader, StopLoader } from '@abp/ng.core';\nimport { Component, Input, OnDestroy } from '@angular/core';\nimport { NavigationEnd, NavigationStart, Router } from '@angular/router';\nimport { takeUntilDestroy } from '@ngx-validate/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-loader-bar',\n template: `\n
    \n
    \n
    \n `,\n styleUrls: ['./loader-bar.component.scss'],\n})\nexport class LoaderBarComponent implements OnDestroy {\n @Input()\n containerClass: string = 'abp-loader-bar';\n\n @Input()\n progressClass: string = 'abp-progress';\n\n @Input()\n isLoading: boolean = false;\n\n @Input()\n filter = (action: StartLoader | StopLoader) => action.payload.url.indexOf('openid-configuration') < 0;\n\n progressLevel: number = 0;\n\n interval: any;\n\n constructor(private actions: Actions, private router: Router) {\n actions\n .pipe(\n ofActionSuccessful(StartLoader, StopLoader),\n filter(this.filter),\n takeUntilDestroy(this),\n )\n .subscribe(action => {\n if (action instanceof StartLoader) this.startLoading();\n else this.stopLoading();\n });\n\n router.events\n .pipe(\n filter(event => event instanceof NavigationStart || event instanceof NavigationEnd),\n takeUntilDestroy(this),\n )\n .subscribe(event => {\n if (event instanceof NavigationStart) this.startLoading();\n else this.stopLoading();\n });\n }\n\n ngOnDestroy() {}\n\n startLoading() {\n this.isLoading = true;\n const interval = setInterval(() => {\n if (this.progressLevel < 75) {\n this.progressLevel += Math.random() * 10;\n } else if (this.progressLevel < 90) {\n this.progressLevel += 0.4;\n } else if (this.progressLevel < 100) {\n this.progressLevel += 0.1;\n } else {\n clearInterval(interval);\n }\n }, 300);\n\n this.interval = interval;\n }\n\n stopLoading() {\n clearInterval(this.interval);\n this.progressLevel = 100;\n this.isLoading = false;\n\n setTimeout(() => {\n this.progressLevel = 0;\n }, 800);\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'abp-button',\n template: `\n \n `,\n})\nexport class ButtonComponent {\n @Input()\n buttonClass: string = 'btn btn-primary';\n\n @Input()\n buttonType: string = 'button';\n\n @Input()\n iconClass: string;\n\n @Input()\n loading: boolean = false;\n\n @Input()\n disabled: boolean = false;\n\n get icon(): string {\n return `${this.loading ? 'fa fa-spin fa-spinner' : this.iconClass || 'd-none'}`;\n }\n}\n","import {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { fromEvent, Subject, timer } from 'rxjs';\nimport { filter, take, takeUntil, debounceTime } from 'rxjs/operators';\nimport { Toaster } from '../../models/toaster';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { ButtonComponent } from '../button/button.component';\n\nexport type ModalSize = 'sm' | 'md' | 'lg' | 'xl';\n\nconst ANIMATION_TIMEOUT = 200;\n\n@Component({\n selector: 'abp-modal',\n templateUrl: './modal.component.html',\n})\nexport class ModalComponent implements OnDestroy {\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n set visible(value: boolean) {\n if (typeof value !== 'boolean') return;\n\n if (!this.modalContent) {\n if (value) {\n setTimeout(() => {\n this.showModal = value;\n this.visible = value;\n }, 0);\n }\n return;\n }\n\n if (value) {\n this.setVisible(value);\n this.listen();\n } else {\n this.closable = false;\n this.renderer.addClass(this.modalContent.nativeElement, 'fade-out-top');\n setTimeout(() => {\n this.setVisible(value);\n this.ngOnDestroy();\n }, ANIMATION_TIMEOUT - 10);\n }\n }\n\n @Input()\n get busy(): boolean {\n return this._busy;\n }\n set busy(value: boolean) {\n if (this.abpSubmit && this.abpSubmit instanceof ButtonComponent) {\n this.abpSubmit.loading = value;\n }\n\n this._busy = value;\n }\n\n @Input() centered: boolean = false;\n\n @Input() modalClass: string = '';\n\n @Input() size: ModalSize = 'lg';\n\n @Input() height: number;\n\n @Input() minHeight: number;\n\n @Output() visibleChange = new EventEmitter();\n\n @Output() init = new EventEmitter();\n\n @ContentChild('abpHeader', { static: false }) abpHeader: TemplateRef;\n\n @ContentChild('abpBody', { static: false }) abpBody: TemplateRef;\n\n @ContentChild('abpFooter', { static: false }) abpFooter: TemplateRef;\n\n @ContentChild('abpClose', { static: false, read: ElementRef }) abpClose: ElementRef;\n\n @ContentChild(ButtonComponent, { static: false, read: ButtonComponent }) abpSubmit: ButtonComponent;\n\n @ViewChild('abpModalContent', { static: false }) modalContent: ElementRef;\n\n @ViewChildren('abp-button') abpButtons;\n\n _visible: boolean = false;\n\n _busy: boolean = false;\n\n showModal: boolean = false;\n\n isOpenConfirmation: boolean = false;\n\n closable: boolean = false;\n\n destroy$ = new Subject();\n\n constructor(private renderer: Renderer2, private confirmationService: ConfirmationService) {}\n\n ngOnDestroy(): void {\n this.destroy$.next();\n }\n\n setVisible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n this.showModal = value;\n\n value\n ? timer(ANIMATION_TIMEOUT + 100)\n .pipe(take(1))\n .subscribe(_ => (this.closable = true))\n : (this.closable = false);\n }\n\n listen() {\n fromEvent(document, 'keyup')\n .pipe(\n takeUntil(this.destroy$),\n debounceTime(150),\n filter((key: KeyboardEvent) => key && key.code === 'Escape' && this.closable),\n )\n .subscribe(_ => {\n this.close();\n });\n\n setTimeout(() => {\n if (!this.abpClose) return;\n fromEvent(this.abpClose.nativeElement, 'click')\n .pipe(\n takeUntil(this.destroy$),\n filter(() => !!(this.closable && this.modalContent)),\n )\n .subscribe(() => this.close());\n }, 0);\n\n this.init.emit();\n }\n\n close() {\n if (!this.closable || this.busy) return;\n\n const nodes = getFlatNodes(\n (this.modalContent.nativeElement.querySelector('#abp-modal-body') as HTMLElement).childNodes,\n );\n\n if (hasNgDirty(nodes)) {\n if (this.isOpenConfirmation) return;\n\n this.isOpenConfirmation = true;\n this.confirmationService\n .warn('AbpAccount::AreYouSureYouWantToCancelEditingWarningMessage', 'AbpAccount::AreYouSure')\n .subscribe((status: Toaster.Status) => {\n timer(ANIMATION_TIMEOUT).subscribe(() => {\n this.isOpenConfirmation = false;\n });\n\n if (status === Toaster.Status.confirm) {\n this.visible = false;\n }\n });\n } else {\n this.visible = false;\n }\n }\n}\n\nfunction getFlatNodes(nodes: NodeList): HTMLElement[] {\n return Array.from(nodes).reduce(\n (acc, val) => [...acc, ...(val.childNodes && val.childNodes.length ? getFlatNodes(val.childNodes) : [val])],\n [],\n );\n}\n\nfunction hasNgDirty(nodes: HTMLElement[]) {\n return nodes.findIndex(node => (node.className || '').indexOf('ng-dirty') > -1) > -1;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-toast',\n template: `\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n `,\n})\nexport class ToastComponent {}\n","export default `\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 215px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* {\n const { payload: err = {} as HttpErrorResponse | any } = res;\n const body = snq(() => (err as HttpErrorResponse).error.error, DEFAULTS.defaultError.message);\n\n if (err.headers.get('_AbpErrorFormat')) {\n const confirmation$ = this.showError(null, null, body);\n\n if (err.status === 401) {\n confirmation$.subscribe(() => {\n this.navigateToLogin();\n });\n }\n } else {\n switch ((err as HttpErrorResponse).status) {\n case 401:\n this.showError(DEFAULTS.defaultError401.details, DEFAULTS.defaultError401.message).subscribe(() =>\n this.navigateToLogin(),\n );\n break;\n case 403:\n this.createErrorComponent({\n title: DEFAULTS.defaultError403.message,\n details: DEFAULTS.defaultError403.details,\n });\n break;\n case 404:\n this.showError(DEFAULTS.defaultError404.details, DEFAULTS.defaultError404.message);\n break;\n case 500:\n this.createErrorComponent({\n title: '500',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n break;\n case 0:\n if ((err as HttpErrorResponse).statusText === 'Unknown Error') {\n this.createErrorComponent({\n title: 'Unknown Error',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n }\n break;\n default:\n this.showError(DEFAULTS.defaultError.details, DEFAULTS.defaultError.message);\n break;\n }\n }\n });\n }\n\n private showError(message?: string, title?: string, body?: any): Observable {\n if (body) {\n if (body.details) {\n message = body.details;\n title = body.message;\n } else {\n message = body.message || DEFAULTS.defaultError.message;\n }\n }\n\n return this.confirmationService.error(message, title, {\n hideCancelBtn: true,\n yesCopy: 'OK',\n });\n }\n\n private navigateToLogin() {\n this.store.dispatch(\n new Navigate(['/account/login'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n }\n\n createErrorComponent(instance: Partial) {\n const renderer = this.rendererFactory.createRenderer(null, null);\n const host = renderer.selectRootElement('app-root', true);\n\n const componentRef = this.cfRes.resolveComponentFactory(ErrorComponent).create(this.injector);\n\n for (const key in componentRef.instance) {\n if (componentRef.instance.hasOwnProperty(key)) {\n componentRef.instance[key] = instance[key];\n }\n }\n\n this.appRef.attachView(componentRef.hostView);\n renderer.appendChild(host, (componentRef.hostView as EmbeddedViewRef).rootNodes[0]);\n\n componentRef.instance.renderer = renderer;\n componentRef.instance.elementRef = componentRef.location;\n componentRef.instance.host = host;\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { Validation, ValidationErrorComponent as ErrorComponent } from '@ngx-validate/core';\n\n@Component({\n selector: 'abp-validation-error',\n template: `\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class ValidationErrorComponent extends ErrorComponent {\n get abpErrors(): Validation.Error[] & { interpoliteParams?: string[] } {\n return this.validationErrors.map(error => {\n if (!error.message) return error;\n\n const index = error.message.indexOf('[');\n\n if (index > -1) {\n return {\n ...error,\n message: error.message.slice(0, index),\n interpoliteParams: error.message.slice(index + 1, error.message.length - 1).split(','),\n };\n }\n\n return error;\n });\n }\n}\n","import { CoreModule, LazyLoadService } from '@abp/ng.core';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgbModalModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { MessageService } from 'primeng/components/common/messageservice';\nimport { ToastModule } from 'primeng/toast';\nimport { forkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { ConfirmationComponent } from './components/confirmation/confirmation.component';\nimport { ErrorComponent } from './components/errors/error.component';\nimport { LoaderBarComponent } from './components/loader-bar/loader-bar.component';\nimport { ModalComponent } from './components/modal/modal.component';\nimport { ToastComponent } from './components/toast/toast.component';\nimport styles from './contants/styles';\nimport { ErrorHandler } from './handlers/error.handler';\nimport { ButtonComponent } from './components/button/button.component';\nimport { ValidationErrorComponent } from './components/errors/validation-error.component';\n\nexport function appendScript(injector: Injector) {\n const fn = function() {\n const lazyLoadService: LazyLoadService = injector.get(LazyLoadService);\n\n return forkJoin(\n lazyLoadService.load(\n null,\n 'style',\n styles,\n 'head',\n 'afterbegin',\n ) /* lazyLoadService.load(null, 'script', scripts) */,\n ).pipe(take(1));\n };\n\n return fn;\n}\n\n@NgModule({\n imports: [\n CoreModule,\n ToastModule,\n NgbModalModule,\n NgxValidateCoreModule.forRoot({\n targetSelector: '.form-group',\n blueprints: {\n email: `AbpAccount::ThisFieldIsNotAValidEmailAddress.`,\n max: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]`,\n maxlength: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]`,\n min: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n minlength: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n required: `AbpAccount::ThisFieldIsRequired.`,\n passwordMismatch: `AbpIdentity::Identity.PasswordConfirmationFailed`,\n },\n errorTemplate: ValidationErrorComponent,\n }),\n ],\n declarations: [\n ButtonComponent,\n ConfirmationComponent,\n ToastComponent,\n ModalComponent,\n ErrorComponent,\n LoaderBarComponent,\n ValidationErrorComponent,\n ],\n exports: [NgbModalModule, ButtonComponent, ConfirmationComponent, ToastComponent, ModalComponent, LoaderBarComponent],\n entryComponents: [ErrorComponent, ValidationErrorComponent],\n})\nexport class ThemeSharedModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: ThemeSharedModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector, ErrorHandler],\n useFactory: appendScript,\n },\n { provide: MessageService, useClass: MessageService },\n ],\n };\n }\n}\n","import { animate, state, style, transition, trigger, query } from '@angular/animations';\nexport const slideFromBottom = trigger('routeAnimations', [\n state('void', style({ 'margin-top': '20px', opacity: '0' })),\n state('*', style({ 'margin-top': '0px', opacity: '1' })),\n transition(':enter', [animate('0.2s ease-out', style({ opacity: '1', 'margin-top': '0px' }))]),\n]);\n","import { Toaster } from './toaster';\n\nexport namespace Confirmation {\n export interface Options extends Toaster.Options {\n hideCancelBtn?: boolean;\n hideYesBtn?: boolean;\n cancelCopy?: string;\n yesCopy?: string;\n }\n}\n","export namespace Toaster {\n export interface Options {\n id?: any;\n closable?: boolean;\n life?: number;\n sticky?: boolean;\n data?: any;\n messageLocalizationParams?: string[];\n titleLocalizationParams?: string[];\n }\n\n export type Severity = 'success' | 'info' | 'warn' | 'error';\n\n export const enum Status {\n confirm = 'confirm',\n reject = 'reject',\n dismiss = 'dismiss',\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Message } from 'primeng/components/common/message';\n\n@Injectable({ providedIn: 'root' })\nexport class ToasterService extends AbstractToaster {\n addAll(messages: Message[]): void {\n this.messageService.addAll(messages.map(message => ({ key: this.key, ...message })));\n }\n}\n"],"names":["Subject","tslib_1.__extends","Injectable","Component","router","ofActionSuccessful","StartLoader","StopLoader","filter","takeUntilDestroy","NavigationStart","NavigationEnd","Actions","Router","Input","EventEmitter","timer","take","fromEvent","takeUntil","debounceTime","Renderer2","Output","ContentChild","ElementRef","ViewChild","ViewChildren","store","RestOccurError","Navigate","RouterState","Store","ApplicationRef","ComponentFactoryResolver","RendererFactory2","Injector","ChangeDetectionStrategy","ViewEncapsulation","ErrorComponent","LazyLoadService","forkJoin","APP_INITIALIZER","MessageService","NgModule","CoreModule","ToastModule","NgbModalModule","NgxValidateCoreModule","trigger","state","style","transition","animate","Toaster"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.min.js b/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.min.js index e43513aaea..9d9c4c5b4a 100644 --- a/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.min.js +++ b/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.min.js @@ -1,2 +1,2 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@abp/ng.core"),require("@angular/core"),require("@ng-bootstrap/ng-bootstrap"),require("@ngx-validate/core"),require("primeng/components/common/messageservice"),require("primeng/toast"),require("rxjs"),require("rxjs/operators"),require("@angular/router"),require("@ngxs/store"),require("@ngxs/router-plugin"),require("snq"),require("@angular/animations")):"function"==typeof define&&define.amd?define("@abp/ng.theme.shared",["exports","@abp/ng.core","@angular/core","@ng-bootstrap/ng-bootstrap","@ngx-validate/core","primeng/components/common/messageservice","primeng/toast","rxjs","rxjs/operators","@angular/router","@ngxs/store","@ngxs/router-plugin","snq","@angular/animations"],t):t(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng.theme=e.abp.ng.theme||{},e.abp.ng.theme.shared={}),e.ng_core,e.ng.core,e.ngBootstrap,e.core$1,e.messageservice,e.toast,e.rxjs,e.rxjs.operators,e.ng.router,e.store,e.routerPlugin,e.snq,e.ng.animations)}(this,function(e,t,n,o,r,i,a,s,c,l,p,u,d,f){"use strict";d=d&&d.hasOwnProperty("default")?d.default:d;var m=function(e,t){return(m=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 g(e,t){function n(){this.constructor=e}m(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var h=function(){return(h=Object.assign||function(e){for(var t,n=1,o=arguments.length;n0)&&!(o=i.next()).done;)a.push(o.value)}catch(e){r={error:e}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}return a}var y=function(){function e(e){this.messageService=e,this.key="abpToast",this.sticky=!1}return e.prototype.info=function(e,t,n){return this.show(e,t,"info",n)},e.prototype.success=function(e,t,n){return this.show(e,t,"success",n)},e.prototype.warn=function(e,t,n){return this.show(e,t,"warn",n)},e.prototype.error=function(e,t,n){return this.show(e,t,"error",n)},e.prototype.show=function(e,t,n,o){return this.messageService.clear(this.key),this.messageService.add(h({severity:n,detail:e,summary:t},o,{key:this.key},void 0===(o||{}).sticky&&{sticky:this.sticky})),this.status$=new s.Subject,this.status$},e.prototype.clear=function(e){this.messageService.clear(this.key),this.status$.next(e||"dismiss"),this.status$.complete()},e}(),v=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.key="abpConfirmation",t.sticky=!0,t}return g(t,e),t.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],t.ngInjectableDef=n.ɵɵdefineInjectable({factory:function(){return new t(n.ɵɵinject(i.MessageService))},token:t,providedIn:"root"}),t}(y),C=function(){function e(e){this.confirmationService=e,this.confirm="confirm",this.reject="reject",this.dismiss="dismiss"}return e.prototype.close=function(e){this.confirmationService.clear(e)},e.decorators=[{type:n.Component,args:[{selector:"abp-confirmation",template:'\n \n \n \n \n\n \n \n \n '}]}],e.ctorParameters=function(){return[{type:v}]},e}(),w=function(){function e(){this.title="Oops!",this.details="Sorry, an error has occured."}return e.prototype.destroy=function(){this.renderer.removeChild(this.host,this.elementRef.nativeElement)},e.decorators=[{type:n.Component,args:[{selector:"abp-error",template:'\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n ',styles:[".error{position:fixed;top:0;background-color:#fff;width:100vw;height:100vh;z-index:999999}.centered{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}"]}]}],e}(),L=function(){function e(e,n){var o=this;this.actions=e,this.router=n,this.containerClass="abp-loader-bar",this.progressClass="abp-progress",this.isLoading=!1,this.filter=function(e){return e.payload.url.indexOf("openid-configuration")<0},this.progressLevel=0,e.pipe(p.ofActionSuccessful(t.StartLoader,t.StopLoader),c.filter(this.filter),r.takeUntilDestroy(this)).subscribe(function(e){e instanceof t.StartLoader?o.startLoading():o.stopLoading()}),n.events.pipe(c.filter(function(e){return e instanceof l.NavigationStart||e instanceof l.NavigationEnd}),r.takeUntilDestroy(this)).subscribe(function(e){e instanceof l.NavigationStart?o.startLoading():o.stopLoading()})}return e.prototype.ngOnDestroy=function(){},e.prototype.startLoading=function(){var e=this;this.isLoading=!0;var t=setInterval(function(){e.progressLevel<75?e.progressLevel+=10*Math.random():e.progressLevel<90?e.progressLevel+=.4:e.progressLevel<100?e.progressLevel+=.1:clearInterval(t)},300);this.interval=t},e.prototype.stopLoading=function(){var e=this;clearInterval(this.interval),this.progressLevel=100,this.isLoading=!1,setTimeout(function(){e.progressLevel=0},800)},e.decorators=[{type:n.Component,args:[{selector:"abp-loader-bar",template:'\n
    \n
    \n
    \n ',styles:[".abp-loader-bar{left:0;opacity:0;position:fixed;top:0;transition:opacity .4s linear .4s;z-index:99999}.abp-loader-bar.is-loading{opacity:1;transition:none}.abp-loader-bar .abp-progress{background:#77b6ff;box-shadow:0 0 10px rgba(119,182,255,.7);height:2px;left:0;position:fixed;top:0;transition:width .4s}"]}]}],e.ctorParameters=function(){return[{type:p.Actions},{type:l.Router}]},e.propDecorators={containerClass:[{type:n.Input}],progressClass:[{type:n.Input}],isLoading:[{type:n.Input}],filter:[{type:n.Input}]},e}(),x=function(){function e(e){this.actions=e,this.buttonClass="btn btn-primary",this.buttonType="button",this.loading=!1,this.disabled=!1}return Object.defineProperty(e.prototype,"icon",{get:function(){return""+(this.loading?"fa fa-spin fa-spinner":this.iconClass||"d-none")},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){var e=this;(this.requestType||this.requestURLContainSearchValue)&&this.actions.pipe(p.ofActionSuccessful(t.StartLoader,t.StopLoader),c.filter(function(t){var n=!0;return e.requestType&&(Array.isArray(e.requestType)||(e.requestType=[e.requestType]),n=n&&e.requestType.findIndex(function(e){return e.toLowerCase()===t.payload.method.toLowerCase()})>-1),n&&e.requestURLContainSearchValue&&(n=n&&t.payload.url.toLowerCase().indexOf(e.requestURLContainSearchValue.toLowerCase())>-1),n})).subscribe(function(){setTimeout(function(){e.loading=!e.loading},0)})},e.decorators=[{type:n.Component,args:[{selector:"abp-button",template:'\n \n '}]}],e.ctorParameters=function(){return[{type:p.Actions}]},e.propDecorators={buttonClass:[{type:n.Input}],buttonType:[{type:n.Input}],iconClass:[{type:n.Input}],loading:[{type:n.Input}],disabled:[{type:n.Input}],requestType:[{type:n.Input}],requestURLContainSearchValue:[{type:n.Input}]},e}(),I=function(){function e(e,t){this.renderer=e,this.confirmationService=t,this.centered=!1,this.modalClass="",this.size="lg",this.visibleChange=new n.EventEmitter,this.init=new n.EventEmitter,this._visible=!1,this._busy=!1,this.showModal=!1,this.isOpenConfirmation=!1,this.closable=!1,this.destroy$=new s.Subject}return Object.defineProperty(e.prototype,"visible",{get:function(){return this._visible},set:function(e){var t=this;"boolean"==typeof e&&(this.modalContent?e?(this.setVisible(e),this.listen()):(this.closable=!1,this.renderer.addClass(this.modalContent.nativeElement,"fade-out-top"),setTimeout(function(){t.setVisible(e),t.ngOnDestroy()},190)):e&&setTimeout(function(){t.showModal=e,t.visible=e},0))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"busy",{get:function(){return this._busy},set:function(e){this.abpSubmit&&this.abpSubmit instanceof x&&(this.abpSubmit.loading=e),this._busy=e},enumerable:!0,configurable:!0}),e.prototype.ngOnDestroy=function(){this.destroy$.next()},e.prototype.setVisible=function(e){var t=this;this._visible=e,this.visibleChange.emit(e),this.showModal=e,e?s.timer(300).pipe(c.take(1)).subscribe(function(e){return t.closable=!0}):this.closable=!1},e.prototype.listen=function(){var e=this;s.fromEvent(document,"keyup").pipe(c.takeUntil(this.destroy$),c.debounceTime(150),c.filter(function(t){return t&&"Escape"===t.code&&e.closable})).subscribe(function(t){e.close()}),setTimeout(function(){e.abpClose&&s.fromEvent(e.abpClose.nativeElement,"click").pipe(c.takeUntil(e.destroy$),c.filter(function(){return!(!e.closable||!e.modalContent)})).subscribe(function(){return e.close()})},0),this.init.emit()},e.prototype.close=function(){var e=this;if(this.closable&&!this.busy)if(function(e){return e.findIndex(function(e){return(e.className||"").indexOf("ng-dirty")>-1})>-1}(function e(t){return Array.from(t).reduce(function(t,n){return function(){for(var e=[],t=0;t\n \n \n \n \n\n \n\n'}]}],e.ctorParameters=function(){return[{type:n.Renderer2},{type:v}]},e.propDecorators={visible:[{type:n.Input}],busy:[{type:n.Input}],centered:[{type:n.Input}],modalClass:[{type:n.Input}],size:[{type:n.Input}],height:[{type:n.Input}],minHeight:[{type:n.Input}],visibleChange:[{type:n.Output}],init:[{type:n.Output}],abpHeader:[{type:n.ContentChild,args:["abpHeader",{static:!1}]}],abpBody:[{type:n.ContentChild,args:["abpBody",{static:!1}]}],abpFooter:[{type:n.ContentChild,args:["abpFooter",{static:!1}]}],abpClose:[{type:n.ContentChild,args:["abpClose",{static:!1,read:n.ElementRef}]}],abpSubmit:[{type:n.ContentChild,args:[x,{static:!1,read:x}]}],modalContent:[{type:n.ViewChild,args:["abpModalContent",{static:!1}]}],abpButtons:[{type:n.ViewChildren,args:["abp-button"]}]},e}();var A=function(){function e(){}return e.decorators=[{type:n.Component,args:[{selector:"abp-toast",template:'\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n '}]}],e}(),S="\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 200px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* -1?h({},e,{message:e.message.slice(0,t),interpoliteParams:e.message.slice(t+1,e.message.length-1).split(",")}):e})},enumerable:!0,configurable:!0}),t.decorators=[{type:n.Component,args:[{selector:"abp-validation-error",template:'\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n ',changeDetection:n.ChangeDetectionStrategy.OnPush,encapsulation:n.ViewEncapsulation.None}]}],t}(r.ValidationErrorComponent);function O(e){return function(){var n=e.get(t.LazyLoadService);return s.forkJoin(n.load(null,"style",S,"head","afterbegin")).pipe(c.take(1))}}var j,M=function(){function e(){}return e.forRoot=function(){return{ngModule:e,providers:[{provide:n.APP_INITIALIZER,multi:!0,deps:[n.Injector,E],useFactory:O},{provide:i.MessageService,useClass:i.MessageService}]}},e.decorators=[{type:n.NgModule,args:[{imports:[t.CoreModule,a.ToastModule,o.NgbModalModule,r.NgxValidateCoreModule.forRoot({targetSelector:".form-group",blueprints:{email:"AbpAccount::ThisFieldIsNotAValidEmailAddress.",max:"AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]",maxlength:"AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]",min:"AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]",minlength:"AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]",required:"AbpAccount::ThisFieldIsRequired.",passwordMismatch:"AbpIdentity::Identity.PasswordConfirmationFailed"},errorTemplate:T})],declarations:[x,C,A,I,w,L,T],exports:[o.NgbModalModule,x,C,A,I,L],entryComponents:[w,T]}]}],e}(),q=f.trigger("routeAnimations",[f.state("void",f.style({"margin-top":"20px",opacity:"0"})),f.state("*",f.style({"margin-top":"0px",opacity:"1"})),f.transition(":enter",[f.animate("0.2s ease-out",f.style({opacity:"1","margin-top":"0px"}))])]);!function(e){e.Options=function(){}}(j||(j={})),(e.Toaster||(e.Toaster={})).Options=function(){};var R=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return g(t,e),t.prototype.addAll=function(e){var t=this;this.messageService.addAll(e.map(function(e){return h({key:t.key},e)}))},t.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],t.ngInjectableDef=n.ɵɵdefineInjectable({factory:function(){return new t(n.ɵɵinject(i.MessageService))},token:t,providedIn:"root"}),t}(y);e.ButtonComponent=x,e.ConfirmationComponent=C,e.ConfirmationService=v,e.LoaderBarComponent=L,e.ModalComponent=I,e.ThemeSharedModule=M,e.ToastComponent=A,e.ToasterService=R,e.appendScript=O,e.slideFromBottom=q,e.ɵa=T,e.ɵb=x,e.ɵc=C,e.ɵd=v,e.ɵe=y,e.ɵf=A,e.ɵg=I,e.ɵh=w,e.ɵi=L,e.ɵj=E,Object.defineProperty(e,"__esModule",{value:!0})}); +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@abp/ng.core"),require("@angular/core"),require("@ng-bootstrap/ng-bootstrap"),require("@ngx-validate/core"),require("primeng/components/common/messageservice"),require("primeng/toast"),require("rxjs"),require("rxjs/operators"),require("@angular/router"),require("@ngxs/store"),require("@ngxs/router-plugin"),require("snq"),require("@angular/animations")):"function"==typeof define&&define.amd?define("@abp/ng.theme.shared",["exports","@abp/ng.core","@angular/core","@ng-bootstrap/ng-bootstrap","@ngx-validate/core","primeng/components/common/messageservice","primeng/toast","rxjs","rxjs/operators","@angular/router","@ngxs/store","@ngxs/router-plugin","snq","@angular/animations"],t):t(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng.theme=e.abp.ng.theme||{},e.abp.ng.theme.shared={}),e.ng_core,e.ng.core,e.ngBootstrap,e.core$1,e.messageservice,e.toast,e.rxjs,e.rxjs.operators,e.ng.router,e.store,e.routerPlugin,e.snq,e.ng.animations)}(this,function(e,t,n,o,r,i,a,s,c,l,p,d,u,m){"use strict";u=u&&u.hasOwnProperty("default")?u.default:u;var f=function(e,t){return(f=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 g(e,t){function n(){this.constructor=e}f(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var h=function(){return(h=Object.assign||function(e){for(var t,n=1,o=arguments.length;n0)&&!(o=i.next()).done;)a.push(o.value)}catch(e){r={error:e}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}return a}var y=function(){function e(e){this.messageService=e,this.key="abpToast",this.sticky=!1}return e.prototype.info=function(e,t,n){return this.show(e,t,"info",n)},e.prototype.success=function(e,t,n){return this.show(e,t,"success",n)},e.prototype.warn=function(e,t,n){return this.show(e,t,"warn",n)},e.prototype.error=function(e,t,n){return this.show(e,t,"error",n)},e.prototype.show=function(e,t,n,o){return this.messageService.clear(this.key),this.messageService.add(h({severity:n,detail:e,summary:t},o,{key:this.key},void 0===(o||{}).sticky&&{sticky:this.sticky})),this.status$=new s.Subject,this.status$},e.prototype.clear=function(e){this.messageService.clear(this.key),this.status$.next(e||"dismiss"),this.status$.complete()},e}();var v=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.key="abpConfirmation",t.sticky=!0,t}return g(t,e),t.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],t.ngInjectableDef=n.ɵɵdefineInjectable({factory:function(){return new t(n.ɵɵinject(i.MessageService))},token:t,providedIn:"root"}),t}(y);var C=function(){function e(e){this.confirmationService=e,this.confirm="confirm",this.reject="reject",this.dismiss="dismiss"}return e.prototype.close=function(e){this.confirmationService.clear(e)},e.decorators=[{type:n.Component,args:[{selector:"abp-confirmation",template:'\n \n \n \n \n\n \n \n \n '}]}],e.ctorParameters=function(){return[{type:v}]},e}();var x=function(){function e(){this.title="Oops!",this.details="Sorry, an error has occured."}return e.prototype.destroy=function(){this.renderer.removeChild(this.host,this.elementRef.nativeElement)},e.decorators=[{type:n.Component,args:[{selector:"abp-error",template:'\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n ',styles:[".error{position:fixed;top:0;background-color:#fff;width:100vw;height:100vh;z-index:999999}.centered{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}"]}]}],e}();var w=function(){function e(e,n){var o=this;this.actions=e,this.router=n,this.containerClass="abp-loader-bar",this.progressClass="abp-progress",this.isLoading=!1,this.filter=function(e){return e.payload.url.indexOf("openid-configuration")<0},this.progressLevel=0,e.pipe(p.ofActionSuccessful(t.StartLoader,t.StopLoader),c.filter(this.filter),r.takeUntilDestroy(this)).subscribe(function(e){e instanceof t.StartLoader?o.startLoading():o.stopLoading()}),n.events.pipe(c.filter(function(e){return e instanceof l.NavigationStart||e instanceof l.NavigationEnd}),r.takeUntilDestroy(this)).subscribe(function(e){e instanceof l.NavigationStart?o.startLoading():o.stopLoading()})}return e.prototype.ngOnDestroy=function(){},e.prototype.startLoading=function(){var e=this;this.isLoading=!0;var t=setInterval(function(){e.progressLevel<75?e.progressLevel+=10*Math.random():e.progressLevel<90?e.progressLevel+=.4:e.progressLevel<100?e.progressLevel+=.1:clearInterval(t)},300);this.interval=t},e.prototype.stopLoading=function(){var e=this;clearInterval(this.interval),this.progressLevel=100,this.isLoading=!1,setTimeout(function(){e.progressLevel=0},800)},e.decorators=[{type:n.Component,args:[{selector:"abp-loader-bar",template:'\n
    \n
    \n
    \n ',styles:[".abp-loader-bar{left:0;opacity:0;position:fixed;top:0;transition:opacity .4s linear .4s;z-index:99999}.abp-loader-bar.is-loading{opacity:1;transition:none}.abp-loader-bar .abp-progress{background:#77b6ff;box-shadow:0 0 10px rgba(119,182,255,.7);height:2px;left:0;position:fixed;top:0;transition:width .4s}"]}]}],e.ctorParameters=function(){return[{type:p.Actions},{type:l.Router}]},e.propDecorators={containerClass:[{type:n.Input}],progressClass:[{type:n.Input}],isLoading:[{type:n.Input}],filter:[{type:n.Input}]},e}();var I=function(){function e(){this.buttonClass="btn btn-primary",this.buttonType="button",this.loading=!1,this.disabled=!1}return Object.defineProperty(e.prototype,"icon",{get:function(){return""+(this.loading?"fa fa-spin fa-spinner":this.iconClass||"d-none")},enumerable:!0,configurable:!0}),e.decorators=[{type:n.Component,args:[{selector:"abp-button",template:'\n \n '}]}],e.propDecorators={buttonClass:[{type:n.Input}],buttonType:[{type:n.Input}],iconClass:[{type:n.Input}],loading:[{type:n.Input}],disabled:[{type:n.Input}]},e}();var k=function(){function e(e,t){this.renderer=e,this.confirmationService=t,this.centered=!1,this.modalClass="",this.size="lg",this.visibleChange=new n.EventEmitter,this.init=new n.EventEmitter,this._visible=!1,this._busy=!1,this.showModal=!1,this.isOpenConfirmation=!1,this.closable=!1,this.destroy$=new s.Subject}return Object.defineProperty(e.prototype,"visible",{get:function(){return this._visible},set:function(e){var t=this;"boolean"==typeof e&&(this.modalContent?e?(this.setVisible(e),this.listen()):(this.closable=!1,this.renderer.addClass(this.modalContent.nativeElement,"fade-out-top"),setTimeout(function(){t.setVisible(e),t.ngOnDestroy()},190)):e&&setTimeout(function(){t.showModal=e,t.visible=e},0))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"busy",{get:function(){return this._busy},set:function(e){this.abpSubmit&&this.abpSubmit instanceof I&&(this.abpSubmit.loading=e),this._busy=e},enumerable:!0,configurable:!0}),e.prototype.ngOnDestroy=function(){this.destroy$.next()},e.prototype.setVisible=function(e){var t=this;this._visible=e,this.visibleChange.emit(e),this.showModal=e,e?s.timer(300).pipe(c.take(1)).subscribe(function(e){return t.closable=!0}):this.closable=!1},e.prototype.listen=function(){var e=this;s.fromEvent(document,"keyup").pipe(c.takeUntil(this.destroy$),c.debounceTime(150),c.filter(function(t){return t&&"Escape"===t.code&&e.closable})).subscribe(function(t){e.close()}),setTimeout(function(){e.abpClose&&s.fromEvent(e.abpClose.nativeElement,"click").pipe(c.takeUntil(e.destroy$),c.filter(function(){return!(!e.closable||!e.modalContent)})).subscribe(function(){return e.close()})},0),this.init.emit()},e.prototype.close=function(){var e=this;if(this.closable&&!this.busy)if(function(e){return e.findIndex(function(e){return(e.className||"").indexOf("ng-dirty")>-1})>-1}(function e(t){return Array.from(t).reduce(function(t,n){return function(){for(var e=[],t=0;t\n \n \n \n \n\n \n\n'}]}],e.ctorParameters=function(){return[{type:n.Renderer2},{type:v}]},e.propDecorators={visible:[{type:n.Input}],busy:[{type:n.Input}],centered:[{type:n.Input}],modalClass:[{type:n.Input}],size:[{type:n.Input}],height:[{type:n.Input}],minHeight:[{type:n.Input}],visibleChange:[{type:n.Output}],init:[{type:n.Output}],abpHeader:[{type:n.ContentChild,args:["abpHeader",{static:!1}]}],abpBody:[{type:n.ContentChild,args:["abpBody",{static:!1}]}],abpFooter:[{type:n.ContentChild,args:["abpFooter",{static:!1}]}],abpClose:[{type:n.ContentChild,args:["abpClose",{static:!1,read:n.ElementRef}]}],abpSubmit:[{type:n.ContentChild,args:[I,{static:!1,read:I}]}],modalContent:[{type:n.ViewChild,args:["abpModalContent",{static:!1}]}],abpButtons:[{type:n.ViewChildren,args:["abp-button"]}]},e}();var A=function(){function e(){}return e.decorators=[{type:n.Component,args:[{selector:"abp-toast",template:'\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n '}]}],e}(),E="\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 215px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* -1?h({},e,{message:e.message.slice(0,t),interpoliteParams:e.message.slice(t+1,e.message.length-1).split(",")}):e})},enumerable:!0,configurable:!0}),t.decorators=[{type:n.Component,args:[{selector:"abp-validation-error",template:'\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n ',changeDetection:n.ChangeDetectionStrategy.OnPush,encapsulation:n.ViewEncapsulation.None}]}],t}(r.ValidationErrorComponent);function O(e){return function(){var n=e.get(t.LazyLoadService);return s.forkJoin(n.load(null,"style",E,"head","afterbegin")).pipe(c.take(1))}}var T,M=function(){function e(){}return e.forRoot=function(){return{ngModule:e,providers:[{provide:n.APP_INITIALIZER,multi:!0,deps:[n.Injector,S],useFactory:O},{provide:i.MessageService,useClass:i.MessageService}]}},e.decorators=[{type:n.NgModule,args:[{imports:[t.CoreModule,a.ToastModule,o.NgbModalModule,r.NgxValidateCoreModule.forRoot({targetSelector:".form-group",blueprints:{email:"AbpAccount::ThisFieldIsNotAValidEmailAddress.",max:"AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]",maxlength:"AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]",min:"AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]",minlength:"AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]",required:"AbpAccount::ThisFieldIsRequired.",passwordMismatch:"AbpIdentity::Identity.PasswordConfirmationFailed"},errorTemplate:j})],declarations:[I,C,A,k,x,w,j],exports:[o.NgbModalModule,I,C,A,k,w],entryComponents:[x,j]}]}],e}(),P=m.trigger("routeAnimations",[m.state("void",m.style({"margin-top":"20px",opacity:"0"})),m.state("*",m.style({"margin-top":"0px",opacity:"1"})),m.transition(":enter",[m.animate("0.2s ease-out",m.style({opacity:"1","margin-top":"0px"}))])]);!function(e){function t(){}e.Options=t}(T||(T={})),function(t){function n(){}(e.Toaster||(e.Toaster={})).Options=n}();var R=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return g(t,e),t.prototype.addAll=function(e){var t=this;this.messageService.addAll(e.map(function(e){return h({key:t.key},e)}))},t.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],t.ngInjectableDef=n.ɵɵdefineInjectable({factory:function(){return new t(n.ɵɵinject(i.MessageService))},token:t,providedIn:"root"}),t}(y);e.ButtonComponent=I,e.ConfirmationComponent=C,e.ConfirmationService=v,e.LoaderBarComponent=w,e.ModalComponent=k,e.ThemeSharedModule=M,e.ToastComponent=A,e.ToasterService=R,e.appendScript=O,e.slideFromBottom=P,e.ɵa=j,e.ɵb=I,e.ɵc=C,e.ɵd=v,e.ɵe=y,e.ɵf=A,e.ɵg=k,e.ɵh=x,e.ɵi=w,e.ɵj=S,Object.defineProperty(e,"__esModule",{value:!0})}); //# sourceMappingURL=abp-ng.theme.shared.umd.min.js.map \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.min.js.map b/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.min.js.map index e64d2cfe0f..2efa1e916a 100644 --- a/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.min.js.map +++ b/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.theme.shared/lib/abstracts/toaster.ts","ng://@abp/ng.theme.shared/lib/services/confirmation.service.ts","ng://@abp/ng.theme.shared/lib/components/confirmation/confirmation.component.ts","ng://@abp/ng.theme.shared/lib/components/errors/error.component.ts","ng://@abp/ng.theme.shared/lib/components/loader-bar/loader-bar.component.ts","ng://@abp/ng.theme.shared/lib/components/button/button.component.ts","ng://@abp/ng.theme.shared/lib/components/modal/modal.component.ts","ng://@abp/ng.theme.shared/lib/components/toast/toast.component.ts","ng://@abp/ng.theme.shared/lib/contants/styles.ts","ng://@abp/ng.theme.shared/lib/handlers/error.handler.ts","ng://@abp/ng.theme.shared/lib/components/errors/validation-error.component.ts","ng://@abp/ng.theme.shared/lib/theme-shared.module.ts","ng://@abp/ng.theme.shared/lib/models/confirmation.ts","ng://@abp/ng.theme.shared/lib/animations/slide.animation.ts","ng://@abp/ng.theme.shared/lib/models/toaster.ts","ng://@abp/ng.theme.shared/lib/services/toaster.service.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__assign","assign","t","s","i","n","arguments","length","call","apply","__read","o","m","Symbol","iterator","r","e","ar","next","done","push","value","error","AbstractToaster","messageService","key","sticky","info","message","title","options","show","success","warn","severity","clear","add","detail","summary","status$","Subject","status","complete","ConfirmationService","_this","_super","tslib_1.__extends","Injectable","args","providedIn","ConfirmationComponent","confirmationService","confirm","reject","dismiss","close","Component","selector","template","ErrorComponent","details","destroy","renderer","removeChild","host","elementRef","nativeElement","LoaderBarComponent","actions","router","containerClass","progressClass","isLoading","filter","action","payload","url","indexOf","progressLevel","pipe","ofActionSuccessful","StartLoader","StopLoader","takeUntilDestroy","subscribe","startLoading","stopLoading","events","event","NavigationStart","NavigationEnd","ngOnDestroy","interval","setInterval","Math","random","clearInterval","setTimeout","Actions","Router","Input","ButtonComponent","buttonClass","buttonType","loading","disabled","defineProperty","iconClass","ngOnInit","requestType","requestURLContainSearchValue","condition","isArray","findIndex","type","toLowerCase","method","ModalComponent","centered","modalClass","size","visibleChange","EventEmitter","init","_visible","_busy","showModal","isOpenConfirmation","closable","destroy$","modalContent","setVisible","listen","addClass","ANIMATION_TIMEOUT","visible","abpSubmit","emit","timer","take","_","fromEvent","document","takeUntil","debounceTime","code","abpClose","busy","nodes","node","className","hasNgDirty","getFlatNodes","from","reduce","acc","val","concat","__spread","childNodes","querySelector","Renderer2","Output","ContentChild","static","read","ElementRef","ViewChild","ViewChildren","ToastComponent","styles","DEFAULTS","defaultError","defaultError401","defaultError403","defaultError404","ErrorHandler","store","appRef","cfRes","rendererFactory","injector","RestOccurError","res","_a","err","body","snq","headers","get","confirmation$","showError","navigateToLogin","createErrorComponent","statusText","hideCancelBtn","yesCopy","dispatch","Navigate","state","redirectUrl","selectSnapshot","RouterState","instance","createRenderer","selectRootElement","componentRef","resolveComponentFactory","attachView","hostView","appendChild","rootNodes","location","Store","ApplicationRef","ComponentFactoryResolver","RendererFactory2","Injector","ValidationErrorComponent","validationErrors","map","index","slice","interpoliteParams","split","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","appendScript","lazyLoadService","LazyLoadService","forkJoin","load","Confirmation","ThemeSharedModule","forRoot","ngModule","providers","provide","APP_INITIALIZER","multi","deps","useFactory","MessageService","useClass","NgModule","imports","CoreModule","ToastModule","NgbModalModule","NgxValidateCoreModule","targetSelector","blueprints","email","max","maxlength","min","minlength","required","passwordMismatch","errorTemplate","declarations","exports","entryComponents","slideFromBottom","trigger","style","margin-top","opacity","transition","animate","Toaster","ToasterService","addAll","messages"],"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","import { MessageService } from 'primeng/components/common/messageservice';\nimport { Observable, Subject } from 'rxjs';\nimport { Toaster } from '../models/toaster';\n\nexport class AbstractToaster {\n status$: Subject;\n\n key: string = 'abpToast';\n\n sticky: boolean = false;\n\n constructor(protected messageService: MessageService) {}\n info(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'info', options);\n }\n\n success(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'success', options);\n }\n\n warn(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'warn', options);\n }\n\n error(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'error', options);\n }\n\n protected show(message: string, title: string, severity: Toaster.Severity, options?: T): Observable {\n this.messageService.clear(this.key);\n\n this.messageService.add({\n severity,\n detail: message,\n summary: title,\n ...options,\n key: this.key,\n ...(typeof (options || ({} as any)).sticky === 'undefined' && { sticky: this.sticky }),\n });\n this.status$ = new Subject();\n return this.status$;\n }\n\n clear(status?: Toaster.Status) {\n this.messageService.clear(this.key);\n this.status$.next(status || Toaster.Status.dismiss);\n this.status$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Confirmation } from '../models/confirmation';\n\n@Injectable({ providedIn: 'root' })\nexport class ConfirmationService extends AbstractToaster {\n key: string = 'abpConfirmation';\n\n sticky: boolean = true;\n}\n","import { Component } from '@angular/core';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { Toaster } from '../../models/toaster';\n\n@Component({\n selector: 'abp-confirmation',\n template: `\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n `,\n})\nexport class ConfirmationComponent {\n confirm = Toaster.Status.confirm;\n reject = Toaster.Status.reject;\n dismiss = Toaster.Status.dismiss;\n\n constructor(private confirmationService: ConfirmationService) {}\n\n close(status: Toaster.Status) {\n this.confirmationService.clear(status);\n }\n}\n","import { Component, Renderer2, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'abp-error',\n template: `\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n `,\n styleUrls: ['error.component.scss'],\n})\nexport class ErrorComponent {\n title = 'Oops!';\n\n details = 'Sorry, an error has occured.';\n\n renderer: Renderer2;\n\n elementRef: ElementRef;\n\n host: any;\n\n destroy() {\n this.renderer.removeChild(this.host, this.elementRef.nativeElement);\n }\n}\n","import { StartLoader, StopLoader } from '@abp/ng.core';\nimport { Component, Input, OnDestroy } from '@angular/core';\nimport { NavigationEnd, NavigationStart, Router } from '@angular/router';\nimport { takeUntilDestroy } from '@ngx-validate/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-loader-bar',\n template: `\n
    \n
    \n
    \n `,\n styleUrls: ['./loader-bar.component.scss'],\n})\nexport class LoaderBarComponent implements OnDestroy {\n @Input()\n containerClass: string = 'abp-loader-bar';\n\n @Input()\n progressClass: string = 'abp-progress';\n\n @Input()\n isLoading: boolean = false;\n\n @Input()\n filter = (action: StartLoader | StopLoader) => action.payload.url.indexOf('openid-configuration') < 0;\n\n progressLevel: number = 0;\n\n interval: any;\n\n constructor(private actions: Actions, private router: Router) {\n actions\n .pipe(\n ofActionSuccessful(StartLoader, StopLoader),\n filter(this.filter),\n takeUntilDestroy(this),\n )\n .subscribe(action => {\n if (action instanceof StartLoader) this.startLoading();\n else this.stopLoading();\n });\n\n router.events\n .pipe(\n filter(event => event instanceof NavigationStart || event instanceof NavigationEnd),\n takeUntilDestroy(this),\n )\n .subscribe(event => {\n if (event instanceof NavigationStart) this.startLoading();\n else this.stopLoading();\n });\n }\n\n ngOnDestroy() {}\n\n startLoading() {\n this.isLoading = true;\n const interval = setInterval(() => {\n if (this.progressLevel < 75) {\n this.progressLevel += Math.random() * 10;\n } else if (this.progressLevel < 90) {\n this.progressLevel += 0.4;\n } else if (this.progressLevel < 100) {\n this.progressLevel += 0.1;\n } else {\n clearInterval(interval);\n }\n }, 300);\n\n this.interval = interval;\n }\n\n stopLoading() {\n clearInterval(this.interval);\n this.progressLevel = 100;\n this.isLoading = false;\n\n setTimeout(() => {\n this.progressLevel = 0;\n }, 800);\n }\n}\n","import { StartLoader, StopLoader } from '@abp/ng.core';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-button',\n template: `\n \n `,\n})\nexport class ButtonComponent implements OnInit {\n @Input()\n buttonClass: string = 'btn btn-primary';\n\n @Input()\n buttonType: string = 'button';\n\n @Input()\n iconClass: string;\n\n @Input()\n loading: boolean = false;\n\n @Input()\n disabled: boolean = false;\n\n @Input()\n requestType: string | string[];\n\n @Input()\n requestURLContainSearchValue: string;\n\n get icon(): string {\n return `${this.loading ? 'fa fa-spin fa-spinner' : this.iconClass || 'd-none'}`;\n }\n\n constructor(private actions: Actions) {}\n\n ngOnInit(): void {\n if (this.requestType || this.requestURLContainSearchValue) {\n this.actions\n .pipe(\n ofActionSuccessful(StartLoader, StopLoader),\n filter((event: StartLoader | StopLoader) => {\n let condition = true;\n if (this.requestType) {\n if (!Array.isArray(this.requestType)) this.requestType = [this.requestType];\n\n condition =\n condition &&\n this.requestType.findIndex(type => type.toLowerCase() === event.payload.method.toLowerCase()) > -1;\n }\n\n if (condition && this.requestURLContainSearchValue) {\n condition =\n condition &&\n event.payload.url.toLowerCase().indexOf(this.requestURLContainSearchValue.toLowerCase()) > -1;\n }\n\n return condition;\n }),\n )\n .subscribe(() => {\n setTimeout(() => {\n this.loading = !this.loading;\n }, 0);\n });\n }\n }\n}\n","import {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { fromEvent, Subject, timer } from 'rxjs';\nimport { filter, take, takeUntil, debounceTime } from 'rxjs/operators';\nimport { Toaster } from '../../models/toaster';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { ButtonComponent } from '../button/button.component';\n\nexport type ModalSize = 'sm' | 'md' | 'lg' | 'xl';\n\nconst ANIMATION_TIMEOUT = 200;\n\n@Component({\n selector: 'abp-modal',\n templateUrl: './modal.component.html',\n})\nexport class ModalComponent implements OnDestroy {\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n set visible(value: boolean) {\n if (typeof value !== 'boolean') return;\n\n if (!this.modalContent) {\n if (value) {\n setTimeout(() => {\n this.showModal = value;\n this.visible = value;\n }, 0);\n }\n return;\n }\n\n if (value) {\n this.setVisible(value);\n this.listen();\n } else {\n this.closable = false;\n this.renderer.addClass(this.modalContent.nativeElement, 'fade-out-top');\n setTimeout(() => {\n this.setVisible(value);\n this.ngOnDestroy();\n }, ANIMATION_TIMEOUT - 10);\n }\n }\n\n @Input()\n get busy(): boolean {\n return this._busy;\n }\n set busy(value: boolean) {\n if (this.abpSubmit && this.abpSubmit instanceof ButtonComponent) {\n this.abpSubmit.loading = value;\n }\n\n this._busy = value;\n }\n\n @Input() centered: boolean = false;\n\n @Input() modalClass: string = '';\n\n @Input() size: ModalSize = 'lg';\n\n @Input() height: number;\n\n @Input() minHeight: number;\n\n @Output() visibleChange = new EventEmitter();\n\n @Output() init = new EventEmitter();\n\n @ContentChild('abpHeader', { static: false }) abpHeader: TemplateRef;\n\n @ContentChild('abpBody', { static: false }) abpBody: TemplateRef;\n\n @ContentChild('abpFooter', { static: false }) abpFooter: TemplateRef;\n\n @ContentChild('abpClose', { static: false, read: ElementRef }) abpClose: ElementRef;\n\n @ContentChild(ButtonComponent, { static: false, read: ButtonComponent }) abpSubmit: ButtonComponent;\n\n @ViewChild('abpModalContent', { static: false }) modalContent: ElementRef;\n\n @ViewChildren('abp-button') abpButtons;\n\n _visible: boolean = false;\n\n _busy: boolean = false;\n\n showModal: boolean = false;\n\n isOpenConfirmation: boolean = false;\n\n closable: boolean = false;\n\n destroy$ = new Subject();\n\n constructor(private renderer: Renderer2, private confirmationService: ConfirmationService) {}\n\n ngOnDestroy(): void {\n this.destroy$.next();\n }\n\n setVisible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n this.showModal = value;\n\n value\n ? timer(ANIMATION_TIMEOUT + 100)\n .pipe(take(1))\n .subscribe(_ => (this.closable = true))\n : (this.closable = false);\n }\n\n listen() {\n fromEvent(document, 'keyup')\n .pipe(\n takeUntil(this.destroy$),\n debounceTime(150),\n filter((key: KeyboardEvent) => key && key.code === 'Escape' && this.closable),\n )\n .subscribe(_ => {\n this.close();\n });\n\n setTimeout(() => {\n if (!this.abpClose) return;\n fromEvent(this.abpClose.nativeElement, 'click')\n .pipe(\n takeUntil(this.destroy$),\n filter(() => !!(this.closable && this.modalContent)),\n )\n .subscribe(() => this.close());\n }, 0);\n\n this.init.emit();\n }\n\n close() {\n if (!this.closable || this.busy) return;\n\n const nodes = getFlatNodes(\n (this.modalContent.nativeElement.querySelector('#abp-modal-body') as HTMLElement).childNodes,\n );\n\n if (hasNgDirty(nodes)) {\n if (this.isOpenConfirmation) return;\n\n this.isOpenConfirmation = true;\n this.confirmationService\n .warn('AbpAccount::AreYouSureYouWantToCancelEditingWarningMessage', 'AbpAccount::AreYouSure')\n .subscribe((status: Toaster.Status) => {\n timer(ANIMATION_TIMEOUT).subscribe(() => {\n this.isOpenConfirmation = false;\n });\n\n if (status === Toaster.Status.confirm) {\n this.visible = false;\n }\n });\n } else {\n this.visible = false;\n }\n }\n}\n\nfunction getFlatNodes(nodes: NodeList): HTMLElement[] {\n return Array.from(nodes).reduce(\n (acc, val) => [...acc, ...(val.childNodes && val.childNodes.length ? getFlatNodes(val.childNodes) : [val])],\n [],\n );\n}\n\nfunction hasNgDirty(nodes: HTMLElement[]) {\n return nodes.findIndex(node => (node.className || '').indexOf('ng-dirty') > -1) > -1;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-toast',\n template: `\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n `,\n})\nexport class ToastComponent {}\n","export default `\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 200px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* {\n const { payload: err = {} as HttpErrorResponse | any } = res;\n const body = snq(() => (err as HttpErrorResponse).error.error, DEFAULTS.defaultError.message);\n\n if (err.headers.get('_AbpErrorFormat')) {\n const confirmation$ = this.showError(null, null, body);\n\n if (err.status === 401) {\n confirmation$.subscribe(() => {\n this.navigateToLogin();\n });\n }\n } else {\n switch ((err as HttpErrorResponse).status) {\n case 401:\n this.showError(DEFAULTS.defaultError401.details, DEFAULTS.defaultError401.message).subscribe(() =>\n this.navigateToLogin(),\n );\n break;\n case 403:\n this.createErrorComponent({\n title: DEFAULTS.defaultError403.message,\n details: DEFAULTS.defaultError403.details,\n });\n break;\n case 404:\n this.showError(DEFAULTS.defaultError404.details, DEFAULTS.defaultError404.message);\n break;\n case 500:\n this.createErrorComponent({\n title: '500',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n break;\n case 0:\n if ((err as HttpErrorResponse).statusText === 'Unknown Error') {\n this.createErrorComponent({\n title: 'Unknown Error',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n }\n break;\n default:\n this.showError(DEFAULTS.defaultError.details, DEFAULTS.defaultError.message);\n break;\n }\n }\n });\n }\n\n private showError(message?: string, title?: string, body?: any): Observable {\n if (body) {\n if (body.details) {\n message = body.details;\n title = body.message;\n } else {\n message = body.message || DEFAULTS.defaultError.message;\n }\n }\n\n return this.confirmationService.error(message, title, {\n hideCancelBtn: true,\n yesCopy: 'OK',\n });\n }\n\n private navigateToLogin() {\n this.store.dispatch(\n new Navigate(['/account/login'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n }\n\n createErrorComponent(instance: Partial) {\n const renderer = this.rendererFactory.createRenderer(null, null);\n const host = renderer.selectRootElement('app-root', true);\n\n const componentRef = this.cfRes.resolveComponentFactory(ErrorComponent).create(this.injector);\n\n for (const key in componentRef.instance) {\n if (componentRef.instance.hasOwnProperty(key)) {\n componentRef.instance[key] = instance[key];\n }\n }\n\n this.appRef.attachView(componentRef.hostView);\n renderer.appendChild(host, (componentRef.hostView as EmbeddedViewRef).rootNodes[0]);\n\n componentRef.instance.renderer = renderer;\n componentRef.instance.elementRef = componentRef.location;\n componentRef.instance.host = host;\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { Validation, ValidationErrorComponent as ErrorComponent } from '@ngx-validate/core';\n\n@Component({\n selector: 'abp-validation-error',\n template: `\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class ValidationErrorComponent extends ErrorComponent {\n get abpErrors(): Validation.Error[] & { interpoliteParams?: string[] } {\n return this.validationErrors.map(error => {\n if (!error.message) return error;\n\n const index = error.message.indexOf('[');\n\n if (index > -1) {\n return {\n ...error,\n message: error.message.slice(0, index),\n interpoliteParams: error.message.slice(index + 1, error.message.length - 1).split(','),\n };\n }\n\n return error;\n });\n }\n}\n","import { CoreModule, LazyLoadService } from '@abp/ng.core';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgbModalModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { MessageService } from 'primeng/components/common/messageservice';\nimport { ToastModule } from 'primeng/toast';\nimport { forkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { ConfirmationComponent } from './components/confirmation/confirmation.component';\nimport { ErrorComponent } from './components/errors/error.component';\nimport { LoaderBarComponent } from './components/loader-bar/loader-bar.component';\nimport { ModalComponent } from './components/modal/modal.component';\nimport { ToastComponent } from './components/toast/toast.component';\nimport styles from './contants/styles';\nimport { ErrorHandler } from './handlers/error.handler';\nimport { ButtonComponent } from './components/button/button.component';\nimport { ValidationErrorComponent } from './components/errors/validation-error.component';\n\nexport function appendScript(injector: Injector) {\n const fn = function() {\n const lazyLoadService: LazyLoadService = injector.get(LazyLoadService);\n\n return forkJoin(\n lazyLoadService.load(\n null,\n 'style',\n styles,\n 'head',\n 'afterbegin',\n ) /* lazyLoadService.load(null, 'script', scripts) */,\n ).pipe(take(1));\n };\n\n return fn;\n}\n\n@NgModule({\n imports: [\n CoreModule,\n ToastModule,\n NgbModalModule,\n NgxValidateCoreModule.forRoot({\n targetSelector: '.form-group',\n blueprints: {\n email: `AbpAccount::ThisFieldIsNotAValidEmailAddress.`,\n max: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]`,\n maxlength: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]`,\n min: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n minlength: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n required: `AbpAccount::ThisFieldIsRequired.`,\n passwordMismatch: `AbpIdentity::Identity.PasswordConfirmationFailed`,\n },\n errorTemplate: ValidationErrorComponent,\n }),\n ],\n declarations: [\n ButtonComponent,\n ConfirmationComponent,\n ToastComponent,\n ModalComponent,\n ErrorComponent,\n LoaderBarComponent,\n ValidationErrorComponent,\n ],\n exports: [NgbModalModule, ButtonComponent, ConfirmationComponent, ToastComponent, ModalComponent, LoaderBarComponent],\n entryComponents: [ErrorComponent, ValidationErrorComponent],\n})\nexport class ThemeSharedModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: ThemeSharedModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector, ErrorHandler],\n useFactory: appendScript,\n },\n { provide: MessageService, useClass: MessageService },\n ],\n };\n }\n}\n","import { Toaster } from './toaster';\n\nexport namespace Confirmation {\n export interface Options extends Toaster.Options {\n hideCancelBtn?: boolean;\n hideYesBtn?: boolean;\n cancelCopy?: string;\n yesCopy?: string;\n }\n}\n","import { animate, state, style, transition, trigger, query } from '@angular/animations';\nexport const slideFromBottom = trigger('routeAnimations', [\n state('void', style({ 'margin-top': '20px', opacity: '0' })),\n state('*', style({ 'margin-top': '0px', opacity: '1' })),\n transition(':enter', [animate('0.2s ease-out', style({ opacity: '1', 'margin-top': '0px' }))]),\n]);\n","export namespace Toaster {\n export interface Options {\n id?: any;\n closable?: boolean;\n life?: number;\n sticky?: boolean;\n data?: any;\n messageLocalizationParams?: string[];\n titleLocalizationParams?: string[];\n }\n\n export type Severity = 'success' | 'info' | 'warn' | 'error';\n\n export const enum Status {\n confirm = 'confirm',\n reject = 'reject',\n dismiss = 'dismiss',\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Message } from 'primeng/components/common/message';\n\n@Injectable({ providedIn: 'root' })\nexport class ToasterService extends AbstractToaster {\n addAll(messages: Message[]): void {\n this.messageService.addAll(messages.map(message => ({ key: this.key, ...message })));\n }\n}\n"]} \ No newline at end of file +{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.theme.shared/lib/abstracts/toaster.ts","ng://@abp/ng.theme.shared/lib/services/confirmation.service.ts","ng://@abp/ng.theme.shared/lib/components/confirmation/confirmation.component.ts","ng://@abp/ng.theme.shared/lib/components/errors/error.component.ts","ng://@abp/ng.theme.shared/lib/components/loader-bar/loader-bar.component.ts","ng://@abp/ng.theme.shared/lib/components/button/button.component.ts","ng://@abp/ng.theme.shared/lib/components/modal/modal.component.ts","ng://@abp/ng.theme.shared/lib/components/toast/toast.component.ts","ng://@abp/ng.theme.shared/lib/contants/styles.ts","ng://@abp/ng.theme.shared/lib/handlers/error.handler.ts","ng://@abp/ng.theme.shared/lib/components/errors/validation-error.component.ts","ng://@abp/ng.theme.shared/lib/theme-shared.module.ts","ng://@abp/ng.theme.shared/lib/models/confirmation.ts","ng://@abp/ng.theme.shared/lib/animations/slide.animation.ts","ng://@abp/ng.theme.shared/lib/models/toaster.ts","ng://@abp/ng.theme.shared/lib/services/toaster.service.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__assign","assign","t","s","i","n","arguments","length","call","apply","__read","o","m","Symbol","iterator","r","e","ar","next","done","push","value","error","AbstractToaster","messageService","key","sticky","info","message","title","options","show","success","warn","severity","clear","add","detail","summary","status$","Subject","status","complete","ConfirmationService","_this","_super","tslib_1.__extends","Injectable","args","providedIn","ConfirmationComponent","confirmationService","confirm","reject","dismiss","close","Component","selector","template","ErrorComponent","details","destroy","renderer","removeChild","host","elementRef","nativeElement","LoaderBarComponent","actions","router","containerClass","progressClass","isLoading","filter","action","payload","url","indexOf","progressLevel","pipe","ofActionSuccessful","StartLoader","StopLoader","takeUntilDestroy","subscribe","startLoading","stopLoading","events","event","NavigationStart","NavigationEnd","ngOnDestroy","interval","setInterval","Math","random","clearInterval","setTimeout","Actions","Router","Input","ButtonComponent","buttonClass","buttonType","loading","disabled","defineProperty","iconClass","ModalComponent","centered","modalClass","size","visibleChange","EventEmitter","init","_visible","_busy","showModal","isOpenConfirmation","closable","destroy$","modalContent","setVisible","listen","addClass","ANIMATION_TIMEOUT","visible","abpSubmit","emit","timer","take","_","fromEvent","document","takeUntil","debounceTime","code","abpClose","busy","nodes","findIndex","node","className","hasNgDirty","getFlatNodes","from","reduce","acc","val","concat","__spread","childNodes","querySelector","Renderer2","Output","ContentChild","static","read","ElementRef","ViewChild","ViewChildren","ToastComponent","styles","DEFAULTS","defaultError","defaultError401","defaultError403","defaultError404","ErrorHandler","store","appRef","cfRes","rendererFactory","injector","RestOccurError","res","_a","err","body","snq","headers","get","confirmation$","showError","navigateToLogin","createErrorComponent","statusText","hideCancelBtn","yesCopy","dispatch","Navigate","state","redirectUrl","selectSnapshot","RouterState","instance","createRenderer","selectRootElement","componentRef","resolveComponentFactory","attachView","hostView","appendChild","rootNodes","location","Store","ApplicationRef","ComponentFactoryResolver","RendererFactory2","Injector","ValidationErrorComponent","validationErrors","map","index","slice","interpoliteParams","split","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","appendScript","lazyLoadService","LazyLoadService","forkJoin","load","Confirmation","ThemeSharedModule","forRoot","ngModule","providers","provide","APP_INITIALIZER","multi","deps","useFactory","MessageService","useClass","NgModule","imports","CoreModule","ToastModule","NgbModalModule","NgxValidateCoreModule","targetSelector","blueprints","email","max","maxlength","min","minlength","required","passwordMismatch","errorTemplate","declarations","exports","entryComponents","slideFromBottom","trigger","style","margin-top","opacity","transition","animate","Options","Toaster","ToasterService","addAll","messages"],"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","import { MessageService } from 'primeng/components/common/messageservice';\nimport { Observable, Subject } from 'rxjs';\nimport { Toaster } from '../models/toaster';\n\nexport class AbstractToaster {\n status$: Subject;\n\n key: string = 'abpToast';\n\n sticky: boolean = false;\n\n constructor(protected messageService: MessageService) {}\n info(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'info', options);\n }\n\n success(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'success', options);\n }\n\n warn(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'warn', options);\n }\n\n error(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'error', options);\n }\n\n protected show(message: string, title: string, severity: Toaster.Severity, options?: T): Observable {\n this.messageService.clear(this.key);\n\n this.messageService.add({\n severity,\n detail: message,\n summary: title,\n ...options,\n key: this.key,\n ...(typeof (options || ({} as any)).sticky === 'undefined' && { sticky: this.sticky }),\n });\n this.status$ = new Subject();\n return this.status$;\n }\n\n clear(status?: Toaster.Status) {\n this.messageService.clear(this.key);\n this.status$.next(status || Toaster.Status.dismiss);\n this.status$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Confirmation } from '../models/confirmation';\n\n@Injectable({ providedIn: 'root' })\nexport class ConfirmationService extends AbstractToaster {\n key: string = 'abpConfirmation';\n\n sticky: boolean = true;\n}\n","import { Component } from '@angular/core';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { Toaster } from '../../models/toaster';\n\n@Component({\n selector: 'abp-confirmation',\n template: `\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n `,\n})\nexport class ConfirmationComponent {\n confirm = Toaster.Status.confirm;\n reject = Toaster.Status.reject;\n dismiss = Toaster.Status.dismiss;\n\n constructor(private confirmationService: ConfirmationService) {}\n\n close(status: Toaster.Status) {\n this.confirmationService.clear(status);\n }\n}\n","import { Component, Renderer2, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'abp-error',\n template: `\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n `,\n styleUrls: ['error.component.scss'],\n})\nexport class ErrorComponent {\n title = 'Oops!';\n\n details = 'Sorry, an error has occured.';\n\n renderer: Renderer2;\n\n elementRef: ElementRef;\n\n host: any;\n\n destroy() {\n this.renderer.removeChild(this.host, this.elementRef.nativeElement);\n }\n}\n","import { StartLoader, StopLoader } from '@abp/ng.core';\nimport { Component, Input, OnDestroy } from '@angular/core';\nimport { NavigationEnd, NavigationStart, Router } from '@angular/router';\nimport { takeUntilDestroy } from '@ngx-validate/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-loader-bar',\n template: `\n
    \n
    \n
    \n `,\n styleUrls: ['./loader-bar.component.scss'],\n})\nexport class LoaderBarComponent implements OnDestroy {\n @Input()\n containerClass: string = 'abp-loader-bar';\n\n @Input()\n progressClass: string = 'abp-progress';\n\n @Input()\n isLoading: boolean = false;\n\n @Input()\n filter = (action: StartLoader | StopLoader) => action.payload.url.indexOf('openid-configuration') < 0;\n\n progressLevel: number = 0;\n\n interval: any;\n\n constructor(private actions: Actions, private router: Router) {\n actions\n .pipe(\n ofActionSuccessful(StartLoader, StopLoader),\n filter(this.filter),\n takeUntilDestroy(this),\n )\n .subscribe(action => {\n if (action instanceof StartLoader) this.startLoading();\n else this.stopLoading();\n });\n\n router.events\n .pipe(\n filter(event => event instanceof NavigationStart || event instanceof NavigationEnd),\n takeUntilDestroy(this),\n )\n .subscribe(event => {\n if (event instanceof NavigationStart) this.startLoading();\n else this.stopLoading();\n });\n }\n\n ngOnDestroy() {}\n\n startLoading() {\n this.isLoading = true;\n const interval = setInterval(() => {\n if (this.progressLevel < 75) {\n this.progressLevel += Math.random() * 10;\n } else if (this.progressLevel < 90) {\n this.progressLevel += 0.4;\n } else if (this.progressLevel < 100) {\n this.progressLevel += 0.1;\n } else {\n clearInterval(interval);\n }\n }, 300);\n\n this.interval = interval;\n }\n\n stopLoading() {\n clearInterval(this.interval);\n this.progressLevel = 100;\n this.isLoading = false;\n\n setTimeout(() => {\n this.progressLevel = 0;\n }, 800);\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'abp-button',\n template: `\n \n `,\n})\nexport class ButtonComponent {\n @Input()\n buttonClass: string = 'btn btn-primary';\n\n @Input()\n buttonType: string = 'button';\n\n @Input()\n iconClass: string;\n\n @Input()\n loading: boolean = false;\n\n @Input()\n disabled: boolean = false;\n\n get icon(): string {\n return `${this.loading ? 'fa fa-spin fa-spinner' : this.iconClass || 'd-none'}`;\n }\n}\n","import {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { fromEvent, Subject, timer } from 'rxjs';\nimport { filter, take, takeUntil, debounceTime } from 'rxjs/operators';\nimport { Toaster } from '../../models/toaster';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { ButtonComponent } from '../button/button.component';\n\nexport type ModalSize = 'sm' | 'md' | 'lg' | 'xl';\n\nconst ANIMATION_TIMEOUT = 200;\n\n@Component({\n selector: 'abp-modal',\n templateUrl: './modal.component.html',\n})\nexport class ModalComponent implements OnDestroy {\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n set visible(value: boolean) {\n if (typeof value !== 'boolean') return;\n\n if (!this.modalContent) {\n if (value) {\n setTimeout(() => {\n this.showModal = value;\n this.visible = value;\n }, 0);\n }\n return;\n }\n\n if (value) {\n this.setVisible(value);\n this.listen();\n } else {\n this.closable = false;\n this.renderer.addClass(this.modalContent.nativeElement, 'fade-out-top');\n setTimeout(() => {\n this.setVisible(value);\n this.ngOnDestroy();\n }, ANIMATION_TIMEOUT - 10);\n }\n }\n\n @Input()\n get busy(): boolean {\n return this._busy;\n }\n set busy(value: boolean) {\n if (this.abpSubmit && this.abpSubmit instanceof ButtonComponent) {\n this.abpSubmit.loading = value;\n }\n\n this._busy = value;\n }\n\n @Input() centered: boolean = false;\n\n @Input() modalClass: string = '';\n\n @Input() size: ModalSize = 'lg';\n\n @Input() height: number;\n\n @Input() minHeight: number;\n\n @Output() visibleChange = new EventEmitter();\n\n @Output() init = new EventEmitter();\n\n @ContentChild('abpHeader', { static: false }) abpHeader: TemplateRef;\n\n @ContentChild('abpBody', { static: false }) abpBody: TemplateRef;\n\n @ContentChild('abpFooter', { static: false }) abpFooter: TemplateRef;\n\n @ContentChild('abpClose', { static: false, read: ElementRef }) abpClose: ElementRef;\n\n @ContentChild(ButtonComponent, { static: false, read: ButtonComponent }) abpSubmit: ButtonComponent;\n\n @ViewChild('abpModalContent', { static: false }) modalContent: ElementRef;\n\n @ViewChildren('abp-button') abpButtons;\n\n _visible: boolean = false;\n\n _busy: boolean = false;\n\n showModal: boolean = false;\n\n isOpenConfirmation: boolean = false;\n\n closable: boolean = false;\n\n destroy$ = new Subject();\n\n constructor(private renderer: Renderer2, private confirmationService: ConfirmationService) {}\n\n ngOnDestroy(): void {\n this.destroy$.next();\n }\n\n setVisible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n this.showModal = value;\n\n value\n ? timer(ANIMATION_TIMEOUT + 100)\n .pipe(take(1))\n .subscribe(_ => (this.closable = true))\n : (this.closable = false);\n }\n\n listen() {\n fromEvent(document, 'keyup')\n .pipe(\n takeUntil(this.destroy$),\n debounceTime(150),\n filter((key: KeyboardEvent) => key && key.code === 'Escape' && this.closable),\n )\n .subscribe(_ => {\n this.close();\n });\n\n setTimeout(() => {\n if (!this.abpClose) return;\n fromEvent(this.abpClose.nativeElement, 'click')\n .pipe(\n takeUntil(this.destroy$),\n filter(() => !!(this.closable && this.modalContent)),\n )\n .subscribe(() => this.close());\n }, 0);\n\n this.init.emit();\n }\n\n close() {\n if (!this.closable || this.busy) return;\n\n const nodes = getFlatNodes(\n (this.modalContent.nativeElement.querySelector('#abp-modal-body') as HTMLElement).childNodes,\n );\n\n if (hasNgDirty(nodes)) {\n if (this.isOpenConfirmation) return;\n\n this.isOpenConfirmation = true;\n this.confirmationService\n .warn('AbpAccount::AreYouSureYouWantToCancelEditingWarningMessage', 'AbpAccount::AreYouSure')\n .subscribe((status: Toaster.Status) => {\n timer(ANIMATION_TIMEOUT).subscribe(() => {\n this.isOpenConfirmation = false;\n });\n\n if (status === Toaster.Status.confirm) {\n this.visible = false;\n }\n });\n } else {\n this.visible = false;\n }\n }\n}\n\nfunction getFlatNodes(nodes: NodeList): HTMLElement[] {\n return Array.from(nodes).reduce(\n (acc, val) => [...acc, ...(val.childNodes && val.childNodes.length ? getFlatNodes(val.childNodes) : [val])],\n [],\n );\n}\n\nfunction hasNgDirty(nodes: HTMLElement[]) {\n return nodes.findIndex(node => (node.className || '').indexOf('ng-dirty') > -1) > -1;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-toast',\n template: `\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n `,\n})\nexport class ToastComponent {}\n","export default `\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 215px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* {\n const { payload: err = {} as HttpErrorResponse | any } = res;\n const body = snq(() => (err as HttpErrorResponse).error.error, DEFAULTS.defaultError.message);\n\n if (err.headers.get('_AbpErrorFormat')) {\n const confirmation$ = this.showError(null, null, body);\n\n if (err.status === 401) {\n confirmation$.subscribe(() => {\n this.navigateToLogin();\n });\n }\n } else {\n switch ((err as HttpErrorResponse).status) {\n case 401:\n this.showError(DEFAULTS.defaultError401.details, DEFAULTS.defaultError401.message).subscribe(() =>\n this.navigateToLogin(),\n );\n break;\n case 403:\n this.createErrorComponent({\n title: DEFAULTS.defaultError403.message,\n details: DEFAULTS.defaultError403.details,\n });\n break;\n case 404:\n this.showError(DEFAULTS.defaultError404.details, DEFAULTS.defaultError404.message);\n break;\n case 500:\n this.createErrorComponent({\n title: '500',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n break;\n case 0:\n if ((err as HttpErrorResponse).statusText === 'Unknown Error') {\n this.createErrorComponent({\n title: 'Unknown Error',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n }\n break;\n default:\n this.showError(DEFAULTS.defaultError.details, DEFAULTS.defaultError.message);\n break;\n }\n }\n });\n }\n\n private showError(message?: string, title?: string, body?: any): Observable {\n if (body) {\n if (body.details) {\n message = body.details;\n title = body.message;\n } else {\n message = body.message || DEFAULTS.defaultError.message;\n }\n }\n\n return this.confirmationService.error(message, title, {\n hideCancelBtn: true,\n yesCopy: 'OK',\n });\n }\n\n private navigateToLogin() {\n this.store.dispatch(\n new Navigate(['/account/login'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n }\n\n createErrorComponent(instance: Partial) {\n const renderer = this.rendererFactory.createRenderer(null, null);\n const host = renderer.selectRootElement('app-root', true);\n\n const componentRef = this.cfRes.resolveComponentFactory(ErrorComponent).create(this.injector);\n\n for (const key in componentRef.instance) {\n if (componentRef.instance.hasOwnProperty(key)) {\n componentRef.instance[key] = instance[key];\n }\n }\n\n this.appRef.attachView(componentRef.hostView);\n renderer.appendChild(host, (componentRef.hostView as EmbeddedViewRef).rootNodes[0]);\n\n componentRef.instance.renderer = renderer;\n componentRef.instance.elementRef = componentRef.location;\n componentRef.instance.host = host;\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { Validation, ValidationErrorComponent as ErrorComponent } from '@ngx-validate/core';\n\n@Component({\n selector: 'abp-validation-error',\n template: `\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class ValidationErrorComponent extends ErrorComponent {\n get abpErrors(): Validation.Error[] & { interpoliteParams?: string[] } {\n return this.validationErrors.map(error => {\n if (!error.message) return error;\n\n const index = error.message.indexOf('[');\n\n if (index > -1) {\n return {\n ...error,\n message: error.message.slice(0, index),\n interpoliteParams: error.message.slice(index + 1, error.message.length - 1).split(','),\n };\n }\n\n return error;\n });\n }\n}\n","import { CoreModule, LazyLoadService } from '@abp/ng.core';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgbModalModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { MessageService } from 'primeng/components/common/messageservice';\nimport { ToastModule } from 'primeng/toast';\nimport { forkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { ConfirmationComponent } from './components/confirmation/confirmation.component';\nimport { ErrorComponent } from './components/errors/error.component';\nimport { LoaderBarComponent } from './components/loader-bar/loader-bar.component';\nimport { ModalComponent } from './components/modal/modal.component';\nimport { ToastComponent } from './components/toast/toast.component';\nimport styles from './contants/styles';\nimport { ErrorHandler } from './handlers/error.handler';\nimport { ButtonComponent } from './components/button/button.component';\nimport { ValidationErrorComponent } from './components/errors/validation-error.component';\n\nexport function appendScript(injector: Injector) {\n const fn = function() {\n const lazyLoadService: LazyLoadService = injector.get(LazyLoadService);\n\n return forkJoin(\n lazyLoadService.load(\n null,\n 'style',\n styles,\n 'head',\n 'afterbegin',\n ) /* lazyLoadService.load(null, 'script', scripts) */,\n ).pipe(take(1));\n };\n\n return fn;\n}\n\n@NgModule({\n imports: [\n CoreModule,\n ToastModule,\n NgbModalModule,\n NgxValidateCoreModule.forRoot({\n targetSelector: '.form-group',\n blueprints: {\n email: `AbpAccount::ThisFieldIsNotAValidEmailAddress.`,\n max: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]`,\n maxlength: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]`,\n min: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n minlength: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n required: `AbpAccount::ThisFieldIsRequired.`,\n passwordMismatch: `AbpIdentity::Identity.PasswordConfirmationFailed`,\n },\n errorTemplate: ValidationErrorComponent,\n }),\n ],\n declarations: [\n ButtonComponent,\n ConfirmationComponent,\n ToastComponent,\n ModalComponent,\n ErrorComponent,\n LoaderBarComponent,\n ValidationErrorComponent,\n ],\n exports: [NgbModalModule, ButtonComponent, ConfirmationComponent, ToastComponent, ModalComponent, LoaderBarComponent],\n entryComponents: [ErrorComponent, ValidationErrorComponent],\n})\nexport class ThemeSharedModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: ThemeSharedModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector, ErrorHandler],\n useFactory: appendScript,\n },\n { provide: MessageService, useClass: MessageService },\n ],\n };\n }\n}\n","import { Toaster } from './toaster';\n\nexport namespace Confirmation {\n export interface Options extends Toaster.Options {\n hideCancelBtn?: boolean;\n hideYesBtn?: boolean;\n cancelCopy?: string;\n yesCopy?: string;\n }\n}\n","import { animate, state, style, transition, trigger, query } from '@angular/animations';\nexport const slideFromBottom = trigger('routeAnimations', [\n state('void', style({ 'margin-top': '20px', opacity: '0' })),\n state('*', style({ 'margin-top': '0px', opacity: '1' })),\n transition(':enter', [animate('0.2s ease-out', style({ opacity: '1', 'margin-top': '0px' }))]),\n]);\n","export namespace Toaster {\n export interface Options {\n id?: any;\n closable?: boolean;\n life?: number;\n sticky?: boolean;\n data?: any;\n messageLocalizationParams?: string[];\n titleLocalizationParams?: string[];\n }\n\n export type Severity = 'success' | 'info' | 'warn' | 'error';\n\n export const enum Status {\n confirm = 'confirm',\n reject = 'reject',\n dismiss = 'dismiss',\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Message } from 'primeng/components/common/message';\n\n@Injectable({ providedIn: 'root' })\nexport class ToasterService extends AbstractToaster {\n addAll(messages: Message[]): void {\n this.messageService.addAll(messages.map(message => ({ key: this.key, ...message })));\n }\n}\n"]} \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm2015/lib/components/button/button.component.js b/npm/ng-packs/dist/theme-shared/esm2015/lib/components/button/button.component.js index 1972d1e12b..a9813a1bcb 100644 --- a/npm/ng-packs/dist/theme-shared/esm2015/lib/components/button/button.component.js +++ b/npm/ng-packs/dist/theme-shared/esm2015/lib/components/button/button.component.js @@ -2,16 +2,9 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -import { StartLoader, StopLoader } from '@abp/ng.core'; import { Component, Input } from '@angular/core'; -import { Actions, ofActionSuccessful } from '@ngxs/store'; -import { filter } from 'rxjs/operators'; export class ButtonComponent { - /** - * @param {?} actions - */ - constructor(actions) { - this.actions = actions; + constructor() { this.buttonClass = 'btn btn-primary'; this.buttonType = 'button'; this.loading = false; @@ -23,50 +16,6 @@ export class ButtonComponent { get icon() { return `${this.loading ? 'fa fa-spin fa-spinner' : this.iconClass || 'd-none'}`; } - /** - * @return {?} - */ - ngOnInit() { - if (this.requestType || this.requestURLContainSearchValue) { - this.actions - .pipe(ofActionSuccessful(StartLoader, StopLoader), filter((/** - * @param {?} event - * @return {?} - */ - (event) => { - /** @type {?} */ - let condition = true; - if (this.requestType) { - if (!Array.isArray(this.requestType)) - this.requestType = [this.requestType]; - condition = - condition && - this.requestType.findIndex((/** - * @param {?} type - * @return {?} - */ - type => type.toLowerCase() === event.payload.method.toLowerCase())) > -1; - } - if (condition && this.requestURLContainSearchValue) { - condition = - condition && - event.payload.url.toLowerCase().indexOf(this.requestURLContainSearchValue.toLowerCase()) > -1; - } - return condition; - }))) - .subscribe((/** - * @return {?} - */ - () => { - setTimeout((/** - * @return {?} - */ - () => { - this.loading = !this.loading; - }), 0); - })); - } - } } ButtonComponent.decorators = [ { type: Component, args: [{ @@ -78,18 +27,12 @@ ButtonComponent.decorators = [ ` }] } ]; -/** @nocollapse */ -ButtonComponent.ctorParameters = () => [ - { type: Actions } -]; ButtonComponent.propDecorators = { buttonClass: [{ type: Input }], buttonType: [{ type: Input }], iconClass: [{ type: Input }], loading: [{ type: Input }], - disabled: [{ type: Input }], - requestType: [{ type: Input }], - requestURLContainSearchValue: [{ type: Input }] + disabled: [{ type: Input }] }; if (false) { /** @type {?} */ @@ -102,14 +45,5 @@ if (false) { ButtonComponent.prototype.loading; /** @type {?} */ ButtonComponent.prototype.disabled; - /** @type {?} */ - ButtonComponent.prototype.requestType; - /** @type {?} */ - ButtonComponent.prototype.requestURLContainSearchValue; - /** - * @type {?} - * @private - */ - ButtonComponent.prototype.actions; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBVXhDLE1BQU0sT0FBTyxlQUFlOzs7O0lBMEIxQixZQUFvQixPQUFnQjtRQUFoQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBeEJwQyxnQkFBVyxHQUFXLGlCQUFpQixDQUFDO1FBR3hDLGVBQVUsR0FBVyxRQUFRLENBQUM7UUFNOUIsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUd6QixhQUFRLEdBQVksS0FBSyxDQUFDO0lBWWEsQ0FBQzs7OztJQUp4QyxJQUFJLElBQUk7UUFDTixPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksUUFBUSxFQUFFLENBQUM7SUFDbEYsQ0FBQzs7OztJQUlELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLDRCQUE0QixFQUFFO1lBQ3pELElBQUksQ0FBQyxPQUFPO2lCQUNULElBQUksQ0FDSCxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLEVBQzNDLE1BQU07Ozs7WUFBQyxDQUFDLEtBQStCLEVBQUUsRUFBRTs7b0JBQ3JDLFNBQVMsR0FBRyxJQUFJO2dCQUNwQixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7b0JBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7d0JBQUUsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztvQkFFNUUsU0FBUzt3QkFDUCxTQUFTOzRCQUNULElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUzs7Ozs0QkFBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsRUFBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2lCQUN0RztnQkFFRCxJQUFJLFNBQVMsSUFBSSxJQUFJLENBQUMsNEJBQTRCLEVBQUU7b0JBQ2xELFNBQVM7d0JBQ1AsU0FBUzs0QkFDVCxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFdBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7aUJBQ2pHO2dCQUVELE9BQU8sU0FBUyxDQUFDO1lBQ25CLENBQUMsRUFBQyxDQUNIO2lCQUNBLFNBQVM7OztZQUFDLEdBQUcsRUFBRTtnQkFDZCxVQUFVOzs7Z0JBQUMsR0FBRyxFQUFFO29CQUNkLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO2dCQUMvQixDQUFDLEdBQUUsQ0FBQyxDQUFDLENBQUM7WUFDUixDQUFDLEVBQUMsQ0FBQztTQUNOO0lBQ0gsQ0FBQzs7O1lBbEVGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsWUFBWTtnQkFDdEIsUUFBUSxFQUFFOzs7O0dBSVQ7YUFDRjs7OztZQVZRLE9BQU87OzswQkFZYixLQUFLO3lCQUdMLEtBQUs7d0JBR0wsS0FBSztzQkFHTCxLQUFLO3VCQUdMLEtBQUs7MEJBR0wsS0FBSzsyQ0FHTCxLQUFLOzs7O0lBbEJOLHNDQUN3Qzs7SUFFeEMscUNBQzhCOztJQUU5QixvQ0FDa0I7O0lBRWxCLGtDQUN5Qjs7SUFFekIsbUNBQzBCOztJQUUxQixzQ0FDK0I7O0lBRS9CLHVEQUNxQzs7Ozs7SUFNekIsa0NBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhcnRMb2FkZXIsIFN0b3BMb2FkZXIgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25zLCBvZkFjdGlvblN1Y2Nlc3NmdWwgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1idXR0b24nLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxidXR0b24gW2F0dHIudHlwZV09XCJidXR0b25UeXBlXCIgW25nQ2xhc3NdPVwiYnV0dG9uQ2xhc3NcIiBbZGlzYWJsZWRdPVwibG9hZGluZyB8fCBkaXNhYmxlZFwiPlxuICAgICAgPGkgW25nQ2xhc3NdPVwiaWNvblwiIGNsYXNzPVwibXItMVwiPjwvaT48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9idXR0b24+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIGJ1dHRvbkNsYXNzOiBzdHJpbmcgPSAnYnRuIGJ0bi1wcmltYXJ5JztcblxuICBASW5wdXQoKVxuICBidXR0b25UeXBlOiBzdHJpbmcgPSAnYnV0dG9uJztcblxuICBASW5wdXQoKVxuICBpY29uQ2xhc3M6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICByZXF1ZXN0VHlwZTogc3RyaW5nIHwgc3RyaW5nW107XG5cbiAgQElucHV0KClcbiAgcmVxdWVzdFVSTENvbnRhaW5TZWFyY2hWYWx1ZTogc3RyaW5nO1xuXG4gIGdldCBpY29uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMubG9hZGluZyA/ICdmYSBmYS1zcGluIGZhLXNwaW5uZXInIDogdGhpcy5pY29uQ2xhc3MgfHwgJ2Qtbm9uZSd9YDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYWN0aW9uczogQWN0aW9ucykge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yZXF1ZXN0VHlwZSB8fCB0aGlzLnJlcXVlc3RVUkxDb250YWluU2VhcmNoVmFsdWUpIHtcbiAgICAgIHRoaXMuYWN0aW9uc1xuICAgICAgICAucGlwZShcbiAgICAgICAgICBvZkFjdGlvblN1Y2Nlc3NmdWwoU3RhcnRMb2FkZXIsIFN0b3BMb2FkZXIpLFxuICAgICAgICAgIGZpbHRlcigoZXZlbnQ6IFN0YXJ0TG9hZGVyIHwgU3RvcExvYWRlcikgPT4ge1xuICAgICAgICAgICAgbGV0IGNvbmRpdGlvbiA9IHRydWU7XG4gICAgICAgICAgICBpZiAodGhpcy5yZXF1ZXN0VHlwZSkge1xuICAgICAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkodGhpcy5yZXF1ZXN0VHlwZSkpIHRoaXMucmVxdWVzdFR5cGUgPSBbdGhpcy5yZXF1ZXN0VHlwZV07XG5cbiAgICAgICAgICAgICAgY29uZGl0aW9uID1cbiAgICAgICAgICAgICAgICBjb25kaXRpb24gJiZcbiAgICAgICAgICAgICAgICB0aGlzLnJlcXVlc3RUeXBlLmZpbmRJbmRleCh0eXBlID0+IHR5cGUudG9Mb3dlckNhc2UoKSA9PT0gZXZlbnQucGF5bG9hZC5tZXRob2QudG9Mb3dlckNhc2UoKSkgPiAtMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGNvbmRpdGlvbiAmJiB0aGlzLnJlcXVlc3RVUkxDb250YWluU2VhcmNoVmFsdWUpIHtcbiAgICAgICAgICAgICAgY29uZGl0aW9uID1cbiAgICAgICAgICAgICAgICBjb25kaXRpb24gJiZcbiAgICAgICAgICAgICAgICBldmVudC5wYXlsb2FkLnVybC50b0xvd2VyQ2FzZSgpLmluZGV4T2YodGhpcy5yZXF1ZXN0VVJMQ29udGFpblNlYXJjaFZhbHVlLnRvTG93ZXJDYXNlKCkpID4gLTE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBjb25kaXRpb247XG4gICAgICAgICAgfSksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSAhdGhpcy5sb2FkaW5nO1xuICAgICAgICAgIH0sIDApO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBVWpELE1BQU0sT0FBTyxlQUFlO0lBUjVCO1FBVUUsZ0JBQVcsR0FBVyxpQkFBaUIsQ0FBQztRQUd4QyxlQUFVLEdBQVcsUUFBUSxDQUFDO1FBTTlCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFHekIsYUFBUSxHQUFZLEtBQUssQ0FBQztJQUs1QixDQUFDOzs7O0lBSEMsSUFBSSxJQUFJO1FBQ04sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLFFBQVEsRUFBRSxDQUFDO0lBQ2xGLENBQUM7OztZQTFCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLFFBQVEsRUFBRTs7OztHQUlUO2FBQ0Y7OzswQkFFRSxLQUFLO3lCQUdMLEtBQUs7d0JBR0wsS0FBSztzQkFHTCxLQUFLO3VCQUdMLEtBQUs7Ozs7SUFaTixzQ0FDd0M7O0lBRXhDLHFDQUM4Qjs7SUFFOUIsb0NBQ2tCOztJQUVsQixrQ0FDeUI7O0lBRXpCLG1DQUMwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLWJ1dHRvbicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGJ1dHRvbiBbYXR0ci50eXBlXT1cImJ1dHRvblR5cGVcIiBbbmdDbGFzc109XCJidXR0b25DbGFzc1wiIFtkaXNhYmxlZF09XCJsb2FkaW5nIHx8IGRpc2FibGVkXCI+XG4gICAgICA8aSBbbmdDbGFzc109XCJpY29uXCIgY2xhc3M9XCJtci0xXCI+PC9pPjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2J1dHRvbj5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgYnV0dG9uQ2xhc3M6IHN0cmluZyA9ICdidG4gYnRuLXByaW1hcnknO1xuXG4gIEBJbnB1dCgpXG4gIGJ1dHRvblR5cGU6IHN0cmluZyA9ICdidXR0b24nO1xuXG4gIEBJbnB1dCgpXG4gIGljb25DbGFzczogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGdldCBpY29uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMubG9hZGluZyA/ICdmYSBmYS1zcGluIGZhLXNwaW5uZXInIDogdGhpcy5pY29uQ2xhc3MgfHwgJ2Qtbm9uZSd9YDtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm2015/lib/contants/styles.js b/npm/ng-packs/dist/theme-shared/esm2015/lib/contants/styles.js index b35aea0715..b988453e14 100644 --- a/npm/ng-packs/dist/theme-shared/esm2015/lib/contants/styles.js +++ b/npm/ng-packs/dist/theme-shared/esm2015/lib/contants/styles.js @@ -29,7 +29,7 @@ export default ` } .navbar .dropdown-menu { - min-width: 200px; + min-width: 215px; } .modal { @@ -76,4 +76,4 @@ export default ` /*
    -1; - } - if (condition && _this.requestURLContainSearchValue) { - condition = - condition && - event.payload.url.toLowerCase().indexOf(_this.requestURLContainSearchValue.toLowerCase()) > -1; - } - return condition; - }))) - .subscribe((/** - * @return {?} - */ - function () { - setTimeout((/** - * @return {?} - */ - function () { - _this.loading = !_this.loading; - }), 0); - })); - } - }; ButtonComponent.decorators = [ { type: Component, args: [{ selector: 'abp-button', template: "\n \n " }] } ]; - /** @nocollapse */ - ButtonComponent.ctorParameters = function () { return [ - { type: Actions } - ]; }; ButtonComponent.propDecorators = { buttonClass: [{ type: Input }], buttonType: [{ type: Input }], iconClass: [{ type: Input }], loading: [{ type: Input }], - disabled: [{ type: Input }], - requestType: [{ type: Input }], - requestURLContainSearchValue: [{ type: Input }] + disabled: [{ type: Input }] }; return ButtonComponent; }()); @@ -105,14 +47,5 @@ if (false) { ButtonComponent.prototype.loading; /** @type {?} */ ButtonComponent.prototype.disabled; - /** @type {?} */ - ButtonComponent.prototype.requestType; - /** @type {?} */ - ButtonComponent.prototype.requestURLContainSearchValue; - /** - * @type {?} - * @private - */ - ButtonComponent.prototype.actions; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXhDO0lBa0NFLHlCQUFvQixPQUFnQjtRQUFoQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBeEJwQyxnQkFBVyxHQUFXLGlCQUFpQixDQUFDO1FBR3hDLGVBQVUsR0FBVyxRQUFRLENBQUM7UUFNOUIsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUd6QixhQUFRLEdBQVksS0FBSyxDQUFDO0lBWWEsQ0FBQztJQUp4QyxzQkFBSSxpQ0FBSTs7OztRQUFSO1lBQ0UsT0FBTyxNQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLFFBQVEsQ0FBRSxDQUFDO1FBQ2xGLENBQUM7OztPQUFBOzs7O0lBSUQsa0NBQVE7OztJQUFSO1FBQUEsaUJBOEJDO1FBN0JDLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsNEJBQTRCLEVBQUU7WUFDekQsSUFBSSxDQUFDLE9BQU87aUJBQ1QsSUFBSSxDQUNILGtCQUFrQixDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsRUFDM0MsTUFBTTs7OztZQUFDLFVBQUMsS0FBK0I7O29CQUNqQyxTQUFTLEdBQUcsSUFBSTtnQkFDcEIsSUFBSSxLQUFJLENBQUMsV0FBVyxFQUFFO29CQUNwQixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFJLENBQUMsV0FBVyxDQUFDO3dCQUFFLEtBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxLQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7b0JBRTVFLFNBQVM7d0JBQ1AsU0FBUzs0QkFDVCxLQUFJLENBQUMsV0FBVyxDQUFDLFNBQVM7Ozs7NEJBQUMsVUFBQSxJQUFJLElBQUksT0FBQSxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLEVBQXpELENBQXlELEVBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztpQkFDdEc7Z0JBRUQsSUFBSSxTQUFTLElBQUksS0FBSSxDQUFDLDRCQUE0QixFQUFFO29CQUNsRCxTQUFTO3dCQUNQLFNBQVM7NEJBQ1QsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUksQ0FBQyw0QkFBNEIsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2lCQUNqRztnQkFFRCxPQUFPLFNBQVMsQ0FBQztZQUNuQixDQUFDLEVBQUMsQ0FDSDtpQkFDQSxTQUFTOzs7WUFBQztnQkFDVCxVQUFVOzs7Z0JBQUM7b0JBQ1QsS0FBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLEtBQUksQ0FBQyxPQUFPLENBQUM7Z0JBQy9CLENBQUMsR0FBRSxDQUFDLENBQUMsQ0FBQztZQUNSLENBQUMsRUFBQyxDQUFDO1NBQ047SUFDSCxDQUFDOztnQkFsRUYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO29CQUN0QixRQUFRLEVBQUUscU1BSVQ7aUJBQ0Y7Ozs7Z0JBVlEsT0FBTzs7OzhCQVliLEtBQUs7NkJBR0wsS0FBSzs0QkFHTCxLQUFLOzBCQUdMLEtBQUs7MkJBR0wsS0FBSzs4QkFHTCxLQUFLOytDQUdMLEtBQUs7O0lBd0NSLHNCQUFDO0NBQUEsQUFuRUQsSUFtRUM7U0EzRFksZUFBZTs7O0lBQzFCLHNDQUN3Qzs7SUFFeEMscUNBQzhCOztJQUU5QixvQ0FDa0I7O0lBRWxCLGtDQUN5Qjs7SUFFekIsbUNBQzBCOztJQUUxQixzQ0FDK0I7O0lBRS9CLHVEQUNxQzs7Ozs7SUFNekIsa0NBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhcnRMb2FkZXIsIFN0b3BMb2FkZXIgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25zLCBvZkFjdGlvblN1Y2Nlc3NmdWwgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1idXR0b24nLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxidXR0b24gW2F0dHIudHlwZV09XCJidXR0b25UeXBlXCIgW25nQ2xhc3NdPVwiYnV0dG9uQ2xhc3NcIiBbZGlzYWJsZWRdPVwibG9hZGluZyB8fCBkaXNhYmxlZFwiPlxuICAgICAgPGkgW25nQ2xhc3NdPVwiaWNvblwiIGNsYXNzPVwibXItMVwiPjwvaT48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9idXR0b24+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIGJ1dHRvbkNsYXNzOiBzdHJpbmcgPSAnYnRuIGJ0bi1wcmltYXJ5JztcblxuICBASW5wdXQoKVxuICBidXR0b25UeXBlOiBzdHJpbmcgPSAnYnV0dG9uJztcblxuICBASW5wdXQoKVxuICBpY29uQ2xhc3M6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICByZXF1ZXN0VHlwZTogc3RyaW5nIHwgc3RyaW5nW107XG5cbiAgQElucHV0KClcbiAgcmVxdWVzdFVSTENvbnRhaW5TZWFyY2hWYWx1ZTogc3RyaW5nO1xuXG4gIGdldCBpY29uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMubG9hZGluZyA/ICdmYSBmYS1zcGluIGZhLXNwaW5uZXInIDogdGhpcy5pY29uQ2xhc3MgfHwgJ2Qtbm9uZSd9YDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYWN0aW9uczogQWN0aW9ucykge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yZXF1ZXN0VHlwZSB8fCB0aGlzLnJlcXVlc3RVUkxDb250YWluU2VhcmNoVmFsdWUpIHtcbiAgICAgIHRoaXMuYWN0aW9uc1xuICAgICAgICAucGlwZShcbiAgICAgICAgICBvZkFjdGlvblN1Y2Nlc3NmdWwoU3RhcnRMb2FkZXIsIFN0b3BMb2FkZXIpLFxuICAgICAgICAgIGZpbHRlcigoZXZlbnQ6IFN0YXJ0TG9hZGVyIHwgU3RvcExvYWRlcikgPT4ge1xuICAgICAgICAgICAgbGV0IGNvbmRpdGlvbiA9IHRydWU7XG4gICAgICAgICAgICBpZiAodGhpcy5yZXF1ZXN0VHlwZSkge1xuICAgICAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkodGhpcy5yZXF1ZXN0VHlwZSkpIHRoaXMucmVxdWVzdFR5cGUgPSBbdGhpcy5yZXF1ZXN0VHlwZV07XG5cbiAgICAgICAgICAgICAgY29uZGl0aW9uID1cbiAgICAgICAgICAgICAgICBjb25kaXRpb24gJiZcbiAgICAgICAgICAgICAgICB0aGlzLnJlcXVlc3RUeXBlLmZpbmRJbmRleCh0eXBlID0+IHR5cGUudG9Mb3dlckNhc2UoKSA9PT0gZXZlbnQucGF5bG9hZC5tZXRob2QudG9Mb3dlckNhc2UoKSkgPiAtMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGNvbmRpdGlvbiAmJiB0aGlzLnJlcXVlc3RVUkxDb250YWluU2VhcmNoVmFsdWUpIHtcbiAgICAgICAgICAgICAgY29uZGl0aW9uID1cbiAgICAgICAgICAgICAgICBjb25kaXRpb24gJiZcbiAgICAgICAgICAgICAgICBldmVudC5wYXlsb2FkLnVybC50b0xvd2VyQ2FzZSgpLmluZGV4T2YodGhpcy5yZXF1ZXN0VVJMQ29udGFpblNlYXJjaFZhbHVlLnRvTG93ZXJDYXNlKCkpID4gLTE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBjb25kaXRpb247XG4gICAgICAgICAgfSksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSAhdGhpcy5sb2FkaW5nO1xuICAgICAgICAgIH0sIDApO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpEO0lBQUE7UUFVRSxnQkFBVyxHQUFXLGlCQUFpQixDQUFDO1FBR3hDLGVBQVUsR0FBVyxRQUFRLENBQUM7UUFNOUIsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUd6QixhQUFRLEdBQVksS0FBSyxDQUFDO0lBSzVCLENBQUM7SUFIQyxzQkFBSSxpQ0FBSTs7OztRQUFSO1lBQ0UsT0FBTyxNQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLFFBQVEsQ0FBRSxDQUFDO1FBQ2xGLENBQUM7OztPQUFBOztnQkExQkYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO29CQUN0QixRQUFRLEVBQUUscU1BSVQ7aUJBQ0Y7Ozs4QkFFRSxLQUFLOzZCQUdMLEtBQUs7NEJBR0wsS0FBSzswQkFHTCxLQUFLOzJCQUdMLEtBQUs7O0lBTVIsc0JBQUM7Q0FBQSxBQTNCRCxJQTJCQztTQW5CWSxlQUFlOzs7SUFDMUIsc0NBQ3dDOztJQUV4QyxxQ0FDOEI7O0lBRTlCLG9DQUNrQjs7SUFFbEIsa0NBQ3lCOztJQUV6QixtQ0FDMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1idXR0b24nLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxidXR0b24gW2F0dHIudHlwZV09XCJidXR0b25UeXBlXCIgW25nQ2xhc3NdPVwiYnV0dG9uQ2xhc3NcIiBbZGlzYWJsZWRdPVwibG9hZGluZyB8fCBkaXNhYmxlZFwiPlxuICAgICAgPGkgW25nQ2xhc3NdPVwiaWNvblwiIGNsYXNzPVwibXItMVwiPjwvaT48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9idXR0b24+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIGJ1dHRvbkNsYXNzOiBzdHJpbmcgPSAnYnRuIGJ0bi1wcmltYXJ5JztcblxuICBASW5wdXQoKVxuICBidXR0b25UeXBlOiBzdHJpbmcgPSAnYnV0dG9uJztcblxuICBASW5wdXQoKVxuICBpY29uQ2xhc3M6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBnZXQgaWNvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmxvYWRpbmcgPyAnZmEgZmEtc3BpbiBmYS1zcGlubmVyJyA6IHRoaXMuaWNvbkNsYXNzIHx8ICdkLW5vbmUnfWA7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm5/lib/contants/styles.js b/npm/ng-packs/dist/theme-shared/esm5/lib/contants/styles.js index 26738f32b8..aae8d71577 100644 --- a/npm/ng-packs/dist/theme-shared/esm5/lib/contants/styles.js +++ b/npm/ng-packs/dist/theme-shared/esm5/lib/contants/styles.js @@ -2,5 +2,5 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -export default "\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 200px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* [ { type: ConfirmationService } ]; +if (false) { + /** @type {?} */ + ConfirmationComponent.prototype.confirm; + /** @type {?} */ + ConfirmationComponent.prototype.reject; + /** @type {?} */ + ConfirmationComponent.prototype.dismiss; + /** + * @type {?} + * @private + */ + ConfirmationComponent.prototype.confirmationService; +} /** * @fileoverview added by tsickle @@ -213,6 +245,18 @@ ErrorComponent.decorators = [ styles: [".error{position:fixed;top:0;background-color:#fff;width:100vw;height:100vh;z-index:999999}.centered{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}"] }] } ]; +if (false) { + /** @type {?} */ + ErrorComponent.prototype.title; + /** @type {?} */ + ErrorComponent.prototype.details; + /** @type {?} */ + ErrorComponent.prototype.renderer; + /** @type {?} */ + ErrorComponent.prototype.elementRef; + /** @type {?} */ + ErrorComponent.prototype.host; +} /** * @fileoverview added by tsickle @@ -330,17 +374,37 @@ LoaderBarComponent.propDecorators = { isLoading: [{ type: Input }], filter: [{ type: Input }] }; +if (false) { + /** @type {?} */ + LoaderBarComponent.prototype.containerClass; + /** @type {?} */ + LoaderBarComponent.prototype.progressClass; + /** @type {?} */ + LoaderBarComponent.prototype.isLoading; + /** @type {?} */ + LoaderBarComponent.prototype.filter; + /** @type {?} */ + LoaderBarComponent.prototype.progressLevel; + /** @type {?} */ + LoaderBarComponent.prototype.interval; + /** + * @type {?} + * @private + */ + LoaderBarComponent.prototype.actions; + /** + * @type {?} + * @private + */ + LoaderBarComponent.prototype.router; +} /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ class ButtonComponent { - /** - * @param {?} actions - */ - constructor(actions) { - this.actions = actions; + constructor() { this.buttonClass = 'btn btn-primary'; this.buttonType = 'button'; this.loading = false; @@ -352,50 +416,6 @@ class ButtonComponent { get icon() { return `${this.loading ? 'fa fa-spin fa-spinner' : this.iconClass || 'd-none'}`; } - /** - * @return {?} - */ - ngOnInit() { - if (this.requestType || this.requestURLContainSearchValue) { - this.actions - .pipe(ofActionSuccessful(StartLoader, StopLoader), filter((/** - * @param {?} event - * @return {?} - */ - (event) => { - /** @type {?} */ - let condition = true; - if (this.requestType) { - if (!Array.isArray(this.requestType)) - this.requestType = [this.requestType]; - condition = - condition && - this.requestType.findIndex((/** - * @param {?} type - * @return {?} - */ - type => type.toLowerCase() === event.payload.method.toLowerCase())) > -1; - } - if (condition && this.requestURLContainSearchValue) { - condition = - condition && - event.payload.url.toLowerCase().indexOf(this.requestURLContainSearchValue.toLowerCase()) > -1; - } - return condition; - }))) - .subscribe((/** - * @return {?} - */ - () => { - setTimeout((/** - * @return {?} - */ - () => { - this.loading = !this.loading; - }), 0); - })); - } - } } ButtonComponent.decorators = [ { type: Component, args: [{ @@ -407,19 +427,25 @@ ButtonComponent.decorators = [ ` }] } ]; -/** @nocollapse */ -ButtonComponent.ctorParameters = () => [ - { type: Actions } -]; ButtonComponent.propDecorators = { buttonClass: [{ type: Input }], buttonType: [{ type: Input }], iconClass: [{ type: Input }], loading: [{ type: Input }], - disabled: [{ type: Input }], - requestType: [{ type: Input }], - requestURLContainSearchValue: [{ type: Input }] + disabled: [{ type: Input }] }; +if (false) { + /** @type {?} */ + ButtonComponent.prototype.buttonClass; + /** @type {?} */ + ButtonComponent.prototype.buttonType; + /** @type {?} */ + ButtonComponent.prototype.iconClass; + /** @type {?} */ + ButtonComponent.prototype.loading; + /** @type {?} */ + ButtonComponent.prototype.disabled; +} /** * @fileoverview added by tsickle @@ -627,6 +653,58 @@ ModalComponent.propDecorators = { modalContent: [{ type: ViewChild, args: ['abpModalContent', { static: false },] }], abpButtons: [{ type: ViewChildren, args: ['abp-button',] }] }; +if (false) { + /** @type {?} */ + ModalComponent.prototype.centered; + /** @type {?} */ + ModalComponent.prototype.modalClass; + /** @type {?} */ + ModalComponent.prototype.size; + /** @type {?} */ + ModalComponent.prototype.height; + /** @type {?} */ + ModalComponent.prototype.minHeight; + /** @type {?} */ + ModalComponent.prototype.visibleChange; + /** @type {?} */ + ModalComponent.prototype.init; + /** @type {?} */ + ModalComponent.prototype.abpHeader; + /** @type {?} */ + ModalComponent.prototype.abpBody; + /** @type {?} */ + ModalComponent.prototype.abpFooter; + /** @type {?} */ + ModalComponent.prototype.abpClose; + /** @type {?} */ + ModalComponent.prototype.abpSubmit; + /** @type {?} */ + ModalComponent.prototype.modalContent; + /** @type {?} */ + ModalComponent.prototype.abpButtons; + /** @type {?} */ + ModalComponent.prototype._visible; + /** @type {?} */ + ModalComponent.prototype._busy; + /** @type {?} */ + ModalComponent.prototype.showModal; + /** @type {?} */ + ModalComponent.prototype.isOpenConfirmation; + /** @type {?} */ + ModalComponent.prototype.closable; + /** @type {?} */ + ModalComponent.prototype.destroy$; + /** + * @type {?} + * @private + */ + ModalComponent.prototype.renderer; + /** + * @type {?} + * @private + */ + ModalComponent.prototype.confirmationService; +} /** * @param {?} nodes * @return {?} @@ -713,7 +791,7 @@ var styles = ` } .navbar .dropdown-menu { - min-width: 200px; + min-width: 215px; } .modal { @@ -931,6 +1009,43 @@ ErrorHandler.ctorParameters = () => [ { type: Injector } ]; /** @nocollapse */ ErrorHandler.ngInjectableDef = ɵɵdefineInjectable({ factory: function ErrorHandler_Factory() { return new ErrorHandler(ɵɵinject(Actions), ɵɵinject(Store), ɵɵinject(ConfirmationService), ɵɵinject(ApplicationRef), ɵɵinject(ComponentFactoryResolver), ɵɵinject(RendererFactory2), ɵɵinject(INJECTOR)); }, token: ErrorHandler, providedIn: "root" }); +if (false) { + /** + * @type {?} + * @private + */ + ErrorHandler.prototype.actions; + /** + * @type {?} + * @private + */ + ErrorHandler.prototype.store; + /** + * @type {?} + * @private + */ + ErrorHandler.prototype.confirmationService; + /** + * @type {?} + * @private + */ + ErrorHandler.prototype.appRef; + /** + * @type {?} + * @private + */ + ErrorHandler.prototype.cfRes; + /** + * @type {?} + * @private + */ + ErrorHandler.prototype.rendererFactory; + /** + * @type {?} + * @private + */ + ErrorHandler.prototype.injector; +} /** * @fileoverview added by tsickle @@ -1054,6 +1169,16 @@ const slideFromBottom = trigger('routeAnimations', [ transition(':enter', [animate('0.2s ease-out', style({ opacity: '1', 'margin-top': '0px' }))]), ]); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1065,6 +1190,16 @@ var Confirmation; */ function Options() { } Confirmation.Options = Options; + if (false) { + /** @type {?|undefined} */ + Options.prototype.hideCancelBtn; + /** @type {?|undefined} */ + Options.prototype.hideYesBtn; + /** @type {?|undefined} */ + Options.prototype.cancelCopy; + /** @type {?|undefined} */ + Options.prototype.yesCopy; + } })(Confirmation || (Confirmation = {})); /** @@ -1078,8 +1213,29 @@ var Toaster; */ function Options() { } Toaster.Options = Options; + if (false) { + /** @type {?|undefined} */ + Options.prototype.id; + /** @type {?|undefined} */ + Options.prototype.closable; + /** @type {?|undefined} */ + Options.prototype.life; + /** @type {?|undefined} */ + Options.prototype.sticky; + /** @type {?|undefined} */ + Options.prototype.data; + /** @type {?|undefined} */ + Options.prototype.messageLocalizationParams; + /** @type {?|undefined} */ + Options.prototype.titleLocalizationParams; + } })(Toaster || (Toaster = {})); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1102,5 +1258,20 @@ ToasterService.decorators = [ ]; /** @nocollapse */ ToasterService.ngInjectableDef = ɵɵdefineInjectable({ factory: function ToasterService_Factory() { return new ToasterService(ɵɵinject(MessageService)); }, token: ToasterService, providedIn: "root" }); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + export { ButtonComponent, ConfirmationComponent, ConfirmationService, LoaderBarComponent, ModalComponent, ThemeSharedModule, ToastComponent, Toaster, ToasterService, appendScript, slideFromBottom, ValidationErrorComponent as ɵa, ButtonComponent as ɵb, ConfirmationComponent as ɵc, ConfirmationService as ɵd, AbstractToaster as ɵe, ToastComponent as ɵf, ModalComponent as ɵg, ErrorComponent as ɵh, LoaderBarComponent as ɵi, ErrorHandler as ɵj }; //# sourceMappingURL=abp-ng.theme.shared.js.map diff --git a/npm/ng-packs/dist/theme-shared/fesm2015/abp-ng.theme.shared.js.map b/npm/ng-packs/dist/theme-shared/fesm2015/abp-ng.theme.shared.js.map index dc1f0d2e75..905434cc1c 100644 --- a/npm/ng-packs/dist/theme-shared/fesm2015/abp-ng.theme.shared.js.map +++ b/npm/ng-packs/dist/theme-shared/fesm2015/abp-ng.theme.shared.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.theme.shared.js","sources":["ng://@abp/ng.theme.shared/lib/abstracts/toaster.ts","ng://@abp/ng.theme.shared/lib/services/confirmation.service.ts","ng://@abp/ng.theme.shared/lib/components/confirmation/confirmation.component.ts","ng://@abp/ng.theme.shared/lib/components/errors/error.component.ts","ng://@abp/ng.theme.shared/lib/components/loader-bar/loader-bar.component.ts","ng://@abp/ng.theme.shared/lib/components/button/button.component.ts","ng://@abp/ng.theme.shared/lib/components/modal/modal.component.ts","ng://@abp/ng.theme.shared/lib/components/toast/toast.component.ts","ng://@abp/ng.theme.shared/lib/contants/styles.ts","ng://@abp/ng.theme.shared/lib/handlers/error.handler.ts","ng://@abp/ng.theme.shared/lib/components/errors/validation-error.component.ts","ng://@abp/ng.theme.shared/lib/theme-shared.module.ts","ng://@abp/ng.theme.shared/lib/animations/slide.animation.ts","ng://@abp/ng.theme.shared/lib/models/confirmation.ts","ng://@abp/ng.theme.shared/lib/models/toaster.ts","ng://@abp/ng.theme.shared/lib/services/toaster.service.ts"],"sourcesContent":["import { MessageService } from 'primeng/components/common/messageservice';\nimport { Observable, Subject } from 'rxjs';\nimport { Toaster } from '../models/toaster';\n\nexport class AbstractToaster {\n status$: Subject;\n\n key: string = 'abpToast';\n\n sticky: boolean = false;\n\n constructor(protected messageService: MessageService) {}\n info(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'info', options);\n }\n\n success(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'success', options);\n }\n\n warn(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'warn', options);\n }\n\n error(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'error', options);\n }\n\n protected show(message: string, title: string, severity: Toaster.Severity, options?: T): Observable {\n this.messageService.clear(this.key);\n\n this.messageService.add({\n severity,\n detail: message,\n summary: title,\n ...options,\n key: this.key,\n ...(typeof (options || ({} as any)).sticky === 'undefined' && { sticky: this.sticky }),\n });\n this.status$ = new Subject();\n return this.status$;\n }\n\n clear(status?: Toaster.Status) {\n this.messageService.clear(this.key);\n this.status$.next(status || Toaster.Status.dismiss);\n this.status$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Confirmation } from '../models/confirmation';\n\n@Injectable({ providedIn: 'root' })\nexport class ConfirmationService extends AbstractToaster {\n key: string = 'abpConfirmation';\n\n sticky: boolean = true;\n}\n","import { Component } from '@angular/core';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { Toaster } from '../../models/toaster';\n\n@Component({\n selector: 'abp-confirmation',\n template: `\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n `,\n})\nexport class ConfirmationComponent {\n confirm = Toaster.Status.confirm;\n reject = Toaster.Status.reject;\n dismiss = Toaster.Status.dismiss;\n\n constructor(private confirmationService: ConfirmationService) {}\n\n close(status: Toaster.Status) {\n this.confirmationService.clear(status);\n }\n}\n","import { Component, Renderer2, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'abp-error',\n template: `\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n `,\n styleUrls: ['error.component.scss'],\n})\nexport class ErrorComponent {\n title = 'Oops!';\n\n details = 'Sorry, an error has occured.';\n\n renderer: Renderer2;\n\n elementRef: ElementRef;\n\n host: any;\n\n destroy() {\n this.renderer.removeChild(this.host, this.elementRef.nativeElement);\n }\n}\n","import { StartLoader, StopLoader } from '@abp/ng.core';\nimport { Component, Input, OnDestroy } from '@angular/core';\nimport { NavigationEnd, NavigationStart, Router } from '@angular/router';\nimport { takeUntilDestroy } from '@ngx-validate/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-loader-bar',\n template: `\n
    \n
    \n
    \n `,\n styleUrls: ['./loader-bar.component.scss'],\n})\nexport class LoaderBarComponent implements OnDestroy {\n @Input()\n containerClass: string = 'abp-loader-bar';\n\n @Input()\n progressClass: string = 'abp-progress';\n\n @Input()\n isLoading: boolean = false;\n\n @Input()\n filter = (action: StartLoader | StopLoader) => action.payload.url.indexOf('openid-configuration') < 0;\n\n progressLevel: number = 0;\n\n interval: any;\n\n constructor(private actions: Actions, private router: Router) {\n actions\n .pipe(\n ofActionSuccessful(StartLoader, StopLoader),\n filter(this.filter),\n takeUntilDestroy(this),\n )\n .subscribe(action => {\n if (action instanceof StartLoader) this.startLoading();\n else this.stopLoading();\n });\n\n router.events\n .pipe(\n filter(event => event instanceof NavigationStart || event instanceof NavigationEnd),\n takeUntilDestroy(this),\n )\n .subscribe(event => {\n if (event instanceof NavigationStart) this.startLoading();\n else this.stopLoading();\n });\n }\n\n ngOnDestroy() {}\n\n startLoading() {\n this.isLoading = true;\n const interval = setInterval(() => {\n if (this.progressLevel < 75) {\n this.progressLevel += Math.random() * 10;\n } else if (this.progressLevel < 90) {\n this.progressLevel += 0.4;\n } else if (this.progressLevel < 100) {\n this.progressLevel += 0.1;\n } else {\n clearInterval(interval);\n }\n }, 300);\n\n this.interval = interval;\n }\n\n stopLoading() {\n clearInterval(this.interval);\n this.progressLevel = 100;\n this.isLoading = false;\n\n setTimeout(() => {\n this.progressLevel = 0;\n }, 800);\n }\n}\n","import { StartLoader, StopLoader } from '@abp/ng.core';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-button',\n template: `\n \n `,\n})\nexport class ButtonComponent implements OnInit {\n @Input()\n buttonClass: string = 'btn btn-primary';\n\n @Input()\n buttonType: string = 'button';\n\n @Input()\n iconClass: string;\n\n @Input()\n loading: boolean = false;\n\n @Input()\n disabled: boolean = false;\n\n @Input()\n requestType: string | string[];\n\n @Input()\n requestURLContainSearchValue: string;\n\n get icon(): string {\n return `${this.loading ? 'fa fa-spin fa-spinner' : this.iconClass || 'd-none'}`;\n }\n\n constructor(private actions: Actions) {}\n\n ngOnInit(): void {\n if (this.requestType || this.requestURLContainSearchValue) {\n this.actions\n .pipe(\n ofActionSuccessful(StartLoader, StopLoader),\n filter((event: StartLoader | StopLoader) => {\n let condition = true;\n if (this.requestType) {\n if (!Array.isArray(this.requestType)) this.requestType = [this.requestType];\n\n condition =\n condition &&\n this.requestType.findIndex(type => type.toLowerCase() === event.payload.method.toLowerCase()) > -1;\n }\n\n if (condition && this.requestURLContainSearchValue) {\n condition =\n condition &&\n event.payload.url.toLowerCase().indexOf(this.requestURLContainSearchValue.toLowerCase()) > -1;\n }\n\n return condition;\n }),\n )\n .subscribe(() => {\n setTimeout(() => {\n this.loading = !this.loading;\n }, 0);\n });\n }\n }\n}\n","import {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { fromEvent, Subject, timer } from 'rxjs';\nimport { filter, take, takeUntil, debounceTime } from 'rxjs/operators';\nimport { Toaster } from '../../models/toaster';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { ButtonComponent } from '../button/button.component';\n\nexport type ModalSize = 'sm' | 'md' | 'lg' | 'xl';\n\nconst ANIMATION_TIMEOUT = 200;\n\n@Component({\n selector: 'abp-modal',\n templateUrl: './modal.component.html',\n})\nexport class ModalComponent implements OnDestroy {\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n set visible(value: boolean) {\n if (typeof value !== 'boolean') return;\n\n if (!this.modalContent) {\n if (value) {\n setTimeout(() => {\n this.showModal = value;\n this.visible = value;\n }, 0);\n }\n return;\n }\n\n if (value) {\n this.setVisible(value);\n this.listen();\n } else {\n this.closable = false;\n this.renderer.addClass(this.modalContent.nativeElement, 'fade-out-top');\n setTimeout(() => {\n this.setVisible(value);\n this.ngOnDestroy();\n }, ANIMATION_TIMEOUT - 10);\n }\n }\n\n @Input()\n get busy(): boolean {\n return this._busy;\n }\n set busy(value: boolean) {\n if (this.abpSubmit && this.abpSubmit instanceof ButtonComponent) {\n this.abpSubmit.loading = value;\n }\n\n this._busy = value;\n }\n\n @Input() centered: boolean = false;\n\n @Input() modalClass: string = '';\n\n @Input() size: ModalSize = 'lg';\n\n @Input() height: number;\n\n @Input() minHeight: number;\n\n @Output() visibleChange = new EventEmitter();\n\n @Output() init = new EventEmitter();\n\n @ContentChild('abpHeader', { static: false }) abpHeader: TemplateRef;\n\n @ContentChild('abpBody', { static: false }) abpBody: TemplateRef;\n\n @ContentChild('abpFooter', { static: false }) abpFooter: TemplateRef;\n\n @ContentChild('abpClose', { static: false, read: ElementRef }) abpClose: ElementRef;\n\n @ContentChild(ButtonComponent, { static: false, read: ButtonComponent }) abpSubmit: ButtonComponent;\n\n @ViewChild('abpModalContent', { static: false }) modalContent: ElementRef;\n\n @ViewChildren('abp-button') abpButtons;\n\n _visible: boolean = false;\n\n _busy: boolean = false;\n\n showModal: boolean = false;\n\n isOpenConfirmation: boolean = false;\n\n closable: boolean = false;\n\n destroy$ = new Subject();\n\n constructor(private renderer: Renderer2, private confirmationService: ConfirmationService) {}\n\n ngOnDestroy(): void {\n this.destroy$.next();\n }\n\n setVisible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n this.showModal = value;\n\n value\n ? timer(ANIMATION_TIMEOUT + 100)\n .pipe(take(1))\n .subscribe(_ => (this.closable = true))\n : (this.closable = false);\n }\n\n listen() {\n fromEvent(document, 'keyup')\n .pipe(\n takeUntil(this.destroy$),\n debounceTime(150),\n filter((key: KeyboardEvent) => key && key.code === 'Escape' && this.closable),\n )\n .subscribe(_ => {\n this.close();\n });\n\n setTimeout(() => {\n if (!this.abpClose) return;\n fromEvent(this.abpClose.nativeElement, 'click')\n .pipe(\n takeUntil(this.destroy$),\n filter(() => !!(this.closable && this.modalContent)),\n )\n .subscribe(() => this.close());\n }, 0);\n\n this.init.emit();\n }\n\n close() {\n if (!this.closable || this.busy) return;\n\n const nodes = getFlatNodes(\n (this.modalContent.nativeElement.querySelector('#abp-modal-body') as HTMLElement).childNodes,\n );\n\n if (hasNgDirty(nodes)) {\n if (this.isOpenConfirmation) return;\n\n this.isOpenConfirmation = true;\n this.confirmationService\n .warn('AbpAccount::AreYouSureYouWantToCancelEditingWarningMessage', 'AbpAccount::AreYouSure')\n .subscribe((status: Toaster.Status) => {\n timer(ANIMATION_TIMEOUT).subscribe(() => {\n this.isOpenConfirmation = false;\n });\n\n if (status === Toaster.Status.confirm) {\n this.visible = false;\n }\n });\n } else {\n this.visible = false;\n }\n }\n}\n\nfunction getFlatNodes(nodes: NodeList): HTMLElement[] {\n return Array.from(nodes).reduce(\n (acc, val) => [...acc, ...(val.childNodes && val.childNodes.length ? getFlatNodes(val.childNodes) : [val])],\n [],\n );\n}\n\nfunction hasNgDirty(nodes: HTMLElement[]) {\n return nodes.findIndex(node => (node.className || '').indexOf('ng-dirty') > -1) > -1;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-toast',\n template: `\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n `,\n})\nexport class ToastComponent {}\n","export default `\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 200px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* {\n const { payload: err = {} as HttpErrorResponse | any } = res;\n const body = snq(() => (err as HttpErrorResponse).error.error, DEFAULTS.defaultError.message);\n\n if (err.headers.get('_AbpErrorFormat')) {\n const confirmation$ = this.showError(null, null, body);\n\n if (err.status === 401) {\n confirmation$.subscribe(() => {\n this.navigateToLogin();\n });\n }\n } else {\n switch ((err as HttpErrorResponse).status) {\n case 401:\n this.showError(DEFAULTS.defaultError401.details, DEFAULTS.defaultError401.message).subscribe(() =>\n this.navigateToLogin(),\n );\n break;\n case 403:\n this.createErrorComponent({\n title: DEFAULTS.defaultError403.message,\n details: DEFAULTS.defaultError403.details,\n });\n break;\n case 404:\n this.showError(DEFAULTS.defaultError404.details, DEFAULTS.defaultError404.message);\n break;\n case 500:\n this.createErrorComponent({\n title: '500',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n break;\n case 0:\n if ((err as HttpErrorResponse).statusText === 'Unknown Error') {\n this.createErrorComponent({\n title: 'Unknown Error',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n }\n break;\n default:\n this.showError(DEFAULTS.defaultError.details, DEFAULTS.defaultError.message);\n break;\n }\n }\n });\n }\n\n private showError(message?: string, title?: string, body?: any): Observable {\n if (body) {\n if (body.details) {\n message = body.details;\n title = body.message;\n } else {\n message = body.message || DEFAULTS.defaultError.message;\n }\n }\n\n return this.confirmationService.error(message, title, {\n hideCancelBtn: true,\n yesCopy: 'OK',\n });\n }\n\n private navigateToLogin() {\n this.store.dispatch(\n new Navigate(['/account/login'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n }\n\n createErrorComponent(instance: Partial) {\n const renderer = this.rendererFactory.createRenderer(null, null);\n const host = renderer.selectRootElement('app-root', true);\n\n const componentRef = this.cfRes.resolveComponentFactory(ErrorComponent).create(this.injector);\n\n for (const key in componentRef.instance) {\n if (componentRef.instance.hasOwnProperty(key)) {\n componentRef.instance[key] = instance[key];\n }\n }\n\n this.appRef.attachView(componentRef.hostView);\n renderer.appendChild(host, (componentRef.hostView as EmbeddedViewRef).rootNodes[0]);\n\n componentRef.instance.renderer = renderer;\n componentRef.instance.elementRef = componentRef.location;\n componentRef.instance.host = host;\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { Validation, ValidationErrorComponent as ErrorComponent } from '@ngx-validate/core';\n\n@Component({\n selector: 'abp-validation-error',\n template: `\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class ValidationErrorComponent extends ErrorComponent {\n get abpErrors(): Validation.Error[] & { interpoliteParams?: string[] } {\n return this.validationErrors.map(error => {\n if (!error.message) return error;\n\n const index = error.message.indexOf('[');\n\n if (index > -1) {\n return {\n ...error,\n message: error.message.slice(0, index),\n interpoliteParams: error.message.slice(index + 1, error.message.length - 1).split(','),\n };\n }\n\n return error;\n });\n }\n}\n","import { CoreModule, LazyLoadService } from '@abp/ng.core';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgbModalModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { MessageService } from 'primeng/components/common/messageservice';\nimport { ToastModule } from 'primeng/toast';\nimport { forkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { ConfirmationComponent } from './components/confirmation/confirmation.component';\nimport { ErrorComponent } from './components/errors/error.component';\nimport { LoaderBarComponent } from './components/loader-bar/loader-bar.component';\nimport { ModalComponent } from './components/modal/modal.component';\nimport { ToastComponent } from './components/toast/toast.component';\nimport styles from './contants/styles';\nimport { ErrorHandler } from './handlers/error.handler';\nimport { ButtonComponent } from './components/button/button.component';\nimport { ValidationErrorComponent } from './components/errors/validation-error.component';\n\nexport function appendScript(injector: Injector) {\n const fn = function() {\n const lazyLoadService: LazyLoadService = injector.get(LazyLoadService);\n\n return forkJoin(\n lazyLoadService.load(\n null,\n 'style',\n styles,\n 'head',\n 'afterbegin',\n ) /* lazyLoadService.load(null, 'script', scripts) */,\n ).pipe(take(1));\n };\n\n return fn;\n}\n\n@NgModule({\n imports: [\n CoreModule,\n ToastModule,\n NgbModalModule,\n NgxValidateCoreModule.forRoot({\n targetSelector: '.form-group',\n blueprints: {\n email: `AbpAccount::ThisFieldIsNotAValidEmailAddress.`,\n max: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]`,\n maxlength: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]`,\n min: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n minlength: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n required: `AbpAccount::ThisFieldIsRequired.`,\n passwordMismatch: `AbpIdentity::Identity.PasswordConfirmationFailed`,\n },\n errorTemplate: ValidationErrorComponent,\n }),\n ],\n declarations: [\n ButtonComponent,\n ConfirmationComponent,\n ToastComponent,\n ModalComponent,\n ErrorComponent,\n LoaderBarComponent,\n ValidationErrorComponent,\n ],\n exports: [NgbModalModule, ButtonComponent, ConfirmationComponent, ToastComponent, ModalComponent, LoaderBarComponent],\n entryComponents: [ErrorComponent, ValidationErrorComponent],\n})\nexport class ThemeSharedModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: ThemeSharedModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector, ErrorHandler],\n useFactory: appendScript,\n },\n { provide: MessageService, useClass: MessageService },\n ],\n };\n }\n}\n","import { animate, state, style, transition, trigger, query } from '@angular/animations';\nexport const slideFromBottom = trigger('routeAnimations', [\n state('void', style({ 'margin-top': '20px', opacity: '0' })),\n state('*', style({ 'margin-top': '0px', opacity: '1' })),\n transition(':enter', [animate('0.2s ease-out', style({ opacity: '1', 'margin-top': '0px' }))]),\n]);\n","import { Toaster } from './toaster';\n\nexport namespace Confirmation {\n export interface Options extends Toaster.Options {\n hideCancelBtn?: boolean;\n hideYesBtn?: boolean;\n cancelCopy?: string;\n yesCopy?: string;\n }\n}\n","export namespace Toaster {\n export interface Options {\n id?: any;\n closable?: boolean;\n life?: number;\n sticky?: boolean;\n data?: any;\n messageLocalizationParams?: string[];\n titleLocalizationParams?: string[];\n }\n\n export type Severity = 'success' | 'info' | 'warn' | 'error';\n\n export const enum Status {\n confirm = 'confirm',\n reject = 'reject',\n dismiss = 'dismiss',\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Message } from 'primeng/components/common/message';\n\n@Injectable({ providedIn: 'root' })\nexport class ToasterService extends AbstractToaster {\n addAll(messages: Message[]): void {\n this.messageService.addAll(messages.map(message => ({ key: this.key, ...message })));\n }\n}\n"],"names":["ErrorComponent"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.theme.shared.js","sources":["ng://@abp/ng.theme.shared/lib/abstracts/toaster.ts","ng://@abp/ng.theme.shared/lib/services/confirmation.service.ts","ng://@abp/ng.theme.shared/lib/components/confirmation/confirmation.component.ts","ng://@abp/ng.theme.shared/lib/components/errors/error.component.ts","ng://@abp/ng.theme.shared/lib/components/loader-bar/loader-bar.component.ts","ng://@abp/ng.theme.shared/lib/components/button/button.component.ts","ng://@abp/ng.theme.shared/lib/components/modal/modal.component.ts","ng://@abp/ng.theme.shared/lib/components/toast/toast.component.ts","ng://@abp/ng.theme.shared/lib/contants/styles.ts","ng://@abp/ng.theme.shared/lib/handlers/error.handler.ts","ng://@abp/ng.theme.shared/lib/components/errors/validation-error.component.ts","ng://@abp/ng.theme.shared/lib/theme-shared.module.ts","ng://@abp/ng.theme.shared/lib/animations/slide.animation.ts","ng://@abp/ng.theme.shared/lib/models/confirmation.ts","ng://@abp/ng.theme.shared/lib/models/toaster.ts","ng://@abp/ng.theme.shared/lib/services/toaster.service.ts"],"sourcesContent":["import { MessageService } from 'primeng/components/common/messageservice';\nimport { Observable, Subject } from 'rxjs';\nimport { Toaster } from '../models/toaster';\n\nexport class AbstractToaster {\n status$: Subject;\n\n key: string = 'abpToast';\n\n sticky: boolean = false;\n\n constructor(protected messageService: MessageService) {}\n info(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'info', options);\n }\n\n success(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'success', options);\n }\n\n warn(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'warn', options);\n }\n\n error(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'error', options);\n }\n\n protected show(message: string, title: string, severity: Toaster.Severity, options?: T): Observable {\n this.messageService.clear(this.key);\n\n this.messageService.add({\n severity,\n detail: message,\n summary: title,\n ...options,\n key: this.key,\n ...(typeof (options || ({} as any)).sticky === 'undefined' && { sticky: this.sticky }),\n });\n this.status$ = new Subject();\n return this.status$;\n }\n\n clear(status?: Toaster.Status) {\n this.messageService.clear(this.key);\n this.status$.next(status || Toaster.Status.dismiss);\n this.status$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Confirmation } from '../models/confirmation';\n\n@Injectable({ providedIn: 'root' })\nexport class ConfirmationService extends AbstractToaster {\n key: string = 'abpConfirmation';\n\n sticky: boolean = true;\n}\n","import { Component } from '@angular/core';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { Toaster } from '../../models/toaster';\n\n@Component({\n selector: 'abp-confirmation',\n template: `\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n `,\n})\nexport class ConfirmationComponent {\n confirm = Toaster.Status.confirm;\n reject = Toaster.Status.reject;\n dismiss = Toaster.Status.dismiss;\n\n constructor(private confirmationService: ConfirmationService) {}\n\n close(status: Toaster.Status) {\n this.confirmationService.clear(status);\n }\n}\n","import { Component, Renderer2, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'abp-error',\n template: `\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n `,\n styleUrls: ['error.component.scss'],\n})\nexport class ErrorComponent {\n title = 'Oops!';\n\n details = 'Sorry, an error has occured.';\n\n renderer: Renderer2;\n\n elementRef: ElementRef;\n\n host: any;\n\n destroy() {\n this.renderer.removeChild(this.host, this.elementRef.nativeElement);\n }\n}\n","import { StartLoader, StopLoader } from '@abp/ng.core';\nimport { Component, Input, OnDestroy } from '@angular/core';\nimport { NavigationEnd, NavigationStart, Router } from '@angular/router';\nimport { takeUntilDestroy } from '@ngx-validate/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-loader-bar',\n template: `\n
    \n
    \n
    \n `,\n styleUrls: ['./loader-bar.component.scss'],\n})\nexport class LoaderBarComponent implements OnDestroy {\n @Input()\n containerClass: string = 'abp-loader-bar';\n\n @Input()\n progressClass: string = 'abp-progress';\n\n @Input()\n isLoading: boolean = false;\n\n @Input()\n filter = (action: StartLoader | StopLoader) => action.payload.url.indexOf('openid-configuration') < 0;\n\n progressLevel: number = 0;\n\n interval: any;\n\n constructor(private actions: Actions, private router: Router) {\n actions\n .pipe(\n ofActionSuccessful(StartLoader, StopLoader),\n filter(this.filter),\n takeUntilDestroy(this),\n )\n .subscribe(action => {\n if (action instanceof StartLoader) this.startLoading();\n else this.stopLoading();\n });\n\n router.events\n .pipe(\n filter(event => event instanceof NavigationStart || event instanceof NavigationEnd),\n takeUntilDestroy(this),\n )\n .subscribe(event => {\n if (event instanceof NavigationStart) this.startLoading();\n else this.stopLoading();\n });\n }\n\n ngOnDestroy() {}\n\n startLoading() {\n this.isLoading = true;\n const interval = setInterval(() => {\n if (this.progressLevel < 75) {\n this.progressLevel += Math.random() * 10;\n } else if (this.progressLevel < 90) {\n this.progressLevel += 0.4;\n } else if (this.progressLevel < 100) {\n this.progressLevel += 0.1;\n } else {\n clearInterval(interval);\n }\n }, 300);\n\n this.interval = interval;\n }\n\n stopLoading() {\n clearInterval(this.interval);\n this.progressLevel = 100;\n this.isLoading = false;\n\n setTimeout(() => {\n this.progressLevel = 0;\n }, 800);\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'abp-button',\n template: `\n \n `,\n})\nexport class ButtonComponent {\n @Input()\n buttonClass: string = 'btn btn-primary';\n\n @Input()\n buttonType: string = 'button';\n\n @Input()\n iconClass: string;\n\n @Input()\n loading: boolean = false;\n\n @Input()\n disabled: boolean = false;\n\n get icon(): string {\n return `${this.loading ? 'fa fa-spin fa-spinner' : this.iconClass || 'd-none'}`;\n }\n}\n","import {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { fromEvent, Subject, timer } from 'rxjs';\nimport { filter, take, takeUntil, debounceTime } from 'rxjs/operators';\nimport { Toaster } from '../../models/toaster';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { ButtonComponent } from '../button/button.component';\n\nexport type ModalSize = 'sm' | 'md' | 'lg' | 'xl';\n\nconst ANIMATION_TIMEOUT = 200;\n\n@Component({\n selector: 'abp-modal',\n templateUrl: './modal.component.html',\n})\nexport class ModalComponent implements OnDestroy {\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n set visible(value: boolean) {\n if (typeof value !== 'boolean') return;\n\n if (!this.modalContent) {\n if (value) {\n setTimeout(() => {\n this.showModal = value;\n this.visible = value;\n }, 0);\n }\n return;\n }\n\n if (value) {\n this.setVisible(value);\n this.listen();\n } else {\n this.closable = false;\n this.renderer.addClass(this.modalContent.nativeElement, 'fade-out-top');\n setTimeout(() => {\n this.setVisible(value);\n this.ngOnDestroy();\n }, ANIMATION_TIMEOUT - 10);\n }\n }\n\n @Input()\n get busy(): boolean {\n return this._busy;\n }\n set busy(value: boolean) {\n if (this.abpSubmit && this.abpSubmit instanceof ButtonComponent) {\n this.abpSubmit.loading = value;\n }\n\n this._busy = value;\n }\n\n @Input() centered: boolean = false;\n\n @Input() modalClass: string = '';\n\n @Input() size: ModalSize = 'lg';\n\n @Input() height: number;\n\n @Input() minHeight: number;\n\n @Output() visibleChange = new EventEmitter();\n\n @Output() init = new EventEmitter();\n\n @ContentChild('abpHeader', { static: false }) abpHeader: TemplateRef;\n\n @ContentChild('abpBody', { static: false }) abpBody: TemplateRef;\n\n @ContentChild('abpFooter', { static: false }) abpFooter: TemplateRef;\n\n @ContentChild('abpClose', { static: false, read: ElementRef }) abpClose: ElementRef;\n\n @ContentChild(ButtonComponent, { static: false, read: ButtonComponent }) abpSubmit: ButtonComponent;\n\n @ViewChild('abpModalContent', { static: false }) modalContent: ElementRef;\n\n @ViewChildren('abp-button') abpButtons;\n\n _visible: boolean = false;\n\n _busy: boolean = false;\n\n showModal: boolean = false;\n\n isOpenConfirmation: boolean = false;\n\n closable: boolean = false;\n\n destroy$ = new Subject();\n\n constructor(private renderer: Renderer2, private confirmationService: ConfirmationService) {}\n\n ngOnDestroy(): void {\n this.destroy$.next();\n }\n\n setVisible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n this.showModal = value;\n\n value\n ? timer(ANIMATION_TIMEOUT + 100)\n .pipe(take(1))\n .subscribe(_ => (this.closable = true))\n : (this.closable = false);\n }\n\n listen() {\n fromEvent(document, 'keyup')\n .pipe(\n takeUntil(this.destroy$),\n debounceTime(150),\n filter((key: KeyboardEvent) => key && key.code === 'Escape' && this.closable),\n )\n .subscribe(_ => {\n this.close();\n });\n\n setTimeout(() => {\n if (!this.abpClose) return;\n fromEvent(this.abpClose.nativeElement, 'click')\n .pipe(\n takeUntil(this.destroy$),\n filter(() => !!(this.closable && this.modalContent)),\n )\n .subscribe(() => this.close());\n }, 0);\n\n this.init.emit();\n }\n\n close() {\n if (!this.closable || this.busy) return;\n\n const nodes = getFlatNodes(\n (this.modalContent.nativeElement.querySelector('#abp-modal-body') as HTMLElement).childNodes,\n );\n\n if (hasNgDirty(nodes)) {\n if (this.isOpenConfirmation) return;\n\n this.isOpenConfirmation = true;\n this.confirmationService\n .warn('AbpAccount::AreYouSureYouWantToCancelEditingWarningMessage', 'AbpAccount::AreYouSure')\n .subscribe((status: Toaster.Status) => {\n timer(ANIMATION_TIMEOUT).subscribe(() => {\n this.isOpenConfirmation = false;\n });\n\n if (status === Toaster.Status.confirm) {\n this.visible = false;\n }\n });\n } else {\n this.visible = false;\n }\n }\n}\n\nfunction getFlatNodes(nodes: NodeList): HTMLElement[] {\n return Array.from(nodes).reduce(\n (acc, val) => [...acc, ...(val.childNodes && val.childNodes.length ? getFlatNodes(val.childNodes) : [val])],\n [],\n );\n}\n\nfunction hasNgDirty(nodes: HTMLElement[]) {\n return nodes.findIndex(node => (node.className || '').indexOf('ng-dirty') > -1) > -1;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-toast',\n template: `\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n `,\n})\nexport class ToastComponent {}\n","export default `\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 215px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* {\n const { payload: err = {} as HttpErrorResponse | any } = res;\n const body = snq(() => (err as HttpErrorResponse).error.error, DEFAULTS.defaultError.message);\n\n if (err.headers.get('_AbpErrorFormat')) {\n const confirmation$ = this.showError(null, null, body);\n\n if (err.status === 401) {\n confirmation$.subscribe(() => {\n this.navigateToLogin();\n });\n }\n } else {\n switch ((err as HttpErrorResponse).status) {\n case 401:\n this.showError(DEFAULTS.defaultError401.details, DEFAULTS.defaultError401.message).subscribe(() =>\n this.navigateToLogin(),\n );\n break;\n case 403:\n this.createErrorComponent({\n title: DEFAULTS.defaultError403.message,\n details: DEFAULTS.defaultError403.details,\n });\n break;\n case 404:\n this.showError(DEFAULTS.defaultError404.details, DEFAULTS.defaultError404.message);\n break;\n case 500:\n this.createErrorComponent({\n title: '500',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n break;\n case 0:\n if ((err as HttpErrorResponse).statusText === 'Unknown Error') {\n this.createErrorComponent({\n title: 'Unknown Error',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n }\n break;\n default:\n this.showError(DEFAULTS.defaultError.details, DEFAULTS.defaultError.message);\n break;\n }\n }\n });\n }\n\n private showError(message?: string, title?: string, body?: any): Observable {\n if (body) {\n if (body.details) {\n message = body.details;\n title = body.message;\n } else {\n message = body.message || DEFAULTS.defaultError.message;\n }\n }\n\n return this.confirmationService.error(message, title, {\n hideCancelBtn: true,\n yesCopy: 'OK',\n });\n }\n\n private navigateToLogin() {\n this.store.dispatch(\n new Navigate(['/account/login'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n }\n\n createErrorComponent(instance: Partial) {\n const renderer = this.rendererFactory.createRenderer(null, null);\n const host = renderer.selectRootElement('app-root', true);\n\n const componentRef = this.cfRes.resolveComponentFactory(ErrorComponent).create(this.injector);\n\n for (const key in componentRef.instance) {\n if (componentRef.instance.hasOwnProperty(key)) {\n componentRef.instance[key] = instance[key];\n }\n }\n\n this.appRef.attachView(componentRef.hostView);\n renderer.appendChild(host, (componentRef.hostView as EmbeddedViewRef).rootNodes[0]);\n\n componentRef.instance.renderer = renderer;\n componentRef.instance.elementRef = componentRef.location;\n componentRef.instance.host = host;\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { Validation, ValidationErrorComponent as ErrorComponent } from '@ngx-validate/core';\n\n@Component({\n selector: 'abp-validation-error',\n template: `\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class ValidationErrorComponent extends ErrorComponent {\n get abpErrors(): Validation.Error[] & { interpoliteParams?: string[] } {\n return this.validationErrors.map(error => {\n if (!error.message) return error;\n\n const index = error.message.indexOf('[');\n\n if (index > -1) {\n return {\n ...error,\n message: error.message.slice(0, index),\n interpoliteParams: error.message.slice(index + 1, error.message.length - 1).split(','),\n };\n }\n\n return error;\n });\n }\n}\n","import { CoreModule, LazyLoadService } from '@abp/ng.core';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgbModalModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { MessageService } from 'primeng/components/common/messageservice';\nimport { ToastModule } from 'primeng/toast';\nimport { forkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { ConfirmationComponent } from './components/confirmation/confirmation.component';\nimport { ErrorComponent } from './components/errors/error.component';\nimport { LoaderBarComponent } from './components/loader-bar/loader-bar.component';\nimport { ModalComponent } from './components/modal/modal.component';\nimport { ToastComponent } from './components/toast/toast.component';\nimport styles from './contants/styles';\nimport { ErrorHandler } from './handlers/error.handler';\nimport { ButtonComponent } from './components/button/button.component';\nimport { ValidationErrorComponent } from './components/errors/validation-error.component';\n\nexport function appendScript(injector: Injector) {\n const fn = function() {\n const lazyLoadService: LazyLoadService = injector.get(LazyLoadService);\n\n return forkJoin(\n lazyLoadService.load(\n null,\n 'style',\n styles,\n 'head',\n 'afterbegin',\n ) /* lazyLoadService.load(null, 'script', scripts) */,\n ).pipe(take(1));\n };\n\n return fn;\n}\n\n@NgModule({\n imports: [\n CoreModule,\n ToastModule,\n NgbModalModule,\n NgxValidateCoreModule.forRoot({\n targetSelector: '.form-group',\n blueprints: {\n email: `AbpAccount::ThisFieldIsNotAValidEmailAddress.`,\n max: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]`,\n maxlength: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]`,\n min: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n minlength: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n required: `AbpAccount::ThisFieldIsRequired.`,\n passwordMismatch: `AbpIdentity::Identity.PasswordConfirmationFailed`,\n },\n errorTemplate: ValidationErrorComponent,\n }),\n ],\n declarations: [\n ButtonComponent,\n ConfirmationComponent,\n ToastComponent,\n ModalComponent,\n ErrorComponent,\n LoaderBarComponent,\n ValidationErrorComponent,\n ],\n exports: [NgbModalModule, ButtonComponent, ConfirmationComponent, ToastComponent, ModalComponent, LoaderBarComponent],\n entryComponents: [ErrorComponent, ValidationErrorComponent],\n})\nexport class ThemeSharedModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: ThemeSharedModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector, ErrorHandler],\n useFactory: appendScript,\n },\n { provide: MessageService, useClass: MessageService },\n ],\n };\n }\n}\n","import { animate, state, style, transition, trigger, query } from '@angular/animations';\nexport const slideFromBottom = trigger('routeAnimations', [\n state('void', style({ 'margin-top': '20px', opacity: '0' })),\n state('*', style({ 'margin-top': '0px', opacity: '1' })),\n transition(':enter', [animate('0.2s ease-out', style({ opacity: '1', 'margin-top': '0px' }))]),\n]);\n","import { Toaster } from './toaster';\n\nexport namespace Confirmation {\n export interface Options extends Toaster.Options {\n hideCancelBtn?: boolean;\n hideYesBtn?: boolean;\n cancelCopy?: string;\n yesCopy?: string;\n }\n}\n","export namespace Toaster {\n export interface Options {\n id?: any;\n closable?: boolean;\n life?: number;\n sticky?: boolean;\n data?: any;\n messageLocalizationParams?: string[];\n titleLocalizationParams?: string[];\n }\n\n export type Severity = 'success' | 'info' | 'warn' | 'error';\n\n export const enum Status {\n confirm = 'confirm',\n reject = 'reject',\n dismiss = 'dismiss',\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Message } from 'primeng/components/common/message';\n\n@Injectable({ providedIn: 'root' })\nexport class ToasterService extends AbstractToaster {\n addAll(messages: Message[]): void {\n this.messageService.addAll(messages.map(message => ({ key: this.key, ...message })));\n }\n}\n"],"names":["ErrorComponent"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/fesm5/abp-ng.theme.shared.js b/npm/ng-packs/dist/theme-shared/fesm5/abp-ng.theme.shared.js index c356307871..11f8ed6b4d 100644 --- a/npm/ng-packs/dist/theme-shared/fesm5/abp-ng.theme.shared.js +++ b/npm/ng-packs/dist/theme-shared/fesm5/abp-ng.theme.shared.js @@ -1,5 +1,5 @@ -import { StartLoader, StopLoader, RestOccurError, CoreModule, LazyLoadService } from '@abp/ng.core'; -import { Injectable, ɵɵdefineInjectable, ɵɵinject, Component, Input, Renderer2, Output, ContentChild, ElementRef, ViewChild, ViewChildren, EventEmitter, ApplicationRef, ComponentFactoryResolver, RendererFactory2, Injector, INJECTOR, ChangeDetectionStrategy, ViewEncapsulation, NgModule, APP_INITIALIZER } from '@angular/core'; +import { StartLoader, StopLoader, RestOccurError, LazyLoadService, CoreModule } from '@abp/ng.core'; +import { Injectable, ɵɵdefineInjectable, ɵɵinject, Component, Input, EventEmitter, Renderer2, Output, ContentChild, ElementRef, ViewChild, ViewChildren, ApplicationRef, ComponentFactoryResolver, RendererFactory2, Injector, INJECTOR, ChangeDetectionStrategy, ViewEncapsulation, APP_INITIALIZER, NgModule } from '@angular/core'; import { NgbModalModule } from '@ng-bootstrap/ng-bootstrap'; import { takeUntilDestroy, ValidationErrorComponent as ValidationErrorComponent$1, NgxValidateCoreModule } from '@ngx-validate/core'; import { MessageService } from 'primeng/components/common/messageservice'; @@ -7,8 +7,8 @@ import { ToastModule } from 'primeng/toast'; import { Subject, timer, fromEvent, forkJoin } from 'rxjs'; import { filter, take, takeUntil, debounceTime } from 'rxjs/operators'; import { __assign, __extends, __spread } from 'tslib'; -import { Router, NavigationStart, NavigationEnd } from '@angular/router'; -import { Actions, ofActionSuccessful, Store } from '@ngxs/store'; +import { NavigationStart, NavigationEnd, Router } from '@angular/router'; +import { ofActionSuccessful, Actions, Store } from '@ngxs/store'; import { Navigate, RouterState } from '@ngxs/router-plugin'; import snq from 'snq'; import { trigger, state, style, transition, animate } from '@angular/animations'; @@ -126,6 +126,19 @@ AbstractToaster = /** @class */ (function () { }; return AbstractToaster; }()); +if (false) { + /** @type {?} */ + AbstractToaster.prototype.status$; + /** @type {?} */ + AbstractToaster.prototype.key; + /** @type {?} */ + AbstractToaster.prototype.sticky; + /** + * @type {?} + * @protected + */ + AbstractToaster.prototype.messageService; +} /** * @fileoverview added by tsickle @@ -145,6 +158,12 @@ var ConfirmationService = /** @class */ (function (_super) { /** @nocollapse */ ConfirmationService.ngInjectableDef = ɵɵdefineInjectable({ factory: function ConfirmationService_Factory() { return new ConfirmationService(ɵɵinject(MessageService)); }, token: ConfirmationService, providedIn: "root" }); return ConfirmationService; }(AbstractToaster)); +if (false) { + /** @type {?} */ + ConfirmationService.prototype.key; + /** @type {?} */ + ConfirmationService.prototype.sticky; +} /** * @fileoverview added by tsickle @@ -180,6 +199,19 @@ var ConfirmationComponent = /** @class */ (function () { ]; }; return ConfirmationComponent; }()); +if (false) { + /** @type {?} */ + ConfirmationComponent.prototype.confirm; + /** @type {?} */ + ConfirmationComponent.prototype.reject; + /** @type {?} */ + ConfirmationComponent.prototype.dismiss; + /** + * @type {?} + * @private + */ + ConfirmationComponent.prototype.confirmationService; +} /** * @fileoverview added by tsickle @@ -208,6 +240,18 @@ var ErrorComponent = /** @class */ (function () { ]; return ErrorComponent; }()); +if (false) { + /** @type {?} */ + ErrorComponent.prototype.title; + /** @type {?} */ + ErrorComponent.prototype.details; + /** @type {?} */ + ErrorComponent.prototype.renderer; + /** @type {?} */ + ErrorComponent.prototype.elementRef; + /** @type {?} */ + ErrorComponent.prototype.host; +} /** * @fileoverview added by tsickle @@ -330,14 +374,37 @@ var LoaderBarComponent = /** @class */ (function () { }; return LoaderBarComponent; }()); +if (false) { + /** @type {?} */ + LoaderBarComponent.prototype.containerClass; + /** @type {?} */ + LoaderBarComponent.prototype.progressClass; + /** @type {?} */ + LoaderBarComponent.prototype.isLoading; + /** @type {?} */ + LoaderBarComponent.prototype.filter; + /** @type {?} */ + LoaderBarComponent.prototype.progressLevel; + /** @type {?} */ + LoaderBarComponent.prototype.interval; + /** + * @type {?} + * @private + */ + LoaderBarComponent.prototype.actions; + /** + * @type {?} + * @private + */ + LoaderBarComponent.prototype.router; +} /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var ButtonComponent = /** @class */ (function () { - function ButtonComponent(actions) { - this.actions = actions; + function ButtonComponent() { this.buttonClass = 'btn btn-primary'; this.buttonType = 'button'; this.loading = false; @@ -353,75 +420,33 @@ var ButtonComponent = /** @class */ (function () { enumerable: true, configurable: true }); - /** - * @return {?} - */ - ButtonComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - var _this = this; - if (this.requestType || this.requestURLContainSearchValue) { - this.actions - .pipe(ofActionSuccessful(StartLoader, StopLoader), filter((/** - * @param {?} event - * @return {?} - */ - function (event) { - /** @type {?} */ - var condition = true; - if (_this.requestType) { - if (!Array.isArray(_this.requestType)) - _this.requestType = [_this.requestType]; - condition = - condition && - _this.requestType.findIndex((/** - * @param {?} type - * @return {?} - */ - function (type) { return type.toLowerCase() === event.payload.method.toLowerCase(); })) > -1; - } - if (condition && _this.requestURLContainSearchValue) { - condition = - condition && - event.payload.url.toLowerCase().indexOf(_this.requestURLContainSearchValue.toLowerCase()) > -1; - } - return condition; - }))) - .subscribe((/** - * @return {?} - */ - function () { - setTimeout((/** - * @return {?} - */ - function () { - _this.loading = !_this.loading; - }), 0); - })); - } - }; ButtonComponent.decorators = [ { type: Component, args: [{ selector: 'abp-button', template: "\n \n " }] } ]; - /** @nocollapse */ - ButtonComponent.ctorParameters = function () { return [ - { type: Actions } - ]; }; ButtonComponent.propDecorators = { buttonClass: [{ type: Input }], buttonType: [{ type: Input }], iconClass: [{ type: Input }], loading: [{ type: Input }], - disabled: [{ type: Input }], - requestType: [{ type: Input }], - requestURLContainSearchValue: [{ type: Input }] + disabled: [{ type: Input }] }; return ButtonComponent; }()); +if (false) { + /** @type {?} */ + ButtonComponent.prototype.buttonClass; + /** @type {?} */ + ButtonComponent.prototype.buttonType; + /** @type {?} */ + ButtonComponent.prototype.iconClass; + /** @type {?} */ + ButtonComponent.prototype.loading; + /** @type {?} */ + ButtonComponent.prototype.disabled; +} /** * @fileoverview added by tsickle @@ -651,6 +676,58 @@ var ModalComponent = /** @class */ (function () { }; return ModalComponent; }()); +if (false) { + /** @type {?} */ + ModalComponent.prototype.centered; + /** @type {?} */ + ModalComponent.prototype.modalClass; + /** @type {?} */ + ModalComponent.prototype.size; + /** @type {?} */ + ModalComponent.prototype.height; + /** @type {?} */ + ModalComponent.prototype.minHeight; + /** @type {?} */ + ModalComponent.prototype.visibleChange; + /** @type {?} */ + ModalComponent.prototype.init; + /** @type {?} */ + ModalComponent.prototype.abpHeader; + /** @type {?} */ + ModalComponent.prototype.abpBody; + /** @type {?} */ + ModalComponent.prototype.abpFooter; + /** @type {?} */ + ModalComponent.prototype.abpClose; + /** @type {?} */ + ModalComponent.prototype.abpSubmit; + /** @type {?} */ + ModalComponent.prototype.modalContent; + /** @type {?} */ + ModalComponent.prototype.abpButtons; + /** @type {?} */ + ModalComponent.prototype._visible; + /** @type {?} */ + ModalComponent.prototype._busy; + /** @type {?} */ + ModalComponent.prototype.showModal; + /** @type {?} */ + ModalComponent.prototype.isOpenConfirmation; + /** @type {?} */ + ModalComponent.prototype.closable; + /** @type {?} */ + ModalComponent.prototype.destroy$; + /** + * @type {?} + * @private + */ + ModalComponent.prototype.renderer; + /** + * @type {?} + * @private + */ + ModalComponent.prototype.confirmationService; +} /** * @param {?} nodes * @return {?} @@ -695,7 +772,7 @@ var ToastComponent = /** @class */ (function () { * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -var styles = "\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 200px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* {\n status$: Subject;\n\n key: string = 'abpToast';\n\n sticky: boolean = false;\n\n constructor(protected messageService: MessageService) {}\n info(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'info', options);\n }\n\n success(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'success', options);\n }\n\n warn(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'warn', options);\n }\n\n error(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'error', options);\n }\n\n protected show(message: string, title: string, severity: Toaster.Severity, options?: T): Observable {\n this.messageService.clear(this.key);\n\n this.messageService.add({\n severity,\n detail: message,\n summary: title,\n ...options,\n key: this.key,\n ...(typeof (options || ({} as any)).sticky === 'undefined' && { sticky: this.sticky }),\n });\n this.status$ = new Subject();\n return this.status$;\n }\n\n clear(status?: Toaster.Status) {\n this.messageService.clear(this.key);\n this.status$.next(status || Toaster.Status.dismiss);\n this.status$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Confirmation } from '../models/confirmation';\n\n@Injectable({ providedIn: 'root' })\nexport class ConfirmationService extends AbstractToaster {\n key: string = 'abpConfirmation';\n\n sticky: boolean = true;\n}\n","import { Component } from '@angular/core';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { Toaster } from '../../models/toaster';\n\n@Component({\n selector: 'abp-confirmation',\n template: `\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n `,\n})\nexport class ConfirmationComponent {\n confirm = Toaster.Status.confirm;\n reject = Toaster.Status.reject;\n dismiss = Toaster.Status.dismiss;\n\n constructor(private confirmationService: ConfirmationService) {}\n\n close(status: Toaster.Status) {\n this.confirmationService.clear(status);\n }\n}\n","import { Component, Renderer2, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'abp-error',\n template: `\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n `,\n styleUrls: ['error.component.scss'],\n})\nexport class ErrorComponent {\n title = 'Oops!';\n\n details = 'Sorry, an error has occured.';\n\n renderer: Renderer2;\n\n elementRef: ElementRef;\n\n host: any;\n\n destroy() {\n this.renderer.removeChild(this.host, this.elementRef.nativeElement);\n }\n}\n","import { StartLoader, StopLoader } from '@abp/ng.core';\nimport { Component, Input, OnDestroy } from '@angular/core';\nimport { NavigationEnd, NavigationStart, Router } from '@angular/router';\nimport { takeUntilDestroy } from '@ngx-validate/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-loader-bar',\n template: `\n
    \n
    \n
    \n `,\n styleUrls: ['./loader-bar.component.scss'],\n})\nexport class LoaderBarComponent implements OnDestroy {\n @Input()\n containerClass: string = 'abp-loader-bar';\n\n @Input()\n progressClass: string = 'abp-progress';\n\n @Input()\n isLoading: boolean = false;\n\n @Input()\n filter = (action: StartLoader | StopLoader) => action.payload.url.indexOf('openid-configuration') < 0;\n\n progressLevel: number = 0;\n\n interval: any;\n\n constructor(private actions: Actions, private router: Router) {\n actions\n .pipe(\n ofActionSuccessful(StartLoader, StopLoader),\n filter(this.filter),\n takeUntilDestroy(this),\n )\n .subscribe(action => {\n if (action instanceof StartLoader) this.startLoading();\n else this.stopLoading();\n });\n\n router.events\n .pipe(\n filter(event => event instanceof NavigationStart || event instanceof NavigationEnd),\n takeUntilDestroy(this),\n )\n .subscribe(event => {\n if (event instanceof NavigationStart) this.startLoading();\n else this.stopLoading();\n });\n }\n\n ngOnDestroy() {}\n\n startLoading() {\n this.isLoading = true;\n const interval = setInterval(() => {\n if (this.progressLevel < 75) {\n this.progressLevel += Math.random() * 10;\n } else if (this.progressLevel < 90) {\n this.progressLevel += 0.4;\n } else if (this.progressLevel < 100) {\n this.progressLevel += 0.1;\n } else {\n clearInterval(interval);\n }\n }, 300);\n\n this.interval = interval;\n }\n\n stopLoading() {\n clearInterval(this.interval);\n this.progressLevel = 100;\n this.isLoading = false;\n\n setTimeout(() => {\n this.progressLevel = 0;\n }, 800);\n }\n}\n","import { StartLoader, StopLoader } from '@abp/ng.core';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-button',\n template: `\n \n `,\n})\nexport class ButtonComponent implements OnInit {\n @Input()\n buttonClass: string = 'btn btn-primary';\n\n @Input()\n buttonType: string = 'button';\n\n @Input()\n iconClass: string;\n\n @Input()\n loading: boolean = false;\n\n @Input()\n disabled: boolean = false;\n\n @Input()\n requestType: string | string[];\n\n @Input()\n requestURLContainSearchValue: string;\n\n get icon(): string {\n return `${this.loading ? 'fa fa-spin fa-spinner' : this.iconClass || 'd-none'}`;\n }\n\n constructor(private actions: Actions) {}\n\n ngOnInit(): void {\n if (this.requestType || this.requestURLContainSearchValue) {\n this.actions\n .pipe(\n ofActionSuccessful(StartLoader, StopLoader),\n filter((event: StartLoader | StopLoader) => {\n let condition = true;\n if (this.requestType) {\n if (!Array.isArray(this.requestType)) this.requestType = [this.requestType];\n\n condition =\n condition &&\n this.requestType.findIndex(type => type.toLowerCase() === event.payload.method.toLowerCase()) > -1;\n }\n\n if (condition && this.requestURLContainSearchValue) {\n condition =\n condition &&\n event.payload.url.toLowerCase().indexOf(this.requestURLContainSearchValue.toLowerCase()) > -1;\n }\n\n return condition;\n }),\n )\n .subscribe(() => {\n setTimeout(() => {\n this.loading = !this.loading;\n }, 0);\n });\n }\n }\n}\n","import {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { fromEvent, Subject, timer } from 'rxjs';\nimport { filter, take, takeUntil, debounceTime } from 'rxjs/operators';\nimport { Toaster } from '../../models/toaster';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { ButtonComponent } from '../button/button.component';\n\nexport type ModalSize = 'sm' | 'md' | 'lg' | 'xl';\n\nconst ANIMATION_TIMEOUT = 200;\n\n@Component({\n selector: 'abp-modal',\n templateUrl: './modal.component.html',\n})\nexport class ModalComponent implements OnDestroy {\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n set visible(value: boolean) {\n if (typeof value !== 'boolean') return;\n\n if (!this.modalContent) {\n if (value) {\n setTimeout(() => {\n this.showModal = value;\n this.visible = value;\n }, 0);\n }\n return;\n }\n\n if (value) {\n this.setVisible(value);\n this.listen();\n } else {\n this.closable = false;\n this.renderer.addClass(this.modalContent.nativeElement, 'fade-out-top');\n setTimeout(() => {\n this.setVisible(value);\n this.ngOnDestroy();\n }, ANIMATION_TIMEOUT - 10);\n }\n }\n\n @Input()\n get busy(): boolean {\n return this._busy;\n }\n set busy(value: boolean) {\n if (this.abpSubmit && this.abpSubmit instanceof ButtonComponent) {\n this.abpSubmit.loading = value;\n }\n\n this._busy = value;\n }\n\n @Input() centered: boolean = false;\n\n @Input() modalClass: string = '';\n\n @Input() size: ModalSize = 'lg';\n\n @Input() height: number;\n\n @Input() minHeight: number;\n\n @Output() visibleChange = new EventEmitter();\n\n @Output() init = new EventEmitter();\n\n @ContentChild('abpHeader', { static: false }) abpHeader: TemplateRef;\n\n @ContentChild('abpBody', { static: false }) abpBody: TemplateRef;\n\n @ContentChild('abpFooter', { static: false }) abpFooter: TemplateRef;\n\n @ContentChild('abpClose', { static: false, read: ElementRef }) abpClose: ElementRef;\n\n @ContentChild(ButtonComponent, { static: false, read: ButtonComponent }) abpSubmit: ButtonComponent;\n\n @ViewChild('abpModalContent', { static: false }) modalContent: ElementRef;\n\n @ViewChildren('abp-button') abpButtons;\n\n _visible: boolean = false;\n\n _busy: boolean = false;\n\n showModal: boolean = false;\n\n isOpenConfirmation: boolean = false;\n\n closable: boolean = false;\n\n destroy$ = new Subject();\n\n constructor(private renderer: Renderer2, private confirmationService: ConfirmationService) {}\n\n ngOnDestroy(): void {\n this.destroy$.next();\n }\n\n setVisible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n this.showModal = value;\n\n value\n ? timer(ANIMATION_TIMEOUT + 100)\n .pipe(take(1))\n .subscribe(_ => (this.closable = true))\n : (this.closable = false);\n }\n\n listen() {\n fromEvent(document, 'keyup')\n .pipe(\n takeUntil(this.destroy$),\n debounceTime(150),\n filter((key: KeyboardEvent) => key && key.code === 'Escape' && this.closable),\n )\n .subscribe(_ => {\n this.close();\n });\n\n setTimeout(() => {\n if (!this.abpClose) return;\n fromEvent(this.abpClose.nativeElement, 'click')\n .pipe(\n takeUntil(this.destroy$),\n filter(() => !!(this.closable && this.modalContent)),\n )\n .subscribe(() => this.close());\n }, 0);\n\n this.init.emit();\n }\n\n close() {\n if (!this.closable || this.busy) return;\n\n const nodes = getFlatNodes(\n (this.modalContent.nativeElement.querySelector('#abp-modal-body') as HTMLElement).childNodes,\n );\n\n if (hasNgDirty(nodes)) {\n if (this.isOpenConfirmation) return;\n\n this.isOpenConfirmation = true;\n this.confirmationService\n .warn('AbpAccount::AreYouSureYouWantToCancelEditingWarningMessage', 'AbpAccount::AreYouSure')\n .subscribe((status: Toaster.Status) => {\n timer(ANIMATION_TIMEOUT).subscribe(() => {\n this.isOpenConfirmation = false;\n });\n\n if (status === Toaster.Status.confirm) {\n this.visible = false;\n }\n });\n } else {\n this.visible = false;\n }\n }\n}\n\nfunction getFlatNodes(nodes: NodeList): HTMLElement[] {\n return Array.from(nodes).reduce(\n (acc, val) => [...acc, ...(val.childNodes && val.childNodes.length ? getFlatNodes(val.childNodes) : [val])],\n [],\n );\n}\n\nfunction hasNgDirty(nodes: HTMLElement[]) {\n return nodes.findIndex(node => (node.className || '').indexOf('ng-dirty') > -1) > -1;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-toast',\n template: `\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n `,\n})\nexport class ToastComponent {}\n","export default `\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 200px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* {\n const { payload: err = {} as HttpErrorResponse | any } = res;\n const body = snq(() => (err as HttpErrorResponse).error.error, DEFAULTS.defaultError.message);\n\n if (err.headers.get('_AbpErrorFormat')) {\n const confirmation$ = this.showError(null, null, body);\n\n if (err.status === 401) {\n confirmation$.subscribe(() => {\n this.navigateToLogin();\n });\n }\n } else {\n switch ((err as HttpErrorResponse).status) {\n case 401:\n this.showError(DEFAULTS.defaultError401.details, DEFAULTS.defaultError401.message).subscribe(() =>\n this.navigateToLogin(),\n );\n break;\n case 403:\n this.createErrorComponent({\n title: DEFAULTS.defaultError403.message,\n details: DEFAULTS.defaultError403.details,\n });\n break;\n case 404:\n this.showError(DEFAULTS.defaultError404.details, DEFAULTS.defaultError404.message);\n break;\n case 500:\n this.createErrorComponent({\n title: '500',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n break;\n case 0:\n if ((err as HttpErrorResponse).statusText === 'Unknown Error') {\n this.createErrorComponent({\n title: 'Unknown Error',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n }\n break;\n default:\n this.showError(DEFAULTS.defaultError.details, DEFAULTS.defaultError.message);\n break;\n }\n }\n });\n }\n\n private showError(message?: string, title?: string, body?: any): Observable {\n if (body) {\n if (body.details) {\n message = body.details;\n title = body.message;\n } else {\n message = body.message || DEFAULTS.defaultError.message;\n }\n }\n\n return this.confirmationService.error(message, title, {\n hideCancelBtn: true,\n yesCopy: 'OK',\n });\n }\n\n private navigateToLogin() {\n this.store.dispatch(\n new Navigate(['/account/login'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n }\n\n createErrorComponent(instance: Partial) {\n const renderer = this.rendererFactory.createRenderer(null, null);\n const host = renderer.selectRootElement('app-root', true);\n\n const componentRef = this.cfRes.resolveComponentFactory(ErrorComponent).create(this.injector);\n\n for (const key in componentRef.instance) {\n if (componentRef.instance.hasOwnProperty(key)) {\n componentRef.instance[key] = instance[key];\n }\n }\n\n this.appRef.attachView(componentRef.hostView);\n renderer.appendChild(host, (componentRef.hostView as EmbeddedViewRef).rootNodes[0]);\n\n componentRef.instance.renderer = renderer;\n componentRef.instance.elementRef = componentRef.location;\n componentRef.instance.host = host;\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { Validation, ValidationErrorComponent as ErrorComponent } from '@ngx-validate/core';\n\n@Component({\n selector: 'abp-validation-error',\n template: `\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class ValidationErrorComponent extends ErrorComponent {\n get abpErrors(): Validation.Error[] & { interpoliteParams?: string[] } {\n return this.validationErrors.map(error => {\n if (!error.message) return error;\n\n const index = error.message.indexOf('[');\n\n if (index > -1) {\n return {\n ...error,\n message: error.message.slice(0, index),\n interpoliteParams: error.message.slice(index + 1, error.message.length - 1).split(','),\n };\n }\n\n return error;\n });\n }\n}\n","import { CoreModule, LazyLoadService } from '@abp/ng.core';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgbModalModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { MessageService } from 'primeng/components/common/messageservice';\nimport { ToastModule } from 'primeng/toast';\nimport { forkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { ConfirmationComponent } from './components/confirmation/confirmation.component';\nimport { ErrorComponent } from './components/errors/error.component';\nimport { LoaderBarComponent } from './components/loader-bar/loader-bar.component';\nimport { ModalComponent } from './components/modal/modal.component';\nimport { ToastComponent } from './components/toast/toast.component';\nimport styles from './contants/styles';\nimport { ErrorHandler } from './handlers/error.handler';\nimport { ButtonComponent } from './components/button/button.component';\nimport { ValidationErrorComponent } from './components/errors/validation-error.component';\n\nexport function appendScript(injector: Injector) {\n const fn = function() {\n const lazyLoadService: LazyLoadService = injector.get(LazyLoadService);\n\n return forkJoin(\n lazyLoadService.load(\n null,\n 'style',\n styles,\n 'head',\n 'afterbegin',\n ) /* lazyLoadService.load(null, 'script', scripts) */,\n ).pipe(take(1));\n };\n\n return fn;\n}\n\n@NgModule({\n imports: [\n CoreModule,\n ToastModule,\n NgbModalModule,\n NgxValidateCoreModule.forRoot({\n targetSelector: '.form-group',\n blueprints: {\n email: `AbpAccount::ThisFieldIsNotAValidEmailAddress.`,\n max: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]`,\n maxlength: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]`,\n min: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n minlength: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n required: `AbpAccount::ThisFieldIsRequired.`,\n passwordMismatch: `AbpIdentity::Identity.PasswordConfirmationFailed`,\n },\n errorTemplate: ValidationErrorComponent,\n }),\n ],\n declarations: [\n ButtonComponent,\n ConfirmationComponent,\n ToastComponent,\n ModalComponent,\n ErrorComponent,\n LoaderBarComponent,\n ValidationErrorComponent,\n ],\n exports: [NgbModalModule, ButtonComponent, ConfirmationComponent, ToastComponent, ModalComponent, LoaderBarComponent],\n entryComponents: [ErrorComponent, ValidationErrorComponent],\n})\nexport class ThemeSharedModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: ThemeSharedModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector, ErrorHandler],\n useFactory: appendScript,\n },\n { provide: MessageService, useClass: MessageService },\n ],\n };\n }\n}\n","import { animate, state, style, transition, trigger, query } from '@angular/animations';\nexport const slideFromBottom = trigger('routeAnimations', [\n state('void', style({ 'margin-top': '20px', opacity: '0' })),\n state('*', style({ 'margin-top': '0px', opacity: '1' })),\n transition(':enter', [animate('0.2s ease-out', style({ opacity: '1', 'margin-top': '0px' }))]),\n]);\n","import { Toaster } from './toaster';\n\nexport namespace Confirmation {\n export interface Options extends Toaster.Options {\n hideCancelBtn?: boolean;\n hideYesBtn?: boolean;\n cancelCopy?: string;\n yesCopy?: string;\n }\n}\n","export namespace Toaster {\n export interface Options {\n id?: any;\n closable?: boolean;\n life?: number;\n sticky?: boolean;\n data?: any;\n messageLocalizationParams?: string[];\n titleLocalizationParams?: string[];\n }\n\n export type Severity = 'success' | 'info' | 'warn' | 'error';\n\n export const enum Status {\n confirm = 'confirm',\n reject = 'reject',\n dismiss = 'dismiss',\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Message } from 'primeng/components/common/message';\n\n@Injectable({ providedIn: 'root' })\nexport class ToasterService extends AbstractToaster {\n addAll(messages: Message[]): void {\n this.messageService.addAll(messages.map(message => ({ key: this.key, ...message })));\n }\n}\n"],"names":["tslib_1.__extends","ErrorComponent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAIA;;;;IAOE,yBAAsB,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QAJpD,QAAG,GAAW,UAAU,CAAC;QAEzB,WAAM,GAAY,KAAK,CAAC;KAEgC;;;;;;;IACxD,8BAAI;;;;;;IAAJ,UAAK,OAAe,EAAE,KAAa,EAAE,OAAW;QAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;KACnD;;;;;;;IAED,iCAAO;;;;;;IAAP,UAAQ,OAAe,EAAE,KAAa,EAAE,OAAW;QACjD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;KACtD;;;;;;;IAED,8BAAI;;;;;;IAAJ,UAAK,OAAe,EAAE,KAAa,EAAE,OAAW;QAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;KACnD;;;;;;;IAED,+BAAK;;;;;;IAAL,UAAM,OAAe,EAAE,KAAa,EAAE,OAAW;QAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;KACpD;;;;;;;;;IAES,8BAAI;;;;;;;;IAAd,UAAe,OAAe,EAAE,KAAa,EAAE,QAA0B,EAAE,OAAW;QACpF,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEpC,IAAI,CAAC,cAAc,CAAC,GAAG,YACrB,QAAQ,UAAA,EACR,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,KAAK,IACX,OAAO,IACV,GAAG,EAAE,IAAI,CAAC,GAAG,KACT,OAAO,CAAC,OAAO,wBAAK,EAAE,GAAQ,EAAE,MAAM,KAAK,WAAW,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,GACrF,CAAC;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,EAAkB,CAAC;QAC7C,OAAO,IAAI,CAAC,OAAO,CAAC;KACrB;;;;;IAED,+BAAK;;;;IAAL,UAAM,MAAuB;QAC3B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,4BAA2B,CAAC;QACpD,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;KACzB;IACH,sBAAC;CAAA;;;;;;;IC3CwCA,uCAAqC;IAD9E;QAAA,qEAKC;QAHC,SAAG,GAAW,iBAAiB,CAAC;QAEhC,YAAM,GAAY,IAAI,CAAC;;KACxB;;gBALA,UAAU,SAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;8BAJlC;CASC,CAJwC,eAAe;;;;;;ACLxD;IA0CE,+BAAoB,mBAAwC;QAAxC,wBAAmB,GAAnB,mBAAmB,CAAqB;QAJ5D,YAAO,2BAA0B;QACjC,WAAM,yBAAyB;QAC/B,YAAO,2BAA0B;KAE+B;;;;;IAEhE,qCAAK;;;;IAAL,UAAM,MAAsB;QAC1B,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KACxC;;gBA1CF,SAAS,SAAC;oBACT,QAAQ,EAAE,kBAAkB;oBAC5B,QAAQ,EAAE,8pCA6BT;iBACF;;;;gBAnCQ,mBAAmB;;IA8C5B,4BAAC;CA3CD;;;;;;ACJA;IAEA;QA6BE,UAAK,GAAG,OAAO,CAAC;QAEhB,YAAO,GAAG,8BAA8B,CAAC;KAW1C;;;;IAHC,gCAAO;;;IAAP;QACE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;KACrE;;gBAzCF,SAAS,SAAC;oBACT,QAAQ,EAAE,WAAW;oBACrB,QAAQ,EAAE,g1BAuBT;;iBAEF;;IAeD,qBAAC;CA1CD;;;;;;ACFA;IAiCE,4BAAoB,OAAgB,EAAU,MAAc;QAA5D,iBAqBC;QArBmB,YAAO,GAAP,OAAO,CAAS;QAAU,WAAM,GAAN,MAAM,CAAQ;QAf5D,mBAAc,GAAW,gBAAgB,CAAC;QAG1C,kBAAa,GAAW,cAAc,CAAC;QAGvC,cAAS,GAAY,KAAK,CAAC;QAG3B,WAAM;;;;QAAG,UAAC,MAAgC,IAAK,OAAA,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,sBAAsB,CAAC,GAAG,CAAC,GAAA,EAAC;QAEtG,kBAAa,GAAW,CAAC,CAAC;QAKxB,OAAO;aACJ,IAAI,CACH,kBAAkB,CAAC,WAAW,EAAE,UAAU,CAAC,EAC3C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EACnB,gBAAgB,CAAC,IAAI,CAAC,CACvB;aACA,SAAS;;;;QAAC,UAAA,MAAM;YACf,IAAI,MAAM,YAAY,WAAW;gBAAE,KAAI,CAAC,YAAY,EAAE,CAAC;;gBAClD,KAAI,CAAC,WAAW,EAAE,CAAC;SACzB,EAAC,CAAC;QAEL,MAAM,CAAC,MAAM;aACV,IAAI,CACH,MAAM;;;;QAAC,UAAA,KAAK,IAAI,OAAA,KAAK,YAAY,eAAe,IAAI,KAAK,YAAY,aAAa,GAAA,EAAC,EACnF,gBAAgB,CAAC,IAAI,CAAC,CACvB;aACA,SAAS;;;;QAAC,UAAA,KAAK;YACd,IAAI,KAAK,YAAY,eAAe;gBAAE,KAAI,CAAC,YAAY,EAAE,CAAC;;gBACrD,KAAI,CAAC,WAAW,EAAE,CAAC;SACzB,EAAC,CAAC;KACN;;;;IAED,wCAAW;;;IAAX,eAAgB;;;;IAEhB,yCAAY;;;IAAZ;QAAA,iBAeC;QAdC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;;YAChB,QAAQ,GAAG,WAAW;;;QAAC;YAC3B,IAAI,KAAI,CAAC,aAAa,GAAG,EAAE,EAAE;gBAC3B,KAAI,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC;aAC1C;iBAAM,IAAI,KAAI,CAAC,aAAa,GAAG,EAAE,EAAE;gBAClC,KAAI,CAAC,aAAa,IAAI,GAAG,CAAC;aAC3B;iBAAM,IAAI,KAAI,CAAC,aAAa,GAAG,GAAG,EAAE;gBACnC,KAAI,CAAC,aAAa,IAAI,GAAG,CAAC;aAC3B;iBAAM;gBACL,aAAa,CAAC,QAAQ,CAAC,CAAC;aACzB;SACF,GAAE,GAAG,CAAC;QAEP,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;KAC1B;;;;IAED,wCAAW;;;IAAX;QAAA,iBAQC;QAPC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAEvB,UAAU;;;QAAC;YACT,KAAI,CAAC,aAAa,GAAG,CAAC,CAAC;SACxB,GAAE,GAAG,CAAC,CAAC;KACT;;gBA5EF,SAAS,SAAC;oBACT,QAAQ,EAAE,gBAAgB;oBAC1B,QAAQ,EAAE,mMAIT;;iBAEF;;;;gBAXQ,OAAO;gBAFyB,MAAM;;;iCAe5C,KAAK;gCAGL,KAAK;4BAGL,KAAK;yBAGL,KAAK;;IA0DR,yBAAC;CA7ED;;;;;;ACPA;IAuCE,yBAAoB,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;QAxBpC,gBAAW,GAAW,iBAAiB,CAAC;QAGxC,eAAU,GAAW,QAAQ,CAAC;QAM9B,YAAO,GAAY,KAAK,CAAC;QAGzB,aAAQ,GAAY,KAAK,CAAC;KAYc;IAJxC,sBAAI,iCAAI;;;;QAAR;YACE,OAAO,MAAG,IAAI,CAAC,OAAO,GAAG,uBAAuB,GAAG,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAE,CAAC;SACjF;;;OAAA;;;;IAID,kCAAQ;;;IAAR;QAAA,iBA8BC;QA7BC,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,4BAA4B,EAAE;YACzD,IAAI,CAAC,OAAO;iBACT,IAAI,CACH,kBAAkB,CAAC,WAAW,EAAE,UAAU,CAAC,EAC3C,MAAM;;;;YAAC,UAAC,KAA+B;;oBACjC,SAAS,GAAG,IAAI;gBACpB,IAAI,KAAI,CAAC,WAAW,EAAE;oBACpB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAI,CAAC,WAAW,CAAC;wBAAE,KAAI,CAAC,WAAW,GAAG,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC;oBAE5E,SAAS;wBACP,SAAS;4BACT,KAAI,CAAC,WAAW,CAAC,SAAS;;;;4BAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,GAAA,EAAC,GAAG,CAAC,CAAC,CAAC;iBACtG;gBAED,IAAI,SAAS,IAAI,KAAI,CAAC,4BAA4B,EAAE;oBAClD,SAAS;wBACP,SAAS;4BACT,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,4BAA4B,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;iBACjG;gBAED,OAAO,SAAS,CAAC;aAClB,EAAC,CACH;iBACA,SAAS;;;YAAC;gBACT,UAAU;;;gBAAC;oBACT,KAAI,CAAC,OAAO,GAAG,CAAC,KAAI,CAAC,OAAO,CAAC;iBAC9B,GAAE,CAAC,CAAC,CAAC;aACP,EAAC,CAAC;SACN;KACF;;gBAlEF,SAAS,SAAC;oBACT,QAAQ,EAAE,YAAY;oBACtB,QAAQ,EAAE,qMAIT;iBACF;;;;gBAVQ,OAAO;;;8BAYb,KAAK;6BAGL,KAAK;4BAGL,KAAK;0BAGL,KAAK;2BAGL,KAAK;8BAGL,KAAK;+CAGL,KAAK;;IAwCR,sBAAC;CAnED;;;;;;;ICgBM,iBAAiB,GAAG,GAAG;AAE7B;IAuFE,wBAAoB,QAAmB,EAAU,mBAAwC;QAArE,aAAQ,GAAR,QAAQ,CAAW;QAAU,wBAAmB,GAAnB,mBAAmB,CAAqB;QAxChF,aAAQ,GAAY,KAAK,CAAC;QAE1B,eAAU,GAAW,EAAE,CAAC;QAExB,SAAI,GAAc,IAAI,CAAC;QAMtB,kBAAa,GAAG,IAAI,YAAY,EAAW,CAAC;QAE5C,SAAI,GAAG,IAAI,YAAY,EAAQ,CAAC;QAgB1C,aAAQ,GAAY,KAAK,CAAC;QAE1B,UAAK,GAAY,KAAK,CAAC;QAEvB,cAAS,GAAY,KAAK,CAAC;QAE3B,uBAAkB,GAAY,KAAK,CAAC;QAEpC,aAAQ,GAAY,KAAK,CAAC;QAE1B,aAAQ,GAAG,IAAI,OAAO,EAAQ,CAAC;KAE8D;IAlF7F,sBACI,mCAAO;;;;QADX;YAEE,OAAO,IAAI,CAAC,QAAQ,CAAC;SACtB;;;;;QACD,UAAY,KAAc;YAA1B,iBAwBC;YAvBC,IAAI,OAAO,KAAK,KAAK,SAAS;gBAAE,OAAO;YAEvC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;gBACtB,IAAI,KAAK,EAAE;oBACT,UAAU;;;oBAAC;wBACT,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;wBACvB,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;qBACtB,GAAE,CAAC,CAAC,CAAC;iBACP;gBACD,OAAO;aACR;YAED,IAAI,KAAK,EAAE;gBACT,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACvB,IAAI,CAAC,MAAM,EAAE,CAAC;aACf;iBAAM;gBACL,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACtB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;gBACxE,UAAU;;;gBAAC;oBACT,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;oBACvB,KAAI,CAAC,WAAW,EAAE,CAAC;iBACpB,GAAE,iBAAiB,GAAG,EAAE,CAAC,CAAC;aAC5B;SACF;;;OAzBA;IA2BD,sBACI,gCAAI;;;;QADR;YAEE,OAAO,IAAI,CAAC,KAAK,CAAC;SACnB;;;;;QACD,UAAS,KAAc;YACrB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,YAAY,eAAe,EAAE;gBAC/D,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;aAChC;YAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACpB;;;OAPA;;;;IAmDD,oCAAW;;;IAAX;QACE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;KACtB;;;;;IAED,mCAAU;;;;IAAV,UAAW,KAAc;QAAzB,iBAUC;QATC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAEvB,KAAK;cACD,KAAK,CAAC,iBAAiB,GAAG,GAAG,CAAC;iBAC3B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACb,SAAS;;;;YAAC,UAAA,CAAC,IAAI,QAAC,KAAI,CAAC,QAAQ,GAAG,IAAI,IAAC,EAAC;eACxC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;KAC7B;;;;IAED,+BAAM;;;IAAN;QAAA,iBAsBC;QArBC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC;aACzB,IAAI,CACH,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EACxB,YAAY,CAAC,GAAG,CAAC,EACjB,MAAM;;;;QAAC,UAAC,GAAkB,IAAK,OAAA,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAI,CAAC,QAAQ,GAAA,EAAC,CAC9E;aACA,SAAS;;;;QAAC,UAAA,CAAC;YACV,KAAI,CAAC,KAAK,EAAE,CAAC;SACd,EAAC,CAAC;QAEL,UAAU;;;QAAC;YACT,IAAI,CAAC,KAAI,CAAC,QAAQ;gBAAE,OAAO;YAC3B,SAAS,CAAC,KAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;iBAC5C,IAAI,CACH,SAAS,CAAC,KAAI,CAAC,QAAQ,CAAC,EACxB,MAAM;;;YAAC,cAAM,OAAA,CAAC,EAAE,KAAI,CAAC,QAAQ,IAAI,KAAI,CAAC,YAAY,CAAC,GAAA,EAAC,CACrD;iBACA,SAAS;;;YAAC,cAAM,OAAA,KAAI,CAAC,KAAK,EAAE,GAAA,EAAC,CAAC;SAClC,GAAE,CAAC,CAAC,CAAC;QAEN,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;KAClB;;;;IAED,8BAAK;;;IAAL;QAAA,iBAyBC;QAxBC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI;YAAE,OAAO;;YAElC,KAAK,GAAG,YAAY,CACxB,oBAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAiB,UAAU,CAC7F;QAED,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;YACrB,IAAI,IAAI,CAAC,kBAAkB;gBAAE,OAAO;YAEpC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,mBAAmB;iBACrB,IAAI,CAAC,4DAA4D,EAAE,wBAAwB,CAAC;iBAC5F,SAAS;;;;YAAC,UAAC,MAAsB;gBAChC,KAAK,CAAC,iBAAiB,CAAC,CAAC,SAAS;;;gBAAC;oBACjC,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;iBACjC,EAAC,CAAC;gBAEH,IAAI,MAAM,8BAA6B;oBACrC,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;iBACtB;aACF,EAAC,CAAC;SACN;aAAM;YACL,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;KACF;;gBA1JF,SAAS,SAAC;oBACT,QAAQ,EAAE,WAAW;oBACrB,6vCAAqC;iBACtC;;;;gBAlBC,SAAS;gBAQF,mBAAmB;;;0BAYzB,KAAK;uBA8BL,KAAK;2BAYL,KAAK;6BAEL,KAAK;uBAEL,KAAK;yBAEL,KAAK;4BAEL,KAAK;gCAEL,MAAM;uBAEN,MAAM;4BAEN,YAAY,SAAC,WAAW,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;0BAE3C,YAAY,SAAC,SAAS,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;4BAEzC,YAAY,SAAC,WAAW,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;2BAE3C,YAAY,SAAC,UAAU,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE;4BAE5D,YAAY,SAAC,eAAe,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE;+BAEtE,SAAS,SAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;6BAE9C,YAAY,SAAC,YAAY;;IAkF5B,qBAAC;CA3JD,IA2JC;;;;;AAED,SAAS,YAAY,CAAC,KAAe;IACnC,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM;;;;;IAC7B,UAAC,GAAG,EAAE,GAAG,IAAK,gBAAI,GAAG,GAAM,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,KAAE,GAC3G,EAAE,CACH,CAAC;CACH;;;;;AAED,SAAS,UAAU,CAAC,KAAoB;IACtC,OAAO,KAAK,CAAC,SAAS;;;;IAAC,UAAA,IAAI,IAAI,OAAA,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAA,EAAC,GAAG,CAAC,CAAC,CAAC;CACtF;;;;;;AC7LD;IAEA;KAsB8B;;gBAtB7B,SAAS,SAAC;oBACT,QAAQ,EAAE,WAAW;oBACrB,QAAQ,EAAE,y0BAkBT;iBACF;;IAC4B,qBAAC;CAtB9B;;;;;;ACFA,aAAe,miCAyEd,CAAC;;;;;;ACzEF;IAkBM,QAAQ,GAAG;IACf,YAAY,EAAE;QACZ,OAAO,EAAE,wBAAwB;QACjC,OAAO,EAAE,kCAAkC;KAC5C;IAED,eAAe,EAAE;QACf,OAAO,EAAE,4BAA4B;QACrC,OAAO,EAAE,2EAA2E;KACrF;IAED,eAAe,EAAE;QACf,OAAO,EAAE,yBAAyB;QAClC,OAAO,EAAE,gDAAgD;KAC1D;IAED,eAAe,EAAE;QACf,OAAO,EAAE,qBAAqB;QAC9B,OAAO,EAAE,uDAAuD;KACjE;CACF;AAED;IAEE,sBACU,OAAgB,EAChB,KAAY,EACZ,mBAAwC,EACxC,MAAsB,EACtB,KAA+B,EAC/B,eAAiC,EACjC,QAAkB;QAP5B,iBAyDC;QAxDS,YAAO,GAAP,OAAO,CAAS;QAChB,UAAK,GAAL,KAAK,CAAO;QACZ,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,WAAM,GAAN,MAAM,CAAgB;QACtB,UAAK,GAAL,KAAK,CAA0B;QAC/B,oBAAe,GAAf,eAAe,CAAkB;QACjC,aAAQ,GAAR,QAAQ,CAAU;QAE1B,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;;;;QAAC,UAAA,GAAG;YACpD,IAAA,gBAA4C,EAA5C,kDAA4C;;gBAC9C,IAAI,GAAG,GAAG;;;YAAC,cAAM,OAAA,oBAAC,GAAG,IAAuB,KAAK,CAAC,KAAK,GAAA,GAAE,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC;YAE7F,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE;;oBAChC,aAAa,GAAG,KAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;gBAEtD,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;oBACtB,aAAa,CAAC,SAAS;;;oBAAC;wBACtB,KAAI,CAAC,eAAe,EAAE,CAAC;qBACxB,EAAC,CAAC;iBACJ;aACF;iBAAM;gBACL,QAAQ,oBAAC,GAAG,IAAuB,MAAM;oBACvC,KAAK,GAAG;wBACN,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,SAAS;;;wBAAC;4BAC3F,OAAA,KAAI,CAAC,eAAe,EAAE;yBAAA,EACvB,CAAC;wBACF,MAAM;oBACR,KAAK,GAAG;wBACN,KAAI,CAAC,oBAAoB,CAAC;4BACxB,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC,OAAO;4BACvC,OAAO,EAAE,QAAQ,CAAC,eAAe,CAAC,OAAO;yBAC1C,CAAC,CAAC;wBACH,MAAM;oBACR,KAAK,GAAG;wBACN,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;wBACnF,MAAM;oBACR,KAAK,GAAG;wBACN,KAAI,CAAC,oBAAoB,CAAC;4BACxB,KAAK,EAAE,KAAK;4BACZ,OAAO,EAAE,wCAAwC;yBAClD,CAAC,CAAC;wBACH,MAAM;oBACR,KAAK,CAAC;wBACJ,IAAI,oBAAC,GAAG,IAAuB,UAAU,KAAK,eAAe,EAAE;4BAC7D,KAAI,CAAC,oBAAoB,CAAC;gCACxB,KAAK,EAAE,eAAe;gCACtB,OAAO,EAAE,wCAAwC;6BAClD,CAAC,CAAC;yBACJ;wBACD,MAAM;oBACR;wBACE,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;wBAC7E,MAAM;iBACT;aACF;SACF,EAAC,CAAC;KACJ;;;;;;;;IAEO,gCAAS;;;;;;;IAAjB,UAAkB,OAAgB,EAAE,KAAc,EAAE,IAAU;QAC5D,IAAI,IAAI,EAAE;YACR,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;gBACvB,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC;aACtB;iBAAM;gBACL,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC;aACzD;SACF;QAED,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE;YACpD,aAAa,EAAE,IAAI;YACnB,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;KACJ;;;;;IAEO,sCAAe;;;;IAAvB;QACE,IAAI,CAAC,KAAK,CAAC,QAAQ,CACjB,IAAI,QAAQ,CAAC,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE;YACrC,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;SACzE,CAAC,CACH,CAAC;KACH;;;;;IAED,2CAAoB;;;;IAApB,UAAqB,QAAiC;;YAC9C,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC;;YAC1D,IAAI,GAAG,QAAQ,CAAC,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC;;YAEnD,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QAE7F,KAAK,IAAM,GAAG,IAAI,YAAY,CAAC,QAAQ,EAAE;YACvC,IAAI,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;gBAC7C,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;aAC5C;SACF;QAED,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC9C,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,oBAAC,YAAY,CAAC,QAAQ,IAA0B,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzF,YAAY,CAAC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC1C,YAAY,CAAC,QAAQ,CAAC,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC;QACzD,YAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;KACnC;;gBAvGF,UAAU,SAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;;gBA7BzB,OAAO;gBAAsB,KAAK;gBAIlC,mBAAmB;gBAZ1B,cAAc;gBACd,wBAAwB;gBAIxB,gBAAgB;gBADhB,QAAQ;;;uBAPV;CAwCA;;;;;;;IC3B8CA,4CAAc;IAV5D;;KA4BC;IAjBC,sBAAI,+CAAS;;;;QAAb;YACE,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG;;;;YAAC,UAAA,KAAK;gBACpC,IAAI,CAAC,KAAK,CAAC,OAAO;oBAAE,OAAO,KAAK,CAAC;;oBAE3B,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;gBAExC,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;oBACd,oBACK,KAAK,IACR,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EACtC,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IACtF;iBACH;gBAED,OAAO,KAAK,CAAC;aACd,EAAC,CAAC;SACJ;;;OAAA;;gBA3BF,SAAS,SAAC;oBACT,QAAQ,EAAE,sBAAsB;oBAChC,QAAQ,EAAE,oLAIT;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;iBACtC;;IAmBD,+BAAC;CAAA,CAlB6CC,0BAAc;;;;;;ACb5D;;;;AAkBA,SAAgB,YAAY,CAAC,QAAkB;;QACvC,EAAE;;;IAAG;;YACH,eAAe,GAAoB,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC;QAEtE,OAAO,QAAQ,CACb,eAAe,CAAC,IAAI,CAClB,IAAI,EACJ,OAAO,EACP,MAAM,EACN,MAAM,EACN,YAAY,CACb,qDACF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;KACjB,CAAA;IAED,OAAO,EAAE,CAAC;CACX;AAED;IAAA;KA8CC;;;;IAdQ,yBAAO;;;IAAd;QACE,OAAO;YACL,QAAQ,EAAE,iBAAiB;YAC3B,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,eAAe;oBACxB,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC;oBAC9B,UAAU,EAAE,YAAY;iBACzB;gBACD,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,cAAc,EAAE;aACtD;SACF,CAAC;KACH;;gBA7CF,QAAQ,SAAC;oBACR,OAAO,EAAE;wBACP,UAAU;wBACV,WAAW;wBACX,cAAc;wBACd,qBAAqB,CAAC,OAAO,CAAC;4BAC5B,cAAc,EAAE,aAAa;4BAC7B,UAAU,EAAE;gCACV,KAAK,EAAE,+CAA+C;gCACtD,GAAG,EAAE,sEAAsE;gCAC3E,SAAS,EAAE,iFAAiF;gCAC5F,GAAG,EAAE,sGAAsG;gCAC3G,SAAS,EAAE,sGAAsG;gCACjH,QAAQ,EAAE,kCAAkC;gCAC5C,gBAAgB,EAAE,kDAAkD;6BACrE;4BACD,aAAa,EAAE,wBAAwB;yBACxC,CAAC;qBACH;oBACD,YAAY,EAAE;wBACZ,eAAe;wBACf,qBAAqB;wBACrB,cAAc;wBACd,cAAc;wBACd,cAAc;wBACd,kBAAkB;wBAClB,wBAAwB;qBACzB;oBACD,OAAO,EAAE,CAAC,cAAc,EAAE,eAAe,EAAE,qBAAqB,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,CAAC;oBACrH,eAAe,EAAE,CAAC,cAAc,EAAE,wBAAwB,CAAC;iBAC5D;;IAgBD,wBAAC;CA9CD;;;;;;ACpCA;AACA,IAAa,eAAe,GAAG,OAAO,CAAC,iBAAiB,EAAE;IACxD,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5D,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;IACxD,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;CAC/F,CAAC;;;;;;ACHF,IAAiB,YAAY,CAO5B;AAPD,WAAiB,YAAY;;;;IAC3B,sBAKC;;AACH,CAAC,EAPgB,YAAY,KAAZ,YAAY,QAO5B;;;;;;ACTD,IAAiB,OAAO,CAkBvB;AAlBD,WAAiB,OAAO;;;;IACtB,sBAQC;;AASH,CAAC,EAlBgB,OAAO,KAAP,OAAO,QAkBvB;;;;;;;ICbmCD,kCAAe;IADnD;;KAKC;;;;;IAHC,+BAAM;;;;IAAN,UAAO,QAAmB;QAA1B,iBAEC;QADC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG;;;;QAAC,UAAA,OAAO,IAAI,mBAAG,GAAG,EAAE,KAAI,CAAC,GAAG,IAAK,OAAO,KAAG,EAAC,CAAC,CAAC;KACtF;;gBAJF,UAAU,SAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;yBAJlC;CASC,CAJmC,eAAe;;;;"} \ No newline at end of file +{"version":3,"file":"abp-ng.theme.shared.js","sources":["ng://@abp/ng.theme.shared/lib/abstracts/toaster.ts","ng://@abp/ng.theme.shared/lib/services/confirmation.service.ts","ng://@abp/ng.theme.shared/lib/components/confirmation/confirmation.component.ts","ng://@abp/ng.theme.shared/lib/components/errors/error.component.ts","ng://@abp/ng.theme.shared/lib/components/loader-bar/loader-bar.component.ts","ng://@abp/ng.theme.shared/lib/components/button/button.component.ts","ng://@abp/ng.theme.shared/lib/components/modal/modal.component.ts","ng://@abp/ng.theme.shared/lib/components/toast/toast.component.ts","ng://@abp/ng.theme.shared/lib/contants/styles.ts","ng://@abp/ng.theme.shared/lib/handlers/error.handler.ts","ng://@abp/ng.theme.shared/lib/components/errors/validation-error.component.ts","ng://@abp/ng.theme.shared/lib/theme-shared.module.ts","ng://@abp/ng.theme.shared/lib/animations/slide.animation.ts","ng://@abp/ng.theme.shared/lib/models/confirmation.ts","ng://@abp/ng.theme.shared/lib/models/toaster.ts","ng://@abp/ng.theme.shared/lib/services/toaster.service.ts"],"sourcesContent":["import { MessageService } from 'primeng/components/common/messageservice';\nimport { Observable, Subject } from 'rxjs';\nimport { Toaster } from '../models/toaster';\n\nexport class AbstractToaster {\n status$: Subject;\n\n key: string = 'abpToast';\n\n sticky: boolean = false;\n\n constructor(protected messageService: MessageService) {}\n info(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'info', options);\n }\n\n success(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'success', options);\n }\n\n warn(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'warn', options);\n }\n\n error(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'error', options);\n }\n\n protected show(message: string, title: string, severity: Toaster.Severity, options?: T): Observable {\n this.messageService.clear(this.key);\n\n this.messageService.add({\n severity,\n detail: message,\n summary: title,\n ...options,\n key: this.key,\n ...(typeof (options || ({} as any)).sticky === 'undefined' && { sticky: this.sticky }),\n });\n this.status$ = new Subject();\n return this.status$;\n }\n\n clear(status?: Toaster.Status) {\n this.messageService.clear(this.key);\n this.status$.next(status || Toaster.Status.dismiss);\n this.status$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Confirmation } from '../models/confirmation';\n\n@Injectable({ providedIn: 'root' })\nexport class ConfirmationService extends AbstractToaster {\n key: string = 'abpConfirmation';\n\n sticky: boolean = true;\n}\n","import { Component } from '@angular/core';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { Toaster } from '../../models/toaster';\n\n@Component({\n selector: 'abp-confirmation',\n template: `\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n `,\n})\nexport class ConfirmationComponent {\n confirm = Toaster.Status.confirm;\n reject = Toaster.Status.reject;\n dismiss = Toaster.Status.dismiss;\n\n constructor(private confirmationService: ConfirmationService) {}\n\n close(status: Toaster.Status) {\n this.confirmationService.clear(status);\n }\n}\n","import { Component, Renderer2, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'abp-error',\n template: `\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n `,\n styleUrls: ['error.component.scss'],\n})\nexport class ErrorComponent {\n title = 'Oops!';\n\n details = 'Sorry, an error has occured.';\n\n renderer: Renderer2;\n\n elementRef: ElementRef;\n\n host: any;\n\n destroy() {\n this.renderer.removeChild(this.host, this.elementRef.nativeElement);\n }\n}\n","import { StartLoader, StopLoader } from '@abp/ng.core';\nimport { Component, Input, OnDestroy } from '@angular/core';\nimport { NavigationEnd, NavigationStart, Router } from '@angular/router';\nimport { takeUntilDestroy } from '@ngx-validate/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-loader-bar',\n template: `\n
    \n
    \n
    \n `,\n styleUrls: ['./loader-bar.component.scss'],\n})\nexport class LoaderBarComponent implements OnDestroy {\n @Input()\n containerClass: string = 'abp-loader-bar';\n\n @Input()\n progressClass: string = 'abp-progress';\n\n @Input()\n isLoading: boolean = false;\n\n @Input()\n filter = (action: StartLoader | StopLoader) => action.payload.url.indexOf('openid-configuration') < 0;\n\n progressLevel: number = 0;\n\n interval: any;\n\n constructor(private actions: Actions, private router: Router) {\n actions\n .pipe(\n ofActionSuccessful(StartLoader, StopLoader),\n filter(this.filter),\n takeUntilDestroy(this),\n )\n .subscribe(action => {\n if (action instanceof StartLoader) this.startLoading();\n else this.stopLoading();\n });\n\n router.events\n .pipe(\n filter(event => event instanceof NavigationStart || event instanceof NavigationEnd),\n takeUntilDestroy(this),\n )\n .subscribe(event => {\n if (event instanceof NavigationStart) this.startLoading();\n else this.stopLoading();\n });\n }\n\n ngOnDestroy() {}\n\n startLoading() {\n this.isLoading = true;\n const interval = setInterval(() => {\n if (this.progressLevel < 75) {\n this.progressLevel += Math.random() * 10;\n } else if (this.progressLevel < 90) {\n this.progressLevel += 0.4;\n } else if (this.progressLevel < 100) {\n this.progressLevel += 0.1;\n } else {\n clearInterval(interval);\n }\n }, 300);\n\n this.interval = interval;\n }\n\n stopLoading() {\n clearInterval(this.interval);\n this.progressLevel = 100;\n this.isLoading = false;\n\n setTimeout(() => {\n this.progressLevel = 0;\n }, 800);\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'abp-button',\n template: `\n \n `,\n})\nexport class ButtonComponent {\n @Input()\n buttonClass: string = 'btn btn-primary';\n\n @Input()\n buttonType: string = 'button';\n\n @Input()\n iconClass: string;\n\n @Input()\n loading: boolean = false;\n\n @Input()\n disabled: boolean = false;\n\n get icon(): string {\n return `${this.loading ? 'fa fa-spin fa-spinner' : this.iconClass || 'd-none'}`;\n }\n}\n","import {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { fromEvent, Subject, timer } from 'rxjs';\nimport { filter, take, takeUntil, debounceTime } from 'rxjs/operators';\nimport { Toaster } from '../../models/toaster';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { ButtonComponent } from '../button/button.component';\n\nexport type ModalSize = 'sm' | 'md' | 'lg' | 'xl';\n\nconst ANIMATION_TIMEOUT = 200;\n\n@Component({\n selector: 'abp-modal',\n templateUrl: './modal.component.html',\n})\nexport class ModalComponent implements OnDestroy {\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n set visible(value: boolean) {\n if (typeof value !== 'boolean') return;\n\n if (!this.modalContent) {\n if (value) {\n setTimeout(() => {\n this.showModal = value;\n this.visible = value;\n }, 0);\n }\n return;\n }\n\n if (value) {\n this.setVisible(value);\n this.listen();\n } else {\n this.closable = false;\n this.renderer.addClass(this.modalContent.nativeElement, 'fade-out-top');\n setTimeout(() => {\n this.setVisible(value);\n this.ngOnDestroy();\n }, ANIMATION_TIMEOUT - 10);\n }\n }\n\n @Input()\n get busy(): boolean {\n return this._busy;\n }\n set busy(value: boolean) {\n if (this.abpSubmit && this.abpSubmit instanceof ButtonComponent) {\n this.abpSubmit.loading = value;\n }\n\n this._busy = value;\n }\n\n @Input() centered: boolean = false;\n\n @Input() modalClass: string = '';\n\n @Input() size: ModalSize = 'lg';\n\n @Input() height: number;\n\n @Input() minHeight: number;\n\n @Output() visibleChange = new EventEmitter();\n\n @Output() init = new EventEmitter();\n\n @ContentChild('abpHeader', { static: false }) abpHeader: TemplateRef;\n\n @ContentChild('abpBody', { static: false }) abpBody: TemplateRef;\n\n @ContentChild('abpFooter', { static: false }) abpFooter: TemplateRef;\n\n @ContentChild('abpClose', { static: false, read: ElementRef }) abpClose: ElementRef;\n\n @ContentChild(ButtonComponent, { static: false, read: ButtonComponent }) abpSubmit: ButtonComponent;\n\n @ViewChild('abpModalContent', { static: false }) modalContent: ElementRef;\n\n @ViewChildren('abp-button') abpButtons;\n\n _visible: boolean = false;\n\n _busy: boolean = false;\n\n showModal: boolean = false;\n\n isOpenConfirmation: boolean = false;\n\n closable: boolean = false;\n\n destroy$ = new Subject();\n\n constructor(private renderer: Renderer2, private confirmationService: ConfirmationService) {}\n\n ngOnDestroy(): void {\n this.destroy$.next();\n }\n\n setVisible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n this.showModal = value;\n\n value\n ? timer(ANIMATION_TIMEOUT + 100)\n .pipe(take(1))\n .subscribe(_ => (this.closable = true))\n : (this.closable = false);\n }\n\n listen() {\n fromEvent(document, 'keyup')\n .pipe(\n takeUntil(this.destroy$),\n debounceTime(150),\n filter((key: KeyboardEvent) => key && key.code === 'Escape' && this.closable),\n )\n .subscribe(_ => {\n this.close();\n });\n\n setTimeout(() => {\n if (!this.abpClose) return;\n fromEvent(this.abpClose.nativeElement, 'click')\n .pipe(\n takeUntil(this.destroy$),\n filter(() => !!(this.closable && this.modalContent)),\n )\n .subscribe(() => this.close());\n }, 0);\n\n this.init.emit();\n }\n\n close() {\n if (!this.closable || this.busy) return;\n\n const nodes = getFlatNodes(\n (this.modalContent.nativeElement.querySelector('#abp-modal-body') as HTMLElement).childNodes,\n );\n\n if (hasNgDirty(nodes)) {\n if (this.isOpenConfirmation) return;\n\n this.isOpenConfirmation = true;\n this.confirmationService\n .warn('AbpAccount::AreYouSureYouWantToCancelEditingWarningMessage', 'AbpAccount::AreYouSure')\n .subscribe((status: Toaster.Status) => {\n timer(ANIMATION_TIMEOUT).subscribe(() => {\n this.isOpenConfirmation = false;\n });\n\n if (status === Toaster.Status.confirm) {\n this.visible = false;\n }\n });\n } else {\n this.visible = false;\n }\n }\n}\n\nfunction getFlatNodes(nodes: NodeList): HTMLElement[] {\n return Array.from(nodes).reduce(\n (acc, val) => [...acc, ...(val.childNodes && val.childNodes.length ? getFlatNodes(val.childNodes) : [val])],\n [],\n );\n}\n\nfunction hasNgDirty(nodes: HTMLElement[]) {\n return nodes.findIndex(node => (node.className || '').indexOf('ng-dirty') > -1) > -1;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-toast',\n template: `\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n `,\n})\nexport class ToastComponent {}\n","export default `\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 215px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* {\n const { payload: err = {} as HttpErrorResponse | any } = res;\n const body = snq(() => (err as HttpErrorResponse).error.error, DEFAULTS.defaultError.message);\n\n if (err.headers.get('_AbpErrorFormat')) {\n const confirmation$ = this.showError(null, null, body);\n\n if (err.status === 401) {\n confirmation$.subscribe(() => {\n this.navigateToLogin();\n });\n }\n } else {\n switch ((err as HttpErrorResponse).status) {\n case 401:\n this.showError(DEFAULTS.defaultError401.details, DEFAULTS.defaultError401.message).subscribe(() =>\n this.navigateToLogin(),\n );\n break;\n case 403:\n this.createErrorComponent({\n title: DEFAULTS.defaultError403.message,\n details: DEFAULTS.defaultError403.details,\n });\n break;\n case 404:\n this.showError(DEFAULTS.defaultError404.details, DEFAULTS.defaultError404.message);\n break;\n case 500:\n this.createErrorComponent({\n title: '500',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n break;\n case 0:\n if ((err as HttpErrorResponse).statusText === 'Unknown Error') {\n this.createErrorComponent({\n title: 'Unknown Error',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n }\n break;\n default:\n this.showError(DEFAULTS.defaultError.details, DEFAULTS.defaultError.message);\n break;\n }\n }\n });\n }\n\n private showError(message?: string, title?: string, body?: any): Observable {\n if (body) {\n if (body.details) {\n message = body.details;\n title = body.message;\n } else {\n message = body.message || DEFAULTS.defaultError.message;\n }\n }\n\n return this.confirmationService.error(message, title, {\n hideCancelBtn: true,\n yesCopy: 'OK',\n });\n }\n\n private navigateToLogin() {\n this.store.dispatch(\n new Navigate(['/account/login'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n }\n\n createErrorComponent(instance: Partial) {\n const renderer = this.rendererFactory.createRenderer(null, null);\n const host = renderer.selectRootElement('app-root', true);\n\n const componentRef = this.cfRes.resolveComponentFactory(ErrorComponent).create(this.injector);\n\n for (const key in componentRef.instance) {\n if (componentRef.instance.hasOwnProperty(key)) {\n componentRef.instance[key] = instance[key];\n }\n }\n\n this.appRef.attachView(componentRef.hostView);\n renderer.appendChild(host, (componentRef.hostView as EmbeddedViewRef).rootNodes[0]);\n\n componentRef.instance.renderer = renderer;\n componentRef.instance.elementRef = componentRef.location;\n componentRef.instance.host = host;\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { Validation, ValidationErrorComponent as ErrorComponent } from '@ngx-validate/core';\n\n@Component({\n selector: 'abp-validation-error',\n template: `\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class ValidationErrorComponent extends ErrorComponent {\n get abpErrors(): Validation.Error[] & { interpoliteParams?: string[] } {\n return this.validationErrors.map(error => {\n if (!error.message) return error;\n\n const index = error.message.indexOf('[');\n\n if (index > -1) {\n return {\n ...error,\n message: error.message.slice(0, index),\n interpoliteParams: error.message.slice(index + 1, error.message.length - 1).split(','),\n };\n }\n\n return error;\n });\n }\n}\n","import { CoreModule, LazyLoadService } from '@abp/ng.core';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgbModalModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { MessageService } from 'primeng/components/common/messageservice';\nimport { ToastModule } from 'primeng/toast';\nimport { forkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { ConfirmationComponent } from './components/confirmation/confirmation.component';\nimport { ErrorComponent } from './components/errors/error.component';\nimport { LoaderBarComponent } from './components/loader-bar/loader-bar.component';\nimport { ModalComponent } from './components/modal/modal.component';\nimport { ToastComponent } from './components/toast/toast.component';\nimport styles from './contants/styles';\nimport { ErrorHandler } from './handlers/error.handler';\nimport { ButtonComponent } from './components/button/button.component';\nimport { ValidationErrorComponent } from './components/errors/validation-error.component';\n\nexport function appendScript(injector: Injector) {\n const fn = function() {\n const lazyLoadService: LazyLoadService = injector.get(LazyLoadService);\n\n return forkJoin(\n lazyLoadService.load(\n null,\n 'style',\n styles,\n 'head',\n 'afterbegin',\n ) /* lazyLoadService.load(null, 'script', scripts) */,\n ).pipe(take(1));\n };\n\n return fn;\n}\n\n@NgModule({\n imports: [\n CoreModule,\n ToastModule,\n NgbModalModule,\n NgxValidateCoreModule.forRoot({\n targetSelector: '.form-group',\n blueprints: {\n email: `AbpAccount::ThisFieldIsNotAValidEmailAddress.`,\n max: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]`,\n maxlength: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]`,\n min: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n minlength: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n required: `AbpAccount::ThisFieldIsRequired.`,\n passwordMismatch: `AbpIdentity::Identity.PasswordConfirmationFailed`,\n },\n errorTemplate: ValidationErrorComponent,\n }),\n ],\n declarations: [\n ButtonComponent,\n ConfirmationComponent,\n ToastComponent,\n ModalComponent,\n ErrorComponent,\n LoaderBarComponent,\n ValidationErrorComponent,\n ],\n exports: [NgbModalModule, ButtonComponent, ConfirmationComponent, ToastComponent, ModalComponent, LoaderBarComponent],\n entryComponents: [ErrorComponent, ValidationErrorComponent],\n})\nexport class ThemeSharedModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: ThemeSharedModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector, ErrorHandler],\n useFactory: appendScript,\n },\n { provide: MessageService, useClass: MessageService },\n ],\n };\n }\n}\n","import { animate, state, style, transition, trigger, query } from '@angular/animations';\nexport const slideFromBottom = trigger('routeAnimations', [\n state('void', style({ 'margin-top': '20px', opacity: '0' })),\n state('*', style({ 'margin-top': '0px', opacity: '1' })),\n transition(':enter', [animate('0.2s ease-out', style({ opacity: '1', 'margin-top': '0px' }))]),\n]);\n","import { Toaster } from './toaster';\n\nexport namespace Confirmation {\n export interface Options extends Toaster.Options {\n hideCancelBtn?: boolean;\n hideYesBtn?: boolean;\n cancelCopy?: string;\n yesCopy?: string;\n }\n}\n","export namespace Toaster {\n export interface Options {\n id?: any;\n closable?: boolean;\n life?: number;\n sticky?: boolean;\n data?: any;\n messageLocalizationParams?: string[];\n titleLocalizationParams?: string[];\n }\n\n export type Severity = 'success' | 'info' | 'warn' | 'error';\n\n export const enum Status {\n confirm = 'confirm',\n reject = 'reject',\n dismiss = 'dismiss',\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Message } from 'primeng/components/common/message';\n\n@Injectable({ providedIn: 'root' })\nexport class ToasterService extends AbstractToaster {\n addAll(messages: Message[]): void {\n this.messageService.addAll(messages.map(message => ({ key: this.key, ...message })));\n }\n}\n"],"names":["tslib_1.__extends","ErrorComponent"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/lib/components/button/button.component.d.ts b/npm/ng-packs/dist/theme-shared/lib/components/button/button.component.d.ts index a3ece15409..bbc4eb683a 100644 --- a/npm/ng-packs/dist/theme-shared/lib/components/button/button.component.d.ts +++ b/npm/ng-packs/dist/theme-shared/lib/components/button/button.component.d.ts @@ -1,15 +1,8 @@ -import { OnInit } from '@angular/core'; -import { Actions } from '@ngxs/store'; -export declare class ButtonComponent implements OnInit { - private actions; +export declare class ButtonComponent { buttonClass: string; buttonType: string; iconClass: string; loading: boolean; disabled: boolean; - requestType: string | string[]; - requestURLContainSearchValue: string; readonly icon: string; - constructor(actions: Actions); - ngOnInit(): void; } diff --git a/npm/ng-packs/dist/theme-shared/lib/contants/styles.d.ts b/npm/ng-packs/dist/theme-shared/lib/contants/styles.d.ts index cfc632a8cf..1d18808ead 100644 --- a/npm/ng-packs/dist/theme-shared/lib/contants/styles.d.ts +++ b/npm/ng-packs/dist/theme-shared/lib/contants/styles.d.ts @@ -1,2 +1,2 @@ -declare const _default: "\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 200px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/*