@vendure/admin-ui 1.8.2 → 1.8.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/vendure-admin-ui-catalog.umd.js +4 -0
- package/bundles/vendure-admin-ui-catalog.umd.js.map +1 -1
- package/bundles/vendure-admin-ui-core.umd.js +9 -2
- package/bundles/vendure-admin-ui-core.umd.js.map +1 -1
- package/bundles/vendure-admin-ui-customer.umd.js +4 -1
- package/bundles/vendure-admin-ui-customer.umd.js.map +1 -1
- package/bundles/vendure-admin-ui-settings.umd.js.map +1 -1
- package/core/common/version.d.ts +1 -1
- package/core/vendure-admin-ui-core.metadata.json +1 -1
- package/esm2015/catalog/components/facet-detail/facet-detail.component.js +5 -1
- package/esm2015/core/common/generated-types.js +1 -1
- package/esm2015/core/common/introspection-result.js +1 -1
- package/esm2015/core/common/version.js +2 -2
- package/esm2015/core/data/data.module.js +8 -1
- package/esm2015/core/shared/components/custom-field-control/custom-field-control.component.js +2 -2
- package/esm2015/core/shared/pipes/custom-field-description.pipe.js +1 -1
- package/esm2015/core/shared/shared.module.js +1 -1
- package/esm2015/customer/components/customer-detail/customer-detail.component.js +2 -1
- package/esm2015/customer/providers/routing/customer-resolver.js +5 -3
- package/esm2015/settings/components/zone-detail-dialog/zone-detail-dialog.component.js +1 -1
- package/fesm2015/vendure-admin-ui-catalog.js +4 -0
- package/fesm2015/vendure-admin-ui-catalog.js.map +1 -1
- package/fesm2015/vendure-admin-ui-core.js +9 -2
- package/fesm2015/vendure-admin-ui-core.js.map +1 -1
- package/fesm2015/vendure-admin-ui-customer.js +4 -1
- package/fesm2015/vendure-admin-ui-customer.js.map +1 -1
- package/fesm2015/vendure-admin-ui-settings.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vendure-admin-ui-settings.umd.js","sources":["../../src/lib/settings/src/components/add-country-to-zone-dialog/add-country-to-zone-dialog.component.ts","../../node_modules/tslib/tslib.es6.js","../../src/lib/settings/src/components/admin-detail/admin-detail.component.ts","../../src/lib/settings/src/components/administrator-list/administrator-list.component.ts","../../src/lib/settings/src/components/channel-detail/channel-detail.component.ts","../../src/lib/settings/src/components/channel-list/channel-list.component.ts","../../src/lib/settings/src/components/country-detail/country-detail.component.ts","../../src/lib/settings/src/components/country-list/country-list.component.ts","../../src/lib/settings/src/components/global-settings/global-settings.component.ts","../../src/lib/settings/src/components/payment-method-detail/payment-method-detail.component.ts","../../src/lib/settings/src/components/payment-method-list/payment-method-list.component.ts","../../src/lib/settings/src/components/permission-grid/permission-grid.component.ts","../../src/lib/settings/src/components/profile/profile.component.ts","../../src/lib/settings/src/components/role-detail/role-detail.component.ts","../../src/lib/settings/src/components/role-list/role-list.component.ts","../../src/lib/settings/src/components/shipping-eligibility-test-result/shipping-eligibility-test-result.component.ts","../../src/lib/settings/src/components/shipping-method-detail/shipping-method-detail.component.ts","../../src/lib/settings/src/components/shipping-method-list/shipping-method-list.component.ts","../../src/lib/settings/src/components/shipping-method-test-result/shipping-method-test-result.component.ts","../../src/lib/settings/src/components/tax-category-detail/tax-category-detail.component.ts","../../src/lib/settings/src/components/tax-category-list/tax-category-list.component.ts","../../src/lib/settings/src/components/tax-rate-detail/tax-rate-detail.component.ts","../../src/lib/settings/src/components/tax-rate-list/tax-rate-list.component.ts","../../src/lib/settings/src/components/test-address-form/test-address-form.component.ts","../../src/lib/settings/src/components/test-order-builder/test-order-builder.component.ts","../../src/lib/settings/src/components/zone-detail-dialog/zone-detail-dialog.component.ts","../../src/lib/settings/src/components/zone-list/zone-list.component.ts","../../src/lib/settings/src/components/zone-member-list/zone-member-controls.directive.ts","../../src/lib/settings/src/components/zone-member-list/zone-member-list-header.directive.ts","../../src/lib/settings/src/components/zone-member-list/zone-member-list.component.ts","../../src/lib/settings/src/providers/routing/administrator-resolver.ts","../../src/lib/settings/src/providers/routing/channel-resolver.ts","../../src/lib/settings/src/providers/routing/country-resolver.ts","../../src/lib/settings/src/providers/routing/global-settings-resolver.ts","../../src/lib/settings/src/providers/routing/payment-method-resolver.ts","../../src/lib/settings/src/providers/routing/profile-resolver.ts","../../src/lib/settings/src/providers/routing/role-resolver.ts","../../src/lib/settings/src/providers/routing/shipping-method-resolver.ts","../../src/lib/settings/src/providers/routing/tax-category-resolver.ts","../../src/lib/settings/src/providers/routing/tax-rate-resolver.ts","../../src/lib/settings/src/settings.routes.ts","../../src/lib/settings/src/settings.module.ts","../../src/lib/settings/src/public_api.ts","../../src/lib/settings/src/vendure-admin-ui-settings.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\nimport { DataService, Dialog, GetCountryList, GetZones } from '@vendure/admin-ui/core';\r\nimport { Observable } from 'rxjs';\r\nimport { filter, map } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'vdr-add-country-to-zone-dialog',\r\n templateUrl: './add-country-to-zone-dialog.component.html',\r\n styleUrls: ['./add-country-to-zone-dialog.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class AddCountryToZoneDialogComponent implements Dialog<string[]>, OnInit {\r\n resolveWith: (result?: string[]) => void;\r\n zoneName: string;\r\n currentMembers: GetZones.Members[] = [];\r\n availableCountries$: Observable<GetCountryList.Items[]>;\r\n selectedMemberIds: string[] = [];\r\n\r\n constructor(private dataService: DataService) {}\r\n\r\n ngOnInit(): void {\r\n const currentMemberIds = this.currentMembers.map(m => m.id);\r\n this.availableCountries$ = this.dataService.settings\r\n .getCountries(999)\r\n .mapStream(data => data.countries.items)\r\n .pipe(map(countries => countries.filter(c => !currentMemberIds.includes(c.id))));\r\n }\r\n\r\n cancel() {\r\n this.resolveWith();\r\n }\r\n\r\n add() {\r\n this.resolveWith(this.selectedMemberIds);\r\n }\r\n}\r\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\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 function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\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) : adopt(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 var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") 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 throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\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\n/** @deprecated */\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\n/** @deprecated */\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 __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\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\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\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 (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, 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\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\r\nimport { BaseDetailComponent, CustomFieldConfig, PermissionDefinition } from '@vendure/admin-ui/core';\r\nimport {\r\n Administrator,\r\n CreateAdministratorInput,\r\n GetAdministrator,\r\n LanguageCode,\r\n Permission,\r\n Role,\r\n RoleFragment,\r\n UpdateAdministratorInput,\r\n} from '@vendure/admin-ui/core';\r\nimport { NotificationService } from '@vendure/admin-ui/core';\r\nimport { DataService } from '@vendure/admin-ui/core';\r\nimport { ServerConfigService } from '@vendure/admin-ui/core';\r\nimport { CUSTOMER_ROLE_CODE } from '@vendure/common/lib/shared-constants';\r\nimport { Observable } from 'rxjs';\r\nimport { mergeMap, take } from 'rxjs/operators';\r\n\r\nexport interface PermissionsByChannel {\r\n channelId: string;\r\n channelCode: string;\r\n permissions: { [K in Permission]: boolean };\r\n}\r\n\r\n@Component({\r\n selector: 'vdr-admin-detail',\r\n templateUrl: './admin-detail.component.html',\r\n styleUrls: ['./admin-detail.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class AdminDetailComponent\r\n extends BaseDetailComponent<GetAdministrator.Administrator>\r\n implements OnInit, OnDestroy\r\n{\r\n customFields: CustomFieldConfig[];\r\n administrator$: Observable<GetAdministrator.Administrator>;\r\n permissionDefinitions: PermissionDefinition[];\r\n allRoles$: Observable<Role.Fragment[]>;\r\n selectedRoles: Role.Fragment[] = [];\r\n detailForm: FormGroup;\r\n selectedRolePermissions: { [channelId: string]: PermissionsByChannel } = {} as any;\r\n selectedChannelId: string | null = null;\r\n\r\n getAvailableChannels(): PermissionsByChannel[] {\r\n return Object.values(this.selectedRolePermissions);\r\n }\r\n\r\n constructor(\r\n router: Router,\r\n route: ActivatedRoute,\r\n serverConfigService: ServerConfigService,\r\n private changeDetector: ChangeDetectorRef,\r\n protected dataService: DataService,\r\n private formBuilder: FormBuilder,\r\n private notificationService: NotificationService,\r\n ) {\r\n super(route, router, serverConfigService, dataService);\r\n this.customFields = this.getCustomFieldConfig('Administrator');\r\n this.detailForm = this.formBuilder.group({\r\n emailAddress: ['', Validators.required],\r\n firstName: ['', Validators.required],\r\n lastName: ['', Validators.required],\r\n password: [''],\r\n roles: [[]],\r\n customFields: this.formBuilder.group(\r\n this.customFields.reduce((hash, field) => ({ ...hash, [field.name]: '' }), {}),\r\n ),\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.init();\r\n this.administrator$ = this.entity$;\r\n this.allRoles$ = this.dataService.administrator\r\n .getRoles(999)\r\n .mapStream(item => item.roles.items.filter(i => i.code !== CUSTOMER_ROLE_CODE));\r\n this.dataService.client.userStatus().single$.subscribe(({ userStatus }) => {\r\n if (!userStatus.permissions.includes(Permission.UpdateAdministrator)) {\r\n const rolesSelect = this.detailForm.get('roles');\r\n if (rolesSelect) {\r\n rolesSelect.disable();\r\n }\r\n }\r\n });\r\n this.permissionDefinitions = this.serverConfigService.getPermissionDefinitions();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy();\r\n }\r\n\r\n rolesChanged(roles: Role[]) {\r\n this.buildPermissionsMap();\r\n }\r\n\r\n getPermissionsForSelectedChannel(): string[] {\r\n function getActivePermissions(input: PermissionsByChannel['permissions']): string[] {\r\n return Object.entries(input)\r\n .filter(([permission, active]) => active)\r\n .map(([permission, active]) => permission);\r\n }\r\n if (this.selectedChannelId) {\r\n const selectedChannel = this.selectedRolePermissions[this.selectedChannelId];\r\n if (selectedChannel) {\r\n const permissionMap = this.selectedRolePermissions[this.selectedChannelId].permissions;\r\n return getActivePermissions(permissionMap);\r\n }\r\n }\r\n const channels = Object.values(this.selectedRolePermissions);\r\n if (0 < channels.length) {\r\n this.selectedChannelId = channels[0].channelId;\r\n return getActivePermissions(channels[0].permissions);\r\n }\r\n return [];\r\n }\r\n\r\n create() {\r\n const formValue = this.detailForm.value;\r\n const administrator: CreateAdministratorInput = {\r\n emailAddress: formValue.emailAddress,\r\n firstName: formValue.firstName,\r\n lastName: formValue.lastName,\r\n password: formValue.password,\r\n customFields: formValue.customFields,\r\n roleIds: formValue.roles.map(role => role.id),\r\n };\r\n this.dataService.administrator.createAdministrator(administrator).subscribe(\r\n data => {\r\n this.notificationService.success(_('common.notify-create-success'), {\r\n entity: 'Administrator',\r\n });\r\n this.detailForm.markAsPristine();\r\n this.changeDetector.markForCheck();\r\n this.router.navigate(['../', data.createAdministrator.id], { relativeTo: this.route });\r\n },\r\n err => {\r\n this.notificationService.error(_('common.notify-create-error'), {\r\n entity: 'Administrator',\r\n });\r\n },\r\n );\r\n }\r\n\r\n save() {\r\n this.administrator$\r\n .pipe(\r\n take(1),\r\n mergeMap(({ id }) => {\r\n const formValue = this.detailForm.value;\r\n const administrator: UpdateAdministratorInput = {\r\n id,\r\n emailAddress: formValue.emailAddress,\r\n firstName: formValue.firstName,\r\n lastName: formValue.lastName,\r\n password: formValue.password,\r\n customFields: formValue.customFields,\r\n roleIds: formValue.roles.map(role => role.id),\r\n };\r\n return this.dataService.administrator.updateAdministrator(administrator);\r\n }),\r\n )\r\n .subscribe(\r\n data => {\r\n this.notificationService.success(_('common.notify-update-success'), {\r\n entity: 'Administrator',\r\n });\r\n this.detailForm.markAsPristine();\r\n this.changeDetector.markForCheck();\r\n },\r\n err => {\r\n this.notificationService.error(_('common.notify-update-error'), {\r\n entity: 'Administrator',\r\n });\r\n },\r\n );\r\n }\r\n\r\n protected setFormValues(administrator: Administrator, languageCode: LanguageCode): void {\r\n this.detailForm.patchValue({\r\n emailAddress: administrator.emailAddress,\r\n firstName: administrator.firstName,\r\n lastName: administrator.lastName,\r\n roles: administrator.user.roles,\r\n });\r\n if (this.customFields.length) {\r\n this.setCustomFieldFormValues(\r\n this.customFields,\r\n this.detailForm.get(['customFields']),\r\n administrator,\r\n );\r\n }\r\n const passwordControl = this.detailForm.get('password');\r\n if (passwordControl) {\r\n if (!administrator.id) {\r\n passwordControl.setValidators([Validators.required]);\r\n } else {\r\n passwordControl.setValidators([]);\r\n }\r\n }\r\n this.buildPermissionsMap();\r\n }\r\n\r\n private buildPermissionsMap() {\r\n const permissionsControl = this.detailForm.get('roles');\r\n if (permissionsControl) {\r\n const roles: RoleFragment[] = permissionsControl.value;\r\n const channelIdPermissionsMap = new Map<string, Set<Permission>>();\r\n const channelIdCodeMap = new Map<string, string>();\r\n\r\n for (const role of roles) {\r\n for (const channel of role.channels) {\r\n const channelPermissions = channelIdPermissionsMap.get(channel.id);\r\n const permissionSet = channelPermissions || new Set<Permission>();\r\n\r\n role.permissions.forEach(p => permissionSet.add(p));\r\n channelIdPermissionsMap.set(channel.id, permissionSet);\r\n channelIdCodeMap.set(channel.id, channel.code);\r\n }\r\n }\r\n\r\n this.selectedRolePermissions = {} as any;\r\n for (const channelId of Array.from(channelIdPermissionsMap.keys())) {\r\n // tslint:disable-next-line:no-non-null-assertion\r\n const permissionSet = channelIdPermissionsMap.get(channelId)!;\r\n const permissionsHash: { [K in Permission]: boolean } = {} as any;\r\n for (const def of this.serverConfigService.getPermissionDefinitions()) {\r\n permissionsHash[def.name] = permissionSet.has(def.name as Permission);\r\n }\r\n this.selectedRolePermissions[channelId] = {\r\n // tslint:disable:no-non-null-assertion\r\n channelId,\r\n channelCode: channelIdCodeMap.get(channelId)!,\r\n permissions: permissionsHash,\r\n // tslint:enable:no-non-null-assertion\r\n };\r\n }\r\n }\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\r\nimport {\r\n BaseListComponent,\r\n DataService,\r\n GetAdministrators,\r\n ModalService,\r\n NotificationService,\r\n} from '@vendure/admin-ui/core';\r\nimport { EMPTY } from 'rxjs';\r\nimport { switchMap } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'vdr-administrator-list',\r\n templateUrl: './administrator-list.component.html',\r\n styleUrls: ['./administrator-list.component.scss'],\r\n})\r\nexport class AdministratorListComponent extends BaseListComponent<\r\n GetAdministrators.Query,\r\n GetAdministrators.Items\r\n> {\r\n constructor(\r\n private dataService: DataService,\r\n router: Router,\r\n route: ActivatedRoute,\r\n private modalService: ModalService,\r\n private notificationService: NotificationService,\r\n ) {\r\n super(router, route);\r\n super.setQueryFn(\r\n (...args: any[]) => this.dataService.administrator.getAdministrators(...args),\r\n (data) => data.administrators,\r\n );\r\n }\r\n\r\n deleteAdministrator(administrator: GetAdministrators.Items) {\r\n return this.modalService\r\n .dialog({\r\n title: _('catalog.confirm-delete-administrator'),\r\n body: `${administrator.firstName} ${administrator.lastName}`,\r\n buttons: [\r\n { type: 'secondary', label: _('common.cancel') },\r\n { type: 'danger', label: _('common.delete'), returnValue: true },\r\n ],\r\n })\r\n .pipe(\r\n switchMap((res) =>\r\n res ? this.dataService.administrator.deleteAdministrator(administrator.id) : EMPTY,\r\n ),\r\n )\r\n .subscribe(\r\n () => {\r\n this.notificationService.success(_('common.notify-delete-success'), {\r\n entity: 'Administrator',\r\n });\r\n this.refresh();\r\n },\r\n (err) => {\r\n this.notificationService.error(_('common.notify-delete-error'), {\r\n entity: 'Administrator',\r\n });\r\n },\r\n );\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\r\nimport { BaseDetailComponent, CustomFieldConfig, Permission } from '@vendure/admin-ui/core';\r\nimport {\r\n Channel,\r\n CreateChannelInput,\r\n CurrencyCode,\r\n GetZones,\r\n LanguageCode,\r\n UpdateChannelInput,\r\n} from '@vendure/admin-ui/core';\r\nimport { getDefaultUiLanguage } from '@vendure/admin-ui/core';\r\nimport { NotificationService } from '@vendure/admin-ui/core';\r\nimport { DataService } from '@vendure/admin-ui/core';\r\nimport { ServerConfigService } from '@vendure/admin-ui/core';\r\nimport { DEFAULT_CHANNEL_CODE } from '@vendure/common/lib/shared-constants';\r\nimport { Observable } from 'rxjs';\r\nimport { map, mergeMap, take } from 'rxjs/operators';\r\n@Component({\r\n selector: 'vdr-channel-detail',\r\n templateUrl: './channel-detail.component.html',\r\n styleUrls: ['./channel-detail.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ChannelDetailComponent\r\n extends BaseDetailComponent<Channel.Fragment>\r\n implements OnInit, OnDestroy\r\n{\r\n customFields: CustomFieldConfig[];\r\n zones$: Observable<GetZones.Zones[]>;\r\n detailForm: FormGroup;\r\n currencyCodes = Object.values(CurrencyCode);\r\n availableLanguageCodes$: Observable<LanguageCode[]>;\r\n readonly updatePermission = [Permission.SuperAdmin, Permission.UpdateChannel, Permission.CreateChannel];\r\n\r\n constructor(\r\n router: Router,\r\n route: ActivatedRoute,\r\n protected serverConfigService: ServerConfigService,\r\n private changeDetector: ChangeDetectorRef,\r\n protected dataService: DataService,\r\n private formBuilder: FormBuilder,\r\n private notificationService: NotificationService,\r\n ) {\r\n super(route, router, serverConfigService, dataService);\r\n this.customFields = this.getCustomFieldConfig('Channel');\r\n this.detailForm = this.formBuilder.group({\r\n code: ['', Validators.required],\r\n token: ['', Validators.required],\r\n pricesIncludeTax: [false],\r\n currencyCode: [''],\r\n defaultShippingZoneId: ['', Validators.required],\r\n defaultLanguageCode: [],\r\n defaultTaxZoneId: ['', Validators.required],\r\n customFields: this.formBuilder.group(\r\n this.customFields.reduce((hash, field) => ({ ...hash, [field.name]: '' }), {}),\r\n ),\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.init();\r\n this.zones$ = this.dataService.settings.getZones().mapSingle(data => data.zones);\r\n this.availableLanguageCodes$ = this.serverConfigService.getAvailableLanguages();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroy();\r\n }\r\n\r\n saveButtonEnabled(): boolean {\r\n return this.detailForm.dirty && this.detailForm.valid;\r\n }\r\n\r\n create() {\r\n if (!this.detailForm.dirty) {\r\n return;\r\n }\r\n const formValue = this.detailForm.value;\r\n const input: CreateChannelInput = {\r\n code: formValue.code,\r\n token: formValue.token,\r\n defaultLanguageCode: formValue.defaultLanguageCode,\r\n pricesIncludeTax: formValue.pricesIncludeTax,\r\n currencyCode: formValue.currencyCode,\r\n defaultShippingZoneId: formValue.defaultShippingZoneId,\r\n defaultTaxZoneId: formValue.defaultTaxZoneId,\r\n customFields: formValue.customFields,\r\n };\r\n this.dataService.settings\r\n .createChannel(input)\r\n .pipe(\r\n mergeMap(({ createChannel }) =>\r\n this.dataService.auth.currentUser().single$.pipe(\r\n map(({ me }) => ({\r\n me,\r\n createChannel,\r\n })),\r\n ),\r\n ),\r\n mergeMap(({ me, createChannel }) =>\r\n // tslint:disable-next-line:no-non-null-assertion\r\n this.dataService.client.updateUserChannels(me!.channels).pipe(map(() => createChannel)),\r\n ),\r\n )\r\n .subscribe(data => {\r\n switch (data.__typename) {\r\n case 'Channel':\r\n this.notificationService.success(_('common.notify-create-success'), {\r\n entity: 'Channel',\r\n });\r\n this.detailForm.markAsPristine();\r\n this.changeDetector.markForCheck();\r\n this.router.navigate(['../', data.id], { relativeTo: this.route });\r\n break;\r\n case 'LanguageNotAvailableError':\r\n this.notificationService.error(data.message);\r\n break;\r\n }\r\n });\r\n }\r\n\r\n save() {\r\n if (!this.detailForm.dirty) {\r\n return;\r\n }\r\n const formValue = this.detailForm.value;\r\n this.entity$\r\n .pipe(\r\n take(1),\r\n mergeMap(channel => {\r\n const input = {\r\n id: channel.id,\r\n code: formValue.code,\r\n token: formValue.token,\r\n pricesIncludeTax: formValue.pricesIncludeTax,\r\n currencyCode: formValue.currencyCode,\r\n defaultShippingZoneId: formValue.defaultShippingZoneId,\r\n defaultLanguageCode: formValue.defaultLanguageCode,\r\n defaultTaxZoneId: formValue.defaultTaxZoneId,\r\n customFields: formValue.customFields,\r\n } as UpdateChannelInput;\r\n return this.dataService.settings.updateChannel(input);\r\n }),\r\n )\r\n .subscribe(({ updateChannel }) => {\r\n switch (updateChannel.__typename) {\r\n case 'Channel':\r\n this.notificationService.success(_('common.notify-update-success'), {\r\n entity: 'Channel',\r\n });\r\n this.detailForm.markAsPristine();\r\n this.changeDetector.markForCheck();\r\n break;\r\n case 'LanguageNotAvailableError':\r\n this.notificationService.error(updateChannel.message);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Update the form values when the entity changes.\r\n */\r\n protected setFormValues(entity: Channel.Fragment, languageCode: LanguageCode): void {\r\n this.detailForm.patchValue({\r\n code: entity.code,\r\n token: entity.token || this.generateToken(),\r\n pricesIncludeTax: entity.pricesIncludeTax,\r\n currencyCode: entity.currencyCode,\r\n defaultShippingZoneId: entity.defaultShippingZone ? entity.defaultShippingZone.id : '',\r\n defaultLanguageCode: entity.defaultLanguageCode,\r\n defaultTaxZoneId: entity.defaultTaxZone ? entity.defaultTaxZone.id : '',\r\n });\r\n if (this.customFields.length) {\r\n this.setCustomFieldFormValues(this.customFields, this.detailForm.get(['customFields']), entity);\r\n }\r\n if (entity.code === DEFAULT_CHANNEL_CODE) {\r\n const codeControl = this.detailForm.get('code');\r\n if (codeControl) {\r\n codeControl.disable();\r\n }\r\n }\r\n }\r\n\r\n private generateToken(): string {\r\n const randomString = () => Math.random().toString(36).substr(3, 10);\r\n return `${randomString()}${randomString()}`;\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\r\nimport { DEFAULT_CHANNEL_CODE } from '@vendure/common/lib/shared-constants';\r\nimport { EMPTY, Observable, Subject } from 'rxjs';\r\nimport { mergeMap, startWith, switchMap } from 'rxjs/operators';\r\n\r\nimport { Channel } from '@vendure/admin-ui/core';\r\nimport { NotificationService } from '@vendure/admin-ui/core';\r\nimport { DataService } from '@vendure/admin-ui/core';\r\nimport { ModalService } from '@vendure/admin-ui/core';\r\n\r\n@Component({\r\n selector: 'vdr-channel-list',\r\n templateUrl: './channel-list.component.html',\r\n styleUrls: ['./channel-list.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ChannelListComponent {\r\n channels$: Observable<Channel.Fragment[]>;\r\n private refresh$ = new Subject();\r\n\r\n constructor(\r\n private dataService: DataService,\r\n private modalService: ModalService,\r\n private notificationService: NotificationService,\r\n ) {\r\n this.channels$ = this.refresh$.pipe(\r\n startWith(1),\r\n switchMap(() => this.dataService.settings.getChannels().mapStream(data => data.channels)),\r\n );\r\n }\r\n\r\n isDefaultChannel(channelCode: string): boolean {\r\n return channelCode === DEFAULT_CHANNEL_CODE;\r\n }\r\n\r\n deleteChannel(id: string) {\r\n this.modalService\r\n .dialog({\r\n title: _('catalog.confirm-delete-channel'),\r\n buttons: [\r\n { type: 'secondary', label: _('common.cancel') },\r\n { type: 'danger', label: _('common.delete'), returnValue: true },\r\n ],\r\n })\r\n .pipe(\r\n switchMap(response => (response ? this.dataService.settings.deleteChannel(id) : EMPTY)),\r\n mergeMap(() => this.dataService.auth.currentUser().single$),\r\n // tslint:disable-next-line:no-non-null-assertion\r\n mergeMap(data => this.dataService.client.updateUserChannels(data.me!.channels)),\r\n )\r\n .subscribe(\r\n () => {\r\n this.notificationService.success(_('common.notify-delete-success'), {\r\n entity: 'Channel',\r\n });\r\n this.refresh$.next(1);\r\n },\r\n err => {\r\n this.notificationService.error(_('common.notify-delete-error'), {\r\n entity: 'Channel',\r\n });\r\n },\r\n );\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\r\nimport {\r\n BaseDetailComponent,\r\n Country,\r\n CreateCountryInput,\r\n createUpdatedTranslatable,\r\n CustomFieldConfig,\r\n DataService,\r\n findTranslation,\r\n LanguageCode,\r\n NotificationService,\r\n Permission,\r\n ServerConfigService,\r\n UpdateCountryInput,\r\n} from '@vendure/admin-ui/core';\r\nimport { combineLatest, Observable } from 'rxjs';\r\nimport { mergeMap, take } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'vdr-country-detail',\r\n templateUrl: './country-detail.component.html',\r\n styleUrls: ['./country-detail.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class CountryDetailComponent\r\n extends BaseDetailComponent<Country.Fragment>\r\n implements OnInit, OnDestroy\r\n{\r\n country$: Observable<Country.Fragment>;\r\n detailForm: FormGroup;\r\n customFields: CustomFieldConfig[];\r\n readonly updatePermission = [Permission.UpdateSettings, Permission.UpdateCountry];\r\n\r\n constructor(\r\n router: Router,\r\n route: ActivatedRoute,\r\n serverConfigService: ServerConfigService,\r\n private changeDetector: ChangeDetectorRef,\r\n protected dataService: DataService,\r\n private formBuilder: FormBuilder,\r\n private notificationService: NotificationService,\r\n ) {\r\n super(route, router, serverConfigService, dataService);\r\n this.customFields = this.getCustomFieldConfig('Country');\r\n this.detailForm = this.formBuilder.group({\r\n code: ['', Validators.required],\r\n name: ['', Validators.required],\r\n enabled: [true],\r\n customFields: this.formBuilder.group(\r\n this.customFields.reduce((hash, field) => ({ ...hash, [field.name]: '' }), {}),\r\n ),\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.init();\r\n this.country$ = this.entity$;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy();\r\n }\r\n\r\n create() {\r\n if (!this.detailForm.dirty) {\r\n return;\r\n }\r\n combineLatest(this.country$, this.languageCode$)\r\n .pipe(\r\n take(1),\r\n mergeMap(([country, languageCode]) => {\r\n const formValue = this.detailForm.value;\r\n const input: CreateCountryInput = createUpdatedTranslatable({\r\n translatable: country,\r\n updatedFields: formValue,\r\n customFieldConfig: this.customFields,\r\n languageCode,\r\n defaultTranslation: {\r\n name: formValue.name,\r\n languageCode,\r\n },\r\n });\r\n return this.dataService.settings.createCountry(input);\r\n }),\r\n )\r\n .subscribe(\r\n data => {\r\n this.notificationService.success(_('common.notify-create-success'), {\r\n entity: 'Country',\r\n });\r\n this.detailForm.markAsPristine();\r\n this.changeDetector.markForCheck();\r\n this.router.navigate(['../', data.createCountry.id], { relativeTo: this.route });\r\n },\r\n err => {\r\n this.notificationService.error(_('common.notify-create-error'), {\r\n entity: 'Country',\r\n });\r\n },\r\n );\r\n }\r\n\r\n save() {\r\n combineLatest(this.country$, this.languageCode$)\r\n .pipe(\r\n take(1),\r\n mergeMap(([country, languageCode]) => {\r\n const formValue = this.detailForm.value;\r\n const input: UpdateCountryInput = createUpdatedTranslatable({\r\n translatable: country,\r\n updatedFields: formValue,\r\n customFieldConfig: this.customFields,\r\n languageCode,\r\n defaultTranslation: {\r\n name: formValue.name,\r\n languageCode,\r\n },\r\n });\r\n return this.dataService.settings.updateCountry(input);\r\n }),\r\n )\r\n .subscribe(\r\n data => {\r\n this.notificationService.success(_('common.notify-update-success'), {\r\n entity: 'Country',\r\n });\r\n this.detailForm.markAsPristine();\r\n this.changeDetector.markForCheck();\r\n },\r\n err => {\r\n this.notificationService.error(_('common.notify-update-error'), {\r\n entity: 'Country',\r\n });\r\n },\r\n );\r\n }\r\n\r\n protected setFormValues(country: Country, languageCode: LanguageCode): void {\r\n const currentTranslation = findTranslation(country, languageCode);\r\n\r\n this.detailForm.patchValue({\r\n code: country.code,\r\n name: currentTranslation ? currentTranslation.name : '',\r\n enabled: country.enabled,\r\n });\r\n\r\n if (this.customFields.length) {\r\n this.setCustomFieldFormValues(\r\n this.customFields,\r\n this.detailForm.get(['customFields']),\r\n country,\r\n currentTranslation,\r\n );\r\n }\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\r\nimport {\r\n DataService,\r\n DeletionResult,\r\n GetCountryList,\r\n GetZones,\r\n LanguageCode,\r\n ModalService,\r\n NotificationService,\r\n ServerConfigService,\r\n Zone,\r\n} from '@vendure/admin-ui/core';\r\nimport { combineLatest, EMPTY, Observable, Subject } from 'rxjs';\r\nimport { map, startWith, switchMap, tap } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'vdr-country-list',\r\n templateUrl: './country-list.component.html',\r\n styleUrls: ['./country-list.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class CountryListComponent implements OnInit, OnDestroy {\r\n searchTerm = new FormControl('');\r\n countriesWithZones$: Observable<Array<GetCountryList.Items & { zones: GetZones.Zones[] }>>;\r\n zones$: Observable<GetZones.Zones[]>;\r\n availableLanguages$: Observable<LanguageCode[]>;\r\n contentLanguage$: Observable<LanguageCode>;\r\n\r\n private countries: GetCountryList.Items[] = [];\r\n private destroy$ = new Subject<void>();\r\n private refresh$ = new Subject<void>();\r\n\r\n constructor(\r\n private dataService: DataService,\r\n private notificationService: NotificationService,\r\n private modalService: ModalService,\r\n private serverConfigService: ServerConfigService,\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.contentLanguage$ = this.dataService.client\r\n .uiState()\r\n .mapStream(({ uiState }) => uiState.contentLanguage);\r\n\r\n const countries$ = combineLatest(\r\n this.contentLanguage$,\r\n this.searchTerm.valueChanges.pipe(startWith(null)),\r\n ).pipe(\r\n map(([__, term]) => term),\r\n switchMap(term => this.dataService.settings.getCountries(999, 0, term).single$),\r\n tap(data => {\r\n this.countries = data.countries.items;\r\n }),\r\n map(data => data.countries.items),\r\n );\r\n\r\n this.zones$ = this.dataService.settings.getZones().mapStream(data => data.zones);\r\n\r\n this.countriesWithZones$ = combineLatest(countries$, this.zones$).pipe(\r\n map(([countries, zones]) => {\r\n return countries.map(country => ({\r\n ...country,\r\n zones: zones.filter(z => !!z.members.find(c => c.id === country.id)),\r\n }));\r\n }),\r\n );\r\n\r\n this.availableLanguages$ = this.serverConfigService.getAvailableLanguages();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroy$.next(undefined);\r\n this.destroy$.complete();\r\n }\r\n\r\n setLanguage(code: LanguageCode) {\r\n this.dataService.client.setContentLanguage(code).subscribe();\r\n }\r\n\r\n deleteCountry(countryId: string) {\r\n this.modalService\r\n .dialog({\r\n title: _('catalog.confirm-delete-country'),\r\n buttons: [\r\n { type: 'secondary', label: _('common.cancel') },\r\n { type: 'danger', label: _('common.delete'), returnValue: true },\r\n ],\r\n })\r\n .pipe(\r\n switchMap(response =>\r\n response ? this.dataService.settings.deleteCountry(countryId) : EMPTY,\r\n ),\r\n )\r\n .subscribe(\r\n response => {\r\n if (response.deleteCountry.result === DeletionResult.DELETED) {\r\n this.notificationService.success(_('common.notify-delete-success'), {\r\n entity: 'Country',\r\n });\r\n this.dataService.settings.getCountries(999, 0).single$.subscribe();\r\n } else {\r\n this.notificationService.error(response.deleteCountry.message || '');\r\n }\r\n },\r\n err => {\r\n this.notificationService.error(_('common.notify-delete-error'), {\r\n entity: 'Country',\r\n });\r\n },\r\n );\r\n }\r\n\r\n private isZone(input: Zone.Fragment | { name: string } | string): input is Zone.Fragment {\r\n return input.hasOwnProperty('id');\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\r\nimport {\r\n BaseDetailComponent,\r\n CustomFieldConfig,\r\n DataService,\r\n GlobalSettings,\r\n LanguageCode,\r\n NotificationService,\r\n Permission,\r\n ServerConfigService,\r\n} from '@vendure/admin-ui/core';\r\nimport { switchMap, tap, withLatestFrom } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'vdr-global-settings',\r\n templateUrl: './global-settings.component.html',\r\n styleUrls: ['./global-settings.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class GlobalSettingsComponent extends BaseDetailComponent<GlobalSettings> implements OnInit {\r\n detailForm: FormGroup;\r\n customFields: CustomFieldConfig[];\r\n languageCodes = Object.values(LanguageCode);\r\n readonly updatePermission = [Permission.UpdateSettings, Permission.UpdateGlobalSettings];\r\n\r\n constructor(\r\n router: Router,\r\n route: ActivatedRoute,\r\n serverConfigService: ServerConfigService,\r\n private changeDetector: ChangeDetectorRef,\r\n protected dataService: DataService,\r\n private formBuilder: FormBuilder,\r\n private notificationService: NotificationService,\r\n ) {\r\n super(route, router, serverConfigService, dataService);\r\n this.customFields = this.getCustomFieldConfig('GlobalSettings');\r\n this.detailForm = this.formBuilder.group({\r\n availableLanguages: [''],\r\n trackInventory: false,\r\n outOfStockThreshold: [0, Validators.required],\r\n customFields: this.formBuilder.group(\r\n this.customFields.reduce((hash, field) => ({ ...hash, [field.name]: '' }), {}),\r\n ),\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.init();\r\n this.dataService.client.userStatus().single$.subscribe(({ userStatus }) => {\r\n if (!userStatus.permissions.includes(Permission.UpdateSettings)) {\r\n const languagesSelect = this.detailForm.get('availableLanguages');\r\n if (languagesSelect) {\r\n languagesSelect.disable();\r\n }\r\n }\r\n });\r\n }\r\n\r\n save() {\r\n if (!this.detailForm.dirty) {\r\n return;\r\n }\r\n\r\n this.dataService.settings\r\n .updateGlobalSettings(this.detailForm.value)\r\n .pipe(\r\n tap(({ updateGlobalSettings }) => {\r\n switch (updateGlobalSettings.__typename) {\r\n case 'GlobalSettings':\r\n this.detailForm.markAsPristine();\r\n this.changeDetector.markForCheck();\r\n this.notificationService.success(_('common.notify-update-success'), {\r\n entity: 'Settings',\r\n });\r\n break;\r\n case 'ChannelDefaultLanguageError':\r\n this.notificationService.error(updateGlobalSettings.message);\r\n }\r\n }),\r\n switchMap(() => this.serverConfigService.refreshGlobalSettings()),\r\n withLatestFrom(this.dataService.client.uiState().single$),\r\n )\r\n .subscribe(([{ globalSettings }, { uiState }]) => {\r\n const availableLangs = globalSettings.availableLanguages;\r\n if (availableLangs.length && !availableLangs.includes(uiState.contentLanguage)) {\r\n this.dataService.client.setContentLanguage(availableLangs[0]).subscribe();\r\n }\r\n });\r\n }\r\n\r\n protected setFormValues(entity: GlobalSettings, languageCode: LanguageCode): void {\r\n this.detailForm.patchValue({\r\n availableLanguages: entity.availableLanguages,\r\n trackInventory: entity.trackInventory,\r\n outOfStockThreshold: entity.outOfStockThreshold,\r\n });\r\n if (this.customFields.length) {\r\n this.setCustomFieldFormValues(this.customFields, this.detailForm.get('customFields'), entity);\r\n }\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\r\nimport {\r\n BaseDetailComponent,\r\n ConfigArgDefinition,\r\n configurableDefinitionToInstance,\r\n ConfigurableOperation,\r\n ConfigurableOperationDefinition,\r\n CreatePaymentMethodInput,\r\n CustomFieldConfig,\r\n DataService,\r\n encodeConfigArgValue,\r\n getConfigArgValue,\r\n NotificationService,\r\n PaymentMethod,\r\n Permission,\r\n ServerConfigService,\r\n toConfigurableOperationInput,\r\n UpdatePaymentMethodInput,\r\n} from '@vendure/admin-ui/core';\r\nimport { normalizeString } from '@vendure/common/lib/normalize-string';\r\nimport { combineLatest } from 'rxjs';\r\nimport { mergeMap, take } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'vdr-payment-method-detail',\r\n templateUrl: './payment-method-detail.component.html',\r\n styleUrls: ['./payment-method-detail.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class PaymentMethodDetailComponent\r\n extends BaseDetailComponent<PaymentMethod.Fragment>\r\n implements OnInit, OnDestroy\r\n{\r\n detailForm: FormGroup;\r\n customFields: CustomFieldConfig[];\r\n checkers: ConfigurableOperationDefinition[] = [];\r\n handlers: ConfigurableOperationDefinition[] = [];\r\n selectedChecker?: ConfigurableOperation | null;\r\n selectedCheckerDefinition?: ConfigurableOperationDefinition;\r\n selectedHandler?: ConfigurableOperation | null;\r\n selectedHandlerDefinition?: ConfigurableOperationDefinition;\r\n readonly updatePermission = [Permission.UpdateSettings, Permission.UpdatePaymentMethod];\r\n\r\n constructor(\r\n router: Router,\r\n route: ActivatedRoute,\r\n serverConfigService: ServerConfigService,\r\n private changeDetector: ChangeDetectorRef,\r\n protected dataService: DataService,\r\n private formBuilder: FormBuilder,\r\n private notificationService: NotificationService,\r\n ) {\r\n super(route, router, serverConfigService, dataService);\r\n this.customFields = this.getCustomFieldConfig('PaymentMethod');\r\n this.detailForm = this.formBuilder.group({\r\n code: ['', Validators.required],\r\n name: ['', Validators.required],\r\n description: '',\r\n enabled: [true, Validators.required],\r\n checker: {},\r\n handler: {},\r\n customFields: this.formBuilder.group(\r\n this.customFields.reduce((hash, field) => ({ ...hash, [field.name]: '' }), {}),\r\n ),\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.init();\r\n combineLatest([\r\n this.dataService.settings.getPaymentMethodOperations().single$,\r\n this.entity$.pipe(take(1)),\r\n ]).subscribe(([data, entity]) => {\r\n this.checkers = data.paymentMethodEligibilityCheckers;\r\n this.handlers = data.paymentMethodHandlers;\r\n this.changeDetector.markForCheck();\r\n this.selectedCheckerDefinition = data.paymentMethodEligibilityCheckers.find(\r\n c => c.code === (entity.checker && entity.checker.code),\r\n );\r\n this.selectedHandlerDefinition = data.paymentMethodHandlers.find(\r\n c => c.code === (entity.handler && entity.handler.code),\r\n );\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy();\r\n }\r\n\r\n updateCode(currentCode: string, nameValue: string) {\r\n if (!currentCode) {\r\n const codeControl = this.detailForm.get(['code']);\r\n if (codeControl && codeControl.pristine) {\r\n codeControl.setValue(normalizeString(nameValue, '-'));\r\n }\r\n }\r\n }\r\n\r\n configArgsIsPopulated(): boolean {\r\n const configArgsGroup = this.detailForm.get('configArgs') as FormGroup | undefined;\r\n if (!configArgsGroup) {\r\n return false;\r\n }\r\n return 0 < Object.keys(configArgsGroup.controls).length;\r\n }\r\n\r\n selectChecker(checker: ConfigurableOperationDefinition) {\r\n this.selectedCheckerDefinition = checker;\r\n this.selectedChecker = configurableDefinitionToInstance(checker);\r\n const formControl = this.detailForm.get('checker');\r\n if (formControl) {\r\n formControl.clearValidators();\r\n formControl.updateValueAndValidity({ onlySelf: true });\r\n formControl.patchValue(this.selectedChecker);\r\n }\r\n this.detailForm.markAsDirty();\r\n }\r\n\r\n selectHandler(handler: ConfigurableOperationDefinition) {\r\n this.selectedHandlerDefinition = handler;\r\n this.selectedHandler = configurableDefinitionToInstance(handler);\r\n const formControl = this.detailForm.get('handler');\r\n if (formControl) {\r\n formControl.clearValidators();\r\n formControl.updateValueAndValidity({ onlySelf: true });\r\n formControl.patchValue(this.selectedHandler);\r\n }\r\n this.detailForm.markAsDirty();\r\n }\r\n\r\n removeChecker() {\r\n this.selectedChecker = null;\r\n this.detailForm.markAsDirty();\r\n }\r\n\r\n removeHandler() {\r\n this.selectedHandler = null;\r\n this.detailForm.markAsDirty();\r\n }\r\n\r\n create() {\r\n const selectedChecker = this.selectedChecker;\r\n const selectedHandler = this.selectedHandler;\r\n if (!selectedHandler) {\r\n return;\r\n }\r\n this.entity$\r\n .pipe(\r\n take(1),\r\n mergeMap(({ id }) => {\r\n const formValue = this.detailForm.value;\r\n const input: CreatePaymentMethodInput = {\r\n name: formValue.name,\r\n code: formValue.code,\r\n description: formValue.description,\r\n enabled: formValue.enabled,\r\n checker: selectedChecker\r\n ? toConfigurableOperationInput(selectedChecker, formValue.checker)\r\n : null,\r\n handler: toConfigurableOperationInput(selectedHandler, formValue.handler),\r\n customFields: formValue.customFields,\r\n };\r\n return this.dataService.settings.createPaymentMethod(input);\r\n }),\r\n )\r\n .subscribe(\r\n data => {\r\n this.notificationService.success(_('common.notify-create-success'), {\r\n entity: 'PaymentMethod',\r\n });\r\n this.detailForm.markAsPristine();\r\n this.changeDetector.markForCheck();\r\n this.router.navigate(['../', data.createPaymentMethod.id], { relativeTo: this.route });\r\n },\r\n err => {\r\n this.notificationService.error(_('common.notify-create-error'), {\r\n entity: 'PaymentMethod',\r\n });\r\n },\r\n );\r\n }\r\n\r\n save() {\r\n const selectedChecker = this.selectedChecker;\r\n const selectedHandler = this.selectedHandler;\r\n if (!selectedHandler) {\r\n return;\r\n }\r\n this.entity$\r\n .pipe(\r\n take(1),\r\n mergeMap(({ id }) => {\r\n const formValue = this.detailForm.value;\r\n const input: UpdatePaymentMethodInput = {\r\n id,\r\n name: formValue.name,\r\n code: formValue.code,\r\n description: formValue.description,\r\n enabled: formValue.enabled,\r\n checker: selectedChecker\r\n ? toConfigurableOperationInput(selectedChecker, formValue.checker)\r\n : null,\r\n handler: toConfigurableOperationInput(selectedHandler, formValue.handler),\r\n customFields: formValue.customFields,\r\n };\r\n return this.dataService.settings.updatePaymentMethod(input);\r\n }),\r\n )\r\n .subscribe(\r\n data => {\r\n this.notificationService.success(_('common.notify-update-success'), {\r\n entity: 'PaymentMethod',\r\n });\r\n this.detailForm.markAsPristine();\r\n this.changeDetector.markForCheck();\r\n },\r\n err => {\r\n this.notificationService.error(_('common.notify-update-error'), {\r\n entity: 'PaymentMethod',\r\n });\r\n },\r\n );\r\n }\r\n\r\n protected setFormValues(paymentMethod: PaymentMethod.Fragment): void {\r\n this.detailForm.patchValue({\r\n name: paymentMethod.name,\r\n code: paymentMethod.code,\r\n description: paymentMethod.description,\r\n enabled: paymentMethod.enabled,\r\n checker: paymentMethod.checker || {},\r\n handler: paymentMethod.handler || {},\r\n });\r\n if (!this.selectedChecker) {\r\n this.selectedChecker = paymentMethod.checker && {\r\n code: paymentMethod.checker.code,\r\n args: paymentMethod.checker.args.map(a => ({ ...a, value: getConfigArgValue(a.value) })),\r\n };\r\n }\r\n if (!this.selectedHandler) {\r\n this.selectedHandler = paymentMethod.handler && {\r\n code: paymentMethod.handler.code,\r\n args: paymentMethod.handler.args.map(a => ({ ...a, value: getConfigArgValue(a.value) })),\r\n };\r\n }\r\n if (this.customFields.length) {\r\n this.setCustomFieldFormValues(\r\n this.customFields,\r\n this.detailForm.get('customFields'),\r\n paymentMethod,\r\n );\r\n }\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\r\nimport {\r\n BaseListComponent,\r\n DataService,\r\n DeletionResult,\r\n GetPaymentMethodList,\r\n ModalService,\r\n NotificationService,\r\n} from '@vendure/admin-ui/core';\r\nimport { EMPTY } from 'rxjs';\r\nimport { map, switchMap } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'vdr-payment-method-list',\r\n templateUrl: './payment-method-list.component.html',\r\n styleUrls: ['./payment-method-list.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class PaymentMethodListComponent extends BaseListComponent<\r\n GetPaymentMethodList.Query,\r\n GetPaymentMethodList.Items\r\n> {\r\n constructor(\r\n private dataService: DataService,\r\n router: Router,\r\n route: ActivatedRoute,\r\n private modalService: ModalService,\r\n private notificationService: NotificationService,\r\n ) {\r\n super(router, route);\r\n super.setQueryFn(\r\n (...args: any[]) => this.dataService.settings.getPaymentMethods(...args).refetchOnChannelChange(),\r\n data => data.paymentMethods,\r\n );\r\n }\r\n\r\n deletePaymentMethod(paymentMethodId: string) {\r\n this.showModalAndDelete(paymentMethodId)\r\n .pipe(\r\n switchMap(response => {\r\n if (response.result === DeletionResult.DELETED) {\r\n return [true];\r\n } else {\r\n return this.showModalAndDelete(paymentMethodId, response.message || '').pipe(\r\n map(r => r.result === DeletionResult.DELETED),\r\n );\r\n }\r\n }),\r\n // Refresh the cached facets to reflect the changes\r\n switchMap(() => this.dataService.settings.getPaymentMethods(100).single$),\r\n )\r\n .subscribe(\r\n () => {\r\n this.notificationService.success(_('common.notify-delete-success'), {\r\n entity: 'PaymentMethod',\r\n });\r\n this.refresh();\r\n },\r\n err => {\r\n this.notificationService.error(_('common.notify-delete-error'), {\r\n entity: 'PaymentMethod',\r\n });\r\n },\r\n );\r\n }\r\n\r\n private showModalAndDelete(paymentMethodId: string, message?: string) {\r\n return this.modalService\r\n .dialog({\r\n title: _('settings.confirm-delete-payment-method'),\r\n body: message,\r\n buttons: [\r\n { type: 'secondary', label: _('common.cancel') },\r\n { type: 'danger', label: _('common.delete'), returnValue: true },\r\n ],\r\n })\r\n .pipe(\r\n switchMap(res =>\r\n res ? this.dataService.settings.deletePaymentMethod(paymentMethodId, !!message) : EMPTY,\r\n ),\r\n map(res => res.deletePaymentMethod),\r\n );\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\nimport { PermissionDefinition } from '@vendure/admin-ui/core';\n\nexport interface PermissionGridRow {\n label: string;\n description: string;\n permissions: PermissionDefinition[];\n}\n\n/**\n * A table showing and allowing the setting of all possible CRUD permissions.\n */\n@Component({\n selector: 'vdr-permission-grid',\n templateUrl: './permission-grid.component.html',\n styleUrls: ['./permission-grid.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PermissionGridComponent implements OnInit {\n @Input() permissionDefinitions: PermissionDefinition[];\n @Input() activePermissions: string[];\n @Input() readonly = false;\n @Output() permissionChange = new EventEmitter<{ permission: string; value: boolean }>();\n gridData: PermissionGridRow[];\n\n ngOnInit() {\n this.buildGrid();\n }\n\n setPermission(permission: string, value: boolean) {\n if (!this.readonly) {\n this.permissionChange.emit({ permission, value });\n }\n }\n\n toggleAll(defs: PermissionDefinition[]) {\n const value = defs.some(d => !this.activePermissions.includes(d.name));\n for (const def of defs) {\n this.permissionChange.emit({ permission: def.name, value });\n }\n }\n\n private buildGrid() {\n const crudGroups = new Map<string, PermissionDefinition[]>();\n const nonCrud: PermissionDefinition[] = [];\n const crudRe = /^(Create|Read|Update|Delete)([a-zA-Z]+)$/;\n for (const def of this.permissionDefinitions) {\n const isCrud = crudRe.test(def.name);\n if (isCrud) {\n const groupName = def.name.match(crudRe)?.[2];\n if (groupName) {\n const existing = crudGroups.get(groupName);\n if (existing) {\n existing.push(def);\n } else {\n crudGroups.set(groupName, [def]);\n }\n }\n } else if (def.assignable) {\n nonCrud.push(def);\n }\n }\n this.gridData = [\n ...nonCrud.map(d => ({\n label: d.name,\n description: d.description,\n permissions: [d],\n })),\n ...Array.from(crudGroups.entries()).map(([label, defs]) => {\n return {\n label,\n description: this.extractCrudDescription(defs[0]),\n permissions: defs,\n };\n }),\n ];\n }\n\n private extractCrudDescription(def: PermissionDefinition): string {\n return def.description.replace(/Grants permission to [\\w]+/, 'Grants permissions on');\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\r\nimport {\r\n Administrator,\r\n BaseDetailComponent,\r\n CustomFieldConfig,\r\n DataService,\r\n GetActiveAdministrator,\r\n LanguageCode,\r\n NotificationService,\r\n ServerConfigService,\r\n UpdateActiveAdministratorInput,\r\n} from '@vendure/admin-ui/core';\r\nimport { mergeMap, take } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'vdr-profile',\r\n templateUrl: './profile.component.html',\r\n styleUrls: ['./profile.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ProfileComponent\r\n extends BaseDetailComponent<GetActiveAdministrator.ActiveAdministrator>\r\n implements OnInit, OnDestroy\r\n{\r\n customFields: CustomFieldConfig[];\r\n detailForm: FormGroup;\r\n\r\n constructor(\r\n router: Router,\r\n route: ActivatedRoute,\r\n serverConfigService: ServerConfigService,\r\n private changeDetector: ChangeDetectorRef,\r\n protected dataService: DataService,\r\n private formBuilder: FormBuilder,\r\n private notificationService: NotificationService,\r\n ) {\r\n super(route, router, serverConfigService, dataService);\r\n this.customFields = this.getCustomFieldConfig('Administrator');\r\n this.detailForm = this.formBuilder.group({\r\n emailAddress: ['', Validators.required],\r\n firstName: ['', Validators.required],\r\n lastName: ['', Validators.required],\r\n password: [''],\r\n customFields: this.formBuilder.group(\r\n this.customFields.reduce((hash, field) => ({ ...hash, [field.name]: '' }), {}),\r\n ),\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.init();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy();\r\n }\r\n\r\n save() {\r\n this.entity$\r\n .pipe(\r\n take(1),\r\n mergeMap(({ id }) => {\r\n const formValue = this.detailForm.value;\r\n const administrator: UpdateActiveAdministratorInput = {\r\n emailAddress: formValue.emailAddress,\r\n firstName: formValue.firstName,\r\n lastName: formValue.lastName,\r\n password: formValue.password,\r\n customFields: formValue.customFields,\r\n };\r\n return this.dataService.administrator.updateActiveAdministrator(administrator);\r\n }),\r\n )\r\n .subscribe(\r\n data => {\r\n this.notificationService.success(_('common.notify-update-success'), {\r\n entity: 'Administrator',\r\n });\r\n this.detailForm.markAsPristine();\r\n this.changeDetector.markForCheck();\r\n },\r\n err => {\r\n this.notificationService.error(_('common.notify-update-error'), {\r\n entity: 'Administrator',\r\n });\r\n },\r\n );\r\n }\r\n\r\n protected setFormValues(administrator: Administrator, languageCode: LanguageCode): void {\r\n this.detailForm.patchValue({\r\n emailAddress: administrator.emailAddress,\r\n firstName: administrator.firstName,\r\n lastName: administrator.lastName,\r\n });\r\n if (this.customFields.length) {\r\n this.setCustomFieldFormValues(\r\n this.customFields,\r\n this.detailForm.get('customFields'),\r\n administrator,\r\n );\r\n }\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\nimport {\n BaseDetailComponent,\n CreateRoleInput,\n DataService,\n LanguageCode,\n NotificationService,\n Permission,\n PermissionDefinition,\n Role,\n ServerConfigService,\n UpdateRoleInput,\n} from '@vendure/admin-ui/core';\nimport { normalizeString } from '@vendure/common/lib/normalize-string';\nimport { unique } from '@vendure/common/lib/unique';\nimport { Observable } from 'rxjs';\nimport { mergeMap, take } from 'rxjs/operators';\n\n@Component({\n selector: 'vdr-role-detail',\n templateUrl: './role-detail.component.html',\n styleUrls: ['./role-detail.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class RoleDetailComponent extends BaseDetailComponent<Role> implements OnInit, OnDestroy {\n role$: Observable<Role>;\n detailForm: FormGroup;\n permissionDefinitions: PermissionDefinition[];\n constructor(\n router: Router,\n route: ActivatedRoute,\n serverConfigService: ServerConfigService,\n private changeDetector: ChangeDetectorRef,\n protected dataService: DataService,\n private formBuilder: FormBuilder,\n private notificationService: NotificationService,\n ) {\n super(route, router, serverConfigService, dataService);\n this.detailForm = this.formBuilder.group({\n code: ['', Validators.required],\n description: ['', Validators.required],\n channelIds: [],\n permissions: [],\n });\n }\n\n ngOnInit() {\n this.init();\n this.role$ = this.entity$;\n this.permissionDefinitions = this.serverConfigService.getPermissionDefinitions();\n }\n\n ngOnDestroy(): void {\n this.destroy();\n }\n\n updateCode(nameValue: string) {\n const codeControl = this.detailForm.get(['code']);\n if (codeControl && codeControl.pristine) {\n codeControl.setValue(normalizeString(nameValue, '-'));\n }\n }\n\n setPermission(change: { permission: string; value: boolean }) {\n const permissionsControl = this.detailForm.get('permissions');\n if (permissionsControl) {\n const currentPermissions = permissionsControl.value as string[];\n const newValue =\n change.value === true\n ? unique([...currentPermissions, change.permission])\n : currentPermissions.filter(p => p !== change.permission);\n permissionsControl.setValue(newValue);\n permissionsControl.markAsDirty();\n }\n }\n\n create() {\n const formValue = this.detailForm.value;\n const role: CreateRoleInput = formValue;\n this.dataService.administrator.createRole(role).subscribe(\n data => {\n this.notificationService.success(_('common.notify-create-success'), { entity: 'Role' });\n this.detailForm.markAsPristine();\n this.changeDetector.markForCheck();\n this.router.navigate(['../', data.createRole.id], { relativeTo: this.route });\n },\n err => {\n this.notificationService.error(_('common.notify-create-error'), {\n entity: 'Role',\n });\n },\n );\n }\n\n save() {\n this.role$\n .pipe(\n take(1),\n mergeMap(({ id }) => {\n const formValue = this.detailForm.value;\n const role: UpdateRoleInput = { id, ...formValue };\n return this.dataService.administrator.updateRole(role);\n }),\n )\n .subscribe(\n data => {\n this.notificationService.success(_('common.notify-update-success'), { entity: 'Role' });\n this.detailForm.markAsPristine();\n this.changeDetector.markForCheck();\n },\n err => {\n this.notificationService.error(_('common.notify-update-error'), {\n entity: 'Role',\n });\n },\n );\n }\n\n protected setFormValues(role: Role, languageCode: LanguageCode): void {\n this.detailForm.patchValue({\n description: role.description,\n code: role.code,\n channelIds: role.channels.map(c => c.id),\n permissions: role.permissions,\n });\n // This was required to get the channel selector component to\n // correctly display its contents. A while spent debugging the root\n // cause did not yield a solution, therefore this next line.\n this.changeDetector.detectChanges();\n }\n}\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\r\nimport { BaseListComponent } from '@vendure/admin-ui/core';\r\nimport { GetRoles, Role } from '@vendure/admin-ui/core';\r\nimport { NotificationService } from '@vendure/admin-ui/core';\r\nimport { DataService } from '@vendure/admin-ui/core';\r\nimport { ModalService } from '@vendure/admin-ui/core';\r\nimport { CUSTOMER_ROLE_CODE, SUPER_ADMIN_ROLE_CODE } from '@vendure/common/lib/shared-constants';\r\nimport { EMPTY, Observable } from 'rxjs';\r\nimport { map, switchMap } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'vdr-role-list',\r\n templateUrl: './role-list.component.html',\r\n styleUrls: ['./role-list.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class RoleListComponent extends BaseListComponent<GetRoles.Query, GetRoles.Items> implements OnInit {\r\n readonly initialLimit = 3;\r\n displayLimit: { [id: string]: number } = {};\r\n visibleRoles$: Observable<GetRoles.Items[]>;\r\n\r\n constructor(\r\n private modalService: ModalService,\r\n private notificationService: NotificationService,\r\n private dataService: DataService,\r\n router: Router,\r\n route: ActivatedRoute,\r\n ) {\r\n super(router, route);\r\n super.setQueryFn(\r\n (...args: any[]) => this.dataService.administrator.getRoles(...args),\r\n data => data.roles,\r\n );\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n this.visibleRoles$ = this.items$.pipe(\r\n map(roles => roles.filter(role => role.code !== CUSTOMER_ROLE_CODE)),\r\n );\r\n }\r\n\r\n toggleDisplayLimit(role: GetRoles.Items) {\r\n if (this.displayLimit[role.id] === role.permissions.length) {\r\n this.displayLimit[role.id] = this.initialLimit;\r\n } else {\r\n this.displayLimit[role.id] = role.permissions.length;\r\n }\r\n }\r\n\r\n isDefaultRole(role: Role): boolean {\r\n return role.code === SUPER_ADMIN_ROLE_CODE || role.code === CUSTOMER_ROLE_CODE;\r\n }\r\n\r\n deleteRole(id: string) {\r\n this.modalService\r\n .dialog({\r\n title: _('settings.confirm-delete-role'),\r\n buttons: [\r\n { type: 'secondary', label: _('common.cancel') },\r\n { type: 'danger', label: _('common.delete'), returnValue: true },\r\n ],\r\n })\r\n .pipe(switchMap(response => (response ? this.dataService.administrator.deleteRole(id) : EMPTY)))\r\n .subscribe(\r\n () => {\r\n this.notificationService.success(_('common.notify-delete-success'), {\r\n entity: 'Role',\r\n });\r\n this.refresh();\r\n },\r\n err => {\r\n this.notificationService.error(_('common.notify-delete-error'), {\r\n entity: 'Role',\r\n });\r\n },\r\n );\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\nimport { CurrencyCode, ShippingMethodQuote } from '@vendure/admin-ui/core';\r\n\r\n@Component({\r\n selector: 'vdr-shipping-eligibility-test-result',\r\n templateUrl: './shipping-eligibility-test-result.component.html',\r\n styleUrls: ['./shipping-eligibility-test-result.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ShippingEligibilityTestResultComponent {\r\n @Input() testResult: ShippingMethodQuote[];\r\n @Input() okToRun = false;\r\n @Input() testDataUpdated = false;\r\n @Input() currencyCode: CurrencyCode;\r\n @Output() runTest = new EventEmitter<void>();\r\n}\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\r\nimport {\r\n BaseDetailComponent,\r\n configurableDefinitionToInstance,\r\n ConfigurableOperation,\r\n ConfigurableOperationDefinition,\r\n CreateShippingMethodInput,\r\n createUpdatedTranslatable,\r\n CustomFieldConfig,\r\n DataService,\r\n findTranslation,\r\n GetActiveChannel,\r\n getConfigArgValue,\r\n LanguageCode,\r\n NotificationService,\r\n Permission,\r\n ServerConfigService,\r\n ShippingMethod,\r\n TestShippingMethodInput,\r\n TestShippingMethodResult,\r\n toConfigurableOperationInput,\r\n UpdateShippingMethodInput,\r\n} from '@vendure/admin-ui/core';\r\nimport { normalizeString } from '@vendure/common/lib/normalize-string';\r\nimport { combineLatest, merge, Observable, of, Subject } from 'rxjs';\r\nimport { mergeMap, switchMap, take, takeUntil } from 'rxjs/operators';\r\n\r\nimport { TestAddress } from '../test-address-form/test-address-form.component';\r\nimport { TestOrderLine } from '../test-order-builder/test-order-builder.component';\r\n\r\n@Component({\r\n selector: 'vdr-shipping-method-detail',\r\n templateUrl: './shipping-method-detail.component.html',\r\n styleUrls: ['./shipping-method-detail.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ShippingMethodDetailComponent\r\n extends BaseDetailComponent<ShippingMethod.Fragment>\r\n implements OnInit, OnDestroy\r\n{\r\n detailForm: FormGroup;\r\n checkers: ConfigurableOperationDefinition[] = [];\r\n calculators: ConfigurableOperationDefinition[] = [];\r\n fulfillmentHandlers: ConfigurableOperationDefinition[] = [];\r\n selectedChecker?: ConfigurableOperation | null;\r\n selectedCheckerDefinition?: ConfigurableOperationDefinition;\r\n selectedCalculator?: ConfigurableOperation | null;\r\n selectedCalculatorDefinition?: ConfigurableOperationDefinition;\r\n activeChannel$: Observable<GetActiveChannel.ActiveChannel>;\r\n testAddress: TestAddress;\r\n testOrderLines: TestOrderLine[];\r\n testDataUpdated = false;\r\n testResult$: Observable<TestShippingMethodResult | undefined>;\r\n customFields: CustomFieldConfig[];\r\n readonly updatePermission = [Permission.UpdateSettings, Permission.UpdateShippingMethod];\r\n private fetchTestResult$ = new Subject<[TestAddress, TestOrderLine[]]>();\r\n\r\n constructor(\r\n router: Router,\r\n route: ActivatedRoute,\r\n serverConfigService: ServerConfigService,\r\n private changeDetector: ChangeDetectorRef,\r\n protected dataService: DataService,\r\n private formBuilder: FormBuilder,\r\n private notificationService: NotificationService,\r\n ) {\r\n super(route, router, serverConfigService, dataService);\r\n this.customFields = this.getCustomFieldConfig('ShippingMethod');\r\n this.detailForm = this.formBuilder.group({\r\n code: ['', Validators.required],\r\n name: ['', Validators.required],\r\n description: '',\r\n fulfillmentHandler: ['', Validators.required],\r\n checker: {},\r\n calculator: {},\r\n customFields: this.formBuilder.group(\r\n this.customFields.reduce((hash, field) => ({ ...hash, [field.name]: '' }), {}),\r\n ),\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.init();\r\n combineLatest([\r\n this.dataService.shippingMethod.getShippingMethodOperations().single$,\r\n this.entity$.pipe(take(1)),\r\n ]).subscribe(([data, entity]) => {\r\n this.checkers = data.shippingEligibilityCheckers;\r\n this.calculators = data.shippingCalculators;\r\n this.fulfillmentHandlers = data.fulfillmentHandlers;\r\n this.changeDetector.markForCheck();\r\n this.selectedCheckerDefinition = data.shippingEligibilityCheckers.find(\r\n c => c.code === (entity.checker && entity.checker.code),\r\n );\r\n this.selectedCalculatorDefinition = data.shippingCalculators.find(\r\n c => c.code === (entity.calculator && entity.calculator.code),\r\n );\r\n });\r\n\r\n this.activeChannel$ = this.dataService.settings\r\n .getActiveChannel()\r\n .mapStream(data => data.activeChannel);\r\n\r\n this.testResult$ = this.fetchTestResult$.pipe(\r\n switchMap(([address, lines]) => {\r\n if (!this.selectedChecker || !this.selectedCalculator) {\r\n return of(undefined);\r\n }\r\n const formValue = this.detailForm.value;\r\n const input: TestShippingMethodInput = {\r\n shippingAddress: { ...address, streetLine1: 'test' },\r\n lines: lines.map(l => ({ productVariantId: l.id, quantity: l.quantity })),\r\n checker: toConfigurableOperationInput(this.selectedChecker, formValue.checker),\r\n calculator: toConfigurableOperationInput(this.selectedCalculator, formValue.calculator),\r\n };\r\n return this.dataService.shippingMethod\r\n .testShippingMethod(input)\r\n .mapSingle(result => result.testShippingMethod);\r\n }),\r\n );\r\n\r\n // tslint:disable:no-non-null-assertion\r\n merge(\r\n this.detailForm.get(['checker'])!.valueChanges,\r\n this.detailForm.get(['calculator'])!.valueChanges,\r\n )\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(() => (this.testDataUpdated = true));\r\n // tslint:enable:no-non-null-assertion\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy();\r\n }\r\n\r\n updateCode(currentCode: string, nameValue: string) {\r\n if (!currentCode) {\r\n const codeControl = this.detailForm.get(['code']);\r\n if (codeControl && codeControl.pristine) {\r\n codeControl.setValue(normalizeString(nameValue, '-'));\r\n }\r\n }\r\n }\r\n\r\n selectChecker(checker: ConfigurableOperationDefinition) {\r\n this.selectedCheckerDefinition = checker;\r\n this.selectedChecker = configurableDefinitionToInstance(checker);\r\n const formControl = this.detailForm.get('checker');\r\n if (formControl) {\r\n formControl.clearValidators();\r\n formControl.updateValueAndValidity({ onlySelf: true });\r\n formControl.patchValue(this.selectedChecker);\r\n }\r\n this.detailForm.markAsDirty();\r\n }\r\n\r\n selectCalculator(calculator: ConfigurableOperationDefinition) {\r\n this.selectedCalculatorDefinition = calculator;\r\n this.selectedCalculator = configurableDefinitionToInstance(calculator);\r\n const formControl = this.detailForm.get('calculator');\r\n if (formControl) {\r\n formControl.clearValidators();\r\n formControl.updateValueAndValidity({ onlySelf: true });\r\n formControl.patchValue(this.selectedCalculator);\r\n }\r\n this.detailForm.markAsDirty();\r\n }\r\n\r\n create() {\r\n const selectedChecker = this.selectedChecker;\r\n const selectedCalculator = this.selectedCalculator;\r\n if (!selectedChecker || !selectedCalculator) {\r\n return;\r\n }\r\n combineLatest([this.entity$, this.languageCode$])\r\n .pipe(\r\n take(1),\r\n mergeMap(([shippingMethod, languageCode]) => {\r\n const formValue = this.detailForm.value;\r\n const input = {\r\n ...(this.getUpdatedShippingMethod(\r\n shippingMethod,\r\n this.detailForm,\r\n languageCode,\r\n ) as CreateShippingMethodInput),\r\n checker: toConfigurableOperationInput(selectedChecker, formValue.checker),\r\n calculator: toConfigurableOperationInput(selectedCalculator, formValue.calculator),\r\n };\r\n return this.dataService.shippingMethod.createShippingMethod(input);\r\n }),\r\n )\r\n .subscribe(\r\n data => {\r\n this.notificationService.success(_('common.notify-create-success'), {\r\n entity: 'ShippingMethod',\r\n });\r\n this.detailForm.markAsPristine();\r\n this.changeDetector.markForCheck();\r\n this.router.navigate(['../', data.createShippingMethod.id], { relativeTo: this.route });\r\n },\r\n err => {\r\n this.notificationService.error(_('common.notify-create-error'), {\r\n entity: 'ShippingMethod',\r\n });\r\n },\r\n );\r\n }\r\n\r\n save() {\r\n const selectedChecker = this.selectedChecker;\r\n const selectedCalculator = this.selectedCalculator;\r\n if (!selectedChecker || !selectedCalculator) {\r\n return;\r\n }\r\n combineLatest([this.entity$, this.languageCode$])\r\n .pipe(\r\n take(1),\r\n mergeMap(([shippingMethod, languageCode]) => {\r\n const formValue = this.detailForm.value;\r\n const input = {\r\n ...(this.getUpdatedShippingMethod(\r\n shippingMethod,\r\n this.detailForm,\r\n languageCode,\r\n ) as UpdateShippingMethodInput),\r\n checker: toConfigurableOperationInput(selectedChecker, formValue.checker),\r\n calculator: toConfigurableOperationInput(selectedCalculator, formValue.calculator),\r\n };\r\n return this.dataService.shippingMethod.updateShippingMethod(input);\r\n }),\r\n )\r\n .subscribe(\r\n data => {\r\n this.notificationService.success(_('common.notify-update-success'), {\r\n entity: 'ShippingMethod',\r\n });\r\n this.detailForm.markAsPristine();\r\n this.changeDetector.markForCheck();\r\n },\r\n err => {\r\n // tslint:disable-next-line:no-console\r\n console.error(err);\r\n this.notificationService.error(_('common.notify-update-error'), {\r\n entity: 'ShippingMethod',\r\n });\r\n },\r\n );\r\n }\r\n\r\n setTestOrderLines(event: TestOrderLine[]) {\r\n this.testOrderLines = event;\r\n this.testDataUpdated = true;\r\n }\r\n\r\n setTestAddress(event: TestAddress) {\r\n this.testAddress = event;\r\n this.testDataUpdated = true;\r\n }\r\n\r\n allTestDataPresent(): boolean {\r\n return !!(\r\n this.testAddress &&\r\n this.testOrderLines &&\r\n this.testOrderLines.length &&\r\n this.selectedChecker &&\r\n this.selectedCalculator\r\n );\r\n }\r\n\r\n runTest() {\r\n this.fetchTestResult$.next([this.testAddress, this.testOrderLines]);\r\n this.testDataUpdated = false;\r\n }\r\n\r\n /**\r\n * Given a ShippingMethod and the value of the detailForm, this method creates an updated copy which\r\n * can then be persisted to the API.\r\n */\r\n private getUpdatedShippingMethod(\r\n shippingMethod: ShippingMethod.Fragment,\r\n formGroup: FormGroup,\r\n languageCode: LanguageCode,\r\n ): Omit<CreateShippingMethodInput | UpdateShippingMethodInput, 'checker' | 'calculator'> {\r\n const formValue = formGroup.value;\r\n const input = createUpdatedTranslatable({\r\n translatable: shippingMethod,\r\n updatedFields: formValue,\r\n customFieldConfig: this.customFields,\r\n languageCode,\r\n defaultTranslation: {\r\n languageCode,\r\n name: shippingMethod.name || '',\r\n description: shippingMethod.description || '',\r\n },\r\n });\r\n return { ...input, fulfillmentHandler: formValue.fulfillmentHandler };\r\n }\r\n\r\n protected setFormValues(shippingMethod: ShippingMethod.Fragment, languageCode: LanguageCode): void {\r\n const currentTranslation = findTranslation(shippingMethod, languageCode);\r\n this.detailForm.patchValue({\r\n name: currentTranslation?.name ?? '',\r\n description: currentTranslation?.description ?? '',\r\n code: shippingMethod.code,\r\n fulfillmentHandler: shippingMethod.fulfillmentHandlerCode,\r\n checker: shippingMethod.checker || {},\r\n calculator: shippingMethod.calculator || {},\r\n });\r\n if (!this.selectedChecker) {\r\n this.selectedChecker = shippingMethod.checker && {\r\n code: shippingMethod.checker.code,\r\n args: shippingMethod.checker.args.map(a => ({ ...a, value: getConfigArgValue(a.value) })),\r\n };\r\n }\r\n if (!this.selectedCalculator) {\r\n this.selectedCalculator = shippingMethod.calculator && {\r\n code: shippingMethod.calculator?.code,\r\n args: shippingMethod.calculator?.args.map(a => ({ ...a, value: getConfigArgValue(a.value) })),\r\n };\r\n }\r\n if (this.customFields.length) {\r\n this.setCustomFieldFormValues(\r\n this.customFields,\r\n this.detailForm.get(['customFields']),\r\n shippingMethod,\r\n currentTranslation,\r\n );\r\n }\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\r\nimport {\r\n BaseListComponent,\r\n DataService,\r\n GetActiveChannel,\r\n GetShippingMethodList,\r\n LanguageCode,\r\n ModalService,\r\n NotificationService,\r\n ServerConfigService,\r\n ShippingMethodQuote,\r\n TestEligibleShippingMethodsInput,\r\n} from '@vendure/admin-ui/core';\r\nimport { EMPTY, Observable, Subject } from 'rxjs';\r\nimport { switchMap, tap } from 'rxjs/operators';\r\n\r\nimport { TestAddress } from '../test-address-form/test-address-form.component';\r\nimport { TestOrderLine } from '../test-order-builder/test-order-builder.component';\r\n\r\n@Component({\r\n selector: 'vdr-shipping-method-list',\r\n templateUrl: './shipping-method-list.component.html',\r\n styleUrls: ['./shipping-method-list.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ShippingMethodListComponent\r\n extends BaseListComponent<GetShippingMethodList.Query, GetShippingMethodList.Items>\r\n implements OnInit {\r\n activeChannel$: Observable<GetActiveChannel.ActiveChannel>;\r\n testAddress: TestAddress;\r\n testOrderLines: TestOrderLine[];\r\n testDataUpdated = false;\r\n testResult$: Observable<ShippingMethodQuote[] | undefined>;\r\n availableLanguages$: Observable<LanguageCode[]>;\r\n contentLanguage$: Observable<LanguageCode>;\r\n private fetchTestResult$ = new Subject<[TestAddress, TestOrderLine[]]>();\r\n\r\n constructor(\r\n private modalService: ModalService,\r\n private notificationService: NotificationService,\r\n private dataService: DataService,\r\n private serverConfigService: ServerConfigService,\r\n router: Router,\r\n route: ActivatedRoute,\r\n ) {\r\n super(router, route);\r\n super.setQueryFn(\r\n (...args: any[]) =>\r\n this.dataService.shippingMethod.getShippingMethods(...args).refetchOnChannelChange(),\r\n data => data.shippingMethods,\r\n );\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n this.testResult$ = this.fetchTestResult$.pipe(\r\n switchMap(([address, lines]) => {\r\n const input: TestEligibleShippingMethodsInput = {\r\n shippingAddress: { ...address, streetLine1: 'test' },\r\n lines: lines.map(l => ({ productVariantId: l.id, quantity: l.quantity })),\r\n };\r\n return this.dataService.shippingMethod\r\n .testEligibleShippingMethods(input)\r\n .mapSingle(result => result.testEligibleShippingMethods);\r\n }),\r\n );\r\n this.activeChannel$ = this.dataService.settings\r\n .getActiveChannel()\r\n .mapStream(data => data.activeChannel);\r\n this.availableLanguages$ = this.serverConfigService.getAvailableLanguages();\r\n this.contentLanguage$ = this.dataService.client\r\n .uiState()\r\n .mapStream(({ uiState }) => uiState.contentLanguage)\r\n .pipe(tap(() => this.refresh()));\r\n }\r\n\r\n deleteShippingMethod(id: string) {\r\n this.modalService\r\n .dialog({\r\n title: _('catalog.confirm-delete-shipping-method'),\r\n buttons: [\r\n { type: 'secondary', label: _('common.cancel') },\r\n { type: 'danger', label: _('common.delete'), returnValue: true },\r\n ],\r\n })\r\n .pipe(\r\n switchMap(response =>\r\n response ? this.dataService.shippingMethod.deleteShippingMethod(id) : EMPTY,\r\n ),\r\n )\r\n .subscribe(\r\n () => {\r\n this.notificationService.success(_('common.notify-delete-success'), {\r\n entity: 'ShippingMethod',\r\n });\r\n this.refresh();\r\n },\r\n err => {\r\n this.notificationService.error(_('common.notify-delete-error'), {\r\n entity: 'ShippingMethod',\r\n });\r\n },\r\n );\r\n }\r\n\r\n setTestOrderLines(event: TestOrderLine[]) {\r\n this.testOrderLines = event;\r\n this.testDataUpdated = true;\r\n }\r\n\r\n setTestAddress(event: TestAddress) {\r\n this.testAddress = event;\r\n this.testDataUpdated = true;\r\n }\r\n\r\n allTestDataPresent(): boolean {\r\n return !!(this.testAddress && this.testOrderLines && this.testOrderLines.length);\r\n }\r\n\r\n runTest() {\r\n this.fetchTestResult$.next([this.testAddress, this.testOrderLines]);\r\n this.testDataUpdated = false;\r\n }\r\n\r\n setLanguage(code: LanguageCode) {\r\n this.dataService.client.setContentLanguage(code).subscribe();\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\nimport { CurrencyCode, TestShippingMethodResult } from '@vendure/admin-ui/core';\r\n\r\n@Component({\r\n selector: 'vdr-shipping-method-test-result',\r\n templateUrl: './shipping-method-test-result.component.html',\r\n styleUrls: ['./shipping-method-test-result.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ShippingMethodTestResultComponent {\r\n @Input() testResult: TestShippingMethodResult;\r\n @Input() okToRun = false;\r\n @Input() testDataUpdated = false;\r\n @Input() currencyCode: CurrencyCode;\r\n @Output() runTest = new EventEmitter<void>();\r\n}\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\r\nimport { BaseDetailComponent, CustomFieldConfig, Permission } from '@vendure/admin-ui/core';\r\nimport {\r\n ConfigurableOperation,\r\n CreateTaxCategoryInput,\r\n LanguageCode,\r\n TaxCategory,\r\n UpdateTaxCategoryInput,\r\n} from '@vendure/admin-ui/core';\r\nimport { NotificationService } from '@vendure/admin-ui/core';\r\nimport { DataService } from '@vendure/admin-ui/core';\r\nimport { ServerConfigService } from '@vendure/admin-ui/core';\r\nimport { Observable } from 'rxjs';\r\nimport { mergeMap, take } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'vdr-tax-detail',\r\n templateUrl: './tax-category-detail.component.html',\r\n styleUrls: ['./tax-category-detail.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class TaxCategoryDetailComponent\r\n extends BaseDetailComponent<TaxCategory.Fragment>\r\n implements OnInit, OnDestroy\r\n{\r\n taxCategory$: Observable<TaxCategory.Fragment>;\r\n detailForm: FormGroup;\r\n customFields: CustomFieldConfig[];\r\n readonly updatePermission = [Permission.UpdateSettings, Permission.UpdateTaxCategory];\r\n\r\n private taxCondition: ConfigurableOperation;\r\n private taxAction: ConfigurableOperation;\r\n\r\n constructor(\r\n router: Router,\r\n route: ActivatedRoute,\r\n serverConfigService: ServerConfigService,\r\n private changeDetector: ChangeDetectorRef,\r\n protected dataService: DataService,\r\n private formBuilder: FormBuilder,\r\n private notificationService: NotificationService,\r\n ) {\r\n super(route, router, serverConfigService, dataService);\r\n this.customFields = this.getCustomFieldConfig('TaxCategory');\r\n this.detailForm = this.formBuilder.group({\r\n name: ['', Validators.required],\r\n isDefault: false,\r\n customFields: this.formBuilder.group(\r\n this.customFields.reduce((hash, field) => ({ ...hash, [field.name]: '' }), {}),\r\n ),\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.init();\r\n this.taxCategory$ = this.entity$;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroy();\r\n }\r\n\r\n saveButtonEnabled(): boolean {\r\n return this.detailForm.dirty && this.detailForm.valid;\r\n }\r\n\r\n create() {\r\n if (!this.detailForm.dirty) {\r\n return;\r\n }\r\n const formValue = this.detailForm.value;\r\n const input = {\r\n name: formValue.name,\r\n isDefault: formValue.isDefault,\r\n customFields: formValue.customFields,\r\n } as CreateTaxCategoryInput;\r\n this.dataService.settings.createTaxCategory(input).subscribe(\r\n data => {\r\n this.notificationService.success(_('common.notify-create-success'), {\r\n entity: 'TaxCategory',\r\n });\r\n this.detailForm.markAsPristine();\r\n this.changeDetector.markForCheck();\r\n this.router.navigate(['../', data.createTaxCategory.id], { relativeTo: this.route });\r\n },\r\n err => {\r\n this.notificationService.error(_('common.notify-create-error'), {\r\n entity: 'TaxCategory',\r\n });\r\n },\r\n );\r\n }\r\n\r\n save() {\r\n if (!this.detailForm.dirty) {\r\n return;\r\n }\r\n const formValue = this.detailForm.value;\r\n this.taxCategory$\r\n .pipe(\r\n take(1),\r\n mergeMap(taxCategory => {\r\n const input = {\r\n id: taxCategory.id,\r\n name: formValue.name,\r\n isDefault: formValue.isDefault,\r\n customFields: formValue.customFields,\r\n } as UpdateTaxCategoryInput;\r\n return this.dataService.settings.updateTaxCategory(input);\r\n }),\r\n )\r\n .subscribe(\r\n data => {\r\n this.notificationService.success(_('common.notify-update-success'), {\r\n entity: 'TaxCategory',\r\n });\r\n this.detailForm.markAsPristine();\r\n this.changeDetector.markForCheck();\r\n },\r\n err => {\r\n this.notificationService.error(_('common.notify-update-error'), {\r\n entity: 'TaxCategory',\r\n });\r\n },\r\n );\r\n }\r\n\r\n /**\r\n * Update the form values when the entity changes.\r\n */\r\n protected setFormValues(entity: TaxCategory.Fragment, languageCode: LanguageCode): void {\r\n this.detailForm.patchValue({\r\n name: entity.name,\r\n isDefault: entity.isDefault,\r\n });\r\n if (this.customFields.length) {\r\n this.setCustomFieldFormValues(this.customFields, this.detailForm.get('customFields'), entity);\r\n }\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\r\nimport { EMPTY, Observable } from 'rxjs';\r\nimport { map, switchMap } from 'rxjs/operators';\r\n\r\nimport { DeletionResult, GetTaxCategories, TaxCategory } from '@vendure/admin-ui/core';\r\nimport { NotificationService } from '@vendure/admin-ui/core';\r\nimport { DataService } from '@vendure/admin-ui/core';\r\nimport { QueryResult } from '@vendure/admin-ui/core';\r\nimport { ModalService } from '@vendure/admin-ui/core';\r\n\r\n@Component({\r\n selector: 'vdr-tax-list',\r\n templateUrl: './tax-category-list.component.html',\r\n styleUrls: ['./tax-category-list.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class TaxCategoryListComponent {\r\n taxCategories$: Observable<TaxCategory.Fragment[]>;\r\n private queryResult: QueryResult<GetTaxCategories.Query>;\r\n\r\n constructor(\r\n private dataService: DataService,\r\n private notificationService: NotificationService,\r\n private modalService: ModalService,\r\n ) {\r\n this.queryResult = this.dataService.settings.getTaxCategories();\r\n this.taxCategories$ = this.queryResult.mapStream(data => data.taxCategories);\r\n }\r\n\r\n deleteTaxCategory(taxCategory: TaxCategory.Fragment) {\r\n return this.modalService\r\n .dialog({\r\n title: _('settings.confirm-delete-tax-category'),\r\n body: taxCategory.name,\r\n buttons: [\r\n { type: 'secondary', label: _('common.cancel') },\r\n { type: 'danger', label: _('common.delete'), returnValue: true },\r\n ],\r\n })\r\n .pipe(\r\n switchMap(res => (res ? this.dataService.settings.deleteTaxCategory(taxCategory.id) : EMPTY)),\r\n map(res => res.deleteTaxCategory),\r\n )\r\n .subscribe(\r\n res => {\r\n if (res.result === DeletionResult.DELETED) {\r\n this.notificationService.success(_('common.notify-delete-success'), {\r\n entity: 'TaxRate',\r\n });\r\n this.queryResult.ref.refetch();\r\n } else {\r\n this.notificationService.error(res.message || _('common.notify-delete-error'), {\r\n entity: 'TaxRate',\r\n });\r\n }\r\n },\r\n err => {\r\n this.notificationService.error(_('common.notify-delete-error'), {\r\n entity: 'TaxRate',\r\n });\r\n },\r\n );\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\r\nimport {\r\n BaseDetailComponent,\r\n CreateTaxRateInput,\r\n CustomerGroup,\r\n CustomFieldConfig,\r\n DataService,\r\n GetZones,\r\n LanguageCode,\r\n NotificationService,\r\n Permission,\r\n ServerConfigService,\r\n TaxCategory,\r\n TaxRate,\r\n UpdateTaxRateInput,\r\n} from '@vendure/admin-ui/core';\r\nimport { Observable } from 'rxjs';\r\nimport { mergeMap, take } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'vdr-tax-rate-detail',\r\n templateUrl: './tax-rate-detail.component.html',\r\n styleUrls: ['./tax-rate-detail.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class TaxRateDetailComponent\r\n extends BaseDetailComponent<TaxRate.Fragment>\r\n implements OnInit, OnDestroy\r\n{\r\n taxCategories$: Observable<TaxCategory.Fragment[]>;\r\n zones$: Observable<GetZones.Zones[]>;\r\n groups$: Observable<CustomerGroup[]>;\r\n detailForm: FormGroup;\r\n customFields: CustomFieldConfig[];\r\n readonly updatePermission = [Permission.UpdateSettings, Permission.UpdateTaxRate];\r\n\r\n constructor(\r\n router: Router,\r\n route: ActivatedRoute,\r\n serverConfigService: ServerConfigService,\r\n private changeDetector: ChangeDetectorRef,\r\n protected dataService: DataService,\r\n private formBuilder: FormBuilder,\r\n private notificationService: NotificationService,\r\n ) {\r\n super(route, router, serverConfigService, dataService);\r\n this.customFields = this.getCustomFieldConfig('TaxRate');\r\n this.detailForm = this.formBuilder.group({\r\n name: ['', Validators.required],\r\n enabled: [true],\r\n value: [0, Validators.required],\r\n taxCategoryId: [''],\r\n zoneId: [''],\r\n customerGroupId: [''],\r\n customFields: this.formBuilder.group(\r\n this.customFields.reduce((hash, field) => ({ ...hash, [field.name]: '' }), {}),\r\n ),\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.init();\r\n this.taxCategories$ = this.dataService.settings\r\n .getTaxCategories()\r\n .mapSingle(data => data.taxCategories);\r\n this.zones$ = this.dataService.settings.getZones().mapSingle(data => data.zones);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroy();\r\n }\r\n\r\n saveButtonEnabled(): boolean {\r\n return this.detailForm.dirty && this.detailForm.valid;\r\n }\r\n\r\n create() {\r\n if (!this.detailForm.dirty) {\r\n return;\r\n }\r\n const formValue = this.detailForm.value;\r\n const input = {\r\n name: formValue.name,\r\n enabled: formValue.enabled,\r\n value: formValue.value,\r\n categoryId: formValue.taxCategoryId,\r\n zoneId: formValue.zoneId,\r\n customerGroupId: formValue.customerGroupId,\r\n customFields: formValue.customFields,\r\n } as CreateTaxRateInput;\r\n this.dataService.settings.createTaxRate(input).subscribe(\r\n data => {\r\n this.notificationService.success(_('common.notify-create-success'), {\r\n entity: 'TaxRate',\r\n });\r\n this.detailForm.markAsPristine();\r\n this.changeDetector.markForCheck();\r\n this.router.navigate(['../', data.createTaxRate.id], { relativeTo: this.route });\r\n },\r\n err => {\r\n this.notificationService.error(_('common.notify-create-error'), {\r\n entity: 'TaxRate',\r\n });\r\n },\r\n );\r\n }\r\n\r\n save() {\r\n if (!this.detailForm.dirty) {\r\n return;\r\n }\r\n const formValue = this.detailForm.value;\r\n this.entity$\r\n .pipe(\r\n take(1),\r\n mergeMap(taxRate => {\r\n const input = {\r\n id: taxRate.id,\r\n name: formValue.name,\r\n enabled: formValue.enabled,\r\n value: formValue.value,\r\n categoryId: formValue.taxCategoryId,\r\n zoneId: formValue.zoneId,\r\n customerGroupId: formValue.customerGroupId,\r\n customFields: formValue.customFields,\r\n } as UpdateTaxRateInput;\r\n return this.dataService.settings.updateTaxRate(input);\r\n }),\r\n )\r\n .subscribe(\r\n data => {\r\n this.notificationService.success(_('common.notify-update-success'), {\r\n entity: 'TaxRate',\r\n });\r\n this.detailForm.markAsPristine();\r\n this.changeDetector.markForCheck();\r\n },\r\n err => {\r\n this.notificationService.error(_('common.notify-update-error'), {\r\n entity: 'TaxRate',\r\n });\r\n },\r\n );\r\n }\r\n\r\n /**\r\n * Update the form values when the entity changes.\r\n */\r\n protected setFormValues(entity: TaxRate.Fragment, languageCode: LanguageCode): void {\r\n this.detailForm.patchValue({\r\n name: entity.name,\r\n enabled: entity.enabled,\r\n value: entity.value,\r\n taxCategoryId: entity.category ? entity.category.id : '',\r\n zoneId: entity.zone ? entity.zone.id : '',\r\n customerGroupId: entity.customerGroup ? entity.customerGroup.id : '',\r\n });\r\n if (this.customFields.length) {\r\n this.setCustomFieldFormValues(this.customFields, this.detailForm.get('customFields'), entity);\r\n }\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\r\nimport { EMPTY } from 'rxjs';\r\nimport { map, switchMap } from 'rxjs/operators';\r\n\r\nimport { BaseListComponent } from '@vendure/admin-ui/core';\r\nimport { DeletionResult, GetTaxRateList } from '@vendure/admin-ui/core';\r\nimport { NotificationService } from '@vendure/admin-ui/core';\r\nimport { DataService } from '@vendure/admin-ui/core';\r\nimport { ModalService } from '@vendure/admin-ui/core';\r\n\r\n@Component({\r\n selector: 'vdr-tax-rate-list',\r\n templateUrl: './tax-rate-list.component.html',\r\n styleUrls: ['./tax-rate-list.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class TaxRateListComponent extends BaseListComponent<GetTaxRateList.Query, GetTaxRateList.Items> {\r\n constructor(\r\n private modalService: ModalService,\r\n private notificationService: NotificationService,\r\n private dataService: DataService,\r\n router: Router,\r\n route: ActivatedRoute,\r\n ) {\r\n super(router, route);\r\n super.setQueryFn(\r\n (...args: any[]) => this.dataService.settings.getTaxRates(...args),\r\n data => data.taxRates,\r\n );\r\n }\r\n\r\n deleteTaxRate(taxRate: GetTaxRateList.Items) {\r\n return this.modalService\r\n .dialog({\r\n title: _('settings.confirm-delete-tax-rate'),\r\n body: taxRate.name,\r\n buttons: [\r\n { type: 'secondary', label: _('common.cancel') },\r\n { type: 'danger', label: _('common.delete'), returnValue: true },\r\n ],\r\n })\r\n .pipe(\r\n switchMap(res => (res ? this.dataService.settings.deleteTaxRate(taxRate.id) : EMPTY)),\r\n map(res => res.deleteTaxRate),\r\n )\r\n .subscribe(\r\n res => {\r\n if (res.result === DeletionResult.DELETED) {\r\n this.notificationService.success(_('common.notify-delete-success'), {\r\n entity: 'TaxRate',\r\n });\r\n this.refresh();\r\n } else {\r\n this.notificationService.error(res.message || _('common.notify-delete-error'), {\r\n entity: 'TaxRate',\r\n });\r\n }\r\n },\r\n err => {\r\n this.notificationService.error(_('common.notify-delete-error'), {\r\n entity: 'TaxRate',\r\n });\r\n },\r\n );\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { DataService, GetAvailableCountries, LocalStorageService } from '@vendure/admin-ui/core';\r\nimport { Observable, Subscription } from 'rxjs';\r\n\r\nexport interface TestAddress {\r\n city: string;\r\n province: string;\r\n postalCode: string;\r\n countryCode: string;\r\n}\r\n\r\n@Component({\r\n selector: 'vdr-test-address-form',\r\n templateUrl: './test-address-form.component.html',\r\n styleUrls: ['./test-address-form.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class TestAddressFormComponent implements OnInit, OnDestroy {\r\n @Output() addressChange = new EventEmitter<TestAddress>();\r\n availableCountries$: Observable<GetAvailableCountries.Items[]>;\r\n form: FormGroup;\r\n private subscription: Subscription;\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private dataService: DataService,\r\n private localStorageService: LocalStorageService,\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.availableCountries$ = this.dataService.settings\r\n .getAvailableCountries()\r\n .mapSingle(result => result.countries.items);\r\n const storedValue = this.localStorageService.getForCurrentLocation('shippingTestAddress');\r\n const initialValue: TestAddress = storedValue\r\n ? storedValue\r\n : {\r\n city: '',\r\n countryCode: '',\r\n postalCode: '',\r\n province: '',\r\n };\r\n this.addressChange.emit(initialValue);\r\n\r\n this.form = this.formBuilder.group(initialValue);\r\n this.subscription = this.form.valueChanges.subscribe(value => {\r\n this.localStorageService.setForCurrentLocation('shippingTestAddress', value);\r\n this.addressChange.emit(value);\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.subscription) {\r\n this.subscription.unsubscribe();\r\n }\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, OnInit, Output } from '@angular/core';\r\nimport {\r\n CurrencyCode,\r\n DataService,\r\n LocalStorageService,\r\n ProductSelectorSearch,\r\n} from '@vendure/admin-ui/core';\r\n\r\nexport interface TestOrderLine {\r\n id: string;\r\n name: string;\r\n preview: string;\r\n sku: string;\r\n unitPriceWithTax: number;\r\n quantity: number;\r\n}\r\n\r\n@Component({\r\n selector: 'vdr-test-order-builder',\r\n templateUrl: './test-order-builder.component.html',\r\n styleUrls: ['./test-order-builder.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class TestOrderBuilderComponent implements OnInit {\r\n @Output() orderLinesChange = new EventEmitter<TestOrderLine[]>();\r\n lines: TestOrderLine[] = [];\r\n currencyCode: CurrencyCode;\r\n get subTotal(): number {\r\n return this.lines.reduce((sum, l) => sum + l.unitPriceWithTax * l.quantity, 0);\r\n }\r\n\r\n constructor(private dataService: DataService, private localStorageService: LocalStorageService) {}\r\n\r\n ngOnInit() {\r\n this.lines = this.loadFromLocalStorage();\r\n if (this.lines) {\r\n this.orderLinesChange.emit(this.lines);\r\n }\r\n this.dataService.settings.getActiveChannel('cache-first').single$.subscribe(result => {\r\n this.currencyCode = result.activeChannel.currencyCode;\r\n });\r\n }\r\n\r\n selectResult(result: ProductSelectorSearch.Items) {\r\n if (result) {\r\n this.addToLines(result);\r\n }\r\n }\r\n\r\n private addToLines(result: ProductSelectorSearch.Items) {\r\n if (!this.lines.find(l => l.id === result.productVariantId)) {\r\n this.lines.push({\r\n id: result.productVariantId,\r\n name: result.productVariantName,\r\n preview: result.productAsset?.preview ?? '',\r\n quantity: 1,\r\n sku: result.sku,\r\n unitPriceWithTax:\r\n (result.priceWithTax.__typename === 'SinglePrice' && result.priceWithTax.value) || 0,\r\n });\r\n this.persistToLocalStorage();\r\n this.orderLinesChange.emit(this.lines);\r\n }\r\n }\r\n\r\n updateQuantity() {\r\n this.persistToLocalStorage();\r\n this.orderLinesChange.emit(this.lines);\r\n }\r\n\r\n removeLine(line: TestOrderLine) {\r\n this.lines = this.lines.filter(l => l.id !== line.id);\r\n this.persistToLocalStorage();\r\n this.orderLinesChange.emit(this.lines);\r\n }\r\n\r\n private persistToLocalStorage() {\r\n this.localStorageService.setForCurrentLocation('shippingTestOrder', this.lines);\r\n }\r\n\r\n private loadFromLocalStorage(): TestOrderLine[] {\r\n return this.localStorageService.getForCurrentLocation('shippingTestOrder') || [];\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { CreateZoneInput, CustomFieldConfig, Dialog, ServerConfigService } from '@vendure/admin-ui/core';\n\n@Component({\n selector: 'vdr-zone-detail-dialog',\n templateUrl: './zone-detail-dialog.component.html',\n styleUrls: ['./zone-detail-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ZoneDetailDialogComponent implements Dialog<CreateZoneInput>, OnInit {\n zone: { id?: string; name: string; customFields?: { [name: string]: any } };\n resolveWith: (result?: CreateZoneInput) => void;\n\n customFields: CustomFieldConfig[];\n form: FormGroup;\n\n constructor(private serverConfigService: ServerConfigService, private formBuilder: FormBuilder) {\n this.customFields = this.serverConfigService.getCustomFieldsFor('Zone');\n }\n\n ngOnInit() {\n this.form = this.formBuilder.group({\n name: [this.zone.name, Validators.required],\n customFields: this.formBuilder.group(\n this.customFields.reduce((hash, field) => ({ ...hash, [field.name]: '' }), {}),\n ),\n });\n if (this.customFields.length) {\n const customFieldsGroup = this.form.get('customFields') as FormGroup;\n\n for (const fieldDef of this.customFields) {\n const key = fieldDef.name;\n const value = this.zone.customFields?.[key];\n const control = customFieldsGroup.get(key);\n if (control) {\n control.patchValue(value);\n }\n }\n }\n }\n\n cancel() {\n this.resolveWith();\n }\n\n save() {\n this.resolveWith(this.form.value);\n }\n}\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\r\nimport {\r\n DataService,\r\n DeletionResult,\r\n GetZones,\r\n LanguageCode,\r\n ModalService,\r\n NotificationService,\r\n ServerConfigService,\r\n} from '@vendure/admin-ui/core';\r\nimport { combineLatest, EMPTY, Observable, of } from 'rxjs';\r\nimport { distinctUntilChanged, map, mapTo, switchMap, tap } from 'rxjs/operators';\r\n\r\nimport { AddCountryToZoneDialogComponent } from '../add-country-to-zone-dialog/add-country-to-zone-dialog.component';\r\nimport { ZoneDetailDialogComponent } from '../zone-detail-dialog/zone-detail-dialog.component';\r\n\r\n@Component({\r\n selector: 'vdr-zone-list',\r\n templateUrl: './zone-list.component.html',\r\n styleUrls: ['./zone-list.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ZoneListComponent implements OnInit {\r\n activeZone$: Observable<GetZones.Zones | undefined>;\r\n zones$: Observable<GetZones.Zones[]>;\r\n members$: Observable<GetZones.Members[]>;\r\n availableLanguages$: Observable<LanguageCode[]>;\r\n contentLanguage$: Observable<LanguageCode>;\r\n selectedMemberIds: string[] = [];\r\n\r\n constructor(\r\n private dataService: DataService,\r\n private notificationService: NotificationService,\r\n private modalService: ModalService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private serverConfigService: ServerConfigService,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n const zonesQueryRef = this.dataService.settings.getZones().ref;\r\n this.zones$ = zonesQueryRef.valueChanges.pipe(map(data => data.data.zones));\r\n const activeZoneId$ = this.route.paramMap.pipe(\r\n map(pm => pm.get('contents')),\r\n distinctUntilChanged(),\r\n tap(() => (this.selectedMemberIds = [])),\r\n );\r\n this.activeZone$ = combineLatest(this.zones$, activeZoneId$).pipe(\r\n map(([zones, activeZoneId]) => {\r\n if (activeZoneId) {\r\n return zones.find(z => z.id === activeZoneId);\r\n }\r\n }),\r\n );\r\n this.availableLanguages$ = this.serverConfigService.getAvailableLanguages();\r\n this.contentLanguage$ = this.dataService.client\r\n .uiState()\r\n .mapStream(({ uiState }) => uiState.contentLanguage)\r\n .pipe(tap(() => zonesQueryRef.refetch()));\r\n }\r\n\r\n setLanguage(code: LanguageCode) {\r\n this.dataService.client.setContentLanguage(code).subscribe();\r\n }\r\n\r\n create() {\r\n this.modalService\r\n .fromComponent(ZoneDetailDialogComponent, { locals: { zone: { name: '' } } })\r\n .pipe(\r\n switchMap(result =>\r\n result ? this.dataService.settings.createZone({ ...result, memberIds: [] }) : EMPTY,\r\n ),\r\n // refresh list\r\n switchMap(() => this.dataService.settings.getZones().single$),\r\n )\r\n .subscribe(\r\n () => {\r\n this.notificationService.success(_('common.notify-create-success'), {\r\n entity: 'Zone',\r\n });\r\n },\r\n err => {\r\n this.notificationService.error(_('common.notify-create-error'), {\r\n entity: 'Zone',\r\n });\r\n },\r\n );\r\n }\r\n\r\n delete(zoneId: string) {\r\n this.modalService\r\n .dialog({\r\n title: _('catalog.confirm-delete-zone'),\r\n buttons: [\r\n { type: 'secondary', label: _('common.cancel') },\r\n { type: 'danger', label: _('common.delete'), returnValue: true },\r\n ],\r\n })\r\n .pipe(\r\n switchMap(response => (response ? this.dataService.settings.deleteZone(zoneId) : EMPTY)),\r\n\r\n switchMap(result => {\r\n if (result.deleteZone.result === DeletionResult.DELETED) {\r\n // refresh list\r\n return this.dataService.settings\r\n .getZones()\r\n .mapSingle(() => ({ errorMessage: false }));\r\n } else {\r\n return of({ errorMessage: result.deleteZone.message });\r\n }\r\n }),\r\n )\r\n .subscribe(\r\n result => {\r\n if (typeof result.errorMessage === 'string') {\r\n this.notificationService.error(result.errorMessage);\r\n } else {\r\n this.notificationService.success(_('common.notify-delete-success'), {\r\n entity: 'Zone',\r\n });\r\n }\r\n },\r\n err => {\r\n this.notificationService.error(_('common.notify-delete-error'), {\r\n entity: 'Zone',\r\n });\r\n },\r\n );\r\n }\r\n\r\n update(zone: GetZones.Zones) {\r\n this.modalService\r\n .fromComponent(ZoneDetailDialogComponent, { locals: { zone } })\r\n .pipe(\r\n switchMap(result =>\r\n result ? this.dataService.settings.updateZone({ id: zone.id, ...result }) : EMPTY,\r\n ),\r\n )\r\n .subscribe(\r\n () => {\r\n this.notificationService.success(_('common.notify-update-success'), {\r\n entity: 'Zone',\r\n });\r\n },\r\n err => {\r\n this.notificationService.error(_('common.notify-update-error'), {\r\n entity: 'Zone',\r\n });\r\n },\r\n );\r\n }\r\n\r\n closeMembers() {\r\n const params = { ...this.route.snapshot.params };\r\n delete params.contents;\r\n this.router.navigate(['./', params], { relativeTo: this.route, queryParamsHandling: 'preserve' });\r\n }\r\n\r\n addToZone(zone: GetZones.Zones) {\r\n this.modalService\r\n .fromComponent(AddCountryToZoneDialogComponent, {\r\n locals: {\r\n zoneName: zone.name,\r\n currentMembers: zone.members,\r\n },\r\n size: 'md',\r\n })\r\n .pipe(\r\n switchMap(memberIds =>\r\n memberIds\r\n ? this.dataService.settings\r\n .addMembersToZone(zone.id, memberIds)\r\n .pipe(mapTo(memberIds))\r\n : EMPTY,\r\n ),\r\n )\r\n .subscribe({\r\n next: result => {\r\n this.notificationService.success(_(`settings.add-countries-to-zone-success`), {\r\n countryCount: result.length,\r\n zoneName: zone.name,\r\n });\r\n },\r\n error: err => {\r\n this.notificationService.error(err);\r\n },\r\n });\r\n }\r\n\r\n removeFromZone(zone: GetZones.Zones, memberIds: string[]) {\r\n this.dataService.settings.removeMembersFromZone(zone.id, memberIds).subscribe({\r\n complete: () => {\r\n this.notificationService.success(_(`settings.remove-countries-from-zone-success`), {\r\n countryCount: memberIds.length,\r\n zoneName: zone.name,\r\n });\r\n },\r\n });\r\n }\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[vdrZoneMemberControls]',\r\n})\r\nexport class ZoneMemberControlsDirective {\r\n constructor(public templateRef: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[vdrZoneMemberListHeader]',\r\n})\r\nexport class ZoneMemberListHeaderDirective {\r\n constructor(public templateRef: TemplateRef<any>) {}\r\n}\r\n","import { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, Input, Output } from '@angular/core';\r\nimport { GetZones } from '@vendure/admin-ui/core';\r\n\r\nimport { ZoneMemberControlsDirective } from './zone-member-controls.directive';\r\nimport { ZoneMemberListHeaderDirective } from './zone-member-list-header.directive';\r\n\r\nexport type ZoneMember = { id: string; name: string; code: string };\r\n\r\n@Component({\r\n selector: 'vdr-zone-member-list',\r\n templateUrl: './zone-member-list.component.html',\r\n styleUrls: ['./zone-member-list.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ZoneMemberListComponent {\r\n @Input() members: ZoneMember[] = [];\r\n @Input() selectedMemberIds: string[] = [];\r\n @Output() selectionChange = new EventEmitter<string[]>();\r\n @ContentChild(ZoneMemberListHeaderDirective) headerTemplate: ZoneMemberListHeaderDirective;\r\n @ContentChild(ZoneMemberControlsDirective) controlsTemplate: ZoneMemberControlsDirective;\r\n filterTerm = '';\r\n\r\n filteredMembers(): ZoneMember[] {\r\n if (this.filterTerm !== '') {\r\n const term = this.filterTerm.toLocaleLowerCase();\r\n return this.members.filter(\r\n m => m.name.toLocaleLowerCase().includes(term) || m.code.toLocaleLowerCase().includes(term),\r\n );\r\n } else {\r\n return this.members;\r\n }\r\n }\r\n\r\n areAllSelected(): boolean {\r\n if (this.members) {\r\n return this.selectedMemberIds.length === this.members.length;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n toggleSelectAll() {\r\n if (this.areAllSelected()) {\r\n this.selectionChange.emit([]);\r\n } else {\r\n this.selectionChange.emit(this.members.map(v => v.id));\r\n }\r\n }\r\n\r\n toggleSelectMember({ item: member }: { item: ZoneMember }) {\r\n if (this.selectedMemberIds.includes(member.id)) {\r\n this.selectionChange.emit(this.selectedMemberIds.filter(id => id !== member.id));\r\n } else {\r\n this.selectionChange.emit([...this.selectedMemberIds, member.id]);\r\n }\r\n }\r\n\r\n isMemberSelected = (member: ZoneMember): boolean => {\r\n return -1 < this.selectedMemberIds.indexOf(member.id);\r\n };\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { BaseEntityResolver } from '@vendure/admin-ui/core';\r\nimport { Administrator, Role } from '@vendure/admin-ui/core';\r\nimport { DataService } from '@vendure/admin-ui/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AdministratorResolver extends BaseEntityResolver<Administrator.Fragment> {\r\n constructor(router: Router, dataService: DataService) {\r\n super(\r\n router,\r\n {\r\n __typename: 'Administrator' as 'Administrator',\r\n id: '',\r\n createdAt: '',\r\n updatedAt: '',\r\n emailAddress: '',\r\n firstName: '',\r\n lastName: '',\r\n user: { roles: [] } as any,\r\n },\r\n id => dataService.administrator.getAdministrator(id).mapStream(data => data.administrator),\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { BaseEntityResolver } from '@vendure/admin-ui/core';\r\nimport { Channel, CurrencyCode } from '@vendure/admin-ui/core';\r\nimport { getDefaultUiLanguage } from '@vendure/admin-ui/core';\r\nimport { DataService } from '@vendure/admin-ui/core';\r\n\r\n/**\r\n * Resolves the id from the path into a Customer entity.\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ChannelResolver extends BaseEntityResolver<Channel.Fragment> {\r\n constructor(router: Router, dataService: DataService) {\r\n super(\r\n router,\r\n {\r\n __typename: 'Channel',\r\n id: '',\r\n createdAt: '',\r\n updatedAt: '',\r\n code: '',\r\n token: '',\r\n pricesIncludeTax: false,\r\n currencyCode: CurrencyCode.USD,\r\n defaultLanguageCode: getDefaultUiLanguage(),\r\n defaultShippingZone: {} as any,\r\n defaultTaxZone: {} as any,\r\n },\r\n (id) => dataService.settings.getChannel(id).mapStream((data) => data.channel),\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { BaseEntityResolver } from '@vendure/admin-ui/core';\r\nimport { Country } from '@vendure/admin-ui/core';\r\nimport { DataService } from '@vendure/admin-ui/core';\r\n\r\n/**\r\n * Resolves the id from the path into a Customer entity.\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CountryResolver extends BaseEntityResolver<Country.Fragment> {\r\n constructor(router: Router, dataService: DataService) {\r\n super(\r\n router,\r\n {\r\n __typename: 'Country',\r\n id: '',\r\n createdAt: '',\r\n updatedAt: '',\r\n code: '',\r\n name: '',\r\n enabled: false,\r\n translations: [],\r\n },\r\n id => dataService.settings.getCountry(id).mapStream(data => data.country),\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { BaseEntityResolver } from '@vendure/admin-ui/core';\r\nimport { GetGlobalSettings } from '@vendure/admin-ui/core';\r\nimport { DataService } from '@vendure/admin-ui/core';\r\n\r\n/**\r\n * Resolves the global settings.\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class GlobalSettingsResolver extends BaseEntityResolver<GetGlobalSettings.GlobalSettings> {\r\n constructor(router: Router, dataService: DataService) {\r\n super(\r\n router,\r\n // we will never be creating a new GlobalSettings entity, so this part is not used.\r\n {} as any,\r\n () => dataService.settings.getGlobalSettings().mapStream(data => data.globalSettings),\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { BaseEntityResolver } from '@vendure/admin-ui/core';\r\nimport { PaymentMethod } from '@vendure/admin-ui/core';\r\nimport { DataService } from '@vendure/admin-ui/core';\r\n\r\n/**\r\n * Resolves the id from the path into a Customer entity.\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PaymentMethodResolver extends BaseEntityResolver<PaymentMethod.Fragment> {\r\n constructor(router: Router, dataService: DataService) {\r\n super(\r\n router,\r\n {\r\n __typename: 'PaymentMethod',\r\n id: '',\r\n createdAt: '',\r\n updatedAt: '',\r\n name: '',\r\n code: '',\r\n description: '',\r\n enabled: true,\r\n checker: undefined as any,\r\n handler: undefined as any,\r\n },\r\n id => dataService.settings.getPaymentMethod(id).mapStream(data => data.paymentMethod),\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { BaseEntityResolver } from '@vendure/admin-ui/core';\r\nimport { Administrator, Role } from '@vendure/admin-ui/core';\r\nimport { DataService } from '@vendure/admin-ui/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ProfileResolver extends BaseEntityResolver<Administrator.Fragment> {\r\n constructor(router: Router, dataService: DataService) {\r\n super(\r\n router,\r\n {\r\n __typename: 'Administrator' as 'Administrator',\r\n id: '',\r\n createdAt: '',\r\n updatedAt: '',\r\n emailAddress: '',\r\n firstName: '',\r\n lastName: '',\r\n user: { roles: [] } as any,\r\n },\r\n id =>\r\n dataService.administrator\r\n .getActiveAdministrator()\r\n .mapStream(data => data.activeAdministrator),\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { BaseEntityResolver } from '@vendure/admin-ui/core';\r\nimport { Role } from '@vendure/admin-ui/core';\r\nimport { DataService } from '@vendure/admin-ui/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class RoleResolver extends BaseEntityResolver<Role.Fragment> {\r\n constructor(router: Router, dataService: DataService) {\r\n super(\r\n router,\r\n {\r\n __typename: 'Role' as 'Role',\r\n id: '',\r\n createdAt: '',\r\n updatedAt: '',\r\n code: '',\r\n description: '',\r\n permissions: [],\r\n channels: [],\r\n },\r\n id => dataService.administrator.getRole(id).mapStream(data => data.role),\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { BaseEntityResolver } from '@vendure/admin-ui/core';\r\nimport { ShippingMethod } from '@vendure/admin-ui/core';\r\nimport { DataService } from '@vendure/admin-ui/core';\r\n\r\n/**\r\n * Resolves the id from the path into a Customer entity.\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ShippingMethodResolver extends BaseEntityResolver<ShippingMethod.Fragment> {\r\n constructor(router: Router, dataService: DataService) {\r\n super(\r\n router,\r\n {\r\n __typename: 'ShippingMethod',\r\n createdAt: '',\r\n updatedAt: '',\r\n id: '',\r\n code: '',\r\n name: '',\r\n description: '',\r\n fulfillmentHandlerCode: undefined as any,\r\n checker: undefined as any,\r\n calculator: undefined as any,\r\n translations: [],\r\n },\r\n id => dataService.shippingMethod.getShippingMethod(id).mapStream(data => data.shippingMethod),\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { BaseEntityResolver, DataService, TaxCategory } from '@vendure/admin-ui/core';\r\n\r\n/**\r\n * Resolves the id from the path into a Customer entity.\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TaxCategoryResolver extends BaseEntityResolver<TaxCategory.Fragment> {\r\n constructor(router: Router, dataService: DataService) {\r\n super(\r\n router,\r\n {\r\n __typename: 'TaxCategory',\r\n id: '',\r\n createdAt: '',\r\n updatedAt: '',\r\n name: '',\r\n isDefault: false,\r\n },\r\n id => dataService.settings.getTaxCategory(id).mapStream(data => data.taxCategory),\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { BaseEntityResolver, DataService, TaxRate } from '@vendure/admin-ui/core';\r\n\r\n/**\r\n * Resolves the id from the path into a Customer entity.\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TaxRateResolver extends BaseEntityResolver<TaxRate.Fragment> {\r\n constructor(router: Router, dataService: DataService) {\r\n super(\r\n router,\r\n {\r\n __typename: 'TaxRate',\r\n id: '',\r\n createdAt: '',\r\n updatedAt: '',\r\n name: '',\r\n value: 0,\r\n enabled: true,\r\n category: {} as any,\r\n zone: {} as any,\r\n customerGroup: null,\r\n },\r\n id => dataService.settings.getTaxRate(id).mapStream(data => data.taxRate),\r\n );\r\n }\r\n}\r\n","import { Route } from '@angular/router';\r\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\r\nimport {\r\n Administrator,\r\n CanDeactivateDetailGuard,\r\n Channel,\r\n Country,\r\n createResolveData,\r\n detailBreadcrumb,\r\n Role,\r\n ShippingMethod,\r\n TaxCategory,\r\n TaxRate,\r\n} from '@vendure/admin-ui/core';\r\n\r\nimport { AdminDetailComponent } from './components/admin-detail/admin-detail.component';\r\nimport { AdministratorListComponent } from './components/administrator-list/administrator-list.component';\r\nimport { ChannelDetailComponent } from './components/channel-detail/channel-detail.component';\r\nimport { ChannelListComponent } from './components/channel-list/channel-list.component';\r\nimport { CountryDetailComponent } from './components/country-detail/country-detail.component';\r\nimport { CountryListComponent } from './components/country-list/country-list.component';\r\nimport { GlobalSettingsComponent } from './components/global-settings/global-settings.component';\r\nimport { PaymentMethodDetailComponent } from './components/payment-method-detail/payment-method-detail.component';\r\nimport { PaymentMethodListComponent } from './components/payment-method-list/payment-method-list.component';\r\nimport { ProfileComponent } from './components/profile/profile.component';\r\nimport { RoleDetailComponent } from './components/role-detail/role-detail.component';\r\nimport { RoleListComponent } from './components/role-list/role-list.component';\r\nimport { ShippingMethodDetailComponent } from './components/shipping-method-detail/shipping-method-detail.component';\r\nimport { ShippingMethodListComponent } from './components/shipping-method-list/shipping-method-list.component';\r\nimport { TaxCategoryDetailComponent } from './components/tax-category-detail/tax-category-detail.component';\r\nimport { TaxCategoryListComponent } from './components/tax-category-list/tax-category-list.component';\r\nimport { TaxRateDetailComponent } from './components/tax-rate-detail/tax-rate-detail.component';\r\nimport { TaxRateListComponent } from './components/tax-rate-list/tax-rate-list.component';\r\nimport { ZoneListComponent } from './components/zone-list/zone-list.component';\r\nimport { AdministratorResolver } from './providers/routing/administrator-resolver';\r\nimport { ChannelResolver } from './providers/routing/channel-resolver';\r\nimport { CountryResolver } from './providers/routing/country-resolver';\r\nimport { GlobalSettingsResolver } from './providers/routing/global-settings-resolver';\r\nimport { PaymentMethodResolver } from './providers/routing/payment-method-resolver';\r\nimport { ProfileResolver } from './providers/routing/profile-resolver';\r\nimport { RoleResolver } from './providers/routing/role-resolver';\r\nimport { ShippingMethodResolver } from './providers/routing/shipping-method-resolver';\r\nimport { TaxCategoryResolver } from './providers/routing/tax-category-resolver';\r\nimport { TaxRateResolver } from './providers/routing/tax-rate-resolver';\r\n\r\nexport const settingsRoutes: Route[] = [\r\n {\r\n path: 'profile',\r\n component: ProfileComponent,\r\n resolve: createResolveData(ProfileResolver),\r\n canDeactivate: [CanDeactivateDetailGuard],\r\n data: {\r\n breadcrumb: _('breadcrumb.profile'),\r\n },\r\n },\r\n {\r\n path: 'administrators',\r\n component: AdministratorListComponent,\r\n data: {\r\n breadcrumb: _('breadcrumb.administrators'),\r\n },\r\n },\r\n {\r\n path: 'administrators/:id',\r\n component: AdminDetailComponent,\r\n resolve: createResolveData(AdministratorResolver),\r\n canDeactivate: [CanDeactivateDetailGuard],\r\n data: { breadcrumb: administratorBreadcrumb },\r\n },\r\n {\r\n path: 'channels',\r\n component: ChannelListComponent,\r\n data: {\r\n breadcrumb: _('breadcrumb.channels'),\r\n },\r\n },\r\n {\r\n path: 'channels/:id',\r\n component: ChannelDetailComponent,\r\n resolve: createResolveData(ChannelResolver),\r\n canDeactivate: [CanDeactivateDetailGuard],\r\n data: { breadcrumb: channelBreadcrumb },\r\n },\r\n {\r\n path: 'roles',\r\n component: RoleListComponent,\r\n data: {\r\n breadcrumb: _('breadcrumb.roles'),\r\n },\r\n },\r\n {\r\n path: 'roles/:id',\r\n component: RoleDetailComponent,\r\n resolve: createResolveData(RoleResolver),\r\n canDeactivate: [CanDeactivateDetailGuard],\r\n data: { breadcrumb: roleBreadcrumb },\r\n },\r\n {\r\n path: 'tax-categories',\r\n component: TaxCategoryListComponent,\r\n data: {\r\n breadcrumb: _('breadcrumb.tax-categories'),\r\n },\r\n },\r\n {\r\n path: 'tax-categories/:id',\r\n component: TaxCategoryDetailComponent,\r\n resolve: createResolveData(TaxCategoryResolver),\r\n canDeactivate: [CanDeactivateDetailGuard],\r\n data: {\r\n breadcrumb: taxCategoryBreadcrumb,\r\n },\r\n },\r\n {\r\n path: 'tax-rates',\r\n component: TaxRateListComponent,\r\n data: {\r\n breadcrumb: _('breadcrumb.tax-rates'),\r\n },\r\n },\r\n {\r\n path: 'tax-rates/:id',\r\n component: TaxRateDetailComponent,\r\n resolve: createResolveData(TaxRateResolver),\r\n canDeactivate: [CanDeactivateDetailGuard],\r\n data: {\r\n breadcrumb: taxRateBreadcrumb,\r\n },\r\n },\r\n {\r\n path: 'countries',\r\n component: CountryListComponent,\r\n data: {\r\n breadcrumb: _('breadcrumb.countries'),\r\n },\r\n },\r\n {\r\n path: 'countries/:id',\r\n component: CountryDetailComponent,\r\n resolve: createResolveData(CountryResolver),\r\n canDeactivate: [CanDeactivateDetailGuard],\r\n data: {\r\n breadcrumb: countryBreadcrumb,\r\n },\r\n },\r\n {\r\n path: 'zones',\r\n component: ZoneListComponent,\r\n data: {\r\n breadcrumb: _('breadcrumb.zones'),\r\n },\r\n },\r\n {\r\n path: 'shipping-methods',\r\n component: ShippingMethodListComponent,\r\n data: {\r\n breadcrumb: _('breadcrumb.shipping-methods'),\r\n },\r\n },\r\n {\r\n path: 'shipping-methods/:id',\r\n component: ShippingMethodDetailComponent,\r\n resolve: createResolveData(ShippingMethodResolver),\r\n canDeactivate: [CanDeactivateDetailGuard],\r\n data: {\r\n breadcrumb: shippingMethodBreadcrumb,\r\n },\r\n },\r\n {\r\n path: 'payment-methods',\r\n component: PaymentMethodListComponent,\r\n data: {\r\n breadcrumb: _('breadcrumb.payment-methods'),\r\n },\r\n },\r\n {\r\n path: 'payment-methods/:id',\r\n component: PaymentMethodDetailComponent,\r\n resolve: createResolveData(PaymentMethodResolver),\r\n canDeactivate: [CanDeactivateDetailGuard],\r\n data: {\r\n breadcrumb: paymentMethodBreadcrumb,\r\n },\r\n },\r\n {\r\n path: 'global-settings',\r\n component: GlobalSettingsComponent,\r\n resolve: createResolveData(GlobalSettingsResolver),\r\n canDeactivate: [CanDeactivateDetailGuard],\r\n data: {\r\n breadcrumb: _('breadcrumb.global-settings'),\r\n },\r\n },\r\n];\r\n\r\nexport function administratorBreadcrumb(data: any, params: any) {\r\n return detailBreadcrumb<Administrator>({\r\n entity: data.entity,\r\n id: params.id,\r\n breadcrumbKey: 'breadcrumb.administrators',\r\n getName: admin => `${admin.firstName} ${admin.lastName}`,\r\n route: 'administrators',\r\n });\r\n}\r\n\r\nexport function channelBreadcrumb(data: any, params: any) {\r\n return detailBreadcrumb<Channel>({\r\n entity: data.entity,\r\n id: params.id,\r\n breadcrumbKey: 'breadcrumb.channels',\r\n getName: channel => channel.code,\r\n route: 'channels',\r\n });\r\n}\r\n\r\nexport function roleBreadcrumb(data: any, params: any) {\r\n return detailBreadcrumb<Role>({\r\n entity: data.entity,\r\n id: params.id,\r\n breadcrumbKey: 'breadcrumb.roles',\r\n getName: role => role.description,\r\n route: 'roles',\r\n });\r\n}\r\n\r\nexport function taxCategoryBreadcrumb(data: any, params: any) {\r\n return detailBreadcrumb<TaxCategory.Fragment>({\r\n entity: data.entity,\r\n id: params.id,\r\n breadcrumbKey: 'breadcrumb.tax-categories',\r\n getName: category => category.name,\r\n route: 'tax-categories',\r\n });\r\n}\r\n\r\nexport function taxRateBreadcrumb(data: any, params: any) {\r\n return detailBreadcrumb<TaxRate.Fragment>({\r\n entity: data.entity,\r\n id: params.id,\r\n breadcrumbKey: 'breadcrumb.tax-rates',\r\n getName: category => category.name,\r\n route: 'tax-rates',\r\n });\r\n}\r\n\r\nexport function countryBreadcrumb(data: any, params: any) {\r\n return detailBreadcrumb<Country.Fragment>({\r\n entity: data.entity,\r\n id: params.id,\r\n breadcrumbKey: 'breadcrumb.countries',\r\n getName: promotion => promotion.name,\r\n route: 'countries',\r\n });\r\n}\r\n\r\nexport function shippingMethodBreadcrumb(data: any, params: any) {\r\n return detailBreadcrumb<ShippingMethod.Fragment>({\r\n entity: data.entity,\r\n id: params.id,\r\n breadcrumbKey: 'breadcrumb.shipping-methods',\r\n getName: method => method.name,\r\n route: 'shipping-methods',\r\n });\r\n}\r\n\r\nexport function paymentMethodBreadcrumb(data: any, params: any) {\r\n return detailBreadcrumb<ShippingMethod.Fragment>({\r\n entity: data.entity,\r\n id: params.id,\r\n breadcrumbKey: 'breadcrumb.payment-methods',\r\n getName: method => method.code,\r\n route: 'payment-methods',\r\n });\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { SharedModule } from '@vendure/admin-ui/core';\r\n\r\nimport { AddCountryToZoneDialogComponent } from './components/add-country-to-zone-dialog/add-country-to-zone-dialog.component';\r\nimport { AdminDetailComponent } from './components/admin-detail/admin-detail.component';\r\nimport { AdministratorListComponent } from './components/administrator-list/administrator-list.component';\r\nimport { ChannelDetailComponent } from './components/channel-detail/channel-detail.component';\r\nimport { ChannelListComponent } from './components/channel-list/channel-list.component';\r\nimport { CountryDetailComponent } from './components/country-detail/country-detail.component';\r\nimport { CountryListComponent } from './components/country-list/country-list.component';\r\nimport { GlobalSettingsComponent } from './components/global-settings/global-settings.component';\r\nimport { PaymentMethodDetailComponent } from './components/payment-method-detail/payment-method-detail.component';\r\nimport { PaymentMethodListComponent } from './components/payment-method-list/payment-method-list.component';\r\nimport { PermissionGridComponent } from './components/permission-grid/permission-grid.component';\r\nimport { ProfileComponent } from './components/profile/profile.component';\r\nimport { RoleDetailComponent } from './components/role-detail/role-detail.component';\r\nimport { RoleListComponent } from './components/role-list/role-list.component';\r\nimport { ShippingEligibilityTestResultComponent } from './components/shipping-eligibility-test-result/shipping-eligibility-test-result.component';\r\nimport { ShippingMethodDetailComponent } from './components/shipping-method-detail/shipping-method-detail.component';\r\nimport { ShippingMethodListComponent } from './components/shipping-method-list/shipping-method-list.component';\r\nimport { ShippingMethodTestResultComponent } from './components/shipping-method-test-result/shipping-method-test-result.component';\r\nimport { TaxCategoryDetailComponent } from './components/tax-category-detail/tax-category-detail.component';\r\nimport { TaxCategoryListComponent } from './components/tax-category-list/tax-category-list.component';\r\nimport { TaxRateDetailComponent } from './components/tax-rate-detail/tax-rate-detail.component';\r\nimport { TaxRateListComponent } from './components/tax-rate-list/tax-rate-list.component';\r\nimport { TestAddressFormComponent } from './components/test-address-form/test-address-form.component';\r\nimport { TestOrderBuilderComponent } from './components/test-order-builder/test-order-builder.component';\r\nimport { ZoneDetailDialogComponent } from './components/zone-detail-dialog/zone-detail-dialog.component';\r\nimport { ZoneListComponent } from './components/zone-list/zone-list.component';\r\nimport { ZoneMemberControlsDirective } from './components/zone-member-list/zone-member-controls.directive';\r\nimport { ZoneMemberListHeaderDirective } from './components/zone-member-list/zone-member-list-header.directive';\r\nimport { ZoneMemberListComponent } from './components/zone-member-list/zone-member-list.component';\r\nimport { settingsRoutes } from './settings.routes';\r\n\r\n@NgModule({\r\n imports: [SharedModule, RouterModule.forChild(settingsRoutes)],\r\n declarations: [\r\n TaxCategoryListComponent,\r\n TaxCategoryDetailComponent,\r\n AdministratorListComponent,\r\n RoleListComponent,\r\n RoleDetailComponent,\r\n AdminDetailComponent,\r\n PermissionGridComponent,\r\n CountryListComponent,\r\n CountryDetailComponent,\r\n TaxRateListComponent,\r\n TaxRateDetailComponent,\r\n ChannelListComponent,\r\n ChannelDetailComponent,\r\n ShippingMethodListComponent,\r\n ShippingMethodDetailComponent,\r\n PaymentMethodListComponent,\r\n PaymentMethodDetailComponent,\r\n GlobalSettingsComponent,\r\n TestOrderBuilderComponent,\r\n TestAddressFormComponent,\r\n ShippingMethodTestResultComponent,\r\n ShippingEligibilityTestResultComponent,\r\n ZoneListComponent,\r\n AddCountryToZoneDialogComponent,\r\n ZoneMemberListComponent,\r\n ZoneMemberListHeaderDirective,\r\n ZoneMemberControlsDirective,\r\n ZoneDetailDialogComponent,\r\n ProfileComponent,\r\n ],\r\n})\r\nexport class SettingsModule {}\r\n","// This file was generated by the build-public-api.ts script\nexport * from './components/add-country-to-zone-dialog/add-country-to-zone-dialog.component';\nexport * from './components/admin-detail/admin-detail.component';\nexport * from './components/administrator-list/administrator-list.component';\nexport * from './components/channel-detail/channel-detail.component';\nexport * from './components/channel-list/channel-list.component';\nexport * from './components/country-detail/country-detail.component';\nexport * from './components/country-list/country-list.component';\nexport * from './components/global-settings/global-settings.component';\nexport * from './components/payment-method-detail/payment-method-detail.component';\nexport * from './components/payment-method-list/payment-method-list.component';\nexport * from './components/permission-grid/permission-grid.component';\nexport * from './components/profile/profile.component';\nexport * from './components/role-detail/role-detail.component';\nexport * from './components/role-list/role-list.component';\nexport * from './components/shipping-eligibility-test-result/shipping-eligibility-test-result.component';\nexport * from './components/shipping-method-detail/shipping-method-detail.component';\nexport * from './components/shipping-method-list/shipping-method-list.component';\nexport * from './components/shipping-method-test-result/shipping-method-test-result.component';\nexport * from './components/tax-category-detail/tax-category-detail.component';\nexport * from './components/tax-category-list/tax-category-list.component';\nexport * from './components/tax-rate-detail/tax-rate-detail.component';\nexport * from './components/tax-rate-list/tax-rate-list.component';\nexport * from './components/test-address-form/test-address-form.component';\nexport * from './components/test-order-builder/test-order-builder.component';\nexport * from './components/zone-detail-dialog/zone-detail-dialog.component';\nexport * from './components/zone-list/zone-list.component';\nexport * from './components/zone-member-list/zone-member-controls.directive';\nexport * from './components/zone-member-list/zone-member-list-header.directive';\nexport * from './components/zone-member-list/zone-member-list.component';\nexport * from './providers/routing/administrator-resolver';\nexport * from './providers/routing/channel-resolver';\nexport * from './providers/routing/country-resolver';\nexport * from './providers/routing/global-settings-resolver';\nexport * from './providers/routing/payment-method-resolver';\nexport * from './providers/routing/profile-resolver';\nexport * from './providers/routing/role-resolver';\nexport * from './providers/routing/shipping-method-resolver';\nexport * from './providers/routing/tax-category-resolver';\nexport * from './providers/routing/tax-rate-resolver';\nexport * from './settings.module';\nexport * from './settings.routes';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["map","Component","ChangeDetectionStrategy","DataService","Validators","CUSTOMER_ROLE_CODE","Permission","_","take","mergeMap","BaseDetailComponent","Router","ActivatedRoute","ServerConfigService","ChangeDetectorRef","FormBuilder","NotificationService","switchMap","EMPTY","BaseListComponent","ModalService","CurrencyCode","DEFAULT_CHANNEL_CODE","Subject","startWith","combineLatest","createUpdatedTranslatable","findTranslation","FormControl","tap","DeletionResult","LanguageCode","withLatestFrom","normalizeString","configurableDefinitionToInstance","toConfigurableOperationInput","getConfigArgValue","EventEmitter","Input","Output","unique","SUPER_ADMIN_ROLE_CODE","of","merge","takeUntil","LocalStorageService","distinctUntilChanged","mapTo","Directive","TemplateRef","ContentChild","BaseEntityResolver","Injectable","getDefaultUiLanguage","createResolveData","CanDeactivateDetailGuard","detailBreadcrumb","NgModule","SharedModule","RouterModule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vendure-admin-ui-settings.umd.js","sources":["../../src/lib/settings/src/components/add-country-to-zone-dialog/add-country-to-zone-dialog.component.ts","../../node_modules/tslib/tslib.es6.js","../../src/lib/settings/src/components/admin-detail/admin-detail.component.ts","../../src/lib/settings/src/components/administrator-list/administrator-list.component.ts","../../src/lib/settings/src/components/channel-detail/channel-detail.component.ts","../../src/lib/settings/src/components/channel-list/channel-list.component.ts","../../src/lib/settings/src/components/country-detail/country-detail.component.ts","../../src/lib/settings/src/components/country-list/country-list.component.ts","../../src/lib/settings/src/components/global-settings/global-settings.component.ts","../../src/lib/settings/src/components/payment-method-detail/payment-method-detail.component.ts","../../src/lib/settings/src/components/payment-method-list/payment-method-list.component.ts","../../src/lib/settings/src/components/permission-grid/permission-grid.component.ts","../../src/lib/settings/src/components/profile/profile.component.ts","../../src/lib/settings/src/components/role-detail/role-detail.component.ts","../../src/lib/settings/src/components/role-list/role-list.component.ts","../../src/lib/settings/src/components/shipping-eligibility-test-result/shipping-eligibility-test-result.component.ts","../../src/lib/settings/src/components/shipping-method-detail/shipping-method-detail.component.ts","../../src/lib/settings/src/components/shipping-method-list/shipping-method-list.component.ts","../../src/lib/settings/src/components/shipping-method-test-result/shipping-method-test-result.component.ts","../../src/lib/settings/src/components/tax-category-detail/tax-category-detail.component.ts","../../src/lib/settings/src/components/tax-category-list/tax-category-list.component.ts","../../src/lib/settings/src/components/tax-rate-detail/tax-rate-detail.component.ts","../../src/lib/settings/src/components/tax-rate-list/tax-rate-list.component.ts","../../src/lib/settings/src/components/test-address-form/test-address-form.component.ts","../../src/lib/settings/src/components/test-order-builder/test-order-builder.component.ts","../../src/lib/settings/src/components/zone-detail-dialog/zone-detail-dialog.component.ts","../../src/lib/settings/src/components/zone-list/zone-list.component.ts","../../src/lib/settings/src/components/zone-member-list/zone-member-controls.directive.ts","../../src/lib/settings/src/components/zone-member-list/zone-member-list-header.directive.ts","../../src/lib/settings/src/components/zone-member-list/zone-member-list.component.ts","../../src/lib/settings/src/providers/routing/administrator-resolver.ts","../../src/lib/settings/src/providers/routing/channel-resolver.ts","../../src/lib/settings/src/providers/routing/country-resolver.ts","../../src/lib/settings/src/providers/routing/global-settings-resolver.ts","../../src/lib/settings/src/providers/routing/payment-method-resolver.ts","../../src/lib/settings/src/providers/routing/profile-resolver.ts","../../src/lib/settings/src/providers/routing/role-resolver.ts","../../src/lib/settings/src/providers/routing/shipping-method-resolver.ts","../../src/lib/settings/src/providers/routing/tax-category-resolver.ts","../../src/lib/settings/src/providers/routing/tax-rate-resolver.ts","../../src/lib/settings/src/settings.routes.ts","../../src/lib/settings/src/settings.module.ts","../../src/lib/settings/src/public_api.ts","../../src/lib/settings/src/vendure-admin-ui-settings.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\nimport { DataService, Dialog, GetCountryList, GetZones } from '@vendure/admin-ui/core';\r\nimport { Observable } from 'rxjs';\r\nimport { filter, map } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'vdr-add-country-to-zone-dialog',\r\n templateUrl: './add-country-to-zone-dialog.component.html',\r\n styleUrls: ['./add-country-to-zone-dialog.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class AddCountryToZoneDialogComponent implements Dialog<string[]>, OnInit {\r\n resolveWith: (result?: string[]) => void;\r\n zoneName: string;\r\n currentMembers: GetZones.Members[] = [];\r\n availableCountries$: Observable<GetCountryList.Items[]>;\r\n selectedMemberIds: string[] = [];\r\n\r\n constructor(private dataService: DataService) {}\r\n\r\n ngOnInit(): void {\r\n const currentMemberIds = this.currentMembers.map(m => m.id);\r\n this.availableCountries$ = this.dataService.settings\r\n .getCountries(999)\r\n .mapStream(data => data.countries.items)\r\n .pipe(map(countries => countries.filter(c => !currentMemberIds.includes(c.id))));\r\n }\r\n\r\n cancel() {\r\n this.resolveWith();\r\n }\r\n\r\n add() {\r\n this.resolveWith(this.selectedMemberIds);\r\n }\r\n}\r\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\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 function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\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) : adopt(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 var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") 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 throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\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\n/** @deprecated */\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\n/** @deprecated */\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 __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\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\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\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 (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, 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\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\r\nimport { BaseDetailComponent, CustomFieldConfig, PermissionDefinition } from '@vendure/admin-ui/core';\r\nimport {\r\n Administrator,\r\n CreateAdministratorInput,\r\n GetAdministrator,\r\n LanguageCode,\r\n Permission,\r\n Role,\r\n RoleFragment,\r\n UpdateAdministratorInput,\r\n} from '@vendure/admin-ui/core';\r\nimport { NotificationService } from '@vendure/admin-ui/core';\r\nimport { DataService } from '@vendure/admin-ui/core';\r\nimport { ServerConfigService } from '@vendure/admin-ui/core';\r\nimport { CUSTOMER_ROLE_CODE } from '@vendure/common/lib/shared-constants';\r\nimport { Observable } from 'rxjs';\r\nimport { mergeMap, take } from 'rxjs/operators';\r\n\r\nexport interface PermissionsByChannel {\r\n channelId: string;\r\n channelCode: string;\r\n permissions: { [K in Permission]: boolean };\r\n}\r\n\r\n@Component({\r\n selector: 'vdr-admin-detail',\r\n templateUrl: './admin-detail.component.html',\r\n styleUrls: ['./admin-detail.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class AdminDetailComponent\r\n extends BaseDetailComponent<GetAdministrator.Administrator>\r\n implements OnInit, OnDestroy\r\n{\r\n customFields: CustomFieldConfig[];\r\n administrator$: Observable<GetAdministrator.Administrator>;\r\n permissionDefinitions: PermissionDefinition[];\r\n allRoles$: Observable<Role.Fragment[]>;\r\n selectedRoles: Role.Fragment[] = [];\r\n detailForm: FormGroup;\r\n selectedRolePermissions: { [channelId: string]: PermissionsByChannel } = {} as any;\r\n selectedChannelId: string | null = null;\r\n\r\n getAvailableChannels(): PermissionsByChannel[] {\r\n return Object.values(this.selectedRolePermissions);\r\n }\r\n\r\n constructor(\r\n router: Router,\r\n route: ActivatedRoute,\r\n serverConfigService: ServerConfigService,\r\n private changeDetector: ChangeDetectorRef,\r\n protected dataService: DataService,\r\n private formBuilder: FormBuilder,\r\n private notificationService: NotificationService,\r\n ) {\r\n super(route, router, serverConfigService, dataService);\r\n this.customFields = this.getCustomFieldConfig('Administrator');\r\n this.detailForm = this.formBuilder.group({\r\n emailAddress: ['', Validators.required],\r\n firstName: ['', Validators.required],\r\n lastName: ['', Validators.required],\r\n password: [''],\r\n roles: [[]],\r\n customFields: this.formBuilder.group(\r\n this.customFields.reduce((hash, field) => ({ ...hash, [field.name]: '' }), {}),\r\n ),\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.init();\r\n this.administrator$ = this.entity$;\r\n this.allRoles$ = this.dataService.administrator\r\n .getRoles(999)\r\n .mapStream(item => item.roles.items.filter(i => i.code !== CUSTOMER_ROLE_CODE));\r\n this.dataService.client.userStatus().single$.subscribe(({ userStatus }) => {\r\n if (!userStatus.permissions.includes(Permission.UpdateAdministrator)) {\r\n const rolesSelect = this.detailForm.get('roles');\r\n if (rolesSelect) {\r\n rolesSelect.disable();\r\n }\r\n }\r\n });\r\n this.permissionDefinitions = this.serverConfigService.getPermissionDefinitions();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy();\r\n }\r\n\r\n rolesChanged(roles: Role[]) {\r\n this.buildPermissionsMap();\r\n }\r\n\r\n getPermissionsForSelectedChannel(): string[] {\r\n function getActivePermissions(input: PermissionsByChannel['permissions']): string[] {\r\n return Object.entries(input)\r\n .filter(([permission, active]) => active)\r\n .map(([permission, active]) => permission);\r\n }\r\n if (this.selectedChannelId) {\r\n const selectedChannel = this.selectedRolePermissions[this.selectedChannelId];\r\n if (selectedChannel) {\r\n const permissionMap = this.selectedRolePermissions[this.selectedChannelId].permissions;\r\n return getActivePermissions(permissionMap);\r\n }\r\n }\r\n const channels = Object.values(this.selectedRolePermissions);\r\n if (0 < channels.length) {\r\n this.selectedChannelId = channels[0].channelId;\r\n return getActivePermissions(channels[0].permissions);\r\n }\r\n return [];\r\n }\r\n\r\n create() {\r\n const formValue = this.detailForm.value;\r\n const administrator: CreateAdministratorInput = {\r\n emailAddress: formValue.emailAddress,\r\n firstName: formValue.firstName,\r\n lastName: formValue.lastName,\r\n password: formValue.password,\r\n customFields: formValue.customFields,\r\n roleIds: formValue.roles.map(role => role.id),\r\n };\r\n this.dataService.administrator.createAdministrator(administrator).subscribe(\r\n data => {\r\n this.notificationService.success(_('common.notify-create-success'), {\r\n entity: 'Administrator',\r\n });\r\n this.detailForm.markAsPristine();\r\n this.changeDetector.markForCheck();\r\n this.router.navigate(['../', data.createAdministrator.id], { relativeTo: this.route });\r\n },\r\n err => {\r\n this.notificationService.error(_('common.notify-create-error'), {\r\n entity: 'Administrator',\r\n });\r\n },\r\n );\r\n }\r\n\r\n save() {\r\n this.administrator$\r\n .pipe(\r\n take(1),\r\n mergeMap(({ id }) => {\r\n const formValue = this.detailForm.value;\r\n const administrator: UpdateAdministratorInput = {\r\n id,\r\n emailAddress: formValue.emailAddress,\r\n firstName: formValue.firstName,\r\n lastName: formValue.lastName,\r\n password: formValue.password,\r\n customFields: formValue.customFields,\r\n roleIds: formValue.roles.map(role => role.id),\r\n };\r\n return this.dataService.administrator.updateAdministrator(administrator);\r\n }),\r\n )\r\n .subscribe(\r\n data => {\r\n this.notificationService.success(_('common.notify-update-success'), {\r\n entity: 'Administrator',\r\n });\r\n this.detailForm.markAsPristine();\r\n this.changeDetector.markForCheck();\r\n },\r\n err => {\r\n this.notificationService.error(_('common.notify-update-error'), {\r\n entity: 'Administrator',\r\n });\r\n },\r\n );\r\n }\r\n\r\n protected setFormValues(administrator: Administrator, languageCode: LanguageCode): void {\r\n this.detailForm.patchValue({\r\n emailAddress: administrator.emailAddress,\r\n firstName: administrator.firstName,\r\n lastName: administrator.lastName,\r\n roles: administrator.user.roles,\r\n });\r\n if (this.customFields.length) {\r\n this.setCustomFieldFormValues(\r\n this.customFields,\r\n this.detailForm.get(['customFields']),\r\n administrator,\r\n );\r\n }\r\n const passwordControl = this.detailForm.get('password');\r\n if (passwordControl) {\r\n if (!administrator.id) {\r\n passwordControl.setValidators([Validators.required]);\r\n } else {\r\n passwordControl.setValidators([]);\r\n }\r\n }\r\n this.buildPermissionsMap();\r\n }\r\n\r\n private buildPermissionsMap() {\r\n const permissionsControl = this.detailForm.get('roles');\r\n if (permissionsControl) {\r\n const roles: RoleFragment[] = permissionsControl.value;\r\n const channelIdPermissionsMap = new Map<string, Set<Permission>>();\r\n const channelIdCodeMap = new Map<string, string>();\r\n\r\n for (const role of roles) {\r\n for (const channel of role.channels) {\r\n const channelPermissions = channelIdPermissionsMap.get(channel.id);\r\n const permissionSet = channelPermissions || new Set<Permission>();\r\n\r\n role.permissions.forEach(p => permissionSet.add(p));\r\n channelIdPermissionsMap.set(channel.id, permissionSet);\r\n channelIdCodeMap.set(channel.id, channel.code);\r\n }\r\n }\r\n\r\n this.selectedRolePermissions = {} as any;\r\n for (const channelId of Array.from(channelIdPermissionsMap.keys())) {\r\n // tslint:disable-next-line:no-non-null-assertion\r\n const permissionSet = channelIdPermissionsMap.get(channelId)!;\r\n const permissionsHash: { [K in Permission]: boolean } = {} as any;\r\n for (const def of this.serverConfigService.getPermissionDefinitions()) {\r\n permissionsHash[def.name] = permissionSet.has(def.name as Permission);\r\n }\r\n this.selectedRolePermissions[channelId] = {\r\n // tslint:disable:no-non-null-assertion\r\n channelId,\r\n channelCode: channelIdCodeMap.get(channelId)!,\r\n permissions: permissionsHash,\r\n // tslint:enable:no-non-null-assertion\r\n };\r\n }\r\n }\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\r\nimport {\r\n BaseListComponent,\r\n DataService,\r\n GetAdministrators,\r\n ModalService,\r\n NotificationService,\r\n} from '@vendure/admin-ui/core';\r\nimport { EMPTY } from 'rxjs';\r\nimport { switchMap } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'vdr-administrator-list',\r\n templateUrl: './administrator-list.component.html',\r\n styleUrls: ['./administrator-list.component.scss'],\r\n})\r\nexport class AdministratorListComponent extends BaseListComponent<\r\n GetAdministrators.Query,\r\n GetAdministrators.Items\r\n> {\r\n constructor(\r\n private dataService: DataService,\r\n router: Router,\r\n route: ActivatedRoute,\r\n private modalService: ModalService,\r\n private notificationService: NotificationService,\r\n ) {\r\n super(router, route);\r\n super.setQueryFn(\r\n (...args: any[]) => this.dataService.administrator.getAdministrators(...args),\r\n (data) => data.administrators,\r\n );\r\n }\r\n\r\n deleteAdministrator(administrator: GetAdministrators.Items) {\r\n return this.modalService\r\n .dialog({\r\n title: _('catalog.confirm-delete-administrator'),\r\n body: `${administrator.firstName} ${administrator.lastName}`,\r\n buttons: [\r\n { type: 'secondary', label: _('common.cancel') },\r\n { type: 'danger', label: _('common.delete'), returnValue: true },\r\n ],\r\n })\r\n .pipe(\r\n switchMap((res) =>\r\n res ? this.dataService.administrator.deleteAdministrator(administrator.id) : EMPTY,\r\n ),\r\n )\r\n .subscribe(\r\n () => {\r\n this.notificationService.success(_('common.notify-delete-success'), {\r\n entity: 'Administrator',\r\n });\r\n this.refresh();\r\n },\r\n (err) => {\r\n this.notificationService.error(_('common.notify-delete-error'), {\r\n entity: 'Administrator',\r\n });\r\n },\r\n );\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\r\nimport { BaseDetailComponent, CustomFieldConfig, Permission } from '@vendure/admin-ui/core';\r\nimport {\r\n Channel,\r\n CreateChannelInput,\r\n CurrencyCode,\r\n GetZones,\r\n LanguageCode,\r\n UpdateChannelInput,\r\n} from '@vendure/admin-ui/core';\r\nimport { getDefaultUiLanguage } from '@vendure/admin-ui/core';\r\nimport { NotificationService } from '@vendure/admin-ui/core';\r\nimport { DataService } from '@vendure/admin-ui/core';\r\nimport { ServerConfigService } from '@vendure/admin-ui/core';\r\nimport { DEFAULT_CHANNEL_CODE } from '@vendure/common/lib/shared-constants';\r\nimport { Observable } from 'rxjs';\r\nimport { map, mergeMap, take } from 'rxjs/operators';\r\n@Component({\r\n selector: 'vdr-channel-detail',\r\n templateUrl: './channel-detail.component.html',\r\n styleUrls: ['./channel-detail.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ChannelDetailComponent\r\n extends BaseDetailComponent<Channel.Fragment>\r\n implements OnInit, OnDestroy\r\n{\r\n customFields: CustomFieldConfig[];\r\n zones$: Observable<GetZones.Zones[]>;\r\n detailForm: FormGroup;\r\n currencyCodes = Object.values(CurrencyCode);\r\n availableLanguageCodes$: Observable<LanguageCode[]>;\r\n readonly updatePermission = [Permission.SuperAdmin, Permission.UpdateChannel, Permission.CreateChannel];\r\n\r\n constructor(\r\n router: Router,\r\n route: ActivatedRoute,\r\n protected serverConfigService: ServerConfigService,\r\n private changeDetector: ChangeDetectorRef,\r\n protected dataService: DataService,\r\n private formBuilder: FormBuilder,\r\n private notificationService: NotificationService,\r\n ) {\r\n super(route, router, serverConfigService, dataService);\r\n this.customFields = this.getCustomFieldConfig('Channel');\r\n this.detailForm = this.formBuilder.group({\r\n code: ['', Validators.required],\r\n token: ['', Validators.required],\r\n pricesIncludeTax: [false],\r\n currencyCode: [''],\r\n defaultShippingZoneId: ['', Validators.required],\r\n defaultLanguageCode: [],\r\n defaultTaxZoneId: ['', Validators.required],\r\n customFields: this.formBuilder.group(\r\n this.customFields.reduce((hash, field) => ({ ...hash, [field.name]: '' }), {}),\r\n ),\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.init();\r\n this.zones$ = this.dataService.settings.getZones().mapSingle(data => data.zones);\r\n this.availableLanguageCodes$ = this.serverConfigService.getAvailableLanguages();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroy();\r\n }\r\n\r\n saveButtonEnabled(): boolean {\r\n return this.detailForm.dirty && this.detailForm.valid;\r\n }\r\n\r\n create() {\r\n if (!this.detailForm.dirty) {\r\n return;\r\n }\r\n const formValue = this.detailForm.value;\r\n const input: CreateChannelInput = {\r\n code: formValue.code,\r\n token: formValue.token,\r\n defaultLanguageCode: formValue.defaultLanguageCode,\r\n pricesIncludeTax: formValue.pricesIncludeTax,\r\n currencyCode: formValue.currencyCode,\r\n defaultShippingZoneId: formValue.defaultShippingZoneId,\r\n defaultTaxZoneId: formValue.defaultTaxZoneId,\r\n customFields: formValue.customFields,\r\n };\r\n this.dataService.settings\r\n .createChannel(input)\r\n .pipe(\r\n mergeMap(({ createChannel }) =>\r\n this.dataService.auth.currentUser().single$.pipe(\r\n map(({ me }) => ({\r\n me,\r\n createChannel,\r\n })),\r\n ),\r\n ),\r\n mergeMap(({ me, createChannel }) =>\r\n // tslint:disable-next-line:no-non-null-assertion\r\n this.dataService.client.updateUserChannels(me!.channels).pipe(map(() => createChannel)),\r\n ),\r\n )\r\n .subscribe(data => {\r\n switch (data.__typename) {\r\n case 'Channel':\r\n this.notificationService.success(_('common.notify-create-success'), {\r\n entity: 'Channel',\r\n });\r\n this.detailForm.markAsPristine();\r\n this.changeDetector.markForCheck();\r\n this.router.navigate(['../', data.id], { relativeTo: this.route });\r\n break;\r\n case 'LanguageNotAvailableError':\r\n this.notificationService.error(data.message);\r\n break;\r\n }\r\n });\r\n }\r\n\r\n save() {\r\n if (!this.detailForm.dirty) {\r\n return;\r\n }\r\n const formValue = this.detailForm.value;\r\n this.entity$\r\n .pipe(\r\n take(1),\r\n mergeMap(channel => {\r\n const input = {\r\n id: channel.id,\r\n code: formValue.code,\r\n token: formValue.token,\r\n pricesIncludeTax: formValue.pricesIncludeTax,\r\n currencyCode: formValue.currencyCode,\r\n defaultShippingZoneId: formValue.defaultShippingZoneId,\r\n defaultLanguageCode: formValue.defaultLanguageCode,\r\n defaultTaxZoneId: formValue.defaultTaxZoneId,\r\n customFields: formValue.customFields,\r\n } as UpdateChannelInput;\r\n return this.dataService.settings.updateChannel(input);\r\n }),\r\n )\r\n .subscribe(({ updateChannel }) => {\r\n switch (updateChannel.__typename) {\r\n case 'Channel':\r\n this.notificationService.success(_('common.notify-update-success'), {\r\n entity: 'Channel',\r\n });\r\n this.detailForm.markAsPristine();\r\n this.changeDetector.markForCheck();\r\n break;\r\n case 'LanguageNotAvailableError':\r\n this.notificationService.error(updateChannel.message);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Update the form values when the entity changes.\r\n */\r\n protected setFormValues(entity: Channel.Fragment, languageCode: LanguageCode): void {\r\n this.detailForm.patchValue({\r\n code: entity.code,\r\n token: entity.token || this.generateToken(),\r\n pricesIncludeTax: entity.pricesIncludeTax,\r\n currencyCode: entity.currencyCode,\r\n defaultShippingZoneId: entity.defaultShippingZone ? entity.defaultShippingZone.id : '',\r\n defaultLanguageCode: entity.defaultLanguageCode,\r\n defaultTaxZoneId: entity.defaultTaxZone ? entity.defaultTaxZone.id : '',\r\n });\r\n if (this.customFields.length) {\r\n this.setCustomFieldFormValues(this.customFields, this.detailForm.get(['customFields']), entity);\r\n }\r\n if (entity.code === DEFAULT_CHANNEL_CODE) {\r\n const codeControl = this.detailForm.get('code');\r\n if (codeControl) {\r\n codeControl.disable();\r\n }\r\n }\r\n }\r\n\r\n private generateToken(): string {\r\n const randomString = () => Math.random().toString(36).substr(3, 10);\r\n return `${randomString()}${randomString()}`;\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\r\nimport { DEFAULT_CHANNEL_CODE } from '@vendure/common/lib/shared-constants';\r\nimport { EMPTY, Observable, Subject } from 'rxjs';\r\nimport { mergeMap, startWith, switchMap } from 'rxjs/operators';\r\n\r\nimport { Channel } from '@vendure/admin-ui/core';\r\nimport { NotificationService } from '@vendure/admin-ui/core';\r\nimport { DataService } from '@vendure/admin-ui/core';\r\nimport { ModalService } from '@vendure/admin-ui/core';\r\n\r\n@Component({\r\n selector: 'vdr-channel-list',\r\n templateUrl: './channel-list.component.html',\r\n styleUrls: ['./channel-list.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ChannelListComponent {\r\n channels$: Observable<Channel.Fragment[]>;\r\n private refresh$ = new Subject();\r\n\r\n constructor(\r\n private dataService: DataService,\r\n private modalService: ModalService,\r\n private notificationService: NotificationService,\r\n ) {\r\n this.channels$ = this.refresh$.pipe(\r\n startWith(1),\r\n switchMap(() => this.dataService.settings.getChannels().mapStream(data => data.channels)),\r\n );\r\n }\r\n\r\n isDefaultChannel(channelCode: string): boolean {\r\n return channelCode === DEFAULT_CHANNEL_CODE;\r\n }\r\n\r\n deleteChannel(id: string) {\r\n this.modalService\r\n .dialog({\r\n title: _('catalog.confirm-delete-channel'),\r\n buttons: [\r\n { type: 'secondary', label: _('common.cancel') },\r\n { type: 'danger', label: _('common.delete'), returnValue: true },\r\n ],\r\n })\r\n .pipe(\r\n switchMap(response => (response ? this.dataService.settings.deleteChannel(id) : EMPTY)),\r\n mergeMap(() => this.dataService.auth.currentUser().single$),\r\n // tslint:disable-next-line:no-non-null-assertion\r\n mergeMap(data => this.dataService.client.updateUserChannels(data.me!.channels)),\r\n )\r\n .subscribe(\r\n () => {\r\n this.notificationService.success(_('common.notify-delete-success'), {\r\n entity: 'Channel',\r\n });\r\n this.refresh$.next(1);\r\n },\r\n err => {\r\n this.notificationService.error(_('common.notify-delete-error'), {\r\n entity: 'Channel',\r\n });\r\n },\r\n );\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\r\nimport {\r\n BaseDetailComponent,\r\n Country,\r\n CreateCountryInput,\r\n createUpdatedTranslatable,\r\n CustomFieldConfig,\r\n DataService,\r\n findTranslation,\r\n LanguageCode,\r\n NotificationService,\r\n Permission,\r\n ServerConfigService,\r\n UpdateCountryInput,\r\n} from '@vendure/admin-ui/core';\r\nimport { combineLatest, Observable } from 'rxjs';\r\nimport { mergeMap, take } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'vdr-country-detail',\r\n templateUrl: './country-detail.component.html',\r\n styleUrls: ['./country-detail.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class CountryDetailComponent\r\n extends BaseDetailComponent<Country.Fragment>\r\n implements OnInit, OnDestroy\r\n{\r\n country$: Observable<Country.Fragment>;\r\n detailForm: FormGroup;\r\n customFields: CustomFieldConfig[];\r\n readonly updatePermission = [Permission.UpdateSettings, Permission.UpdateCountry];\r\n\r\n constructor(\r\n router: Router,\r\n route: ActivatedRoute,\r\n serverConfigService: ServerConfigService,\r\n private changeDetector: ChangeDetectorRef,\r\n protected dataService: DataService,\r\n private formBuilder: FormBuilder,\r\n private notificationService: NotificationService,\r\n ) {\r\n super(route, router, serverConfigService, dataService);\r\n this.customFields = this.getCustomFieldConfig('Country');\r\n this.detailForm = this.formBuilder.group({\r\n code: ['', Validators.required],\r\n name: ['', Validators.required],\r\n enabled: [true],\r\n customFields: this.formBuilder.group(\r\n this.customFields.reduce((hash, field) => ({ ...hash, [field.name]: '' }), {}),\r\n ),\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.init();\r\n this.country$ = this.entity$;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy();\r\n }\r\n\r\n create() {\r\n if (!this.detailForm.dirty) {\r\n return;\r\n }\r\n combineLatest(this.country$, this.languageCode$)\r\n .pipe(\r\n take(1),\r\n mergeMap(([country, languageCode]) => {\r\n const formValue = this.detailForm.value;\r\n const input: CreateCountryInput = createUpdatedTranslatable({\r\n translatable: country,\r\n updatedFields: formValue,\r\n customFieldConfig: this.customFields,\r\n languageCode,\r\n defaultTranslation: {\r\n name: formValue.name,\r\n languageCode,\r\n },\r\n });\r\n return this.dataService.settings.createCountry(input);\r\n }),\r\n )\r\n .subscribe(\r\n data => {\r\n this.notificationService.success(_('common.notify-create-success'), {\r\n entity: 'Country',\r\n });\r\n this.detailForm.markAsPristine();\r\n this.changeDetector.markForCheck();\r\n this.router.navigate(['../', data.createCountry.id], { relativeTo: this.route });\r\n },\r\n err => {\r\n this.notificationService.error(_('common.notify-create-error'), {\r\n entity: 'Country',\r\n });\r\n },\r\n );\r\n }\r\n\r\n save() {\r\n combineLatest(this.country$, this.languageCode$)\r\n .pipe(\r\n take(1),\r\n mergeMap(([country, languageCode]) => {\r\n const formValue = this.detailForm.value;\r\n const input: UpdateCountryInput = createUpdatedTranslatable({\r\n translatable: country,\r\n updatedFields: formValue,\r\n customFieldConfig: this.customFields,\r\n languageCode,\r\n defaultTranslation: {\r\n name: formValue.name,\r\n languageCode,\r\n },\r\n });\r\n return this.dataService.settings.updateCountry(input);\r\n }),\r\n )\r\n .subscribe(\r\n data => {\r\n this.notificationService.success(_('common.notify-update-success'), {\r\n entity: 'Country',\r\n });\r\n this.detailForm.markAsPristine();\r\n this.changeDetector.markForCheck();\r\n },\r\n err => {\r\n this.notificationService.error(_('common.notify-update-error'), {\r\n entity: 'Country',\r\n });\r\n },\r\n );\r\n }\r\n\r\n protected setFormValues(country: Country, languageCode: LanguageCode): void {\r\n const currentTranslation = findTranslation(country, languageCode);\r\n\r\n this.detailForm.patchValue({\r\n code: country.code,\r\n name: currentTranslation ? currentTranslation.name : '',\r\n enabled: country.enabled,\r\n });\r\n\r\n if (this.customFields.length) {\r\n this.setCustomFieldFormValues(\r\n this.customFields,\r\n this.detailForm.get(['customFields']),\r\n country,\r\n currentTranslation,\r\n );\r\n }\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\r\nimport {\r\n DataService,\r\n DeletionResult,\r\n GetCountryList,\r\n GetZones,\r\n LanguageCode,\r\n ModalService,\r\n NotificationService,\r\n ServerConfigService,\r\n Zone,\r\n} from '@vendure/admin-ui/core';\r\nimport { combineLatest, EMPTY, Observable, Subject } from 'rxjs';\r\nimport { map, startWith, switchMap, tap } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'vdr-country-list',\r\n templateUrl: './country-list.component.html',\r\n styleUrls: ['./country-list.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class CountryListComponent implements OnInit, OnDestroy {\r\n searchTerm = new FormControl('');\r\n countriesWithZones$: Observable<Array<GetCountryList.Items & { zones: GetZones.Zones[] }>>;\r\n zones$: Observable<GetZones.Zones[]>;\r\n availableLanguages$: Observable<LanguageCode[]>;\r\n contentLanguage$: Observable<LanguageCode>;\r\n\r\n private countries: GetCountryList.Items[] = [];\r\n private destroy$ = new Subject<void>();\r\n private refresh$ = new Subject<void>();\r\n\r\n constructor(\r\n private dataService: DataService,\r\n private notificationService: NotificationService,\r\n private modalService: ModalService,\r\n private serverConfigService: ServerConfigService,\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.contentLanguage$ = this.dataService.client\r\n .uiState()\r\n .mapStream(({ uiState }) => uiState.contentLanguage);\r\n\r\n const countries$ = combineLatest(\r\n this.contentLanguage$,\r\n this.searchTerm.valueChanges.pipe(startWith(null)),\r\n ).pipe(\r\n map(([__, term]) => term),\r\n switchMap(term => this.dataService.settings.getCountries(999, 0, term).single$),\r\n tap(data => {\r\n this.countries = data.countries.items;\r\n }),\r\n map(data => data.countries.items),\r\n );\r\n\r\n this.zones$ = this.dataService.settings.getZones().mapStream(data => data.zones);\r\n\r\n this.countriesWithZones$ = combineLatest(countries$, this.zones$).pipe(\r\n map(([countries, zones]) => {\r\n return countries.map(country => ({\r\n ...country,\r\n zones: zones.filter(z => !!z.members.find(c => c.id === country.id)),\r\n }));\r\n }),\r\n );\r\n\r\n this.availableLanguages$ = this.serverConfigService.getAvailableLanguages();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroy$.next(undefined);\r\n this.destroy$.complete();\r\n }\r\n\r\n setLanguage(code: LanguageCode) {\r\n this.dataService.client.setContentLanguage(code).subscribe();\r\n }\r\n\r\n deleteCountry(countryId: string) {\r\n this.modalService\r\n .dialog({\r\n title: _('catalog.confirm-delete-country'),\r\n buttons: [\r\n { type: 'secondary', label: _('common.cancel') },\r\n { type: 'danger', label: _('common.delete'), returnValue: true },\r\n ],\r\n })\r\n .pipe(\r\n switchMap(response =>\r\n response ? this.dataService.settings.deleteCountry(countryId) : EMPTY,\r\n ),\r\n )\r\n .subscribe(\r\n response => {\r\n if (response.deleteCountry.result === DeletionResult.DELETED) {\r\n this.notificationService.success(_('common.notify-delete-success'), {\r\n entity: 'Country',\r\n });\r\n this.dataService.settings.getCountries(999, 0).single$.subscribe();\r\n } else {\r\n this.notificationService.error(response.deleteCountry.message || '');\r\n }\r\n },\r\n err => {\r\n this.notificationService.error(_('common.notify-delete-error'), {\r\n entity: 'Country',\r\n });\r\n },\r\n );\r\n }\r\n\r\n private isZone(input: Zone.Fragment | { name: string } | string): input is Zone.Fragment {\r\n return input.hasOwnProperty('id');\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\r\nimport {\r\n BaseDetailComponent,\r\n CustomFieldConfig,\r\n DataService,\r\n GlobalSettings,\r\n LanguageCode,\r\n NotificationService,\r\n Permission,\r\n ServerConfigService,\r\n} from '@vendure/admin-ui/core';\r\nimport { switchMap, tap, withLatestFrom } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'vdr-global-settings',\r\n templateUrl: './global-settings.component.html',\r\n styleUrls: ['./global-settings.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class GlobalSettingsComponent extends BaseDetailComponent<GlobalSettings> implements OnInit {\r\n detailForm: FormGroup;\r\n customFields: CustomFieldConfig[];\r\n languageCodes = Object.values(LanguageCode);\r\n readonly updatePermission = [Permission.UpdateSettings, Permission.UpdateGlobalSettings];\r\n\r\n constructor(\r\n router: Router,\r\n route: ActivatedRoute,\r\n serverConfigService: ServerConfigService,\r\n private changeDetector: ChangeDetectorRef,\r\n protected dataService: DataService,\r\n private formBuilder: FormBuilder,\r\n private notificationService: NotificationService,\r\n ) {\r\n super(route, router, serverConfigService, dataService);\r\n this.customFields = this.getCustomFieldConfig('GlobalSettings');\r\n this.detailForm = this.formBuilder.group({\r\n availableLanguages: [''],\r\n trackInventory: false,\r\n outOfStockThreshold: [0, Validators.required],\r\n customFields: this.formBuilder.group(\r\n this.customFields.reduce((hash, field) => ({ ...hash, [field.name]: '' }), {}),\r\n ),\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.init();\r\n this.dataService.client.userStatus().single$.subscribe(({ userStatus }) => {\r\n if (!userStatus.permissions.includes(Permission.UpdateSettings)) {\r\n const languagesSelect = this.detailForm.get('availableLanguages');\r\n if (languagesSelect) {\r\n languagesSelect.disable();\r\n }\r\n }\r\n });\r\n }\r\n\r\n save() {\r\n if (!this.detailForm.dirty) {\r\n return;\r\n }\r\n\r\n this.dataService.settings\r\n .updateGlobalSettings(this.detailForm.value)\r\n .pipe(\r\n tap(({ updateGlobalSettings }) => {\r\n switch (updateGlobalSettings.__typename) {\r\n case 'GlobalSettings':\r\n this.detailForm.markAsPristine();\r\n this.changeDetector.markForCheck();\r\n this.notificationService.success(_('common.notify-update-success'), {\r\n entity: 'Settings',\r\n });\r\n break;\r\n case 'ChannelDefaultLanguageError':\r\n this.notificationService.error(updateGlobalSettings.message);\r\n }\r\n }),\r\n switchMap(() => this.serverConfigService.refreshGlobalSettings()),\r\n withLatestFrom(this.dataService.client.uiState().single$),\r\n )\r\n .subscribe(([{ globalSettings }, { uiState }]) => {\r\n const availableLangs = globalSettings.availableLanguages;\r\n if (availableLangs.length && !availableLangs.includes(uiState.contentLanguage)) {\r\n this.dataService.client.setContentLanguage(availableLangs[0]).subscribe();\r\n }\r\n });\r\n }\r\n\r\n protected setFormValues(entity: GlobalSettings, languageCode: LanguageCode): void {\r\n this.detailForm.patchValue({\r\n availableLanguages: entity.availableLanguages,\r\n trackInventory: entity.trackInventory,\r\n outOfStockThreshold: entity.outOfStockThreshold,\r\n });\r\n if (this.customFields.length) {\r\n this.setCustomFieldFormValues(this.customFields, this.detailForm.get('customFields'), entity);\r\n }\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\r\nimport {\r\n BaseDetailComponent,\r\n ConfigArgDefinition,\r\n configurableDefinitionToInstance,\r\n ConfigurableOperation,\r\n ConfigurableOperationDefinition,\r\n CreatePaymentMethodInput,\r\n CustomFieldConfig,\r\n DataService,\r\n encodeConfigArgValue,\r\n getConfigArgValue,\r\n NotificationService,\r\n PaymentMethod,\r\n Permission,\r\n ServerConfigService,\r\n toConfigurableOperationInput,\r\n UpdatePaymentMethodInput,\r\n} from '@vendure/admin-ui/core';\r\nimport { normalizeString } from '@vendure/common/lib/normalize-string';\r\nimport { combineLatest } from 'rxjs';\r\nimport { mergeMap, take } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'vdr-payment-method-detail',\r\n templateUrl: './payment-method-detail.component.html',\r\n styleUrls: ['./payment-method-detail.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class PaymentMethodDetailComponent\r\n extends BaseDetailComponent<PaymentMethod.Fragment>\r\n implements OnInit, OnDestroy\r\n{\r\n detailForm: FormGroup;\r\n customFields: CustomFieldConfig[];\r\n checkers: ConfigurableOperationDefinition[] = [];\r\n handlers: ConfigurableOperationDefinition[] = [];\r\n selectedChecker?: ConfigurableOperation | null;\r\n selectedCheckerDefinition?: ConfigurableOperationDefinition;\r\n selectedHandler?: ConfigurableOperation | null;\r\n selectedHandlerDefinition?: ConfigurableOperationDefinition;\r\n readonly updatePermission = [Permission.UpdateSettings, Permission.UpdatePaymentMethod];\r\n\r\n constructor(\r\n router: Router,\r\n route: ActivatedRoute,\r\n serverConfigService: ServerConfigService,\r\n private changeDetector: ChangeDetectorRef,\r\n protected dataService: DataService,\r\n private formBuilder: FormBuilder,\r\n private notificationService: NotificationService,\r\n ) {\r\n super(route, router, serverConfigService, dataService);\r\n this.customFields = this.getCustomFieldConfig('PaymentMethod');\r\n this.detailForm = this.formBuilder.group({\r\n code: ['', Validators.required],\r\n name: ['', Validators.required],\r\n description: '',\r\n enabled: [true, Validators.required],\r\n checker: {},\r\n handler: {},\r\n customFields: this.formBuilder.group(\r\n this.customFields.reduce((hash, field) => ({ ...hash, [field.name]: '' }), {}),\r\n ),\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.init();\r\n combineLatest([\r\n this.dataService.settings.getPaymentMethodOperations().single$,\r\n this.entity$.pipe(take(1)),\r\n ]).subscribe(([data, entity]) => {\r\n this.checkers = data.paymentMethodEligibilityCheckers;\r\n this.handlers = data.paymentMethodHandlers;\r\n this.changeDetector.markForCheck();\r\n this.selectedCheckerDefinition = data.paymentMethodEligibilityCheckers.find(\r\n c => c.code === (entity.checker && entity.checker.code),\r\n );\r\n this.selectedHandlerDefinition = data.paymentMethodHandlers.find(\r\n c => c.code === (entity.handler && entity.handler.code),\r\n );\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy();\r\n }\r\n\r\n updateCode(currentCode: string, nameValue: string) {\r\n if (!currentCode) {\r\n const codeControl = this.detailForm.get(['code']);\r\n if (codeControl && codeControl.pristine) {\r\n codeControl.setValue(normalizeString(nameValue, '-'));\r\n }\r\n }\r\n }\r\n\r\n configArgsIsPopulated(): boolean {\r\n const configArgsGroup = this.detailForm.get('configArgs') as FormGroup | undefined;\r\n if (!configArgsGroup) {\r\n return false;\r\n }\r\n return 0 < Object.keys(configArgsGroup.controls).length;\r\n }\r\n\r\n selectChecker(checker: ConfigurableOperationDefinition) {\r\n this.selectedCheckerDefinition = checker;\r\n this.selectedChecker = configurableDefinitionToInstance(checker);\r\n const formControl = this.detailForm.get('checker');\r\n if (formControl) {\r\n formControl.clearValidators();\r\n formControl.updateValueAndValidity({ onlySelf: true });\r\n formControl.patchValue(this.selectedChecker);\r\n }\r\n this.detailForm.markAsDirty();\r\n }\r\n\r\n selectHandler(handler: ConfigurableOperationDefinition) {\r\n this.selectedHandlerDefinition = handler;\r\n this.selectedHandler = configurableDefinitionToInstance(handler);\r\n const formControl = this.detailForm.get('handler');\r\n if (formControl) {\r\n formControl.clearValidators();\r\n formControl.updateValueAndValidity({ onlySelf: true });\r\n formControl.patchValue(this.selectedHandler);\r\n }\r\n this.detailForm.markAsDirty();\r\n }\r\n\r\n removeChecker() {\r\n this.selectedChecker = null;\r\n this.detailForm.markAsDirty();\r\n }\r\n\r\n removeHandler() {\r\n this.selectedHandler = null;\r\n this.detailForm.markAsDirty();\r\n }\r\n\r\n create() {\r\n const selectedChecker = this.selectedChecker;\r\n const selectedHandler = this.selectedHandler;\r\n if (!selectedHandler) {\r\n return;\r\n }\r\n this.entity$\r\n .pipe(\r\n take(1),\r\n mergeMap(({ id }) => {\r\n const formValue = this.detailForm.value;\r\n const input: CreatePaymentMethodInput = {\r\n name: formValue.name,\r\n code: formValue.code,\r\n description: formValue.description,\r\n enabled: formValue.enabled,\r\n checker: selectedChecker\r\n ? toConfigurableOperationInput(selectedChecker, formValue.checker)\r\n : null,\r\n handler: toConfigurableOperationInput(selectedHandler, formValue.handler),\r\n customFields: formValue.customFields,\r\n };\r\n return this.dataService.settings.createPaymentMethod(input);\r\n }),\r\n )\r\n .subscribe(\r\n data => {\r\n this.notificationService.success(_('common.notify-create-success'), {\r\n entity: 'PaymentMethod',\r\n });\r\n this.detailForm.markAsPristine();\r\n this.changeDetector.markForCheck();\r\n this.router.navigate(['../', data.createPaymentMethod.id], { relativeTo: this.route });\r\n },\r\n err => {\r\n this.notificationService.error(_('common.notify-create-error'), {\r\n entity: 'PaymentMethod',\r\n });\r\n },\r\n );\r\n }\r\n\r\n save() {\r\n const selectedChecker = this.selectedChecker;\r\n const selectedHandler = this.selectedHandler;\r\n if (!selectedHandler) {\r\n return;\r\n }\r\n this.entity$\r\n .pipe(\r\n take(1),\r\n mergeMap(({ id }) => {\r\n const formValue = this.detailForm.value;\r\n const input: UpdatePaymentMethodInput = {\r\n id,\r\n name: formValue.name,\r\n code: formValue.code,\r\n description: formValue.description,\r\n enabled: formValue.enabled,\r\n checker: selectedChecker\r\n ? toConfigurableOperationInput(selectedChecker, formValue.checker)\r\n : null,\r\n handler: toConfigurableOperationInput(selectedHandler, formValue.handler),\r\n customFields: formValue.customFields,\r\n };\r\n return this.dataService.settings.updatePaymentMethod(input);\r\n }),\r\n )\r\n .subscribe(\r\n data => {\r\n this.notificationService.success(_('common.notify-update-success'), {\r\n entity: 'PaymentMethod',\r\n });\r\n this.detailForm.markAsPristine();\r\n this.changeDetector.markForCheck();\r\n },\r\n err => {\r\n this.notificationService.error(_('common.notify-update-error'), {\r\n entity: 'PaymentMethod',\r\n });\r\n },\r\n );\r\n }\r\n\r\n protected setFormValues(paymentMethod: PaymentMethod.Fragment): void {\r\n this.detailForm.patchValue({\r\n name: paymentMethod.name,\r\n code: paymentMethod.code,\r\n description: paymentMethod.description,\r\n enabled: paymentMethod.enabled,\r\n checker: paymentMethod.checker || {},\r\n handler: paymentMethod.handler || {},\r\n });\r\n if (!this.selectedChecker) {\r\n this.selectedChecker = paymentMethod.checker && {\r\n code: paymentMethod.checker.code,\r\n args: paymentMethod.checker.args.map(a => ({ ...a, value: getConfigArgValue(a.value) })),\r\n };\r\n }\r\n if (!this.selectedHandler) {\r\n this.selectedHandler = paymentMethod.handler && {\r\n code: paymentMethod.handler.code,\r\n args: paymentMethod.handler.args.map(a => ({ ...a, value: getConfigArgValue(a.value) })),\r\n };\r\n }\r\n if (this.customFields.length) {\r\n this.setCustomFieldFormValues(\r\n this.customFields,\r\n this.detailForm.get('customFields'),\r\n paymentMethod,\r\n );\r\n }\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\r\nimport {\r\n BaseListComponent,\r\n DataService,\r\n DeletionResult,\r\n GetPaymentMethodList,\r\n ModalService,\r\n NotificationService,\r\n} from '@vendure/admin-ui/core';\r\nimport { EMPTY } from 'rxjs';\r\nimport { map, switchMap } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'vdr-payment-method-list',\r\n templateUrl: './payment-method-list.component.html',\r\n styleUrls: ['./payment-method-list.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class PaymentMethodListComponent extends BaseListComponent<\r\n GetPaymentMethodList.Query,\r\n GetPaymentMethodList.Items\r\n> {\r\n constructor(\r\n private dataService: DataService,\r\n router: Router,\r\n route: ActivatedRoute,\r\n private modalService: ModalService,\r\n private notificationService: NotificationService,\r\n ) {\r\n super(router, route);\r\n super.setQueryFn(\r\n (...args: any[]) => this.dataService.settings.getPaymentMethods(...args).refetchOnChannelChange(),\r\n data => data.paymentMethods,\r\n );\r\n }\r\n\r\n deletePaymentMethod(paymentMethodId: string) {\r\n this.showModalAndDelete(paymentMethodId)\r\n .pipe(\r\n switchMap(response => {\r\n if (response.result === DeletionResult.DELETED) {\r\n return [true];\r\n } else {\r\n return this.showModalAndDelete(paymentMethodId, response.message || '').pipe(\r\n map(r => r.result === DeletionResult.DELETED),\r\n );\r\n }\r\n }),\r\n // Refresh the cached facets to reflect the changes\r\n switchMap(() => this.dataService.settings.getPaymentMethods(100).single$),\r\n )\r\n .subscribe(\r\n () => {\r\n this.notificationService.success(_('common.notify-delete-success'), {\r\n entity: 'PaymentMethod',\r\n });\r\n this.refresh();\r\n },\r\n err => {\r\n this.notificationService.error(_('common.notify-delete-error'), {\r\n entity: 'PaymentMethod',\r\n });\r\n },\r\n );\r\n }\r\n\r\n private showModalAndDelete(paymentMethodId: string, message?: string) {\r\n return this.modalService\r\n .dialog({\r\n title: _('settings.confirm-delete-payment-method'),\r\n body: message,\r\n buttons: [\r\n { type: 'secondary', label: _('common.cancel') },\r\n { type: 'danger', label: _('common.delete'), returnValue: true },\r\n ],\r\n })\r\n .pipe(\r\n switchMap(res =>\r\n res ? this.dataService.settings.deletePaymentMethod(paymentMethodId, !!message) : EMPTY,\r\n ),\r\n map(res => res.deletePaymentMethod),\r\n );\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\nimport { PermissionDefinition } from '@vendure/admin-ui/core';\n\nexport interface PermissionGridRow {\n label: string;\n description: string;\n permissions: PermissionDefinition[];\n}\n\n/**\n * A table showing and allowing the setting of all possible CRUD permissions.\n */\n@Component({\n selector: 'vdr-permission-grid',\n templateUrl: './permission-grid.component.html',\n styleUrls: ['./permission-grid.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PermissionGridComponent implements OnInit {\n @Input() permissionDefinitions: PermissionDefinition[];\n @Input() activePermissions: string[];\n @Input() readonly = false;\n @Output() permissionChange = new EventEmitter<{ permission: string; value: boolean }>();\n gridData: PermissionGridRow[];\n\n ngOnInit() {\n this.buildGrid();\n }\n\n setPermission(permission: string, value: boolean) {\n if (!this.readonly) {\n this.permissionChange.emit({ permission, value });\n }\n }\n\n toggleAll(defs: PermissionDefinition[]) {\n const value = defs.some(d => !this.activePermissions.includes(d.name));\n for (const def of defs) {\n this.permissionChange.emit({ permission: def.name, value });\n }\n }\n\n private buildGrid() {\n const crudGroups = new Map<string, PermissionDefinition[]>();\n const nonCrud: PermissionDefinition[] = [];\n const crudRe = /^(Create|Read|Update|Delete)([a-zA-Z]+)$/;\n for (const def of this.permissionDefinitions) {\n const isCrud = crudRe.test(def.name);\n if (isCrud) {\n const groupName = def.name.match(crudRe)?.[2];\n if (groupName) {\n const existing = crudGroups.get(groupName);\n if (existing) {\n existing.push(def);\n } else {\n crudGroups.set(groupName, [def]);\n }\n }\n } else if (def.assignable) {\n nonCrud.push(def);\n }\n }\n this.gridData = [\n ...nonCrud.map(d => ({\n label: d.name,\n description: d.description,\n permissions: [d],\n })),\n ...Array.from(crudGroups.entries()).map(([label, defs]) => {\n return {\n label,\n description: this.extractCrudDescription(defs[0]),\n permissions: defs,\n };\n }),\n ];\n }\n\n private extractCrudDescription(def: PermissionDefinition): string {\n return def.description.replace(/Grants permission to [\\w]+/, 'Grants permissions on');\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\r\nimport {\r\n Administrator,\r\n BaseDetailComponent,\r\n CustomFieldConfig,\r\n DataService,\r\n GetActiveAdministrator,\r\n LanguageCode,\r\n NotificationService,\r\n ServerConfigService,\r\n UpdateActiveAdministratorInput,\r\n} from '@vendure/admin-ui/core';\r\nimport { mergeMap, take } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'vdr-profile',\r\n templateUrl: './profile.component.html',\r\n styleUrls: ['./profile.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ProfileComponent\r\n extends BaseDetailComponent<GetActiveAdministrator.ActiveAdministrator>\r\n implements OnInit, OnDestroy\r\n{\r\n customFields: CustomFieldConfig[];\r\n detailForm: FormGroup;\r\n\r\n constructor(\r\n router: Router,\r\n route: ActivatedRoute,\r\n serverConfigService: ServerConfigService,\r\n private changeDetector: ChangeDetectorRef,\r\n protected dataService: DataService,\r\n private formBuilder: FormBuilder,\r\n private notificationService: NotificationService,\r\n ) {\r\n super(route, router, serverConfigService, dataService);\r\n this.customFields = this.getCustomFieldConfig('Administrator');\r\n this.detailForm = this.formBuilder.group({\r\n emailAddress: ['', Validators.required],\r\n firstName: ['', Validators.required],\r\n lastName: ['', Validators.required],\r\n password: [''],\r\n customFields: this.formBuilder.group(\r\n this.customFields.reduce((hash, field) => ({ ...hash, [field.name]: '' }), {}),\r\n ),\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.init();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy();\r\n }\r\n\r\n save() {\r\n this.entity$\r\n .pipe(\r\n take(1),\r\n mergeMap(({ id }) => {\r\n const formValue = this.detailForm.value;\r\n const administrator: UpdateActiveAdministratorInput = {\r\n emailAddress: formValue.emailAddress,\r\n firstName: formValue.firstName,\r\n lastName: formValue.lastName,\r\n password: formValue.password,\r\n customFields: formValue.customFields,\r\n };\r\n return this.dataService.administrator.updateActiveAdministrator(administrator);\r\n }),\r\n )\r\n .subscribe(\r\n data => {\r\n this.notificationService.success(_('common.notify-update-success'), {\r\n entity: 'Administrator',\r\n });\r\n this.detailForm.markAsPristine();\r\n this.changeDetector.markForCheck();\r\n },\r\n err => {\r\n this.notificationService.error(_('common.notify-update-error'), {\r\n entity: 'Administrator',\r\n });\r\n },\r\n );\r\n }\r\n\r\n protected setFormValues(administrator: Administrator, languageCode: LanguageCode): void {\r\n this.detailForm.patchValue({\r\n emailAddress: administrator.emailAddress,\r\n firstName: administrator.firstName,\r\n lastName: administrator.lastName,\r\n });\r\n if (this.customFields.length) {\r\n this.setCustomFieldFormValues(\r\n this.customFields,\r\n this.detailForm.get('customFields'),\r\n administrator,\r\n );\r\n }\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\nimport {\n BaseDetailComponent,\n CreateRoleInput,\n DataService,\n LanguageCode,\n NotificationService,\n Permission,\n PermissionDefinition,\n Role,\n ServerConfigService,\n UpdateRoleInput,\n} from '@vendure/admin-ui/core';\nimport { normalizeString } from '@vendure/common/lib/normalize-string';\nimport { unique } from '@vendure/common/lib/unique';\nimport { Observable } from 'rxjs';\nimport { mergeMap, take } from 'rxjs/operators';\n\n@Component({\n selector: 'vdr-role-detail',\n templateUrl: './role-detail.component.html',\n styleUrls: ['./role-detail.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class RoleDetailComponent extends BaseDetailComponent<Role> implements OnInit, OnDestroy {\n role$: Observable<Role>;\n detailForm: FormGroup;\n permissionDefinitions: PermissionDefinition[];\n constructor(\n router: Router,\n route: ActivatedRoute,\n serverConfigService: ServerConfigService,\n private changeDetector: ChangeDetectorRef,\n protected dataService: DataService,\n private formBuilder: FormBuilder,\n private notificationService: NotificationService,\n ) {\n super(route, router, serverConfigService, dataService);\n this.detailForm = this.formBuilder.group({\n code: ['', Validators.required],\n description: ['', Validators.required],\n channelIds: [],\n permissions: [],\n });\n }\n\n ngOnInit() {\n this.init();\n this.role$ = this.entity$;\n this.permissionDefinitions = this.serverConfigService.getPermissionDefinitions();\n }\n\n ngOnDestroy(): void {\n this.destroy();\n }\n\n updateCode(nameValue: string) {\n const codeControl = this.detailForm.get(['code']);\n if (codeControl && codeControl.pristine) {\n codeControl.setValue(normalizeString(nameValue, '-'));\n }\n }\n\n setPermission(change: { permission: string; value: boolean }) {\n const permissionsControl = this.detailForm.get('permissions');\n if (permissionsControl) {\n const currentPermissions = permissionsControl.value as string[];\n const newValue =\n change.value === true\n ? unique([...currentPermissions, change.permission])\n : currentPermissions.filter(p => p !== change.permission);\n permissionsControl.setValue(newValue);\n permissionsControl.markAsDirty();\n }\n }\n\n create() {\n const formValue = this.detailForm.value;\n const role: CreateRoleInput = formValue;\n this.dataService.administrator.createRole(role).subscribe(\n data => {\n this.notificationService.success(_('common.notify-create-success'), { entity: 'Role' });\n this.detailForm.markAsPristine();\n this.changeDetector.markForCheck();\n this.router.navigate(['../', data.createRole.id], { relativeTo: this.route });\n },\n err => {\n this.notificationService.error(_('common.notify-create-error'), {\n entity: 'Role',\n });\n },\n );\n }\n\n save() {\n this.role$\n .pipe(\n take(1),\n mergeMap(({ id }) => {\n const formValue = this.detailForm.value;\n const role: UpdateRoleInput = { id, ...formValue };\n return this.dataService.administrator.updateRole(role);\n }),\n )\n .subscribe(\n data => {\n this.notificationService.success(_('common.notify-update-success'), { entity: 'Role' });\n this.detailForm.markAsPristine();\n this.changeDetector.markForCheck();\n },\n err => {\n this.notificationService.error(_('common.notify-update-error'), {\n entity: 'Role',\n });\n },\n );\n }\n\n protected setFormValues(role: Role, languageCode: LanguageCode): void {\n this.detailForm.patchValue({\n description: role.description,\n code: role.code,\n channelIds: role.channels.map(c => c.id),\n permissions: role.permissions,\n });\n // This was required to get the channel selector component to\n // correctly display its contents. A while spent debugging the root\n // cause did not yield a solution, therefore this next line.\n this.changeDetector.detectChanges();\n }\n}\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\r\nimport { BaseListComponent } from '@vendure/admin-ui/core';\r\nimport { GetRoles, Role } from '@vendure/admin-ui/core';\r\nimport { NotificationService } from '@vendure/admin-ui/core';\r\nimport { DataService } from '@vendure/admin-ui/core';\r\nimport { ModalService } from '@vendure/admin-ui/core';\r\nimport { CUSTOMER_ROLE_CODE, SUPER_ADMIN_ROLE_CODE } from '@vendure/common/lib/shared-constants';\r\nimport { EMPTY, Observable } from 'rxjs';\r\nimport { map, switchMap } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'vdr-role-list',\r\n templateUrl: './role-list.component.html',\r\n styleUrls: ['./role-list.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class RoleListComponent extends BaseListComponent<GetRoles.Query, GetRoles.Items> implements OnInit {\r\n readonly initialLimit = 3;\r\n displayLimit: { [id: string]: number } = {};\r\n visibleRoles$: Observable<GetRoles.Items[]>;\r\n\r\n constructor(\r\n private modalService: ModalService,\r\n private notificationService: NotificationService,\r\n private dataService: DataService,\r\n router: Router,\r\n route: ActivatedRoute,\r\n ) {\r\n super(router, route);\r\n super.setQueryFn(\r\n (...args: any[]) => this.dataService.administrator.getRoles(...args),\r\n data => data.roles,\r\n );\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n this.visibleRoles$ = this.items$.pipe(\r\n map(roles => roles.filter(role => role.code !== CUSTOMER_ROLE_CODE)),\r\n );\r\n }\r\n\r\n toggleDisplayLimit(role: GetRoles.Items) {\r\n if (this.displayLimit[role.id] === role.permissions.length) {\r\n this.displayLimit[role.id] = this.initialLimit;\r\n } else {\r\n this.displayLimit[role.id] = role.permissions.length;\r\n }\r\n }\r\n\r\n isDefaultRole(role: Role): boolean {\r\n return role.code === SUPER_ADMIN_ROLE_CODE || role.code === CUSTOMER_ROLE_CODE;\r\n }\r\n\r\n deleteRole(id: string) {\r\n this.modalService\r\n .dialog({\r\n title: _('settings.confirm-delete-role'),\r\n buttons: [\r\n { type: 'secondary', label: _('common.cancel') },\r\n { type: 'danger', label: _('common.delete'), returnValue: true },\r\n ],\r\n })\r\n .pipe(switchMap(response => (response ? this.dataService.administrator.deleteRole(id) : EMPTY)))\r\n .subscribe(\r\n () => {\r\n this.notificationService.success(_('common.notify-delete-success'), {\r\n entity: 'Role',\r\n });\r\n this.refresh();\r\n },\r\n err => {\r\n this.notificationService.error(_('common.notify-delete-error'), {\r\n entity: 'Role',\r\n });\r\n },\r\n );\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\nimport { CurrencyCode, ShippingMethodQuote } from '@vendure/admin-ui/core';\r\n\r\n@Component({\r\n selector: 'vdr-shipping-eligibility-test-result',\r\n templateUrl: './shipping-eligibility-test-result.component.html',\r\n styleUrls: ['./shipping-eligibility-test-result.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ShippingEligibilityTestResultComponent {\r\n @Input() testResult: ShippingMethodQuote[];\r\n @Input() okToRun = false;\r\n @Input() testDataUpdated = false;\r\n @Input() currencyCode: CurrencyCode;\r\n @Output() runTest = new EventEmitter<void>();\r\n}\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\r\nimport {\r\n BaseDetailComponent,\r\n configurableDefinitionToInstance,\r\n ConfigurableOperation,\r\n ConfigurableOperationDefinition,\r\n CreateShippingMethodInput,\r\n createUpdatedTranslatable,\r\n CustomFieldConfig,\r\n DataService,\r\n findTranslation,\r\n GetActiveChannel,\r\n getConfigArgValue,\r\n LanguageCode,\r\n NotificationService,\r\n Permission,\r\n ServerConfigService,\r\n ShippingMethod,\r\n TestShippingMethodInput,\r\n TestShippingMethodResult,\r\n toConfigurableOperationInput,\r\n UpdateShippingMethodInput,\r\n} from '@vendure/admin-ui/core';\r\nimport { normalizeString } from '@vendure/common/lib/normalize-string';\r\nimport { combineLatest, merge, Observable, of, Subject } from 'rxjs';\r\nimport { mergeMap, switchMap, take, takeUntil } from 'rxjs/operators';\r\n\r\nimport { TestAddress } from '../test-address-form/test-address-form.component';\r\nimport { TestOrderLine } from '../test-order-builder/test-order-builder.component';\r\n\r\n@Component({\r\n selector: 'vdr-shipping-method-detail',\r\n templateUrl: './shipping-method-detail.component.html',\r\n styleUrls: ['./shipping-method-detail.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ShippingMethodDetailComponent\r\n extends BaseDetailComponent<ShippingMethod.Fragment>\r\n implements OnInit, OnDestroy\r\n{\r\n detailForm: FormGroup;\r\n checkers: ConfigurableOperationDefinition[] = [];\r\n calculators: ConfigurableOperationDefinition[] = [];\r\n fulfillmentHandlers: ConfigurableOperationDefinition[] = [];\r\n selectedChecker?: ConfigurableOperation | null;\r\n selectedCheckerDefinition?: ConfigurableOperationDefinition;\r\n selectedCalculator?: ConfigurableOperation | null;\r\n selectedCalculatorDefinition?: ConfigurableOperationDefinition;\r\n activeChannel$: Observable<GetActiveChannel.ActiveChannel>;\r\n testAddress: TestAddress;\r\n testOrderLines: TestOrderLine[];\r\n testDataUpdated = false;\r\n testResult$: Observable<TestShippingMethodResult | undefined>;\r\n customFields: CustomFieldConfig[];\r\n readonly updatePermission = [Permission.UpdateSettings, Permission.UpdateShippingMethod];\r\n private fetchTestResult$ = new Subject<[TestAddress, TestOrderLine[]]>();\r\n\r\n constructor(\r\n router: Router,\r\n route: ActivatedRoute,\r\n serverConfigService: ServerConfigService,\r\n private changeDetector: ChangeDetectorRef,\r\n protected dataService: DataService,\r\n private formBuilder: FormBuilder,\r\n private notificationService: NotificationService,\r\n ) {\r\n super(route, router, serverConfigService, dataService);\r\n this.customFields = this.getCustomFieldConfig('ShippingMethod');\r\n this.detailForm = this.formBuilder.group({\r\n code: ['', Validators.required],\r\n name: ['', Validators.required],\r\n description: '',\r\n fulfillmentHandler: ['', Validators.required],\r\n checker: {},\r\n calculator: {},\r\n customFields: this.formBuilder.group(\r\n this.customFields.reduce((hash, field) => ({ ...hash, [field.name]: '' }), {}),\r\n ),\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.init();\r\n combineLatest([\r\n this.dataService.shippingMethod.getShippingMethodOperations().single$,\r\n this.entity$.pipe(take(1)),\r\n ]).subscribe(([data, entity]) => {\r\n this.checkers = data.shippingEligibilityCheckers;\r\n this.calculators = data.shippingCalculators;\r\n this.fulfillmentHandlers = data.fulfillmentHandlers;\r\n this.changeDetector.markForCheck();\r\n this.selectedCheckerDefinition = data.shippingEligibilityCheckers.find(\r\n c => c.code === (entity.checker && entity.checker.code),\r\n );\r\n this.selectedCalculatorDefinition = data.shippingCalculators.find(\r\n c => c.code === (entity.calculator && entity.calculator.code),\r\n );\r\n });\r\n\r\n this.activeChannel$ = this.dataService.settings\r\n .getActiveChannel()\r\n .mapStream(data => data.activeChannel);\r\n\r\n this.testResult$ = this.fetchTestResult$.pipe(\r\n switchMap(([address, lines]) => {\r\n if (!this.selectedChecker || !this.selectedCalculator) {\r\n return of(undefined);\r\n }\r\n const formValue = this.detailForm.value;\r\n const input: TestShippingMethodInput = {\r\n shippingAddress: { ...address, streetLine1: 'test' },\r\n lines: lines.map(l => ({ productVariantId: l.id, quantity: l.quantity })),\r\n checker: toConfigurableOperationInput(this.selectedChecker, formValue.checker),\r\n calculator: toConfigurableOperationInput(this.selectedCalculator, formValue.calculator),\r\n };\r\n return this.dataService.shippingMethod\r\n .testShippingMethod(input)\r\n .mapSingle(result => result.testShippingMethod);\r\n }),\r\n );\r\n\r\n // tslint:disable:no-non-null-assertion\r\n merge(\r\n this.detailForm.get(['checker'])!.valueChanges,\r\n this.detailForm.get(['calculator'])!.valueChanges,\r\n )\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(() => (this.testDataUpdated = true));\r\n // tslint:enable:no-non-null-assertion\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy();\r\n }\r\n\r\n updateCode(currentCode: string, nameValue: string) {\r\n if (!currentCode) {\r\n const codeControl = this.detailForm.get(['code']);\r\n if (codeControl && codeControl.pristine) {\r\n codeControl.setValue(normalizeString(nameValue, '-'));\r\n }\r\n }\r\n }\r\n\r\n selectChecker(checker: ConfigurableOperationDefinition) {\r\n this.selectedCheckerDefinition = checker;\r\n this.selectedChecker = configurableDefinitionToInstance(checker);\r\n const formControl = this.detailForm.get('checker');\r\n if (formControl) {\r\n formControl.clearValidators();\r\n formControl.updateValueAndValidity({ onlySelf: true });\r\n formControl.patchValue(this.selectedChecker);\r\n }\r\n this.detailForm.markAsDirty();\r\n }\r\n\r\n selectCalculator(calculator: ConfigurableOperationDefinition) {\r\n this.selectedCalculatorDefinition = calculator;\r\n this.selectedCalculator = configurableDefinitionToInstance(calculator);\r\n const formControl = this.detailForm.get('calculator');\r\n if (formControl) {\r\n formControl.clearValidators();\r\n formControl.updateValueAndValidity({ onlySelf: true });\r\n formControl.patchValue(this.selectedCalculator);\r\n }\r\n this.detailForm.markAsDirty();\r\n }\r\n\r\n create() {\r\n const selectedChecker = this.selectedChecker;\r\n const selectedCalculator = this.selectedCalculator;\r\n if (!selectedChecker || !selectedCalculator) {\r\n return;\r\n }\r\n combineLatest([this.entity$, this.languageCode$])\r\n .pipe(\r\n take(1),\r\n mergeMap(([shippingMethod, languageCode]) => {\r\n const formValue = this.detailForm.value;\r\n const input = {\r\n ...(this.getUpdatedShippingMethod(\r\n shippingMethod,\r\n this.detailForm,\r\n languageCode,\r\n ) as CreateShippingMethodInput),\r\n checker: toConfigurableOperationInput(selectedChecker, formValue.checker),\r\n calculator: toConfigurableOperationInput(selectedCalculator, formValue.calculator),\r\n };\r\n return this.dataService.shippingMethod.createShippingMethod(input);\r\n }),\r\n )\r\n .subscribe(\r\n data => {\r\n this.notificationService.success(_('common.notify-create-success'), {\r\n entity: 'ShippingMethod',\r\n });\r\n this.detailForm.markAsPristine();\r\n this.changeDetector.markForCheck();\r\n this.router.navigate(['../', data.createShippingMethod.id], { relativeTo: this.route });\r\n },\r\n err => {\r\n this.notificationService.error(_('common.notify-create-error'), {\r\n entity: 'ShippingMethod',\r\n });\r\n },\r\n );\r\n }\r\n\r\n save() {\r\n const selectedChecker = this.selectedChecker;\r\n const selectedCalculator = this.selectedCalculator;\r\n if (!selectedChecker || !selectedCalculator) {\r\n return;\r\n }\r\n combineLatest([this.entity$, this.languageCode$])\r\n .pipe(\r\n take(1),\r\n mergeMap(([shippingMethod, languageCode]) => {\r\n const formValue = this.detailForm.value;\r\n const input = {\r\n ...(this.getUpdatedShippingMethod(\r\n shippingMethod,\r\n this.detailForm,\r\n languageCode,\r\n ) as UpdateShippingMethodInput),\r\n checker: toConfigurableOperationInput(selectedChecker, formValue.checker),\r\n calculator: toConfigurableOperationInput(selectedCalculator, formValue.calculator),\r\n };\r\n return this.dataService.shippingMethod.updateShippingMethod(input);\r\n }),\r\n )\r\n .subscribe(\r\n data => {\r\n this.notificationService.success(_('common.notify-update-success'), {\r\n entity: 'ShippingMethod',\r\n });\r\n this.detailForm.markAsPristine();\r\n this.changeDetector.markForCheck();\r\n },\r\n err => {\r\n // tslint:disable-next-line:no-console\r\n console.error(err);\r\n this.notificationService.error(_('common.notify-update-error'), {\r\n entity: 'ShippingMethod',\r\n });\r\n },\r\n );\r\n }\r\n\r\n setTestOrderLines(event: TestOrderLine[]) {\r\n this.testOrderLines = event;\r\n this.testDataUpdated = true;\r\n }\r\n\r\n setTestAddress(event: TestAddress) {\r\n this.testAddress = event;\r\n this.testDataUpdated = true;\r\n }\r\n\r\n allTestDataPresent(): boolean {\r\n return !!(\r\n this.testAddress &&\r\n this.testOrderLines &&\r\n this.testOrderLines.length &&\r\n this.selectedChecker &&\r\n this.selectedCalculator\r\n );\r\n }\r\n\r\n runTest() {\r\n this.fetchTestResult$.next([this.testAddress, this.testOrderLines]);\r\n this.testDataUpdated = false;\r\n }\r\n\r\n /**\r\n * Given a ShippingMethod and the value of the detailForm, this method creates an updated copy which\r\n * can then be persisted to the API.\r\n */\r\n private getUpdatedShippingMethod(\r\n shippingMethod: ShippingMethod.Fragment,\r\n formGroup: FormGroup,\r\n languageCode: LanguageCode,\r\n ): Omit<CreateShippingMethodInput | UpdateShippingMethodInput, 'checker' | 'calculator'> {\r\n const formValue = formGroup.value;\r\n const input = createUpdatedTranslatable({\r\n translatable: shippingMethod,\r\n updatedFields: formValue,\r\n customFieldConfig: this.customFields,\r\n languageCode,\r\n defaultTranslation: {\r\n languageCode,\r\n name: shippingMethod.name || '',\r\n description: shippingMethod.description || '',\r\n },\r\n });\r\n return { ...input, fulfillmentHandler: formValue.fulfillmentHandler };\r\n }\r\n\r\n protected setFormValues(shippingMethod: ShippingMethod.Fragment, languageCode: LanguageCode): void {\r\n const currentTranslation = findTranslation(shippingMethod, languageCode);\r\n this.detailForm.patchValue({\r\n name: currentTranslation?.name ?? '',\r\n description: currentTranslation?.description ?? '',\r\n code: shippingMethod.code,\r\n fulfillmentHandler: shippingMethod.fulfillmentHandlerCode,\r\n checker: shippingMethod.checker || {},\r\n calculator: shippingMethod.calculator || {},\r\n });\r\n if (!this.selectedChecker) {\r\n this.selectedChecker = shippingMethod.checker && {\r\n code: shippingMethod.checker.code,\r\n args: shippingMethod.checker.args.map(a => ({ ...a, value: getConfigArgValue(a.value) })),\r\n };\r\n }\r\n if (!this.selectedCalculator) {\r\n this.selectedCalculator = shippingMethod.calculator && {\r\n code: shippingMethod.calculator?.code,\r\n args: shippingMethod.calculator?.args.map(a => ({ ...a, value: getConfigArgValue(a.value) })),\r\n };\r\n }\r\n if (this.customFields.length) {\r\n this.setCustomFieldFormValues(\r\n this.customFields,\r\n this.detailForm.get(['customFields']),\r\n shippingMethod,\r\n currentTranslation,\r\n );\r\n }\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\r\nimport {\r\n BaseListComponent,\r\n DataService,\r\n GetActiveChannel,\r\n GetShippingMethodList,\r\n LanguageCode,\r\n ModalService,\r\n NotificationService,\r\n ServerConfigService,\r\n ShippingMethodQuote,\r\n TestEligibleShippingMethodsInput,\r\n} from '@vendure/admin-ui/core';\r\nimport { EMPTY, Observable, Subject } from 'rxjs';\r\nimport { switchMap, tap } from 'rxjs/operators';\r\n\r\nimport { TestAddress } from '../test-address-form/test-address-form.component';\r\nimport { TestOrderLine } from '../test-order-builder/test-order-builder.component';\r\n\r\n@Component({\r\n selector: 'vdr-shipping-method-list',\r\n templateUrl: './shipping-method-list.component.html',\r\n styleUrls: ['./shipping-method-list.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ShippingMethodListComponent\r\n extends BaseListComponent<GetShippingMethodList.Query, GetShippingMethodList.Items>\r\n implements OnInit {\r\n activeChannel$: Observable<GetActiveChannel.ActiveChannel>;\r\n testAddress: TestAddress;\r\n testOrderLines: TestOrderLine[];\r\n testDataUpdated = false;\r\n testResult$: Observable<ShippingMethodQuote[] | undefined>;\r\n availableLanguages$: Observable<LanguageCode[]>;\r\n contentLanguage$: Observable<LanguageCode>;\r\n private fetchTestResult$ = new Subject<[TestAddress, TestOrderLine[]]>();\r\n\r\n constructor(\r\n private modalService: ModalService,\r\n private notificationService: NotificationService,\r\n private dataService: DataService,\r\n private serverConfigService: ServerConfigService,\r\n router: Router,\r\n route: ActivatedRoute,\r\n ) {\r\n super(router, route);\r\n super.setQueryFn(\r\n (...args: any[]) =>\r\n this.dataService.shippingMethod.getShippingMethods(...args).refetchOnChannelChange(),\r\n data => data.shippingMethods,\r\n );\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n this.testResult$ = this.fetchTestResult$.pipe(\r\n switchMap(([address, lines]) => {\r\n const input: TestEligibleShippingMethodsInput = {\r\n shippingAddress: { ...address, streetLine1: 'test' },\r\n lines: lines.map(l => ({ productVariantId: l.id, quantity: l.quantity })),\r\n };\r\n return this.dataService.shippingMethod\r\n .testEligibleShippingMethods(input)\r\n .mapSingle(result => result.testEligibleShippingMethods);\r\n }),\r\n );\r\n this.activeChannel$ = this.dataService.settings\r\n .getActiveChannel()\r\n .mapStream(data => data.activeChannel);\r\n this.availableLanguages$ = this.serverConfigService.getAvailableLanguages();\r\n this.contentLanguage$ = this.dataService.client\r\n .uiState()\r\n .mapStream(({ uiState }) => uiState.contentLanguage)\r\n .pipe(tap(() => this.refresh()));\r\n }\r\n\r\n deleteShippingMethod(id: string) {\r\n this.modalService\r\n .dialog({\r\n title: _('catalog.confirm-delete-shipping-method'),\r\n buttons: [\r\n { type: 'secondary', label: _('common.cancel') },\r\n { type: 'danger', label: _('common.delete'), returnValue: true },\r\n ],\r\n })\r\n .pipe(\r\n switchMap(response =>\r\n response ? this.dataService.shippingMethod.deleteShippingMethod(id) : EMPTY,\r\n ),\r\n )\r\n .subscribe(\r\n () => {\r\n this.notificationService.success(_('common.notify-delete-success'), {\r\n entity: 'ShippingMethod',\r\n });\r\n this.refresh();\r\n },\r\n err => {\r\n this.notificationService.error(_('common.notify-delete-error'), {\r\n entity: 'ShippingMethod',\r\n });\r\n },\r\n );\r\n }\r\n\r\n setTestOrderLines(event: TestOrderLine[]) {\r\n this.testOrderLines = event;\r\n this.testDataUpdated = true;\r\n }\r\n\r\n setTestAddress(event: TestAddress) {\r\n this.testAddress = event;\r\n this.testDataUpdated = true;\r\n }\r\n\r\n allTestDataPresent(): boolean {\r\n return !!(this.testAddress && this.testOrderLines && this.testOrderLines.length);\r\n }\r\n\r\n runTest() {\r\n this.fetchTestResult$.next([this.testAddress, this.testOrderLines]);\r\n this.testDataUpdated = false;\r\n }\r\n\r\n setLanguage(code: LanguageCode) {\r\n this.dataService.client.setContentLanguage(code).subscribe();\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\nimport { CurrencyCode, TestShippingMethodResult } from '@vendure/admin-ui/core';\r\n\r\n@Component({\r\n selector: 'vdr-shipping-method-test-result',\r\n templateUrl: './shipping-method-test-result.component.html',\r\n styleUrls: ['./shipping-method-test-result.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ShippingMethodTestResultComponent {\r\n @Input() testResult: TestShippingMethodResult;\r\n @Input() okToRun = false;\r\n @Input() testDataUpdated = false;\r\n @Input() currencyCode: CurrencyCode;\r\n @Output() runTest = new EventEmitter<void>();\r\n}\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\r\nimport { BaseDetailComponent, CustomFieldConfig, Permission } from '@vendure/admin-ui/core';\r\nimport {\r\n ConfigurableOperation,\r\n CreateTaxCategoryInput,\r\n LanguageCode,\r\n TaxCategory,\r\n UpdateTaxCategoryInput,\r\n} from '@vendure/admin-ui/core';\r\nimport { NotificationService } from '@vendure/admin-ui/core';\r\nimport { DataService } from '@vendure/admin-ui/core';\r\nimport { ServerConfigService } from '@vendure/admin-ui/core';\r\nimport { Observable } from 'rxjs';\r\nimport { mergeMap, take } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'vdr-tax-detail',\r\n templateUrl: './tax-category-detail.component.html',\r\n styleUrls: ['./tax-category-detail.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class TaxCategoryDetailComponent\r\n extends BaseDetailComponent<TaxCategory.Fragment>\r\n implements OnInit, OnDestroy\r\n{\r\n taxCategory$: Observable<TaxCategory.Fragment>;\r\n detailForm: FormGroup;\r\n customFields: CustomFieldConfig[];\r\n readonly updatePermission = [Permission.UpdateSettings, Permission.UpdateTaxCategory];\r\n\r\n private taxCondition: ConfigurableOperation;\r\n private taxAction: ConfigurableOperation;\r\n\r\n constructor(\r\n router: Router,\r\n route: ActivatedRoute,\r\n serverConfigService: ServerConfigService,\r\n private changeDetector: ChangeDetectorRef,\r\n protected dataService: DataService,\r\n private formBuilder: FormBuilder,\r\n private notificationService: NotificationService,\r\n ) {\r\n super(route, router, serverConfigService, dataService);\r\n this.customFields = this.getCustomFieldConfig('TaxCategory');\r\n this.detailForm = this.formBuilder.group({\r\n name: ['', Validators.required],\r\n isDefault: false,\r\n customFields: this.formBuilder.group(\r\n this.customFields.reduce((hash, field) => ({ ...hash, [field.name]: '' }), {}),\r\n ),\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.init();\r\n this.taxCategory$ = this.entity$;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroy();\r\n }\r\n\r\n saveButtonEnabled(): boolean {\r\n return this.detailForm.dirty && this.detailForm.valid;\r\n }\r\n\r\n create() {\r\n if (!this.detailForm.dirty) {\r\n return;\r\n }\r\n const formValue = this.detailForm.value;\r\n const input = {\r\n name: formValue.name,\r\n isDefault: formValue.isDefault,\r\n customFields: formValue.customFields,\r\n } as CreateTaxCategoryInput;\r\n this.dataService.settings.createTaxCategory(input).subscribe(\r\n data => {\r\n this.notificationService.success(_('common.notify-create-success'), {\r\n entity: 'TaxCategory',\r\n });\r\n this.detailForm.markAsPristine();\r\n this.changeDetector.markForCheck();\r\n this.router.navigate(['../', data.createTaxCategory.id], { relativeTo: this.route });\r\n },\r\n err => {\r\n this.notificationService.error(_('common.notify-create-error'), {\r\n entity: 'TaxCategory',\r\n });\r\n },\r\n );\r\n }\r\n\r\n save() {\r\n if (!this.detailForm.dirty) {\r\n return;\r\n }\r\n const formValue = this.detailForm.value;\r\n this.taxCategory$\r\n .pipe(\r\n take(1),\r\n mergeMap(taxCategory => {\r\n const input = {\r\n id: taxCategory.id,\r\n name: formValue.name,\r\n isDefault: formValue.isDefault,\r\n customFields: formValue.customFields,\r\n } as UpdateTaxCategoryInput;\r\n return this.dataService.settings.updateTaxCategory(input);\r\n }),\r\n )\r\n .subscribe(\r\n data => {\r\n this.notificationService.success(_('common.notify-update-success'), {\r\n entity: 'TaxCategory',\r\n });\r\n this.detailForm.markAsPristine();\r\n this.changeDetector.markForCheck();\r\n },\r\n err => {\r\n this.notificationService.error(_('common.notify-update-error'), {\r\n entity: 'TaxCategory',\r\n });\r\n },\r\n );\r\n }\r\n\r\n /**\r\n * Update the form values when the entity changes.\r\n */\r\n protected setFormValues(entity: TaxCategory.Fragment, languageCode: LanguageCode): void {\r\n this.detailForm.patchValue({\r\n name: entity.name,\r\n isDefault: entity.isDefault,\r\n });\r\n if (this.customFields.length) {\r\n this.setCustomFieldFormValues(this.customFields, this.detailForm.get('customFields'), entity);\r\n }\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\r\nimport { EMPTY, Observable } from 'rxjs';\r\nimport { map, switchMap } from 'rxjs/operators';\r\n\r\nimport { DeletionResult, GetTaxCategories, TaxCategory } from '@vendure/admin-ui/core';\r\nimport { NotificationService } from '@vendure/admin-ui/core';\r\nimport { DataService } from '@vendure/admin-ui/core';\r\nimport { QueryResult } from '@vendure/admin-ui/core';\r\nimport { ModalService } from '@vendure/admin-ui/core';\r\n\r\n@Component({\r\n selector: 'vdr-tax-list',\r\n templateUrl: './tax-category-list.component.html',\r\n styleUrls: ['./tax-category-list.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class TaxCategoryListComponent {\r\n taxCategories$: Observable<TaxCategory.Fragment[]>;\r\n private queryResult: QueryResult<GetTaxCategories.Query>;\r\n\r\n constructor(\r\n private dataService: DataService,\r\n private notificationService: NotificationService,\r\n private modalService: ModalService,\r\n ) {\r\n this.queryResult = this.dataService.settings.getTaxCategories();\r\n this.taxCategories$ = this.queryResult.mapStream(data => data.taxCategories);\r\n }\r\n\r\n deleteTaxCategory(taxCategory: TaxCategory.Fragment) {\r\n return this.modalService\r\n .dialog({\r\n title: _('settings.confirm-delete-tax-category'),\r\n body: taxCategory.name,\r\n buttons: [\r\n { type: 'secondary', label: _('common.cancel') },\r\n { type: 'danger', label: _('common.delete'), returnValue: true },\r\n ],\r\n })\r\n .pipe(\r\n switchMap(res => (res ? this.dataService.settings.deleteTaxCategory(taxCategory.id) : EMPTY)),\r\n map(res => res.deleteTaxCategory),\r\n )\r\n .subscribe(\r\n res => {\r\n if (res.result === DeletionResult.DELETED) {\r\n this.notificationService.success(_('common.notify-delete-success'), {\r\n entity: 'TaxRate',\r\n });\r\n this.queryResult.ref.refetch();\r\n } else {\r\n this.notificationService.error(res.message || _('common.notify-delete-error'), {\r\n entity: 'TaxRate',\r\n });\r\n }\r\n },\r\n err => {\r\n this.notificationService.error(_('common.notify-delete-error'), {\r\n entity: 'TaxRate',\r\n });\r\n },\r\n );\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\r\nimport {\r\n BaseDetailComponent,\r\n CreateTaxRateInput,\r\n CustomerGroup,\r\n CustomFieldConfig,\r\n DataService,\r\n GetZones,\r\n LanguageCode,\r\n NotificationService,\r\n Permission,\r\n ServerConfigService,\r\n TaxCategory,\r\n TaxRate,\r\n UpdateTaxRateInput,\r\n} from '@vendure/admin-ui/core';\r\nimport { Observable } from 'rxjs';\r\nimport { mergeMap, take } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'vdr-tax-rate-detail',\r\n templateUrl: './tax-rate-detail.component.html',\r\n styleUrls: ['./tax-rate-detail.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class TaxRateDetailComponent\r\n extends BaseDetailComponent<TaxRate.Fragment>\r\n implements OnInit, OnDestroy\r\n{\r\n taxCategories$: Observable<TaxCategory.Fragment[]>;\r\n zones$: Observable<GetZones.Zones[]>;\r\n groups$: Observable<CustomerGroup[]>;\r\n detailForm: FormGroup;\r\n customFields: CustomFieldConfig[];\r\n readonly updatePermission = [Permission.UpdateSettings, Permission.UpdateTaxRate];\r\n\r\n constructor(\r\n router: Router,\r\n route: ActivatedRoute,\r\n serverConfigService: ServerConfigService,\r\n private changeDetector: ChangeDetectorRef,\r\n protected dataService: DataService,\r\n private formBuilder: FormBuilder,\r\n private notificationService: NotificationService,\r\n ) {\r\n super(route, router, serverConfigService, dataService);\r\n this.customFields = this.getCustomFieldConfig('TaxRate');\r\n this.detailForm = this.formBuilder.group({\r\n name: ['', Validators.required],\r\n enabled: [true],\r\n value: [0, Validators.required],\r\n taxCategoryId: [''],\r\n zoneId: [''],\r\n customerGroupId: [''],\r\n customFields: this.formBuilder.group(\r\n this.customFields.reduce((hash, field) => ({ ...hash, [field.name]: '' }), {}),\r\n ),\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.init();\r\n this.taxCategories$ = this.dataService.settings\r\n .getTaxCategories()\r\n .mapSingle(data => data.taxCategories);\r\n this.zones$ = this.dataService.settings.getZones().mapSingle(data => data.zones);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroy();\r\n }\r\n\r\n saveButtonEnabled(): boolean {\r\n return this.detailForm.dirty && this.detailForm.valid;\r\n }\r\n\r\n create() {\r\n if (!this.detailForm.dirty) {\r\n return;\r\n }\r\n const formValue = this.detailForm.value;\r\n const input = {\r\n name: formValue.name,\r\n enabled: formValue.enabled,\r\n value: formValue.value,\r\n categoryId: formValue.taxCategoryId,\r\n zoneId: formValue.zoneId,\r\n customerGroupId: formValue.customerGroupId,\r\n customFields: formValue.customFields,\r\n } as CreateTaxRateInput;\r\n this.dataService.settings.createTaxRate(input).subscribe(\r\n data => {\r\n this.notificationService.success(_('common.notify-create-success'), {\r\n entity: 'TaxRate',\r\n });\r\n this.detailForm.markAsPristine();\r\n this.changeDetector.markForCheck();\r\n this.router.navigate(['../', data.createTaxRate.id], { relativeTo: this.route });\r\n },\r\n err => {\r\n this.notificationService.error(_('common.notify-create-error'), {\r\n entity: 'TaxRate',\r\n });\r\n },\r\n );\r\n }\r\n\r\n save() {\r\n if (!this.detailForm.dirty) {\r\n return;\r\n }\r\n const formValue = this.detailForm.value;\r\n this.entity$\r\n .pipe(\r\n take(1),\r\n mergeMap(taxRate => {\r\n const input = {\r\n id: taxRate.id,\r\n name: formValue.name,\r\n enabled: formValue.enabled,\r\n value: formValue.value,\r\n categoryId: formValue.taxCategoryId,\r\n zoneId: formValue.zoneId,\r\n customerGroupId: formValue.customerGroupId,\r\n customFields: formValue.customFields,\r\n } as UpdateTaxRateInput;\r\n return this.dataService.settings.updateTaxRate(input);\r\n }),\r\n )\r\n .subscribe(\r\n data => {\r\n this.notificationService.success(_('common.notify-update-success'), {\r\n entity: 'TaxRate',\r\n });\r\n this.detailForm.markAsPristine();\r\n this.changeDetector.markForCheck();\r\n },\r\n err => {\r\n this.notificationService.error(_('common.notify-update-error'), {\r\n entity: 'TaxRate',\r\n });\r\n },\r\n );\r\n }\r\n\r\n /**\r\n * Update the form values when the entity changes.\r\n */\r\n protected setFormValues(entity: TaxRate.Fragment, languageCode: LanguageCode): void {\r\n this.detailForm.patchValue({\r\n name: entity.name,\r\n enabled: entity.enabled,\r\n value: entity.value,\r\n taxCategoryId: entity.category ? entity.category.id : '',\r\n zoneId: entity.zone ? entity.zone.id : '',\r\n customerGroupId: entity.customerGroup ? entity.customerGroup.id : '',\r\n });\r\n if (this.customFields.length) {\r\n this.setCustomFieldFormValues(this.customFields, this.detailForm.get('customFields'), entity);\r\n }\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\r\nimport { EMPTY } from 'rxjs';\r\nimport { map, switchMap } from 'rxjs/operators';\r\n\r\nimport { BaseListComponent } from '@vendure/admin-ui/core';\r\nimport { DeletionResult, GetTaxRateList } from '@vendure/admin-ui/core';\r\nimport { NotificationService } from '@vendure/admin-ui/core';\r\nimport { DataService } from '@vendure/admin-ui/core';\r\nimport { ModalService } from '@vendure/admin-ui/core';\r\n\r\n@Component({\r\n selector: 'vdr-tax-rate-list',\r\n templateUrl: './tax-rate-list.component.html',\r\n styleUrls: ['./tax-rate-list.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class TaxRateListComponent extends BaseListComponent<GetTaxRateList.Query, GetTaxRateList.Items> {\r\n constructor(\r\n private modalService: ModalService,\r\n private notificationService: NotificationService,\r\n private dataService: DataService,\r\n router: Router,\r\n route: ActivatedRoute,\r\n ) {\r\n super(router, route);\r\n super.setQueryFn(\r\n (...args: any[]) => this.dataService.settings.getTaxRates(...args),\r\n data => data.taxRates,\r\n );\r\n }\r\n\r\n deleteTaxRate(taxRate: GetTaxRateList.Items) {\r\n return this.modalService\r\n .dialog({\r\n title: _('settings.confirm-delete-tax-rate'),\r\n body: taxRate.name,\r\n buttons: [\r\n { type: 'secondary', label: _('common.cancel') },\r\n { type: 'danger', label: _('common.delete'), returnValue: true },\r\n ],\r\n })\r\n .pipe(\r\n switchMap(res => (res ? this.dataService.settings.deleteTaxRate(taxRate.id) : EMPTY)),\r\n map(res => res.deleteTaxRate),\r\n )\r\n .subscribe(\r\n res => {\r\n if (res.result === DeletionResult.DELETED) {\r\n this.notificationService.success(_('common.notify-delete-success'), {\r\n entity: 'TaxRate',\r\n });\r\n this.refresh();\r\n } else {\r\n this.notificationService.error(res.message || _('common.notify-delete-error'), {\r\n entity: 'TaxRate',\r\n });\r\n }\r\n },\r\n err => {\r\n this.notificationService.error(_('common.notify-delete-error'), {\r\n entity: 'TaxRate',\r\n });\r\n },\r\n );\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { DataService, GetAvailableCountries, LocalStorageService } from '@vendure/admin-ui/core';\r\nimport { Observable, Subscription } from 'rxjs';\r\n\r\nexport interface TestAddress {\r\n city: string;\r\n province: string;\r\n postalCode: string;\r\n countryCode: string;\r\n}\r\n\r\n@Component({\r\n selector: 'vdr-test-address-form',\r\n templateUrl: './test-address-form.component.html',\r\n styleUrls: ['./test-address-form.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class TestAddressFormComponent implements OnInit, OnDestroy {\r\n @Output() addressChange = new EventEmitter<TestAddress>();\r\n availableCountries$: Observable<GetAvailableCountries.Items[]>;\r\n form: FormGroup;\r\n private subscription: Subscription;\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private dataService: DataService,\r\n private localStorageService: LocalStorageService,\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.availableCountries$ = this.dataService.settings\r\n .getAvailableCountries()\r\n .mapSingle(result => result.countries.items);\r\n const storedValue = this.localStorageService.getForCurrentLocation('shippingTestAddress');\r\n const initialValue: TestAddress = storedValue\r\n ? storedValue\r\n : {\r\n city: '',\r\n countryCode: '',\r\n postalCode: '',\r\n province: '',\r\n };\r\n this.addressChange.emit(initialValue);\r\n\r\n this.form = this.formBuilder.group(initialValue);\r\n this.subscription = this.form.valueChanges.subscribe(value => {\r\n this.localStorageService.setForCurrentLocation('shippingTestAddress', value);\r\n this.addressChange.emit(value);\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.subscription) {\r\n this.subscription.unsubscribe();\r\n }\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, OnInit, Output } from '@angular/core';\r\nimport {\r\n CurrencyCode,\r\n DataService,\r\n LocalStorageService,\r\n ProductSelectorSearch,\r\n} from '@vendure/admin-ui/core';\r\n\r\nexport interface TestOrderLine {\r\n id: string;\r\n name: string;\r\n preview: string;\r\n sku: string;\r\n unitPriceWithTax: number;\r\n quantity: number;\r\n}\r\n\r\n@Component({\r\n selector: 'vdr-test-order-builder',\r\n templateUrl: './test-order-builder.component.html',\r\n styleUrls: ['./test-order-builder.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class TestOrderBuilderComponent implements OnInit {\r\n @Output() orderLinesChange = new EventEmitter<TestOrderLine[]>();\r\n lines: TestOrderLine[] = [];\r\n currencyCode: CurrencyCode;\r\n get subTotal(): number {\r\n return this.lines.reduce((sum, l) => sum + l.unitPriceWithTax * l.quantity, 0);\r\n }\r\n\r\n constructor(private dataService: DataService, private localStorageService: LocalStorageService) {}\r\n\r\n ngOnInit() {\r\n this.lines = this.loadFromLocalStorage();\r\n if (this.lines) {\r\n this.orderLinesChange.emit(this.lines);\r\n }\r\n this.dataService.settings.getActiveChannel('cache-first').single$.subscribe(result => {\r\n this.currencyCode = result.activeChannel.currencyCode;\r\n });\r\n }\r\n\r\n selectResult(result: ProductSelectorSearch.Items) {\r\n if (result) {\r\n this.addToLines(result);\r\n }\r\n }\r\n\r\n private addToLines(result: ProductSelectorSearch.Items) {\r\n if (!this.lines.find(l => l.id === result.productVariantId)) {\r\n this.lines.push({\r\n id: result.productVariantId,\r\n name: result.productVariantName,\r\n preview: result.productAsset?.preview ?? '',\r\n quantity: 1,\r\n sku: result.sku,\r\n unitPriceWithTax:\r\n (result.priceWithTax.__typename === 'SinglePrice' && result.priceWithTax.value) || 0,\r\n });\r\n this.persistToLocalStorage();\r\n this.orderLinesChange.emit(this.lines);\r\n }\r\n }\r\n\r\n updateQuantity() {\r\n this.persistToLocalStorage();\r\n this.orderLinesChange.emit(this.lines);\r\n }\r\n\r\n removeLine(line: TestOrderLine) {\r\n this.lines = this.lines.filter(l => l.id !== line.id);\r\n this.persistToLocalStorage();\r\n this.orderLinesChange.emit(this.lines);\r\n }\r\n\r\n private persistToLocalStorage() {\r\n this.localStorageService.setForCurrentLocation('shippingTestOrder', this.lines);\r\n }\r\n\r\n private loadFromLocalStorage(): TestOrderLine[] {\r\n return this.localStorageService.getForCurrentLocation('shippingTestOrder') || [];\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { CreateZoneInput, CustomFieldConfig, Dialog, ServerConfigService } from '@vendure/admin-ui/core';\r\n\r\n@Component({\r\n selector: 'vdr-zone-detail-dialog',\r\n templateUrl: './zone-detail-dialog.component.html',\r\n styleUrls: ['./zone-detail-dialog.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ZoneDetailDialogComponent implements Dialog<CreateZoneInput>, OnInit {\r\n zone: { id?: string; name: string; customFields?: { [name: string]: any } };\r\n resolveWith: (result?: CreateZoneInput) => void;\r\n\r\n customFields: CustomFieldConfig[];\r\n form: FormGroup;\r\n\r\n constructor(private serverConfigService: ServerConfigService, private formBuilder: FormBuilder) {\r\n this.customFields = this.serverConfigService.getCustomFieldsFor('Zone');\r\n }\r\n\r\n ngOnInit() {\r\n this.form = this.formBuilder.group({\r\n name: [this.zone.name, Validators.required],\r\n customFields: this.formBuilder.group(\r\n this.customFields.reduce((hash, field) => ({ ...hash, [field.name]: '' }), {}),\r\n ),\r\n });\r\n if (this.customFields.length) {\r\n const customFieldsGroup = this.form.get('customFields') as FormGroup;\r\n\r\n for (const fieldDef of this.customFields) {\r\n const key = fieldDef.name;\r\n const value = this.zone.customFields?.[key];\r\n const control = customFieldsGroup.get(key);\r\n if (control) {\r\n control.patchValue(value);\r\n }\r\n }\r\n }\r\n }\r\n\r\n cancel() {\r\n this.resolveWith();\r\n }\r\n\r\n save() {\r\n this.resolveWith(this.form.value);\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\r\nimport {\r\n DataService,\r\n DeletionResult,\r\n GetZones,\r\n LanguageCode,\r\n ModalService,\r\n NotificationService,\r\n ServerConfigService,\r\n} from '@vendure/admin-ui/core';\r\nimport { combineLatest, EMPTY, Observable, of } from 'rxjs';\r\nimport { distinctUntilChanged, map, mapTo, switchMap, tap } from 'rxjs/operators';\r\n\r\nimport { AddCountryToZoneDialogComponent } from '../add-country-to-zone-dialog/add-country-to-zone-dialog.component';\r\nimport { ZoneDetailDialogComponent } from '../zone-detail-dialog/zone-detail-dialog.component';\r\n\r\n@Component({\r\n selector: 'vdr-zone-list',\r\n templateUrl: './zone-list.component.html',\r\n styleUrls: ['./zone-list.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ZoneListComponent implements OnInit {\r\n activeZone$: Observable<GetZones.Zones | undefined>;\r\n zones$: Observable<GetZones.Zones[]>;\r\n members$: Observable<GetZones.Members[]>;\r\n availableLanguages$: Observable<LanguageCode[]>;\r\n contentLanguage$: Observable<LanguageCode>;\r\n selectedMemberIds: string[] = [];\r\n\r\n constructor(\r\n private dataService: DataService,\r\n private notificationService: NotificationService,\r\n private modalService: ModalService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private serverConfigService: ServerConfigService,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n const zonesQueryRef = this.dataService.settings.getZones().ref;\r\n this.zones$ = zonesQueryRef.valueChanges.pipe(map(data => data.data.zones));\r\n const activeZoneId$ = this.route.paramMap.pipe(\r\n map(pm => pm.get('contents')),\r\n distinctUntilChanged(),\r\n tap(() => (this.selectedMemberIds = [])),\r\n );\r\n this.activeZone$ = combineLatest(this.zones$, activeZoneId$).pipe(\r\n map(([zones, activeZoneId]) => {\r\n if (activeZoneId) {\r\n return zones.find(z => z.id === activeZoneId);\r\n }\r\n }),\r\n );\r\n this.availableLanguages$ = this.serverConfigService.getAvailableLanguages();\r\n this.contentLanguage$ = this.dataService.client\r\n .uiState()\r\n .mapStream(({ uiState }) => uiState.contentLanguage)\r\n .pipe(tap(() => zonesQueryRef.refetch()));\r\n }\r\n\r\n setLanguage(code: LanguageCode) {\r\n this.dataService.client.setContentLanguage(code).subscribe();\r\n }\r\n\r\n create() {\r\n this.modalService\r\n .fromComponent(ZoneDetailDialogComponent, { locals: { zone: { name: '' } } })\r\n .pipe(\r\n switchMap(result =>\r\n result ? this.dataService.settings.createZone({ ...result, memberIds: [] }) : EMPTY,\r\n ),\r\n // refresh list\r\n switchMap(() => this.dataService.settings.getZones().single$),\r\n )\r\n .subscribe(\r\n () => {\r\n this.notificationService.success(_('common.notify-create-success'), {\r\n entity: 'Zone',\r\n });\r\n },\r\n err => {\r\n this.notificationService.error(_('common.notify-create-error'), {\r\n entity: 'Zone',\r\n });\r\n },\r\n );\r\n }\r\n\r\n delete(zoneId: string) {\r\n this.modalService\r\n .dialog({\r\n title: _('catalog.confirm-delete-zone'),\r\n buttons: [\r\n { type: 'secondary', label: _('common.cancel') },\r\n { type: 'danger', label: _('common.delete'), returnValue: true },\r\n ],\r\n })\r\n .pipe(\r\n switchMap(response => (response ? this.dataService.settings.deleteZone(zoneId) : EMPTY)),\r\n\r\n switchMap(result => {\r\n if (result.deleteZone.result === DeletionResult.DELETED) {\r\n // refresh list\r\n return this.dataService.settings\r\n .getZones()\r\n .mapSingle(() => ({ errorMessage: false }));\r\n } else {\r\n return of({ errorMessage: result.deleteZone.message });\r\n }\r\n }),\r\n )\r\n .subscribe(\r\n result => {\r\n if (typeof result.errorMessage === 'string') {\r\n this.notificationService.error(result.errorMessage);\r\n } else {\r\n this.notificationService.success(_('common.notify-delete-success'), {\r\n entity: 'Zone',\r\n });\r\n }\r\n },\r\n err => {\r\n this.notificationService.error(_('common.notify-delete-error'), {\r\n entity: 'Zone',\r\n });\r\n },\r\n );\r\n }\r\n\r\n update(zone: GetZones.Zones) {\r\n this.modalService\r\n .fromComponent(ZoneDetailDialogComponent, { locals: { zone } })\r\n .pipe(\r\n switchMap(result =>\r\n result ? this.dataService.settings.updateZone({ id: zone.id, ...result }) : EMPTY,\r\n ),\r\n )\r\n .subscribe(\r\n () => {\r\n this.notificationService.success(_('common.notify-update-success'), {\r\n entity: 'Zone',\r\n });\r\n },\r\n err => {\r\n this.notificationService.error(_('common.notify-update-error'), {\r\n entity: 'Zone',\r\n });\r\n },\r\n );\r\n }\r\n\r\n closeMembers() {\r\n const params = { ...this.route.snapshot.params };\r\n delete params.contents;\r\n this.router.navigate(['./', params], { relativeTo: this.route, queryParamsHandling: 'preserve' });\r\n }\r\n\r\n addToZone(zone: GetZones.Zones) {\r\n this.modalService\r\n .fromComponent(AddCountryToZoneDialogComponent, {\r\n locals: {\r\n zoneName: zone.name,\r\n currentMembers: zone.members,\r\n },\r\n size: 'md',\r\n })\r\n .pipe(\r\n switchMap(memberIds =>\r\n memberIds\r\n ? this.dataService.settings\r\n .addMembersToZone(zone.id, memberIds)\r\n .pipe(mapTo(memberIds))\r\n : EMPTY,\r\n ),\r\n )\r\n .subscribe({\r\n next: result => {\r\n this.notificationService.success(_(`settings.add-countries-to-zone-success`), {\r\n countryCount: result.length,\r\n zoneName: zone.name,\r\n });\r\n },\r\n error: err => {\r\n this.notificationService.error(err);\r\n },\r\n });\r\n }\r\n\r\n removeFromZone(zone: GetZones.Zones, memberIds: string[]) {\r\n this.dataService.settings.removeMembersFromZone(zone.id, memberIds).subscribe({\r\n complete: () => {\r\n this.notificationService.success(_(`settings.remove-countries-from-zone-success`), {\r\n countryCount: memberIds.length,\r\n zoneName: zone.name,\r\n });\r\n },\r\n });\r\n }\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[vdrZoneMemberControls]',\r\n})\r\nexport class ZoneMemberControlsDirective {\r\n constructor(public templateRef: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[vdrZoneMemberListHeader]',\r\n})\r\nexport class ZoneMemberListHeaderDirective {\r\n constructor(public templateRef: TemplateRef<any>) {}\r\n}\r\n","import { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, Input, Output } from '@angular/core';\r\nimport { GetZones } from '@vendure/admin-ui/core';\r\n\r\nimport { ZoneMemberControlsDirective } from './zone-member-controls.directive';\r\nimport { ZoneMemberListHeaderDirective } from './zone-member-list-header.directive';\r\n\r\nexport type ZoneMember = { id: string; name: string; code: string };\r\n\r\n@Component({\r\n selector: 'vdr-zone-member-list',\r\n templateUrl: './zone-member-list.component.html',\r\n styleUrls: ['./zone-member-list.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ZoneMemberListComponent {\r\n @Input() members: ZoneMember[] = [];\r\n @Input() selectedMemberIds: string[] = [];\r\n @Output() selectionChange = new EventEmitter<string[]>();\r\n @ContentChild(ZoneMemberListHeaderDirective) headerTemplate: ZoneMemberListHeaderDirective;\r\n @ContentChild(ZoneMemberControlsDirective) controlsTemplate: ZoneMemberControlsDirective;\r\n filterTerm = '';\r\n\r\n filteredMembers(): ZoneMember[] {\r\n if (this.filterTerm !== '') {\r\n const term = this.filterTerm.toLocaleLowerCase();\r\n return this.members.filter(\r\n m => m.name.toLocaleLowerCase().includes(term) || m.code.toLocaleLowerCase().includes(term),\r\n );\r\n } else {\r\n return this.members;\r\n }\r\n }\r\n\r\n areAllSelected(): boolean {\r\n if (this.members) {\r\n return this.selectedMemberIds.length === this.members.length;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n toggleSelectAll() {\r\n if (this.areAllSelected()) {\r\n this.selectionChange.emit([]);\r\n } else {\r\n this.selectionChange.emit(this.members.map(v => v.id));\r\n }\r\n }\r\n\r\n toggleSelectMember({ item: member }: { item: ZoneMember }) {\r\n if (this.selectedMemberIds.includes(member.id)) {\r\n this.selectionChange.emit(this.selectedMemberIds.filter(id => id !== member.id));\r\n } else {\r\n this.selectionChange.emit([...this.selectedMemberIds, member.id]);\r\n }\r\n }\r\n\r\n isMemberSelected = (member: ZoneMember): boolean => {\r\n return -1 < this.selectedMemberIds.indexOf(member.id);\r\n };\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { BaseEntityResolver } from '@vendure/admin-ui/core';\r\nimport { Administrator, Role } from '@vendure/admin-ui/core';\r\nimport { DataService } from '@vendure/admin-ui/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AdministratorResolver extends BaseEntityResolver<Administrator.Fragment> {\r\n constructor(router: Router, dataService: DataService) {\r\n super(\r\n router,\r\n {\r\n __typename: 'Administrator' as 'Administrator',\r\n id: '',\r\n createdAt: '',\r\n updatedAt: '',\r\n emailAddress: '',\r\n firstName: '',\r\n lastName: '',\r\n user: { roles: [] } as any,\r\n },\r\n id => dataService.administrator.getAdministrator(id).mapStream(data => data.administrator),\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { BaseEntityResolver } from '@vendure/admin-ui/core';\r\nimport { Channel, CurrencyCode } from '@vendure/admin-ui/core';\r\nimport { getDefaultUiLanguage } from '@vendure/admin-ui/core';\r\nimport { DataService } from '@vendure/admin-ui/core';\r\n\r\n/**\r\n * Resolves the id from the path into a Customer entity.\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ChannelResolver extends BaseEntityResolver<Channel.Fragment> {\r\n constructor(router: Router, dataService: DataService) {\r\n super(\r\n router,\r\n {\r\n __typename: 'Channel',\r\n id: '',\r\n createdAt: '',\r\n updatedAt: '',\r\n code: '',\r\n token: '',\r\n pricesIncludeTax: false,\r\n currencyCode: CurrencyCode.USD,\r\n defaultLanguageCode: getDefaultUiLanguage(),\r\n defaultShippingZone: {} as any,\r\n defaultTaxZone: {} as any,\r\n },\r\n (id) => dataService.settings.getChannel(id).mapStream((data) => data.channel),\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { BaseEntityResolver } from '@vendure/admin-ui/core';\r\nimport { Country } from '@vendure/admin-ui/core';\r\nimport { DataService } from '@vendure/admin-ui/core';\r\n\r\n/**\r\n * Resolves the id from the path into a Customer entity.\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CountryResolver extends BaseEntityResolver<Country.Fragment> {\r\n constructor(router: Router, dataService: DataService) {\r\n super(\r\n router,\r\n {\r\n __typename: 'Country',\r\n id: '',\r\n createdAt: '',\r\n updatedAt: '',\r\n code: '',\r\n name: '',\r\n enabled: false,\r\n translations: [],\r\n },\r\n id => dataService.settings.getCountry(id).mapStream(data => data.country),\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { BaseEntityResolver } from '@vendure/admin-ui/core';\r\nimport { GetGlobalSettings } from '@vendure/admin-ui/core';\r\nimport { DataService } from '@vendure/admin-ui/core';\r\n\r\n/**\r\n * Resolves the global settings.\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class GlobalSettingsResolver extends BaseEntityResolver<GetGlobalSettings.GlobalSettings> {\r\n constructor(router: Router, dataService: DataService) {\r\n super(\r\n router,\r\n // we will never be creating a new GlobalSettings entity, so this part is not used.\r\n {} as any,\r\n () => dataService.settings.getGlobalSettings().mapStream(data => data.globalSettings),\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { BaseEntityResolver } from '@vendure/admin-ui/core';\r\nimport { PaymentMethod } from '@vendure/admin-ui/core';\r\nimport { DataService } from '@vendure/admin-ui/core';\r\n\r\n/**\r\n * Resolves the id from the path into a Customer entity.\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PaymentMethodResolver extends BaseEntityResolver<PaymentMethod.Fragment> {\r\n constructor(router: Router, dataService: DataService) {\r\n super(\r\n router,\r\n {\r\n __typename: 'PaymentMethod',\r\n id: '',\r\n createdAt: '',\r\n updatedAt: '',\r\n name: '',\r\n code: '',\r\n description: '',\r\n enabled: true,\r\n checker: undefined as any,\r\n handler: undefined as any,\r\n },\r\n id => dataService.settings.getPaymentMethod(id).mapStream(data => data.paymentMethod),\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { BaseEntityResolver } from '@vendure/admin-ui/core';\r\nimport { Administrator, Role } from '@vendure/admin-ui/core';\r\nimport { DataService } from '@vendure/admin-ui/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ProfileResolver extends BaseEntityResolver<Administrator.Fragment> {\r\n constructor(router: Router, dataService: DataService) {\r\n super(\r\n router,\r\n {\r\n __typename: 'Administrator' as 'Administrator',\r\n id: '',\r\n createdAt: '',\r\n updatedAt: '',\r\n emailAddress: '',\r\n firstName: '',\r\n lastName: '',\r\n user: { roles: [] } as any,\r\n },\r\n id =>\r\n dataService.administrator\r\n .getActiveAdministrator()\r\n .mapStream(data => data.activeAdministrator),\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { BaseEntityResolver } from '@vendure/admin-ui/core';\r\nimport { Role } from '@vendure/admin-ui/core';\r\nimport { DataService } from '@vendure/admin-ui/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class RoleResolver extends BaseEntityResolver<Role.Fragment> {\r\n constructor(router: Router, dataService: DataService) {\r\n super(\r\n router,\r\n {\r\n __typename: 'Role' as 'Role',\r\n id: '',\r\n createdAt: '',\r\n updatedAt: '',\r\n code: '',\r\n description: '',\r\n permissions: [],\r\n channels: [],\r\n },\r\n id => dataService.administrator.getRole(id).mapStream(data => data.role),\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { BaseEntityResolver } from '@vendure/admin-ui/core';\r\nimport { ShippingMethod } from '@vendure/admin-ui/core';\r\nimport { DataService } from '@vendure/admin-ui/core';\r\n\r\n/**\r\n * Resolves the id from the path into a Customer entity.\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ShippingMethodResolver extends BaseEntityResolver<ShippingMethod.Fragment> {\r\n constructor(router: Router, dataService: DataService) {\r\n super(\r\n router,\r\n {\r\n __typename: 'ShippingMethod',\r\n createdAt: '',\r\n updatedAt: '',\r\n id: '',\r\n code: '',\r\n name: '',\r\n description: '',\r\n fulfillmentHandlerCode: undefined as any,\r\n checker: undefined as any,\r\n calculator: undefined as any,\r\n translations: [],\r\n },\r\n id => dataService.shippingMethod.getShippingMethod(id).mapStream(data => data.shippingMethod),\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { BaseEntityResolver, DataService, TaxCategory } from '@vendure/admin-ui/core';\r\n\r\n/**\r\n * Resolves the id from the path into a Customer entity.\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TaxCategoryResolver extends BaseEntityResolver<TaxCategory.Fragment> {\r\n constructor(router: Router, dataService: DataService) {\r\n super(\r\n router,\r\n {\r\n __typename: 'TaxCategory',\r\n id: '',\r\n createdAt: '',\r\n updatedAt: '',\r\n name: '',\r\n isDefault: false,\r\n },\r\n id => dataService.settings.getTaxCategory(id).mapStream(data => data.taxCategory),\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { BaseEntityResolver, DataService, TaxRate } from '@vendure/admin-ui/core';\r\n\r\n/**\r\n * Resolves the id from the path into a Customer entity.\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TaxRateResolver extends BaseEntityResolver<TaxRate.Fragment> {\r\n constructor(router: Router, dataService: DataService) {\r\n super(\r\n router,\r\n {\r\n __typename: 'TaxRate',\r\n id: '',\r\n createdAt: '',\r\n updatedAt: '',\r\n name: '',\r\n value: 0,\r\n enabled: true,\r\n category: {} as any,\r\n zone: {} as any,\r\n customerGroup: null,\r\n },\r\n id => dataService.settings.getTaxRate(id).mapStream(data => data.taxRate),\r\n );\r\n }\r\n}\r\n","import { Route } from '@angular/router';\r\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\r\nimport {\r\n Administrator,\r\n CanDeactivateDetailGuard,\r\n Channel,\r\n Country,\r\n createResolveData,\r\n detailBreadcrumb,\r\n Role,\r\n ShippingMethod,\r\n TaxCategory,\r\n TaxRate,\r\n} from '@vendure/admin-ui/core';\r\n\r\nimport { AdminDetailComponent } from './components/admin-detail/admin-detail.component';\r\nimport { AdministratorListComponent } from './components/administrator-list/administrator-list.component';\r\nimport { ChannelDetailComponent } from './components/channel-detail/channel-detail.component';\r\nimport { ChannelListComponent } from './components/channel-list/channel-list.component';\r\nimport { CountryDetailComponent } from './components/country-detail/country-detail.component';\r\nimport { CountryListComponent } from './components/country-list/country-list.component';\r\nimport { GlobalSettingsComponent } from './components/global-settings/global-settings.component';\r\nimport { PaymentMethodDetailComponent } from './components/payment-method-detail/payment-method-detail.component';\r\nimport { PaymentMethodListComponent } from './components/payment-method-list/payment-method-list.component';\r\nimport { ProfileComponent } from './components/profile/profile.component';\r\nimport { RoleDetailComponent } from './components/role-detail/role-detail.component';\r\nimport { RoleListComponent } from './components/role-list/role-list.component';\r\nimport { ShippingMethodDetailComponent } from './components/shipping-method-detail/shipping-method-detail.component';\r\nimport { ShippingMethodListComponent } from './components/shipping-method-list/shipping-method-list.component';\r\nimport { TaxCategoryDetailComponent } from './components/tax-category-detail/tax-category-detail.component';\r\nimport { TaxCategoryListComponent } from './components/tax-category-list/tax-category-list.component';\r\nimport { TaxRateDetailComponent } from './components/tax-rate-detail/tax-rate-detail.component';\r\nimport { TaxRateListComponent } from './components/tax-rate-list/tax-rate-list.component';\r\nimport { ZoneListComponent } from './components/zone-list/zone-list.component';\r\nimport { AdministratorResolver } from './providers/routing/administrator-resolver';\r\nimport { ChannelResolver } from './providers/routing/channel-resolver';\r\nimport { CountryResolver } from './providers/routing/country-resolver';\r\nimport { GlobalSettingsResolver } from './providers/routing/global-settings-resolver';\r\nimport { PaymentMethodResolver } from './providers/routing/payment-method-resolver';\r\nimport { ProfileResolver } from './providers/routing/profile-resolver';\r\nimport { RoleResolver } from './providers/routing/role-resolver';\r\nimport { ShippingMethodResolver } from './providers/routing/shipping-method-resolver';\r\nimport { TaxCategoryResolver } from './providers/routing/tax-category-resolver';\r\nimport { TaxRateResolver } from './providers/routing/tax-rate-resolver';\r\n\r\nexport const settingsRoutes: Route[] = [\r\n {\r\n path: 'profile',\r\n component: ProfileComponent,\r\n resolve: createResolveData(ProfileResolver),\r\n canDeactivate: [CanDeactivateDetailGuard],\r\n data: {\r\n breadcrumb: _('breadcrumb.profile'),\r\n },\r\n },\r\n {\r\n path: 'administrators',\r\n component: AdministratorListComponent,\r\n data: {\r\n breadcrumb: _('breadcrumb.administrators'),\r\n },\r\n },\r\n {\r\n path: 'administrators/:id',\r\n component: AdminDetailComponent,\r\n resolve: createResolveData(AdministratorResolver),\r\n canDeactivate: [CanDeactivateDetailGuard],\r\n data: { breadcrumb: administratorBreadcrumb },\r\n },\r\n {\r\n path: 'channels',\r\n component: ChannelListComponent,\r\n data: {\r\n breadcrumb: _('breadcrumb.channels'),\r\n },\r\n },\r\n {\r\n path: 'channels/:id',\r\n component: ChannelDetailComponent,\r\n resolve: createResolveData(ChannelResolver),\r\n canDeactivate: [CanDeactivateDetailGuard],\r\n data: { breadcrumb: channelBreadcrumb },\r\n },\r\n {\r\n path: 'roles',\r\n component: RoleListComponent,\r\n data: {\r\n breadcrumb: _('breadcrumb.roles'),\r\n },\r\n },\r\n {\r\n path: 'roles/:id',\r\n component: RoleDetailComponent,\r\n resolve: createResolveData(RoleResolver),\r\n canDeactivate: [CanDeactivateDetailGuard],\r\n data: { breadcrumb: roleBreadcrumb },\r\n },\r\n {\r\n path: 'tax-categories',\r\n component: TaxCategoryListComponent,\r\n data: {\r\n breadcrumb: _('breadcrumb.tax-categories'),\r\n },\r\n },\r\n {\r\n path: 'tax-categories/:id',\r\n component: TaxCategoryDetailComponent,\r\n resolve: createResolveData(TaxCategoryResolver),\r\n canDeactivate: [CanDeactivateDetailGuard],\r\n data: {\r\n breadcrumb: taxCategoryBreadcrumb,\r\n },\r\n },\r\n {\r\n path: 'tax-rates',\r\n component: TaxRateListComponent,\r\n data: {\r\n breadcrumb: _('breadcrumb.tax-rates'),\r\n },\r\n },\r\n {\r\n path: 'tax-rates/:id',\r\n component: TaxRateDetailComponent,\r\n resolve: createResolveData(TaxRateResolver),\r\n canDeactivate: [CanDeactivateDetailGuard],\r\n data: {\r\n breadcrumb: taxRateBreadcrumb,\r\n },\r\n },\r\n {\r\n path: 'countries',\r\n component: CountryListComponent,\r\n data: {\r\n breadcrumb: _('breadcrumb.countries'),\r\n },\r\n },\r\n {\r\n path: 'countries/:id',\r\n component: CountryDetailComponent,\r\n resolve: createResolveData(CountryResolver),\r\n canDeactivate: [CanDeactivateDetailGuard],\r\n data: {\r\n breadcrumb: countryBreadcrumb,\r\n },\r\n },\r\n {\r\n path: 'zones',\r\n component: ZoneListComponent,\r\n data: {\r\n breadcrumb: _('breadcrumb.zones'),\r\n },\r\n },\r\n {\r\n path: 'shipping-methods',\r\n component: ShippingMethodListComponent,\r\n data: {\r\n breadcrumb: _('breadcrumb.shipping-methods'),\r\n },\r\n },\r\n {\r\n path: 'shipping-methods/:id',\r\n component: ShippingMethodDetailComponent,\r\n resolve: createResolveData(ShippingMethodResolver),\r\n canDeactivate: [CanDeactivateDetailGuard],\r\n data: {\r\n breadcrumb: shippingMethodBreadcrumb,\r\n },\r\n },\r\n {\r\n path: 'payment-methods',\r\n component: PaymentMethodListComponent,\r\n data: {\r\n breadcrumb: _('breadcrumb.payment-methods'),\r\n },\r\n },\r\n {\r\n path: 'payment-methods/:id',\r\n component: PaymentMethodDetailComponent,\r\n resolve: createResolveData(PaymentMethodResolver),\r\n canDeactivate: [CanDeactivateDetailGuard],\r\n data: {\r\n breadcrumb: paymentMethodBreadcrumb,\r\n },\r\n },\r\n {\r\n path: 'global-settings',\r\n component: GlobalSettingsComponent,\r\n resolve: createResolveData(GlobalSettingsResolver),\r\n canDeactivate: [CanDeactivateDetailGuard],\r\n data: {\r\n breadcrumb: _('breadcrumb.global-settings'),\r\n },\r\n },\r\n];\r\n\r\nexport function administratorBreadcrumb(data: any, params: any) {\r\n return detailBreadcrumb<Administrator>({\r\n entity: data.entity,\r\n id: params.id,\r\n breadcrumbKey: 'breadcrumb.administrators',\r\n getName: admin => `${admin.firstName} ${admin.lastName}`,\r\n route: 'administrators',\r\n });\r\n}\r\n\r\nexport function channelBreadcrumb(data: any, params: any) {\r\n return detailBreadcrumb<Channel>({\r\n entity: data.entity,\r\n id: params.id,\r\n breadcrumbKey: 'breadcrumb.channels',\r\n getName: channel => channel.code,\r\n route: 'channels',\r\n });\r\n}\r\n\r\nexport function roleBreadcrumb(data: any, params: any) {\r\n return detailBreadcrumb<Role>({\r\n entity: data.entity,\r\n id: params.id,\r\n breadcrumbKey: 'breadcrumb.roles',\r\n getName: role => role.description,\r\n route: 'roles',\r\n });\r\n}\r\n\r\nexport function taxCategoryBreadcrumb(data: any, params: any) {\r\n return detailBreadcrumb<TaxCategory.Fragment>({\r\n entity: data.entity,\r\n id: params.id,\r\n breadcrumbKey: 'breadcrumb.tax-categories',\r\n getName: category => category.name,\r\n route: 'tax-categories',\r\n });\r\n}\r\n\r\nexport function taxRateBreadcrumb(data: any, params: any) {\r\n return detailBreadcrumb<TaxRate.Fragment>({\r\n entity: data.entity,\r\n id: params.id,\r\n breadcrumbKey: 'breadcrumb.tax-rates',\r\n getName: category => category.name,\r\n route: 'tax-rates',\r\n });\r\n}\r\n\r\nexport function countryBreadcrumb(data: any, params: any) {\r\n return detailBreadcrumb<Country.Fragment>({\r\n entity: data.entity,\r\n id: params.id,\r\n breadcrumbKey: 'breadcrumb.countries',\r\n getName: promotion => promotion.name,\r\n route: 'countries',\r\n });\r\n}\r\n\r\nexport function shippingMethodBreadcrumb(data: any, params: any) {\r\n return detailBreadcrumb<ShippingMethod.Fragment>({\r\n entity: data.entity,\r\n id: params.id,\r\n breadcrumbKey: 'breadcrumb.shipping-methods',\r\n getName: method => method.name,\r\n route: 'shipping-methods',\r\n });\r\n}\r\n\r\nexport function paymentMethodBreadcrumb(data: any, params: any) {\r\n return detailBreadcrumb<ShippingMethod.Fragment>({\r\n entity: data.entity,\r\n id: params.id,\r\n breadcrumbKey: 'breadcrumb.payment-methods',\r\n getName: method => method.code,\r\n route: 'payment-methods',\r\n });\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { SharedModule } from '@vendure/admin-ui/core';\r\n\r\nimport { AddCountryToZoneDialogComponent } from './components/add-country-to-zone-dialog/add-country-to-zone-dialog.component';\r\nimport { AdminDetailComponent } from './components/admin-detail/admin-detail.component';\r\nimport { AdministratorListComponent } from './components/administrator-list/administrator-list.component';\r\nimport { ChannelDetailComponent } from './components/channel-detail/channel-detail.component';\r\nimport { ChannelListComponent } from './components/channel-list/channel-list.component';\r\nimport { CountryDetailComponent } from './components/country-detail/country-detail.component';\r\nimport { CountryListComponent } from './components/country-list/country-list.component';\r\nimport { GlobalSettingsComponent } from './components/global-settings/global-settings.component';\r\nimport { PaymentMethodDetailComponent } from './components/payment-method-detail/payment-method-detail.component';\r\nimport { PaymentMethodListComponent } from './components/payment-method-list/payment-method-list.component';\r\nimport { PermissionGridComponent } from './components/permission-grid/permission-grid.component';\r\nimport { ProfileComponent } from './components/profile/profile.component';\r\nimport { RoleDetailComponent } from './components/role-detail/role-detail.component';\r\nimport { RoleListComponent } from './components/role-list/role-list.component';\r\nimport { ShippingEligibilityTestResultComponent } from './components/shipping-eligibility-test-result/shipping-eligibility-test-result.component';\r\nimport { ShippingMethodDetailComponent } from './components/shipping-method-detail/shipping-method-detail.component';\r\nimport { ShippingMethodListComponent } from './components/shipping-method-list/shipping-method-list.component';\r\nimport { ShippingMethodTestResultComponent } from './components/shipping-method-test-result/shipping-method-test-result.component';\r\nimport { TaxCategoryDetailComponent } from './components/tax-category-detail/tax-category-detail.component';\r\nimport { TaxCategoryListComponent } from './components/tax-category-list/tax-category-list.component';\r\nimport { TaxRateDetailComponent } from './components/tax-rate-detail/tax-rate-detail.component';\r\nimport { TaxRateListComponent } from './components/tax-rate-list/tax-rate-list.component';\r\nimport { TestAddressFormComponent } from './components/test-address-form/test-address-form.component';\r\nimport { TestOrderBuilderComponent } from './components/test-order-builder/test-order-builder.component';\r\nimport { ZoneDetailDialogComponent } from './components/zone-detail-dialog/zone-detail-dialog.component';\r\nimport { ZoneListComponent } from './components/zone-list/zone-list.component';\r\nimport { ZoneMemberControlsDirective } from './components/zone-member-list/zone-member-controls.directive';\r\nimport { ZoneMemberListHeaderDirective } from './components/zone-member-list/zone-member-list-header.directive';\r\nimport { ZoneMemberListComponent } from './components/zone-member-list/zone-member-list.component';\r\nimport { settingsRoutes } from './settings.routes';\r\n\r\n@NgModule({\r\n imports: [SharedModule, RouterModule.forChild(settingsRoutes)],\r\n declarations: [\r\n TaxCategoryListComponent,\r\n TaxCategoryDetailComponent,\r\n AdministratorListComponent,\r\n RoleListComponent,\r\n RoleDetailComponent,\r\n AdminDetailComponent,\r\n PermissionGridComponent,\r\n CountryListComponent,\r\n CountryDetailComponent,\r\n TaxRateListComponent,\r\n TaxRateDetailComponent,\r\n ChannelListComponent,\r\n ChannelDetailComponent,\r\n ShippingMethodListComponent,\r\n ShippingMethodDetailComponent,\r\n PaymentMethodListComponent,\r\n PaymentMethodDetailComponent,\r\n GlobalSettingsComponent,\r\n TestOrderBuilderComponent,\r\n TestAddressFormComponent,\r\n ShippingMethodTestResultComponent,\r\n ShippingEligibilityTestResultComponent,\r\n ZoneListComponent,\r\n AddCountryToZoneDialogComponent,\r\n ZoneMemberListComponent,\r\n ZoneMemberListHeaderDirective,\r\n ZoneMemberControlsDirective,\r\n ZoneDetailDialogComponent,\r\n ProfileComponent,\r\n ],\r\n})\r\nexport class SettingsModule {}\r\n","// This file was generated by the build-public-api.ts script\nexport * from './components/add-country-to-zone-dialog/add-country-to-zone-dialog.component';\nexport * from './components/admin-detail/admin-detail.component';\nexport * from './components/administrator-list/administrator-list.component';\nexport * from './components/channel-detail/channel-detail.component';\nexport * from './components/channel-list/channel-list.component';\nexport * from './components/country-detail/country-detail.component';\nexport * from './components/country-list/country-list.component';\nexport * from './components/global-settings/global-settings.component';\nexport * from './components/payment-method-detail/payment-method-detail.component';\nexport * from './components/payment-method-list/payment-method-list.component';\nexport * from './components/permission-grid/permission-grid.component';\nexport * from './components/profile/profile.component';\nexport * from './components/role-detail/role-detail.component';\nexport * from './components/role-list/role-list.component';\nexport * from './components/shipping-eligibility-test-result/shipping-eligibility-test-result.component';\nexport * from './components/shipping-method-detail/shipping-method-detail.component';\nexport * from './components/shipping-method-list/shipping-method-list.component';\nexport * from './components/shipping-method-test-result/shipping-method-test-result.component';\nexport * from './components/tax-category-detail/tax-category-detail.component';\nexport * from './components/tax-category-list/tax-category-list.component';\nexport * from './components/tax-rate-detail/tax-rate-detail.component';\nexport * from './components/tax-rate-list/tax-rate-list.component';\nexport * from './components/test-address-form/test-address-form.component';\nexport * from './components/test-order-builder/test-order-builder.component';\nexport * from './components/zone-detail-dialog/zone-detail-dialog.component';\nexport * from './components/zone-list/zone-list.component';\nexport * from './components/zone-member-list/zone-member-controls.directive';\nexport * from './components/zone-member-list/zone-member-list-header.directive';\nexport * from './components/zone-member-list/zone-member-list.component';\nexport * from './providers/routing/administrator-resolver';\nexport * from './providers/routing/channel-resolver';\nexport * from './providers/routing/country-resolver';\nexport * from './providers/routing/global-settings-resolver';\nexport * from './providers/routing/payment-method-resolver';\nexport * from './providers/routing/profile-resolver';\nexport * from './providers/routing/role-resolver';\nexport * from './providers/routing/shipping-method-resolver';\nexport * from './providers/routing/tax-category-resolver';\nexport * from './providers/routing/tax-rate-resolver';\nexport * from './settings.module';\nexport * from './settings.routes';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["map","Component","ChangeDetectionStrategy","DataService","Validators","CUSTOMER_ROLE_CODE","Permission","_","take","mergeMap","BaseDetailComponent","Router","ActivatedRoute","ServerConfigService","ChangeDetectorRef","FormBuilder","NotificationService","switchMap","EMPTY","BaseListComponent","ModalService","CurrencyCode","DEFAULT_CHANNEL_CODE","Subject","startWith","combineLatest","createUpdatedTranslatable","findTranslation","FormControl","tap","DeletionResult","LanguageCode","withLatestFrom","normalizeString","configurableDefinitionToInstance","toConfigurableOperationInput","getConfigArgValue","EventEmitter","Input","Output","unique","SUPER_ADMIN_ROLE_CODE","of","merge","takeUntil","LocalStorageService","distinctUntilChanged","mapTo","Directive","TemplateRef","ContentChild","BaseEntityResolver","Injectable","getDefaultUiLanguage","createResolveData","CanDeactivateDetailGuard","detailBreadcrumb","NgModule","SharedModule","RouterModule"],"mappings":"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"}
|