@vendure/admin-ui 2.0.0-next.12 → 2.0.0-next.15
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/core/common/version.d.ts +1 -1
- package/core/public_api.d.ts +11 -1
- package/core/shared/components/dropdown/dropdown-menu.component.d.ts +2 -1
- package/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.component.d.ts +31 -0
- package/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.service.d.ts +34 -0
- package/core/shared/components/rich-text-editor/prosemirror/custom-nodes.d.ts +4 -0
- package/core/shared/components/rich-text-editor/prosemirror/inputrules.d.ts +5 -5
- package/core/shared/components/rich-text-editor/prosemirror/menu/links.d.ts +1 -1
- package/core/shared/components/rich-text-editor/prosemirror/menu/menu-common.d.ts +12 -0
- package/core/shared/components/rich-text-editor/prosemirror/menu/menu-plugin.d.ts +9 -0
- package/core/shared/components/rich-text-editor/prosemirror/menu/sub-menu-with-icon.d.ts +14 -0
- package/core/shared/components/rich-text-editor/prosemirror/plugins/image-plugin.d.ts +7 -0
- package/core/shared/components/rich-text-editor/prosemirror/plugins/link-select-plugin.d.ts +1 -1
- package/core/shared/components/rich-text-editor/prosemirror/plugins/raw-editor-plugin.d.ts +7 -0
- package/core/shared/components/rich-text-editor/prosemirror/plugins/tables-plugin.d.ts +13 -0
- package/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.d.ts +7 -3
- package/core/shared/components/rich-text-editor/prosemirror/types.d.ts +0 -2
- package/core/shared/components/rich-text-editor/raw-html-dialog/raw-html-dialog.component.d.ts +21 -0
- package/core/shared/components/rich-text-editor/rich-text-editor.component.d.ts +6 -2
- package/core/shared/dynamic-form-inputs/code-editor-form-input/base-code-editor-form-input.component.d.ts +30 -0
- package/core/shared/dynamic-form-inputs/code-editor-form-input/html-editor-form-input.component.d.ts +22 -0
- package/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.d.ts +5 -17
- package/core/shared/dynamic-form-inputs/register-dynamic-input-components.d.ts +2 -1
- package/core/shared/shared.module.d.ts +33 -30
- package/esm2020/catalog/components/assets/assets.component.mjs +1 -1
- package/esm2020/catalog/components/collection-detail/collection-detail.component.mjs +1 -1
- package/esm2020/catalog/components/collection-tree/collection-tree-node.component.mjs +2 -2
- package/esm2020/catalog/components/facet-detail/facet-detail.component.mjs +1 -1
- package/esm2020/catalog/components/facet-list/facet-list.component.mjs +1 -1
- package/esm2020/catalog/components/product-list/product-list.component.mjs +1 -1
- package/esm2020/catalog/components/product-variants-editor/product-variants-editor.component.mjs +1 -1
- package/esm2020/core/common/version.mjs +2 -2
- package/esm2020/core/components/channel-switcher/channel-switcher.component.mjs +1 -1
- package/esm2020/core/components/user-menu/user-menu.component.mjs +1 -1
- package/esm2020/core/public_api.mjs +12 -2
- package/esm2020/core/shared/components/asset-preview-links/asset-preview-links.component.mjs +1 -1
- package/esm2020/core/shared/components/datetime-picker/datetime-picker.component.mjs +1 -1
- package/esm2020/core/shared/components/dropdown/dropdown-menu.component.mjs +25 -22
- package/esm2020/core/shared/components/dropdown/dropdown-trigger.directive.mjs +1 -1
- package/esm2020/core/shared/components/entity-info/entity-info.component.mjs +1 -1
- package/esm2020/core/shared/components/history-entry-detail/history-entry-detail.component.mjs +1 -1
- package/esm2020/core/shared/components/language-selector/language-selector.component.mjs +1 -1
- package/esm2020/core/shared/components/rich-text-editor/external-image-dialog/external-image-dialog.component.mjs +3 -3
- package/esm2020/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.component.mjs +136 -0
- package/esm2020/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.service.mjs +46 -0
- package/esm2020/core/shared/components/rich-text-editor/prosemirror/custom-nodes.mjs +57 -0
- package/esm2020/core/shared/components/rich-text-editor/prosemirror/menu/links.mjs +4 -4
- package/esm2020/core/shared/components/rich-text-editor/prosemirror/menu/menu-common.mjs +22 -1
- package/esm2020/core/shared/components/rich-text-editor/prosemirror/menu/menu-plugin.mjs +12 -0
- package/esm2020/core/shared/components/rich-text-editor/prosemirror/menu/menu.mjs +73 -18
- package/esm2020/core/shared/components/rich-text-editor/prosemirror/menu/sub-menu-with-icon.mjs +16 -0
- package/esm2020/core/shared/components/rich-text-editor/prosemirror/plugins/image-plugin.mjs +100 -0
- package/esm2020/core/shared/components/rich-text-editor/prosemirror/plugins/raw-editor-plugin.mjs +96 -0
- package/esm2020/core/shared/components/rich-text-editor/prosemirror/plugins/tables-plugin.mjs +166 -0
- package/esm2020/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.mjs +47 -18
- package/esm2020/core/shared/components/rich-text-editor/prosemirror/types.mjs +1 -1
- package/esm2020/core/shared/components/rich-text-editor/raw-html-dialog/raw-html-dialog.component.mjs +59 -0
- package/esm2020/core/shared/components/rich-text-editor/rich-text-editor.component.mjs +22 -10
- package/esm2020/core/shared/components/ui-extension-point/ui-extension-point.component.mjs +1 -1
- package/esm2020/core/shared/dynamic-form-inputs/code-editor-form-input/base-code-editor-form-input.component.mjs +57 -0
- package/esm2020/core/shared/dynamic-form-inputs/code-editor-form-input/html-editor-form-input.component.mjs +63 -0
- package/esm2020/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.mjs +48 -83
- package/esm2020/core/shared/dynamic-form-inputs/register-dynamic-input-components.mjs +3 -1
- package/esm2020/core/shared/shared.module.mjs +15 -3
- package/esm2020/customer/components/address-card/address-card.component.mjs +1 -1
- package/esm2020/customer/components/customer-group-list/customer-group-list.component.mjs +1 -1
- package/esm2020/customer/components/customer-history/customer-history.component.mjs +1 -1
- package/esm2020/customer/components/customer-list/customer-list.component.mjs +1 -1
- package/esm2020/dashboard/components/dashboard/dashboard.component.mjs +1 -1
- package/esm2020/marketing/components/promotion-detail/promotion-detail.component.mjs +1 -1
- package/esm2020/marketing/components/promotion-list/promotion-list.component.mjs +1 -1
- package/esm2020/order/components/fulfillment-card/fulfillment-card.component.mjs +1 -1
- package/esm2020/order/components/line-fulfillment/line-fulfillment.component.mjs +1 -1
- package/esm2020/order/components/order-detail/order-detail.component.mjs +1 -1
- package/esm2020/order/components/order-history/order-history.component.mjs +1 -1
- package/esm2020/order/components/order-payment-card/order-payment-card.component.mjs +1 -1
- package/esm2020/order/components/order-table/order-table.component.mjs +1 -1
- package/esm2020/order/components/refund-order-dialog/refund-order-dialog.component.mjs +1 -1
- package/esm2020/settings/components/administrator-list/administrator-list.component.mjs +1 -1
- package/esm2020/settings/components/channel-list/channel-list.component.mjs +1 -1
- package/esm2020/settings/components/country-list/country-list.component.mjs +1 -1
- package/esm2020/settings/components/payment-method-detail/payment-method-detail.component.mjs +1 -1
- package/esm2020/settings/components/payment-method-list/payment-method-list.component.mjs +1 -1
- package/esm2020/settings/components/role-list/role-list.component.mjs +1 -1
- package/esm2020/settings/components/shipping-method-detail/shipping-method-detail.component.mjs +1 -1
- package/esm2020/settings/components/shipping-method-list/shipping-method-list.component.mjs +1 -1
- package/esm2020/settings/components/tax-category-list/tax-category-list.component.mjs +1 -1
- package/esm2020/settings/components/tax-rate-list/tax-rate-list.component.mjs +1 -1
- package/esm2020/settings/components/zone-list/zone-list.component.mjs +1 -1
- package/esm2020/system/components/job-list/job-list.component.mjs +1 -1
- package/fesm2015/vendure-admin-ui-catalog.mjs +7 -7
- package/fesm2015/vendure-admin-ui-catalog.mjs.map +1 -1
- package/fesm2015/vendure-admin-ui-core.mjs +1012 -193
- package/fesm2015/vendure-admin-ui-core.mjs.map +1 -1
- package/fesm2015/vendure-admin-ui-customer.mjs +4 -4
- package/fesm2015/vendure-admin-ui-dashboard.mjs +1 -1
- package/fesm2015/vendure-admin-ui-marketing.mjs +2 -2
- package/fesm2015/vendure-admin-ui-order.mjs +7 -7
- package/fesm2015/vendure-admin-ui-settings.mjs +11 -11
- package/fesm2015/vendure-admin-ui-system.mjs +1 -1
- package/fesm2020/vendure-admin-ui-catalog.mjs +7 -7
- package/fesm2020/vendure-admin-ui-catalog.mjs.map +1 -1
- package/fesm2020/vendure-admin-ui-core.mjs +1005 -193
- package/fesm2020/vendure-admin-ui-core.mjs.map +1 -1
- package/fesm2020/vendure-admin-ui-customer.mjs +4 -4
- package/fesm2020/vendure-admin-ui-dashboard.mjs +1 -1
- package/fesm2020/vendure-admin-ui-marketing.mjs +2 -2
- package/fesm2020/vendure-admin-ui-order.mjs +7 -7
- package/fesm2020/vendure-admin-ui-settings.mjs +11 -11
- package/fesm2020/vendure-admin-ui-system.mjs +1 -1
- package/package.json +13 -12
- package/core/shared/components/rich-text-editor/prosemirror/menu/images.d.ts +0 -4
- package/esm2020/core/shared/components/rich-text-editor/prosemirror/menu/images.mjs +0 -36
|
@@ -122,7 +122,7 @@ class JobListComponent extends BaseListComponent {
|
|
|
122
122
|
}
|
|
123
123
|
}
|
|
124
124
|
JobListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: JobListComponent, deps: [{ token: i1.DataService }, { token: i1.ModalService }, { token: i1.NotificationService }, { token: i2$1.Router }, { token: i2$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
|
|
125
|
-
JobListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: JobListComponent, selector: "vdr-job-list", usesInheritance: true, ngImport: i0, template: "<vdr-action-bar>\r\n <vdr-ab-left>\r\n <clr-checkbox-container>\r\n <clr-checkbox-wrapper>\r\n <input type=\"checkbox\" clrCheckbox [formControl]=\"liveUpdate\" name=\"live-update\"/>\r\n <label>{{ 'common.live-update' | translate }}</label>\r\n </clr-checkbox-wrapper>\r\n <clr-checkbox-wrapper>\r\n <input\r\n type=\"checkbox\"\r\n clrCheckbox\r\n [formControl]=\"hideSettled\"\r\n name=\"hide-settled\"\r\n (change)=\"refresh()\"\r\n />\r\n <label>{{ 'system.hide-settled-jobs' | translate }}</label>\r\n </clr-checkbox-wrapper>\r\n </clr-checkbox-container>\r\n </vdr-ab-left>\r\n <vdr-ab-right>\r\n <ng-select\r\n [addTag]=\"false\"\r\n [items]=\"queues$ | async\"\r\n [hideSelected]=\"true\"\r\n [multiple]=\"false\"\r\n [markFirst]=\"false\"\r\n [clearable]=\"false\"\r\n [searchable]=\"false\"\r\n bindValue=\"name\"\r\n [formControl]=\"queueFilter\"\r\n (change)=\"refresh()\"\r\n >\r\n <ng-template ng-label-tmp ng-option-tmp let-item=\"item\">\r\n <ng-container *ngIf=\"item.name === 'all'; else others\">\r\n {{ 'system.all-job-queues' | translate }}\r\n </ng-container>\r\n <ng-template #others>\r\n <vdr-chip [colorFrom]=\"item.name\">{{ item.name }}</vdr-chip>\r\n </ng-template>\r\n </ng-template>\r\n </ng-select>\r\n <vdr-action-bar-items locationId=\"job-list\"></vdr-action-bar-items>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n\r\n<vdr-data-table\r\n [items]=\"items$ | async\"\r\n [itemsPerPage]=\"itemsPerPage$ | async\"\r\n [totalItems]=\"totalItems$ | async\"\r\n [currentPage]=\"currentPage$ | async\"\r\n (pageChange)=\"setPageNumber($event)\"\r\n (itemsPerPageChange)=\"setItemsPerPage($event)\"\r\n>\r\n <vdr-dt-column></vdr-dt-column>\r\n <vdr-dt-column>{{ 'system.job-queue-name' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'common.created-at' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'system.job-state' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'system.job-duration' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'system.job-result' | translate }}</vdr-dt-column>\r\n <vdr-dt-column></vdr-dt-column>\r\n <ng-template let-job=\"item\">\r\n <td class=\"left align-middle\">\r\n <vdr-entity-info [entity]=\"job\"></vdr-entity-info>\r\n </td>\r\n <td class=\"left align-middle\">\r\n <vdr-dropdown *ngIf=\"job.data\">\r\n <button\r\n class=\"btn btn-link btn-icon\"\r\n vdrDropdownTrigger\r\n [title]=\"'system.job-data' | translate\"\r\n >\r\n <clr-icon shape=\"details\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"result-detail\">\r\n <vdr-object-tree [value]=\"job.data\"></vdr-object-tree>\r\n </div>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n <vdr-chip [colorFrom]=\"job.queueName\">{{ job.queueName }}</vdr-chip>\r\n </td>\r\n\r\n <td class=\"left align-middle\">{{ job.createdAt | timeAgo }}</td>\r\n <td class=\"left align-middle\">\r\n <vdr-job-state-label [job]=\"job\"></vdr-job-state-label>\r\n <div *ngIf=\"job.state === 'FAILED'\" class=\"retry-info\">\r\n after {{ job.attempts }} attempts\r\n </div>\r\n <div *ngIf=\"job.state === 'RUNNING' || job.state === 'RETRYING'\" class=\"retry-info\">\r\n attempting {{ job.attempts + 1 }} of {{ job.retries }}\r\n </div>\r\n </td>\r\n <td class=\"left align-middle\">{{ job.duration | duration }}</td>\r\n <td class=\"left align-middle\">\r\n <vdr-dropdown *ngIf=\"hasResult(job)\">\r\n <button class=\"btn btn-link btn-sm details-button\" vdrDropdownTrigger>\r\n <clr-icon shape=\"details\"></clr-icon>\r\n {{ 'system.job-result' | translate }}\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"result-detail\">\r\n <vdr-object-tree [value]=\"job.result\"></vdr-object-tree>\r\n </div>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n <vdr-dropdown *ngIf=\"job.error\">\r\n <button class=\"btn btn-link btn-sm details-button\" vdrDropdownTrigger>\r\n <clr-icon shape=\"exclamation-circle\"></clr-icon>\r\n {{ 'system.job-error' | translate }}\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"result-detail\">\r\n {{ job.error }}\r\n </div>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </td>\r\n <td class=\"right align-middle\">\r\n <vdr-dropdown *ngIf=\"!job.isSettled && job.state !== 'FAILED'\">\r\n <button class=\"icon-button\" vdrDropdownTrigger>\r\n <clr-icon shape=\"ellipsis-vertical\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <button\r\n type=\"button\"\r\n class=\"delete-button\"\r\n (click)=\"cancelJob(job.id)\"\r\n [disabled]=\"!(['DeleteSettings', 'DeleteSystem'] | hasPermission)\"\r\n vdrDropdownItem\r\n >\r\n <clr-icon shape=\"ban\" class=\"is-danger\"></clr-icon>\r\n {{ 'common.cancel' | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </td>\r\n </ng-template>\r\n</vdr-data-table>\r\n", styles: [".result-detail{margin:0 12px}.retry-info{margin-left:6px;color:var(--color-grey-400)}\n"], components: [{ type: i1.ActionBarComponent, selector: "vdr-action-bar" }, { type: i1.ActionBarLeftComponent, selector: "vdr-ab-left", inputs: ["grow"] }, { type: i3.ClrCheckboxContainer, selector: "clr-checkbox-container,clr-toggle-container", inputs: ["clrInline"] }, { type: i3.ClrCheckboxWrapper, selector: "clr-checkbox-wrapper,clr-toggle-wrapper" }, { type: i1.ActionBarRightComponent, selector: "vdr-ab-right", inputs: ["grow"] }, { type: i4$1.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: i1.ChipComponent, selector: "vdr-chip", inputs: ["icon", "invert", "colorFrom", "colorType"], outputs: ["iconClick"] }, { type: i1.ActionBarItemsComponent, selector: "vdr-action-bar-items", inputs: ["locationId"] }, { type: i1.DataTableComponent, selector: "vdr-data-table", inputs: ["items", "itemsPerPage", "currentPage", "totalItems", "allSelected", "isRowSelectedFn", "emptyStateLabel"], outputs: ["allSelectChange", "rowSelectChange", "pageChange", "itemsPerPageChange"] }, { type: i1.DataTableColumnComponent, selector: "vdr-dt-column", inputs: ["expand"] }, { type: i1.EntityInfoComponent, selector: "vdr-entity-info", inputs: ["small", "entity"] }, { type: i1.DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { type: i1.DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition"] }, { type: i1.ObjectTreeComponent, selector: "vdr-object-tree", inputs: ["value", "isArrayItem"] }, { type: JobStateLabelComponent, selector: "vdr-job-state-label", inputs: ["job"] }], directives: [{ type: i1.FormFieldControlDirective, selector: "input, textarea, select" }, { type: i6.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i3.ClrCheckbox, selector: "[clrCheckbox],[clrToggle]" }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.ClrLabel, selector: "label", inputs: ["for"] }, { type: i4$1.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { type: i4$1.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { type: i3.ClrIconCustomTag, selector: "clr-icon" }, { type: i1.DropdownItemDirective, selector: "[vdrDropdownItem]" }], pipes: { "translate": i4.TranslatePipe, "async": i2.AsyncPipe, "timeAgo": i1.TimeAgoPipe, "duration": i1.DurationPipe, "hasPermission": i1.HasPermissionPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
125
|
+
JobListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: JobListComponent, selector: "vdr-job-list", usesInheritance: true, ngImport: i0, template: "<vdr-action-bar>\r\n <vdr-ab-left>\r\n <clr-checkbox-container>\r\n <clr-checkbox-wrapper>\r\n <input type=\"checkbox\" clrCheckbox [formControl]=\"liveUpdate\" name=\"live-update\"/>\r\n <label>{{ 'common.live-update' | translate }}</label>\r\n </clr-checkbox-wrapper>\r\n <clr-checkbox-wrapper>\r\n <input\r\n type=\"checkbox\"\r\n clrCheckbox\r\n [formControl]=\"hideSettled\"\r\n name=\"hide-settled\"\r\n (change)=\"refresh()\"\r\n />\r\n <label>{{ 'system.hide-settled-jobs' | translate }}</label>\r\n </clr-checkbox-wrapper>\r\n </clr-checkbox-container>\r\n </vdr-ab-left>\r\n <vdr-ab-right>\r\n <ng-select\r\n [addTag]=\"false\"\r\n [items]=\"queues$ | async\"\r\n [hideSelected]=\"true\"\r\n [multiple]=\"false\"\r\n [markFirst]=\"false\"\r\n [clearable]=\"false\"\r\n [searchable]=\"false\"\r\n bindValue=\"name\"\r\n [formControl]=\"queueFilter\"\r\n (change)=\"refresh()\"\r\n >\r\n <ng-template ng-label-tmp ng-option-tmp let-item=\"item\">\r\n <ng-container *ngIf=\"item.name === 'all'; else others\">\r\n {{ 'system.all-job-queues' | translate }}\r\n </ng-container>\r\n <ng-template #others>\r\n <vdr-chip [colorFrom]=\"item.name\">{{ item.name }}</vdr-chip>\r\n </ng-template>\r\n </ng-template>\r\n </ng-select>\r\n <vdr-action-bar-items locationId=\"job-list\"></vdr-action-bar-items>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n\r\n<vdr-data-table\r\n [items]=\"items$ | async\"\r\n [itemsPerPage]=\"itemsPerPage$ | async\"\r\n [totalItems]=\"totalItems$ | async\"\r\n [currentPage]=\"currentPage$ | async\"\r\n (pageChange)=\"setPageNumber($event)\"\r\n (itemsPerPageChange)=\"setItemsPerPage($event)\"\r\n>\r\n <vdr-dt-column></vdr-dt-column>\r\n <vdr-dt-column>{{ 'system.job-queue-name' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'common.created-at' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'system.job-state' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'system.job-duration' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'system.job-result' | translate }}</vdr-dt-column>\r\n <vdr-dt-column></vdr-dt-column>\r\n <ng-template let-job=\"item\">\r\n <td class=\"left align-middle\">\r\n <vdr-entity-info [entity]=\"job\"></vdr-entity-info>\r\n </td>\r\n <td class=\"left align-middle\">\r\n <vdr-dropdown *ngIf=\"job.data\">\r\n <button\r\n class=\"btn btn-link btn-icon\"\r\n vdrDropdownTrigger\r\n [title]=\"'system.job-data' | translate\"\r\n >\r\n <clr-icon shape=\"details\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"result-detail\">\r\n <vdr-object-tree [value]=\"job.data\"></vdr-object-tree>\r\n </div>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n <vdr-chip [colorFrom]=\"job.queueName\">{{ job.queueName }}</vdr-chip>\r\n </td>\r\n\r\n <td class=\"left align-middle\">{{ job.createdAt | timeAgo }}</td>\r\n <td class=\"left align-middle\">\r\n <vdr-job-state-label [job]=\"job\"></vdr-job-state-label>\r\n <div *ngIf=\"job.state === 'FAILED'\" class=\"retry-info\">\r\n after {{ job.attempts }} attempts\r\n </div>\r\n <div *ngIf=\"job.state === 'RUNNING' || job.state === 'RETRYING'\" class=\"retry-info\">\r\n attempting {{ job.attempts + 1 }} of {{ job.retries }}\r\n </div>\r\n </td>\r\n <td class=\"left align-middle\">{{ job.duration | duration }}</td>\r\n <td class=\"left align-middle\">\r\n <vdr-dropdown *ngIf=\"hasResult(job)\">\r\n <button class=\"btn btn-link btn-sm details-button\" vdrDropdownTrigger>\r\n <clr-icon shape=\"details\"></clr-icon>\r\n {{ 'system.job-result' | translate }}\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"result-detail\">\r\n <vdr-object-tree [value]=\"job.result\"></vdr-object-tree>\r\n </div>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n <vdr-dropdown *ngIf=\"job.error\">\r\n <button class=\"btn btn-link btn-sm details-button\" vdrDropdownTrigger>\r\n <clr-icon shape=\"exclamation-circle\"></clr-icon>\r\n {{ 'system.job-error' | translate }}\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"result-detail\">\r\n {{ job.error }}\r\n </div>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </td>\r\n <td class=\"right align-middle\">\r\n <vdr-dropdown *ngIf=\"!job.isSettled && job.state !== 'FAILED'\">\r\n <button class=\"icon-button\" vdrDropdownTrigger>\r\n <clr-icon shape=\"ellipsis-vertical\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <button\r\n type=\"button\"\r\n class=\"delete-button\"\r\n (click)=\"cancelJob(job.id)\"\r\n [disabled]=\"!(['DeleteSettings', 'DeleteSystem'] | hasPermission)\"\r\n vdrDropdownItem\r\n >\r\n <clr-icon shape=\"ban\" class=\"is-danger\"></clr-icon>\r\n {{ 'common.cancel' | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </td>\r\n </ng-template>\r\n</vdr-data-table>\r\n", styles: [".result-detail{margin:0 12px}.retry-info{margin-left:6px;color:var(--color-grey-400)}\n"], components: [{ type: i1.ActionBarComponent, selector: "vdr-action-bar" }, { type: i1.ActionBarLeftComponent, selector: "vdr-ab-left", inputs: ["grow"] }, { type: i3.ClrCheckboxContainer, selector: "clr-checkbox-container,clr-toggle-container", inputs: ["clrInline"] }, { type: i3.ClrCheckboxWrapper, selector: "clr-checkbox-wrapper,clr-toggle-wrapper" }, { type: i1.ActionBarRightComponent, selector: "vdr-ab-right", inputs: ["grow"] }, { type: i4$1.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: i1.ChipComponent, selector: "vdr-chip", inputs: ["icon", "invert", "colorFrom", "colorType"], outputs: ["iconClick"] }, { type: i1.ActionBarItemsComponent, selector: "vdr-action-bar-items", inputs: ["locationId"] }, { type: i1.DataTableComponent, selector: "vdr-data-table", inputs: ["items", "itemsPerPage", "currentPage", "totalItems", "allSelected", "isRowSelectedFn", "emptyStateLabel"], outputs: ["allSelectChange", "rowSelectChange", "pageChange", "itemsPerPageChange"] }, { type: i1.DataTableColumnComponent, selector: "vdr-dt-column", inputs: ["expand"] }, { type: i1.EntityInfoComponent, selector: "vdr-entity-info", inputs: ["small", "entity"] }, { type: i1.DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { type: i1.DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { type: i1.ObjectTreeComponent, selector: "vdr-object-tree", inputs: ["value", "isArrayItem"] }, { type: JobStateLabelComponent, selector: "vdr-job-state-label", inputs: ["job"] }], directives: [{ type: i1.FormFieldControlDirective, selector: "input, textarea, select" }, { type: i6.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i3.ClrCheckbox, selector: "[clrCheckbox],[clrToggle]" }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.ClrLabel, selector: "label", inputs: ["for"] }, { type: i4$1.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { type: i4$1.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { type: i3.ClrIconCustomTag, selector: "clr-icon" }, { type: i1.DropdownItemDirective, selector: "[vdrDropdownItem]" }], pipes: { "translate": i4.TranslatePipe, "async": i2.AsyncPipe, "timeAgo": i1.TimeAgoPipe, "duration": i1.DurationPipe, "hasPermission": i1.HasPermissionPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
126
126
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: JobListComponent, decorators: [{
|
|
127
127
|
type: Component,
|
|
128
128
|
args: [{ selector: 'vdr-job-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-action-bar>\r\n <vdr-ab-left>\r\n <clr-checkbox-container>\r\n <clr-checkbox-wrapper>\r\n <input type=\"checkbox\" clrCheckbox [formControl]=\"liveUpdate\" name=\"live-update\"/>\r\n <label>{{ 'common.live-update' | translate }}</label>\r\n </clr-checkbox-wrapper>\r\n <clr-checkbox-wrapper>\r\n <input\r\n type=\"checkbox\"\r\n clrCheckbox\r\n [formControl]=\"hideSettled\"\r\n name=\"hide-settled\"\r\n (change)=\"refresh()\"\r\n />\r\n <label>{{ 'system.hide-settled-jobs' | translate }}</label>\r\n </clr-checkbox-wrapper>\r\n </clr-checkbox-container>\r\n </vdr-ab-left>\r\n <vdr-ab-right>\r\n <ng-select\r\n [addTag]=\"false\"\r\n [items]=\"queues$ | async\"\r\n [hideSelected]=\"true\"\r\n [multiple]=\"false\"\r\n [markFirst]=\"false\"\r\n [clearable]=\"false\"\r\n [searchable]=\"false\"\r\n bindValue=\"name\"\r\n [formControl]=\"queueFilter\"\r\n (change)=\"refresh()\"\r\n >\r\n <ng-template ng-label-tmp ng-option-tmp let-item=\"item\">\r\n <ng-container *ngIf=\"item.name === 'all'; else others\">\r\n {{ 'system.all-job-queues' | translate }}\r\n </ng-container>\r\n <ng-template #others>\r\n <vdr-chip [colorFrom]=\"item.name\">{{ item.name }}</vdr-chip>\r\n </ng-template>\r\n </ng-template>\r\n </ng-select>\r\n <vdr-action-bar-items locationId=\"job-list\"></vdr-action-bar-items>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n\r\n<vdr-data-table\r\n [items]=\"items$ | async\"\r\n [itemsPerPage]=\"itemsPerPage$ | async\"\r\n [totalItems]=\"totalItems$ | async\"\r\n [currentPage]=\"currentPage$ | async\"\r\n (pageChange)=\"setPageNumber($event)\"\r\n (itemsPerPageChange)=\"setItemsPerPage($event)\"\r\n>\r\n <vdr-dt-column></vdr-dt-column>\r\n <vdr-dt-column>{{ 'system.job-queue-name' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'common.created-at' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'system.job-state' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'system.job-duration' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'system.job-result' | translate }}</vdr-dt-column>\r\n <vdr-dt-column></vdr-dt-column>\r\n <ng-template let-job=\"item\">\r\n <td class=\"left align-middle\">\r\n <vdr-entity-info [entity]=\"job\"></vdr-entity-info>\r\n </td>\r\n <td class=\"left align-middle\">\r\n <vdr-dropdown *ngIf=\"job.data\">\r\n <button\r\n class=\"btn btn-link btn-icon\"\r\n vdrDropdownTrigger\r\n [title]=\"'system.job-data' | translate\"\r\n >\r\n <clr-icon shape=\"details\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"result-detail\">\r\n <vdr-object-tree [value]=\"job.data\"></vdr-object-tree>\r\n </div>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n <vdr-chip [colorFrom]=\"job.queueName\">{{ job.queueName }}</vdr-chip>\r\n </td>\r\n\r\n <td class=\"left align-middle\">{{ job.createdAt | timeAgo }}</td>\r\n <td class=\"left align-middle\">\r\n <vdr-job-state-label [job]=\"job\"></vdr-job-state-label>\r\n <div *ngIf=\"job.state === 'FAILED'\" class=\"retry-info\">\r\n after {{ job.attempts }} attempts\r\n </div>\r\n <div *ngIf=\"job.state === 'RUNNING' || job.state === 'RETRYING'\" class=\"retry-info\">\r\n attempting {{ job.attempts + 1 }} of {{ job.retries }}\r\n </div>\r\n </td>\r\n <td class=\"left align-middle\">{{ job.duration | duration }}</td>\r\n <td class=\"left align-middle\">\r\n <vdr-dropdown *ngIf=\"hasResult(job)\">\r\n <button class=\"btn btn-link btn-sm details-button\" vdrDropdownTrigger>\r\n <clr-icon shape=\"details\"></clr-icon>\r\n {{ 'system.job-result' | translate }}\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"result-detail\">\r\n <vdr-object-tree [value]=\"job.result\"></vdr-object-tree>\r\n </div>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n <vdr-dropdown *ngIf=\"job.error\">\r\n <button class=\"btn btn-link btn-sm details-button\" vdrDropdownTrigger>\r\n <clr-icon shape=\"exclamation-circle\"></clr-icon>\r\n {{ 'system.job-error' | translate }}\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"result-detail\">\r\n {{ job.error }}\r\n </div>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </td>\r\n <td class=\"right align-middle\">\r\n <vdr-dropdown *ngIf=\"!job.isSettled && job.state !== 'FAILED'\">\r\n <button class=\"icon-button\" vdrDropdownTrigger>\r\n <clr-icon shape=\"ellipsis-vertical\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <button\r\n type=\"button\"\r\n class=\"delete-button\"\r\n (click)=\"cancelJob(job.id)\"\r\n [disabled]=\"!(['DeleteSettings', 'DeleteSystem'] | hasPermission)\"\r\n vdrDropdownItem\r\n >\r\n <clr-icon shape=\"ban\" class=\"is-danger\"></clr-icon>\r\n {{ 'common.cancel' | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </td>\r\n </ng-template>\r\n</vdr-data-table>\r\n", styles: [".result-detail{margin:0 12px}.retry-info{margin-left:6px;color:var(--color-grey-400)}\n"] }]
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vendure/admin-ui",
|
|
3
|
-
"version": "2.0.0-next.
|
|
3
|
+
"version": "2.0.0-next.15",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"dependencies": {
|
|
6
6
|
"@angular/animations": "13.2.3",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"@ng-select/ng-select": "^8.1.1",
|
|
23
23
|
"@ngx-translate/core": "^14.0.0",
|
|
24
24
|
"@ngx-translate/http-loader": "^7.0.0",
|
|
25
|
-
"@vendure/common": "^2.0.0-next.
|
|
25
|
+
"@vendure/common": "^2.0.0-next.15",
|
|
26
26
|
"@webcomponents/custom-elements": "^1.4.3",
|
|
27
27
|
"apollo-angular": "^3.0.0",
|
|
28
28
|
"apollo-upload-client": "^17.0.0",
|
|
@@ -33,16 +33,17 @@
|
|
|
33
33
|
"messageformat": "2.3.0",
|
|
34
34
|
"ngx-pagination": "^5.1.1",
|
|
35
35
|
"ngx-translate-messageformat-compiler": "^5.0.1",
|
|
36
|
-
"prosemirror-commands": "^1.
|
|
37
|
-
"prosemirror-dropcursor": "^1.
|
|
38
|
-
"prosemirror-gapcursor": "^1.
|
|
39
|
-
"prosemirror-history": "^1.
|
|
40
|
-
"prosemirror-inputrules": "^1.
|
|
41
|
-
"prosemirror-keymap": "^1.
|
|
42
|
-
"prosemirror-menu": "^1.1
|
|
43
|
-
"prosemirror-schema-basic": "^1.
|
|
44
|
-
"prosemirror-schema-list": "^1.1
|
|
45
|
-
"prosemirror-state": "^1.
|
|
36
|
+
"prosemirror-commands": "^1.3.0",
|
|
37
|
+
"prosemirror-dropcursor": "^1.6.0",
|
|
38
|
+
"prosemirror-gapcursor": "^1.3.1",
|
|
39
|
+
"prosemirror-history": "^1.3.0",
|
|
40
|
+
"prosemirror-inputrules": "^1.2.0",
|
|
41
|
+
"prosemirror-keymap": "^1.2.0",
|
|
42
|
+
"prosemirror-menu": "^1.2.1",
|
|
43
|
+
"prosemirror-schema-basic": "^1.2.0",
|
|
44
|
+
"prosemirror-schema-list": "^1.2.1",
|
|
45
|
+
"prosemirror-state": "^1.4.1",
|
|
46
|
+
"prosemirror-tables": "^1.2.5",
|
|
46
47
|
"rxjs": "^7.5.4",
|
|
47
48
|
"tslib": "^2.1.0",
|
|
48
49
|
"zone.js": "~0.11.4"
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { MenuItem } from 'prosemirror-menu';
|
|
2
|
-
import { NodeType } from 'prosemirror-model';
|
|
3
|
-
import { ModalService } from '../../../../../providers/modal/modal.service';
|
|
4
|
-
export declare function insertImageItem(nodeType: NodeType, modalService: ModalService): MenuItem<any>;
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { MenuItem } from 'prosemirror-menu';
|
|
2
|
-
import { NodeSelection } from 'prosemirror-state';
|
|
3
|
-
import { ExternalImageDialogComponent, } from '../../external-image-dialog/external-image-dialog.component';
|
|
4
|
-
import { canInsert } from './menu-common';
|
|
5
|
-
export function insertImageItem(nodeType, modalService) {
|
|
6
|
-
return new MenuItem({
|
|
7
|
-
title: 'Insert image',
|
|
8
|
-
label: 'Image',
|
|
9
|
-
class: '',
|
|
10
|
-
css: '',
|
|
11
|
-
enable(state) {
|
|
12
|
-
return canInsert(state, nodeType);
|
|
13
|
-
},
|
|
14
|
-
run(state, _, view) {
|
|
15
|
-
let attrs;
|
|
16
|
-
if (state.selection instanceof NodeSelection && state.selection.node.type === nodeType) {
|
|
17
|
-
attrs = state.selection.node.attrs;
|
|
18
|
-
}
|
|
19
|
-
modalService
|
|
20
|
-
.fromComponent(ExternalImageDialogComponent, {
|
|
21
|
-
closable: true,
|
|
22
|
-
locals: {
|
|
23
|
-
existing: attrs,
|
|
24
|
-
},
|
|
25
|
-
})
|
|
26
|
-
.subscribe(result => {
|
|
27
|
-
if (result) {
|
|
28
|
-
// tslint:disable-next-line:no-non-null-assertion
|
|
29
|
-
view.dispatch(view.state.tr.replaceSelectionWith(nodeType.createAndFill(result)));
|
|
30
|
-
}
|
|
31
|
-
view.focus();
|
|
32
|
-
});
|
|
33
|
-
},
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9zaGFyZWQvY29tcG9uZW50cy9yaWNoLXRleHQtZWRpdG9yL3Byb3NlbWlycm9yL21lbnUvaW1hZ2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU1QyxPQUFPLEVBQWUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFJL0QsT0FBTyxFQUVILDRCQUE0QixHQUMvQixNQUFNLDZEQUE2RCxDQUFDO0FBRXJFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUMsTUFBTSxVQUFVLGVBQWUsQ0FBQyxRQUFrQixFQUFFLFlBQTBCO0lBQzFFLE9BQU8sSUFBSSxRQUFRLENBQUM7UUFDaEIsS0FBSyxFQUFFLGNBQWM7UUFDckIsS0FBSyxFQUFFLE9BQU87UUFDZCxLQUFLLEVBQUUsRUFBRTtRQUNULEdBQUcsRUFBRSxFQUFFO1FBQ1AsTUFBTSxDQUFDLEtBQWtCO1lBQ3JCLE9BQU8sU0FBUyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN0QyxDQUFDO1FBQ0QsR0FBRyxDQUFDLEtBQWtCLEVBQUUsQ0FBQyxFQUFFLElBQWdCO1lBQ3ZDLElBQUksS0FBcUMsQ0FBQztZQUMxQyxJQUFJLEtBQUssQ0FBQyxTQUFTLFlBQVksYUFBYSxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7Z0JBQ3BGLEtBQUssR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUEyQixDQUFDO2FBQzVEO1lBQ0QsWUFBWTtpQkFDUCxhQUFhLENBQUMsNEJBQTRCLEVBQUU7Z0JBQ3pDLFFBQVEsRUFBRSxJQUFJO2dCQUNkLE1BQU0sRUFBRTtvQkFDSixRQUFRLEVBQUUsS0FBSztpQkFDbEI7YUFDSixDQUFDO2lCQUNELFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDaEIsSUFBSSxNQUFNLEVBQUU7b0JBQ1IsaURBQWlEO29CQUNqRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFFLENBQUMsQ0FBQyxDQUFDO2lCQUN0RjtnQkFDRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDakIsQ0FBQyxDQUFDLENBQUM7UUFDWCxDQUFDO0tBQ0osQ0FBQyxDQUFDO0FBQ1AsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1lbnVJdGVtIH0gZnJvbSAncHJvc2VtaXJyb3ItbWVudSc7XHJcbmltcG9ydCB7IE5vZGVUeXBlIH0gZnJvbSAncHJvc2VtaXJyb3ItbW9kZWwnO1xyXG5pbXBvcnQgeyBFZGl0b3JTdGF0ZSwgTm9kZVNlbGVjdGlvbiB9IGZyb20gJ3Byb3NlbWlycm9yLXN0YXRlJztcclxuaW1wb3J0IHsgRWRpdG9yVmlldyB9IGZyb20gJ3Byb3NlbWlycm9yLXZpZXcnO1xyXG5cclxuaW1wb3J0IHsgTW9kYWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vcHJvdmlkZXJzL21vZGFsL21vZGFsLnNlcnZpY2UnO1xyXG5pbXBvcnQge1xyXG4gICAgRXh0ZXJuYWxJbWFnZUF0dHJzLFxyXG4gICAgRXh0ZXJuYWxJbWFnZURpYWxvZ0NvbXBvbmVudCxcclxufSBmcm9tICcuLi8uLi9leHRlcm5hbC1pbWFnZS1kaWFsb2cvZXh0ZXJuYWwtaW1hZ2UtZGlhbG9nLmNvbXBvbmVudCc7XHJcblxyXG5pbXBvcnQgeyBjYW5JbnNlcnQgfSBmcm9tICcuL21lbnUtY29tbW9uJztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBpbnNlcnRJbWFnZUl0ZW0obm9kZVR5cGU6IE5vZGVUeXBlLCBtb2RhbFNlcnZpY2U6IE1vZGFsU2VydmljZSkge1xyXG4gICAgcmV0dXJuIG5ldyBNZW51SXRlbSh7XHJcbiAgICAgICAgdGl0bGU6ICdJbnNlcnQgaW1hZ2UnLFxyXG4gICAgICAgIGxhYmVsOiAnSW1hZ2UnLFxyXG4gICAgICAgIGNsYXNzOiAnJyxcclxuICAgICAgICBjc3M6ICcnLFxyXG4gICAgICAgIGVuYWJsZShzdGF0ZTogRWRpdG9yU3RhdGUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGNhbkluc2VydChzdGF0ZSwgbm9kZVR5cGUpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgcnVuKHN0YXRlOiBFZGl0b3JTdGF0ZSwgXywgdmlldzogRWRpdG9yVmlldykge1xyXG4gICAgICAgICAgICBsZXQgYXR0cnM6IEV4dGVybmFsSW1hZ2VBdHRycyB8IHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgaWYgKHN0YXRlLnNlbGVjdGlvbiBpbnN0YW5jZW9mIE5vZGVTZWxlY3Rpb24gJiYgc3RhdGUuc2VsZWN0aW9uLm5vZGUudHlwZSA9PT0gbm9kZVR5cGUpIHtcclxuICAgICAgICAgICAgICAgIGF0dHJzID0gc3RhdGUuc2VsZWN0aW9uLm5vZGUuYXR0cnMgYXMgRXh0ZXJuYWxJbWFnZUF0dHJzO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG1vZGFsU2VydmljZVxyXG4gICAgICAgICAgICAgICAgLmZyb21Db21wb25lbnQoRXh0ZXJuYWxJbWFnZURpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICAgICAgICAgICAgICAgIGNsb3NhYmxlOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgIGxvY2Fsczoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBleGlzdGluZzogYXR0cnMsXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tbm9uLW51bGwtYXNzZXJ0aW9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpZXcuZGlzcGF0Y2godmlldy5zdGF0ZS50ci5yZXBsYWNlU2VsZWN0aW9uV2l0aChub2RlVHlwZS5jcmVhdGVBbmRGaWxsKHJlc3VsdCkhKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHZpZXcuZm9jdXMoKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0sXHJcbiAgICB9KTtcclxufVxyXG4iXX0=
|