verben-workflow-ui 0.5.76 → 0.5.78
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/README.md +13 -0
- package/esm2022/src/lib/components/actors/actors.component.mjs +5 -5
- package/esm2022/src/lib/components/actors/actors.facade.mjs +3 -3
- package/esm2022/src/lib/components/actors/actors.form.component.mjs +5 -5
- package/esm2022/src/lib/components/actors/actors.module.mjs +4 -4
- package/esm2022/src/lib/components/actors/actors.service.mjs +3 -3
- package/esm2022/src/lib/components/actors/actors.state.mjs +3 -3
- package/esm2022/src/lib/components/designer/components/label-editor.component.mjs +6 -6
- package/esm2022/src/lib/components/designer/components/node-selector.component.mjs +4 -4
- package/esm2022/src/lib/components/designer/components/swimlane-label.component.mjs +3 -3
- package/esm2022/src/lib/components/designer/components/swimlane-popup.component.mjs +3 -3
- package/esm2022/src/lib/components/designer/components/wf-canvas.component.mjs +6 -6
- package/esm2022/src/lib/components/designer/components/wf-designer.component.mjs +3 -3
- package/esm2022/src/lib/components/designer/components/wf-toolbar.component.mjs +6 -6
- package/esm2022/src/lib/components/designer/services/canvas-state.service.mjs +3 -3
- package/esm2022/src/lib/components/designer/services/connection-segment-interaction.service.mjs +3 -3
- package/esm2022/src/lib/components/designer/services/connection.service.mjs +3 -3
- package/esm2022/src/lib/components/designer/services/keyboard-handler.service.mjs +3 -3
- package/esm2022/src/lib/components/designer/services/label-management.service.mjs +3 -3
- package/esm2022/src/lib/components/designer/services/node-finder.service.mjs +3 -3
- package/esm2022/src/lib/components/designer/services/node-interaction.service.mjs +3 -3
- package/esm2022/src/lib/components/designer/services/node-precondition.service.mjs +3 -3
- package/esm2022/src/lib/components/designer/services/node-selection.service.mjs +3 -3
- package/esm2022/src/lib/components/designer/services/orthogonal-router.service.mjs +3 -3
- package/esm2022/src/lib/components/designer/services/position-update.service.mjs +3 -3
- package/esm2022/src/lib/components/designer/services/rendering.service.mjs +3 -3
- package/esm2022/src/lib/components/designer/services/swimlane-management.service.mjs +3 -3
- package/esm2022/src/lib/components/designer/services/swimlane-stats.service.mjs +3 -3
- package/esm2022/src/lib/components/designer/services/viewport.service.mjs +3 -3
- package/esm2022/src/lib/components/designer/services/wf-facade.service.mjs +3 -3
- package/esm2022/src/lib/components/designer/services/wf-mapper.service.mjs +3 -3
- package/esm2022/src/lib/components/designer/services/wf-persistence.service.mjs +3 -3
- package/esm2022/src/lib/components/designer/services/wf-state.service.mjs +3 -3
- package/esm2022/src/lib/components/expiration/expiration.component.mjs +3 -3
- package/esm2022/src/lib/components/expiration/expiration.module.mjs +4 -4
- package/esm2022/src/lib/components/file-render/file-render.component.mjs +5 -5
- package/esm2022/src/lib/components/file-render/file-render.module.mjs +4 -4
- package/esm2022/src/lib/components/file-upload/file-upload.component.mjs +5 -5
- package/esm2022/src/lib/components/file-upload/file-upload.module.mjs +4 -4
- package/esm2022/src/lib/components/flowable-status/flowable-status.component.mjs +17 -10
- package/esm2022/src/lib/components/flowable-status/flowable-status.facade.mjs +3 -3
- package/esm2022/src/lib/components/flowable-status/flowable-status.form.component.mjs +5 -5
- package/esm2022/src/lib/components/flowable-status/flowable-status.module.mjs +4 -4
- package/esm2022/src/lib/components/flowable-status/flowable-status.service.mjs +3 -3
- package/esm2022/src/lib/components/flowable-status/flowable-status.state.mjs +3 -3
- package/esm2022/src/lib/components/form-control/form-control.component.mjs +5 -5
- package/esm2022/src/lib/components/form-control/form-control.module.mjs +4 -4
- package/esm2022/src/lib/components/form-group/base-table-style.mjs +6 -6
- package/esm2022/src/lib/components/form-group/form-fields/form-fields.component.mjs +5 -5
- package/esm2022/src/lib/components/form-group/form-fields/form-fields.module.mjs +4 -4
- package/esm2022/src/lib/components/form-group/form-fields/form-fields.service.mjs +3 -3
- package/esm2022/src/lib/components/form-group/form-group.component.mjs +5 -5
- package/esm2022/src/lib/components/form-group/form-group.module.mjs +4 -4
- package/esm2022/src/lib/components/form-group/form-group.service.mjs +3 -3
- package/esm2022/src/lib/components/form-response/form-response.component.mjs +5 -5
- package/esm2022/src/lib/components/form-response/form-response.module.mjs +4 -4
- package/esm2022/src/lib/components/form-response/form-response.service.mjs +3 -3
- package/esm2022/src/lib/components/form-timer/form-timer.component.mjs +5 -5
- package/esm2022/src/lib/components/form-timer/form-timer.module.mjs +4 -4
- package/esm2022/src/lib/components/forms/base-table-style.mjs +6 -6
- package/esm2022/src/lib/components/forms/forms.component.mjs +5 -5
- package/esm2022/src/lib/components/forms/forms.module.mjs +4 -4
- package/esm2022/src/lib/components/forms/forms.service.mjs +3 -3
- package/esm2022/src/lib/components/journal/journal.component.mjs +3 -3
- package/esm2022/src/lib/components/journal/journal.module.mjs +4 -4
- package/esm2022/src/lib/components/my-queue/my-queue.component.mjs +5 -5
- package/esm2022/src/lib/components/my-queue/my-queue.facade.mjs +3 -3
- package/esm2022/src/lib/components/my-queue/my-queue.module.mjs +4 -4
- package/esm2022/src/lib/components/my-queue/my-queue.service.mjs +3 -3
- package/esm2022/src/lib/components/my-queue/my-queue.state.mjs +3 -3
- package/esm2022/src/lib/components/my-queue/tasks.form.component.mjs +5 -5
- package/esm2022/src/lib/components/operation-popup/operation-popup.component.mjs +5 -5
- package/esm2022/src/lib/components/operation-popup/operation-popup.facade.mjs +3 -3
- package/esm2022/src/lib/components/operation-popup/operation-popup.service.mjs +3 -3
- package/esm2022/src/lib/components/operation-popup/operation-popup.state.mjs +3 -3
- package/esm2022/src/lib/components/stage-details/stage-details.component.mjs +5 -5
- package/esm2022/src/lib/components/stage-details/stage-details.module.mjs +4 -4
- package/esm2022/src/lib/components/task-form/task-form.component.mjs +5 -5
- package/esm2022/src/lib/components/task-form/task-form.module.mjs +4 -4
- package/esm2022/src/lib/components/task-history/task-history.component.mjs +5 -5
- package/esm2022/src/lib/components/task-history/task-history.module.mjs +4 -4
- package/esm2022/src/lib/components/task-history/task-history.service.mjs +3 -3
- package/esm2022/src/lib/components/task-notification/base-table-style.mjs +6 -6
- package/esm2022/src/lib/components/task-notification/task-notification.component.mjs +5 -5
- package/esm2022/src/lib/components/task-notification/task-notification.module.mjs +4 -4
- package/esm2022/src/lib/components/task-notification/task-notification.service.mjs +3 -3
- package/esm2022/src/lib/components/tasks/tasks.component.mjs +17 -26
- package/esm2022/src/lib/components/tasks/tasks.facade.mjs +3 -3
- package/esm2022/src/lib/components/tasks/tasks.form.component.mjs +5 -5
- package/esm2022/src/lib/components/tasks/tasks.module.mjs +4 -4
- package/esm2022/src/lib/components/tasks/tasks.service.mjs +3 -3
- package/esm2022/src/lib/components/tasks/tasks.state.mjs +3 -3
- package/esm2022/src/lib/components/wf/wf.component.mjs +3 -3
- package/esm2022/src/lib/components/wf/wf.module.mjs +4 -4
- package/esm2022/src/lib/components/wf/wf.service.mjs +3 -3
- package/esm2022/src/lib/components/workflow/table-style.mjs +6 -6
- package/esm2022/src/lib/components/workflow/workflow.component.mjs +8 -8
- package/esm2022/src/lib/components/workflow/workflow.module.mjs +4 -4
- package/esm2022/src/lib/components/workflow-designer/action-dialog/action-dialog.component.mjs +5 -5
- package/esm2022/src/lib/components/workflow-designer/actor-tags-dialog/actor-tags-dialog.component.mjs +5 -5
- package/esm2022/src/lib/components/workflow-designer/conditions-popup/conditions-popup.component.mjs +3 -3
- package/esm2022/src/lib/components/workflow-designer/decision-popup/decision-popup.component.mjs +4 -4
- package/esm2022/src/lib/components/workflow-designer/designer-canvas/designer-canvas.component.mjs +3 -3
- package/esm2022/src/lib/components/workflow-designer/designer-toolbar/designer-toolbar.component.mjs +5 -5
- package/esm2022/src/lib/components/workflow-designer/escalation-dialog/escalation-dialog.component.mjs +5 -5
- package/esm2022/src/lib/components/workflow-designer/services/connection.service.mjs +3 -3
- package/esm2022/src/lib/components/workflow-designer/services/node-management.service.mjs +3 -3
- package/esm2022/src/lib/components/workflow-designer/services/popup.service.mjs +3 -3
- package/esm2022/src/lib/components/workflow-designer/services/swimlane.service.mjs +3 -3
- package/esm2022/src/lib/components/workflow-designer/services/transformer.service.mjs +3 -3
- package/esm2022/src/lib/components/workflow-designer/stage-dialog/stage-dialog.component.mjs +5 -5
- package/esm2022/src/lib/components/workflow-designer/stage-node/stage-node.component.mjs +5 -5
- package/esm2022/src/lib/components/workflow-designer/swimlane-dialog/swimlane-dialog.component.mjs +5 -5
- package/esm2022/src/lib/components/workflow-designer/workflow-data.service.mjs +3 -3
- package/esm2022/src/lib/components/workflow-designer/workflow-designer.component.mjs +4 -4
- package/esm2022/src/lib/components/workflow-designer/workflow-designer.module.mjs +4 -4
- package/esm2022/src/lib/components/workflow-designer/workflow-designer.state.mjs +3 -3
- package/esm2022/src/lib/components/workflows/workflow-form/workflow-form.component.mjs +5 -5
- package/esm2022/src/lib/components/workflows/workflows.component.mjs +18 -9
- package/esm2022/src/lib/components/workflows/workflows.facade.mjs +3 -3
- package/esm2022/src/lib/components/workflows/workflows.module.mjs +4 -4
- package/esm2022/src/lib/components/workflows/workflows.service.mjs +3 -3
- package/esm2022/src/lib/components/workflows/workflows.state.mjs +3 -3
- package/esm2022/src/lib/pipes/async-label.pipe.mjs +3 -3
- package/esm2022/src/lib/services/environment.service.mjs +3 -3
- package/esm2022/src/lib/services/http-web-request.service.mjs +3 -3
- package/esm2022/src/lib/services/label.service.mjs +3 -3
- package/esm2022/src/lib/services/util.service.mjs +3 -3
- package/esm2022/src/lib/shared/base-table-style.mjs +6 -6
- package/esm2022/src/lib/shared/components/base-data-view.component.mjs +3 -3
- package/esm2022/src/lib/shared/shared.module.mjs +4 -4
- package/fesm2022/verben-workflow-ui-src-lib-components-actors.mjs +21 -21
- package/fesm2022/verben-workflow-ui-src-lib-components-actors.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-components-designer.mjs +85 -85
- package/fesm2022/verben-workflow-ui-src-lib-components-designer.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-components-expiration.mjs +7 -7
- package/fesm2022/verben-workflow-ui-src-lib-components-expiration.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-components-file-render.mjs +8 -8
- package/fesm2022/verben-workflow-ui-src-lib-components-file-render.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-components-file-upload.mjs +8 -8
- package/fesm2022/verben-workflow-ui-src-lib-components-file-upload.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-components-flowable-status.mjs +33 -26
- package/fesm2022/verben-workflow-ui-src-lib-components-flowable-status.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-components-form-control.mjs +8 -8
- package/fesm2022/verben-workflow-ui-src-lib-components-form-control.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-components-form-group.mjs +27 -27
- package/fesm2022/verben-workflow-ui-src-lib-components-form-group.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-components-form-response.mjs +11 -11
- package/fesm2022/verben-workflow-ui-src-lib-components-form-response.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-components-form-timer.mjs +8 -8
- package/fesm2022/verben-workflow-ui-src-lib-components-form-timer.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-components-forms.mjs +16 -16
- package/fesm2022/verben-workflow-ui-src-lib-components-forms.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-components-journal.mjs +7 -7
- package/fesm2022/verben-workflow-ui-src-lib-components-my-queue.mjs +21 -21
- package/fesm2022/verben-workflow-ui-src-lib-components-my-queue.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-components-operation-popup.mjs +13 -13
- package/fesm2022/verben-workflow-ui-src-lib-components-operation-popup.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-components-stage-details.mjs +8 -8
- package/fesm2022/verben-workflow-ui-src-lib-components-stage-details.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-components-task-form.mjs +8 -8
- package/fesm2022/verben-workflow-ui-src-lib-components-task-form.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-components-task-history.mjs +11 -11
- package/fesm2022/verben-workflow-ui-src-lib-components-task-history.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-components-task-notification.mjs +16 -16
- package/fesm2022/verben-workflow-ui-src-lib-components-task-notification.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-components-tasks.mjs +33 -42
- package/fesm2022/verben-workflow-ui-src-lib-components-tasks.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-components-wf.mjs +10 -10
- package/fesm2022/verben-workflow-ui-src-lib-components-workflow-designer.mjs +67 -67
- package/fesm2022/verben-workflow-ui-src-lib-components-workflow-designer.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-components-workflow.mjs +16 -16
- package/fesm2022/verben-workflow-ui-src-lib-components-workflow.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-components-workflows.mjs +34 -25
- package/fesm2022/verben-workflow-ui-src-lib-components-workflows.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-pipes.mjs +3 -3
- package/fesm2022/verben-workflow-ui-src-lib-services.mjs +12 -12
- package/fesm2022/verben-workflow-ui-src-lib-shared.mjs +12 -12
- package/fesm2022/verben-workflow-ui-src-lib-shared.mjs.map +1 -1
- package/package.json +30 -30
- package/src/lib/components/workflow/workflow.component.d.ts +1 -1
- package/styles/styles.css +19 -1436
|
@@ -189,21 +189,21 @@ export class WorkflowComponent {
|
|
|
189
189
|
console.log('data is here', type);
|
|
190
190
|
switch (type) {
|
|
191
191
|
// case WorkflowStatus.Pending:
|
|
192
|
-
// return 'bg-[#FEF2E5] text-[
|
|
192
|
+
// return 'bg-[#FEF2E5] text-[var(--vbn-color-warning)]';
|
|
193
193
|
case Status.Active:
|
|
194
|
-
return 'bg-[
|
|
194
|
+
return 'bg-[var(--vbn-color-success-bg)] text-[var(--vbn-color-success)]';
|
|
195
195
|
case Status.InActive:
|
|
196
|
-
return 'bg-[#FBE7E8] text-[
|
|
196
|
+
return 'bg-[#FBE7E8] text-[var(--vbn-color-error)]';
|
|
197
197
|
default:
|
|
198
198
|
return '';
|
|
199
199
|
}
|
|
200
200
|
}
|
|
201
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
202
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: WorkflowComponent, selector: "verben-workflow", outputs: { itemClicked: "itemClicked" }, viewQueries: [{ propertyName: "cardDataView", first: true, predicate: ["vdcv"], descendants: true }, { propertyName: "dataView", first: true, predicate: ["vdv"], descendants: true }], ngImport: i0, template: "<div class=\"space-y-8\">\n <verben-data-view\n #vdv\n [viewState]=\"{\n isSearch: true,\n isColumn: true,\n isFilter: true,\n isSort: true,\n isExport: true,\n isSelect: true,\n isCreate: true,\n isToggle:true\n }\"\n [buttonClass]=\"'my-custom-button-class'\"\n [iconClass]=\"'my-icon-class'\"\n [tableIcon]=\"'table-view'\"\n [cardIcon]=\"'list-view'\"\n [activeIconClass]=\"'my-active-icon-class'\"\n [selectedColumnCount]=\"0\"\n [selectedSortCount]=\"0\"\n [selectedFilterTableCount]=\"0\"\n (viewChange)=\"onViewChange($event)\"\n (stateChange)=\"onStateChange($event)\"\n >\n <div table-content>\n <lib-data-table\n [data]=\"data\"\n [columns]=\"columns\"\n [styleConfig]=\"styles\"\n (selectionChange)=\"onSelectionChange($event)\"\n >\n <ng-container libColumn=\"select\">\n <ng-template\n #cell\n let-value\n let-isSelected=\"isSelected\"\n let-toggleRowSelection=\"toggleRowSelection\"\n >\n <input\n type=\"checkbox\"\n [checked]=\"isSelected\"\n class=\"cursor-pointer\"\n />\n </ng-template>\n <ng-template\n #header\n let-allRowsSelected=\"allRowsSelected\"\n let-someRowsSelected=\"someRowsSelected\"\n let-toggleAllRows=\"toggleAllRows\"\n >\n <input\n type=\"checkbox\"\n [checked]=\"allRowsSelected()\"\n [indeterminate]=\"someRowsSelected()\"\n (change)=\"toggleAllRows()\"\n />\n </ng-template>\n </ng-container>\n <ng-container libColumn=\"status\">\n <ng-template #cell let-value>\n <div [class]=\"getRowStatus(value)\" class=\"rounded-[22px] flex items-center justify-center w-[84px] h-[31px] font-medium text-xs leading-[14.63px]\"> \n {{value}}\n </div>\n </ng-template>\n </ng-container>\n <ng-container libColumn=\"action\">\n <ng-template \n #cell let-value \n let-row=\"row\">\n <div class=\"flex items-center gap-4\">\n <span class=\"cursor-pointer\">\n <verben-svg\n icon=\"edit\"\n [width]=\"15\"\n [height]=\"15\"\n ></verben-svg>\n </span>\n <span class=\"cursor-pointer\">\n <verben-svg\n icon=\"delete\"\n [width]=\"15\"\n [height]=\"15\"\n ></verben-svg>\n </span>\n <span class=\"cursor-pointer\">\n <verben-svg\n icon=\"draw\"\n [width]=\"18\"\n [height]=\"18\"\n ></verben-svg>\n </span>\n </div>\n </ng-template>\n </ng-container>\n </lib-data-table>\n </div>\n <div card-content>\n <verben-card-data-view\n borderRadius=\"12px\"\n (loadMoreClick)=\"loadMore()\"\n #vdcv\n dataId=\"MailAddress\"\n border=\"5px\"\n [cardDataList]=\"cardData\"\n rbgColor=\"#f5f6f9\"\n mg=\"0px\"\n >\n <verben-left-card-data-view class=\"\">\n <verben-left-card-data\n #vlcd\n [parent]=\"vdcv\"\n dataId=\"MailAddress\"\n class=\"bg-secondary-100 rounded-xl border-primary border-[1px]\"\n [cardDataList]=\"cardData\"\n >\n <ng-template #card let-item>\n <div class=\"flex h-[88px]\">\n <div\n class=\"flex w-full bg-secondary rounded-xl\"\n >\n <div\n class=\"w-3 rounded-xl rounded-tr-none rounded-br-none\"\n [ngClass]=\"\n item.selected ? 'bg-primary' : 'bg-secondary-200'\n \"\n ></div>\n <div class=\"py-3 px-4 w-full h-[100%]\">\n <div class=\"flex items-start justify-between h-[100%]\">\n <div class=\"flex flex-col justify-between h-[100%]\">\n <h3 class=\"my-0 font-semibold text-[#404040] leading-[19.5px]\">{{\n item.title\n }}</h3>\n <p class=\"flex items-center\">\n <label class=\"!text-[10px] font-light text-[#404040] leading-[12.1px]\"\n >Config count:</label\n >\n <span class=\"text-[13px] leading-[15.85px] font-medium ml-1 text-black\">{{\n item.data.Count\n }}</span>\n </p>\n </div>\n \n <div class=\"flex items-end h-[100%]\">\n <p\n (click)=\"handleClick(item)\" \n class=\"my-0 underline text-[#3479E9] text-[11px] leading-[16.6px] cursor-pointer font-medium\"\n >View configs</p>\n </div>\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n </verben-left-card-data>\n </verben-left-card-data-view>\n <!-- <verben-right-card-data-view> \n yeshhhhhh\n </verben-right-card-data-view> -->\n \n <verben-card-data-view-footer class=\"float-right\">\n <div class=\"flex gap-2\">\n <span class=\"paginator-text\"\n >{{ cardData.length }} records loaded</span\n >\n <button (click)=\"loadMore()\" class=\"load-more\">Load more</button>\n </div>\n </verben-card-data-view-footer>\n </verben-card-data-view>\n </div>\n <div column-content>\n <verben-visible-column\n (columnsUpdated)=\"onColumnsUpdated($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"400px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n [columns]=\"visibleColumns\"\n [displayedColumns]=\"5\"\n ></verben-visible-column>\n </div>\n <div filter-content>\n <verben-table-filter\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"420px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n tertiaryColor=\"#404040\"\n [filterOptions]=\"filterArray\"\n [maxFilterLength]=\"3\"\n ></verben-table-filter>\n </div>\n <div sort-content>\n <verben-sort-table\n (selectedOptions)=\"onSortUpdated($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"400px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n tertiaryColor=\"#404040\"\n [enableDragAndDrop]=\"true\"\n [sortOptions]=\"sortOptions\"\n ></verben-sort-table>\n </div>\n <div export-content>\n <lib-data-export [data]=\"data\" (exportDataEvent)=\"handleExport($event)\">\n </lib-data-export>\n </div>\n </verben-data-view>\n </div>\n \n ", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.DataTableComponent, selector: "lib-data-table", inputs: ["data", "columns", "dataKey", "formGroupConfig", "groupBy", "useVirtualScroll", "virtualScrollItemSize", "styleConfig"], outputs: ["rowEdit", "rowSave", "rowRevert", "rowDelete", "selectionChange"] }, { kind: "directive", type: i2.ColumnDirective, selector: "[libColumn]", inputs: ["libColumn"] }, { kind: "component", type: i2.SvgComponent, selector: "verben-svg", inputs: ["icon", "width", "height", "fill", "stroke", "type", "size"] }, { kind: "component", type: i2.DataViewComponent, selector: "verben-data-view", inputs: ["buttonClass", "iconClass", "activeIconClass", "columnCustomClass", "filterCustomClass", "sortCustomClass", "extendCustomClass", "exportCustomClass", "selectCustomClass", "importCustomClass", "zIndex", "createCustomClass", "tableIcon", "cardIcon", "cardClass", "tableClass", "searchKey", "searchValue", "viewState", "searchTemplate", "importTemplate", "columnTemplate", "extendTemplate", "filterTemplate", "sortTemplate", "children", "exportTemplate", "createTemplate", "selectedColumnCount", "selectedSortCount", "selectedFilterTableCount", "inputWidth", "milliseconds", "showColumnChild", "showSortChild", "showFilterChild", "showImportChild", "showExportChild", "showExtendChild", "create", "showSelected", "isTableView"], outputs: ["viewChange", "stateChange", "onSearchChange"] }, { kind: "component", type: i2.CardDataViewComponent, selector: "verben-card-data-view", inputs: ["pd", "mg", "lHeight", "rHeight", "rWidth", "lWidth", "textColor", "lbgColor", "rbgColor", "border", "display", "borderRadius", "activeCss", "inActiveCss", "displayAsRow", "cardDataList", "dataId", "totalRecords", "footer", "noOfVisibleChildren", "showEditIcon", "onItemClick", "onCardChildClick"], outputs: ["editClicked", "loadMoreClick"] }, { kind: "component", type: i2.LeftCardDataComponent, selector: "verben-left-card-data", inputs: ["pd", "mg", "height", "weight", "activeCss", "inActiveCss", "cardDataList", "iconCollapse", "iconExpanded", "parent", "dataId"] }, { kind: "component", type: i2.LeftCardDataViewComponent, selector: "verben-left-card-data-view", inputs: ["cardDataList"] }, { kind: "component", type: i2.CardDataViewFooterComponent, selector: "verben-card-data-view-footer" }, { kind: "component", type: i2.SortTableComponent, selector: "verben-sort-table", inputs: ["enableDragAndDrop", "sortOptions", "resetText", "displayedOptions", "propertyText", "showMoreText", "sortButtonText", "pd", "mg", "height", "width", "bgColor", "boxShadow", "textColor", "primaryColor", "secondaryColor", "tertiaryColor", "border", "borderRadius", "selectWidth", "containerHeight"], outputs: ["selectedOptions", "resetSortData"] }, { kind: "component", type: i2.VisibleColumnComponent, selector: "verben-visible-column", inputs: ["columns", "items", "enableDragAndDrop", "displayedColumns", "showMore", "pd", "mg", "height", "width", "bgColor", "boxShadow", "textColor", "primaryColor", "secondaryColor", "tertiaryColor", "border", "borderRadius", "selectWidth", "closeColumn"], outputs: ["columnsUpdated", "resetFilter"] }, { kind: "component", type: i2.TableFilterComponent, selector: "verben-table-filter", inputs: ["filterOptions", "pd", "mg", "height", "width", "bgColor", "boxShadow", "textColor", "primaryColor", "secondaryColor", "tertiaryColor", "border", "borderRadius", "selectWidth", "maxFilterLength", "tooltip"], outputs: ["filtersApplied", "resetSortData"] }, { kind: "component", type: i2.DataExportComponent, selector: "lib-data-export", inputs: ["columns", "data", "dataFetchUrl", "dataQueryParameters"], outputs: ["exportDataEvent"] }] });
|
|
201
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WorkflowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
202
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: WorkflowComponent, selector: "verben-workflow", outputs: { itemClicked: "itemClicked" }, viewQueries: [{ propertyName: "cardDataView", first: true, predicate: ["vdcv"], descendants: true }, { propertyName: "dataView", first: true, predicate: ["vdv"], descendants: true }], ngImport: i0, template: "<div class=\"space-y-8\">\n <verben-data-view\n #vdv\n [viewState]=\"{\n isSearch: true,\n isColumn: true,\n isFilter: true,\n isSort: true,\n isExport: true,\n isSelect: true,\n isCreate: true,\n isToggle:true\n }\"\n [buttonClass]=\"'my-custom-button-class'\"\n [iconClass]=\"'my-icon-class'\"\n [tableIcon]=\"'table-view'\"\n [cardIcon]=\"'list-view'\"\n [activeIconClass]=\"'my-active-icon-class'\"\n [selectedColumnCount]=\"0\"\n [selectedSortCount]=\"0\"\n [selectedFilterTableCount]=\"0\"\n (viewChange)=\"onViewChange($event)\"\n (stateChange)=\"onStateChange($event)\"\n >\n <div table-content>\n <lib-data-table\n [data]=\"data\"\n [columns]=\"columns\"\n [styleConfig]=\"styles\"\n (selectionChange)=\"onSelectionChange($event)\"\n >\n <ng-container libColumn=\"select\">\n <ng-template\n #cell\n let-value\n let-isSelected=\"isSelected\"\n let-toggleRowSelection=\"toggleRowSelection\"\n >\n <input\n type=\"checkbox\"\n [checked]=\"isSelected\"\n class=\"cursor-pointer\"\n />\n </ng-template>\n <ng-template\n #header\n let-allRowsSelected=\"allRowsSelected\"\n let-someRowsSelected=\"someRowsSelected\"\n let-toggleAllRows=\"toggleAllRows\"\n >\n <input\n type=\"checkbox\"\n [checked]=\"allRowsSelected()\"\n [indeterminate]=\"someRowsSelected()\"\n (change)=\"toggleAllRows()\"\n />\n </ng-template>\n </ng-container>\n <ng-container libColumn=\"status\">\n <ng-template #cell let-value>\n <div [class]=\"getRowStatus(value)\" class=\"rounded-[22px] flex items-center justify-center w-[84px] h-[31px] font-medium text-xs leading-[14.63px]\"> \n {{value}}\n </div>\n </ng-template>\n </ng-container>\n <ng-container libColumn=\"action\">\n <ng-template \n #cell let-value \n let-row=\"row\">\n <div class=\"flex items-center gap-4\">\n <span class=\"cursor-pointer\">\n <verben-svg\n icon=\"edit\"\n [width]=\"15\"\n [height]=\"15\"\n ></verben-svg>\n </span>\n <span class=\"cursor-pointer\">\n <verben-svg\n icon=\"delete\"\n [width]=\"15\"\n [height]=\"15\"\n ></verben-svg>\n </span>\n <span class=\"cursor-pointer\">\n <verben-svg\n icon=\"draw\"\n [width]=\"18\"\n [height]=\"18\"\n ></verben-svg>\n </span>\n </div>\n </ng-template>\n </ng-container>\n </lib-data-table>\n </div>\n <div card-content>\n <verben-card-data-view\n borderRadius=\"12px\"\n (loadMoreClick)=\"loadMore()\"\n #vdcv\n dataId=\"MailAddress\"\n border=\"5px\"\n [cardDataList]=\"cardData\"\n rbgColor=\"var(--vbn-color-surface-alt)\"\n mg=\"0px\"\n >\n <verben-left-card-data-view class=\"\">\n <verben-left-card-data\n #vlcd\n [parent]=\"vdcv\"\n dataId=\"MailAddress\"\n class=\"bg-secondary-100 rounded-xl border-primary border-[1px]\"\n [cardDataList]=\"cardData\"\n >\n <ng-template #card let-item>\n <div class=\"flex h-[88px]\">\n <div\n class=\"flex w-full bg-secondary rounded-xl\"\n >\n <div\n class=\"w-3 rounded-xl rounded-tr-none rounded-br-none\"\n [ngClass]=\"\n item.selected ? 'bg-primary' : 'bg-secondary-200'\n \"\n ></div>\n <div class=\"py-3 px-4 w-full h-[100%]\">\n <div class=\"flex items-start justify-between h-[100%]\">\n <div class=\"flex flex-col justify-between h-[100%]\">\n <h3 class=\"my-0 font-semibold text-[var(--vbn-color-on-primary)] leading-[19.5px]\">{{\n item.title\n }}</h3>\n <p class=\"flex items-center\">\n <label class=\"!text-[10px] font-light text-[var(--vbn-color-on-primary)] leading-[12.1px]\"\n >Config count:</label\n >\n <span class=\"text-[13px] leading-[15.85px] font-medium ml-1 text-black\">{{\n item.data.Count\n }}</span>\n </p>\n </div>\n \n <div class=\"flex items-end h-[100%]\">\n <p\n (click)=\"handleClick(item)\" \n class=\"my-0 underline text-[var(--vbn-color-border-focus)] text-[11px] leading-[16.6px] cursor-pointer font-medium\"\n >View configs</p>\n </div>\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n </verben-left-card-data>\n </verben-left-card-data-view>\n <!-- <verben-right-card-data-view> \n yeshhhhhh\n </verben-right-card-data-view> -->\n \n <verben-card-data-view-footer class=\"float-right\">\n <div class=\"flex gap-2\">\n <span class=\"paginator-text\"\n >{{ cardData.length }} records loaded</span\n >\n <button (click)=\"loadMore()\" class=\"load-more\">Load more</button>\n </div>\n </verben-card-data-view-footer>\n </verben-card-data-view>\n </div>\n <div column-content>\n <verben-visible-column\n (columnsUpdated)=\"onColumnsUpdated($event)\"\n [border]=\"'1px solid var(--vbn-color-primary)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"400px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"var(--vbn-color-primary)\"\n secondaryColor=\"var(--vbn-color-border-focus)\"\n [columns]=\"visibleColumns\"\n [displayedColumns]=\"5\"\n ></verben-visible-column>\n </div>\n <div filter-content>\n <verben-table-filter\n [border]=\"'1px solid var(--vbn-color-primary)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"420px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"var(--vbn-color-primary)\"\n secondaryColor=\"var(--vbn-color-border-focus)\"\n tertiaryColor=\"var(--vbn-color-on-primary)\"\n [filterOptions]=\"filterArray\"\n [maxFilterLength]=\"3\"\n ></verben-table-filter>\n </div>\n <div sort-content>\n <verben-sort-table\n (selectedOptions)=\"onSortUpdated($event)\"\n [border]=\"'1px solid var(--vbn-color-primary)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"400px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"var(--vbn-color-primary)\"\n secondaryColor=\"var(--vbn-color-border-focus)\"\n tertiaryColor=\"var(--vbn-color-on-primary)\"\n [enableDragAndDrop]=\"true\"\n [sortOptions]=\"sortOptions\"\n ></verben-sort-table>\n </div>\n <div export-content>\n <lib-data-export [data]=\"data\" (exportDataEvent)=\"handleExport($event)\">\n </lib-data-export>\n </div>\n </verben-data-view>\n </div>\n \n ", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.DataTableComponent, selector: "lib-data-table", inputs: ["data", "columns", "dataKey", "formGroupConfig", "groupBy", "useVirtualScroll", "virtualScrollItemSize", "styleConfig"], outputs: ["rowEdit", "rowSave", "rowRevert", "rowDelete", "selectionChange"] }, { kind: "directive", type: i2.ColumnDirective, selector: "[libColumn]", inputs: ["libColumn"] }, { kind: "component", type: i2.SvgComponent, selector: "verben-svg", inputs: ["icon", "width", "height", "fill", "stroke", "type", "size"] }, { kind: "component", type: i2.DataViewComponent, selector: "verben-data-view", inputs: ["buttonClass", "iconClass", "activeIconClass", "columnCustomClass", "filterCustomClass", "sortCustomClass", "extendCustomClass", "exportCustomClass", "selectCustomClass", "importCustomClass", "zIndex", "createCustomClass", "tableIcon", "cardIcon", "cardClass", "tableClass", "searchKey", "searchValue", "viewState", "searchTemplate", "importTemplate", "columnTemplate", "extendTemplate", "filterTemplate", "sortTemplate", "children", "exportTemplate", "createTemplate", "selectedColumnCount", "selectedSortCount", "selectedFilterTableCount", "inputWidth", "milliseconds", "showColumnChild", "showSortChild", "showFilterChild", "showImportChild", "showExportChild", "showExtendChild", "create", "showSelected", "isTableView"], outputs: ["viewChange", "stateChange", "onSearchChange"] }, { kind: "component", type: i2.CardDataViewComponent, selector: "verben-card-data-view", inputs: ["pd", "mg", "lHeight", "rHeight", "rWidth", "lWidth", "textColor", "lbgColor", "rbgColor", "border", "display", "borderRadius", "activeCss", "inActiveCss", "displayAsRow", "cardDataList", "dataId", "totalRecords", "footer", "noOfVisibleChildren", "showEditIcon", "useVirtualScroll", "virtualScrollItemSize", "onItemClick", "onCardChildClick"], outputs: ["editClicked", "loadMoreClick"] }, { kind: "component", type: i2.LeftCardDataComponent, selector: "verben-left-card-data", inputs: ["pd", "mg", "height", "weight", "activeCss", "inActiveCss", "cardDataList", "iconCollapse", "iconExpanded", "parent", "useVirtualScroll", "virtualScrollItemSize", "dataId"] }, { kind: "component", type: i2.LeftCardDataViewComponent, selector: "verben-left-card-data-view", inputs: ["cardDataList"] }, { kind: "component", type: i2.CardDataViewFooterComponent, selector: "verben-card-data-view-footer" }, { kind: "component", type: i2.SortTableComponent, selector: "verben-sort-table", inputs: ["enableDragAndDrop", "sortOptions", "resetText", "displayedOptions", "propertyText", "showMoreText", "sortButtonText", "pd", "mg", "height", "width", "bgColor", "boxShadow", "textColor", "primaryColor", "secondaryColor", "tertiaryColor", "border", "borderRadius", "selectWidth", "containerHeight"], outputs: ["selectedOptions", "resetSortData"] }, { kind: "component", type: i2.VisibleColumnComponent, selector: "verben-visible-column", inputs: ["columns", "items", "enableDragAndDrop", "displayedColumns", "showMore", "pd", "mg", "height", "width", "bgColor", "boxShadow", "textColor", "primaryColor", "secondaryColor", "tertiaryColor", "border", "borderRadius", "selectWidth", "closeColumn"], outputs: ["columnsUpdated", "resetFilter"] }, { kind: "component", type: i2.TableFilterComponent, selector: "verben-table-filter", inputs: ["filterOptions", "pd", "mg", "height", "width", "bgColor", "boxShadow", "textColor", "primaryColor", "secondaryColor", "tertiaryColor", "border", "borderRadius", "selectWidth", "maxFilterLength", "tooltip"], outputs: ["filtersApplied", "resetSortData"] }, { kind: "component", type: i2.DataExportComponent, selector: "lib-data-export", inputs: ["columns", "data", "dataFetchUrl", "dataQueryParameters"], outputs: ["exportDataEvent"] }] });
|
|
203
203
|
}
|
|
204
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
204
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WorkflowComponent, decorators: [{
|
|
205
205
|
type: Component,
|
|
206
|
-
args: [{ selector: 'verben-workflow', template: "<div class=\"space-y-8\">\n <verben-data-view\n #vdv\n [viewState]=\"{\n isSearch: true,\n isColumn: true,\n isFilter: true,\n isSort: true,\n isExport: true,\n isSelect: true,\n isCreate: true,\n isToggle:true\n }\"\n [buttonClass]=\"'my-custom-button-class'\"\n [iconClass]=\"'my-icon-class'\"\n [tableIcon]=\"'table-view'\"\n [cardIcon]=\"'list-view'\"\n [activeIconClass]=\"'my-active-icon-class'\"\n [selectedColumnCount]=\"0\"\n [selectedSortCount]=\"0\"\n [selectedFilterTableCount]=\"0\"\n (viewChange)=\"onViewChange($event)\"\n (stateChange)=\"onStateChange($event)\"\n >\n <div table-content>\n <lib-data-table\n [data]=\"data\"\n [columns]=\"columns\"\n [styleConfig]=\"styles\"\n (selectionChange)=\"onSelectionChange($event)\"\n >\n <ng-container libColumn=\"select\">\n <ng-template\n #cell\n let-value\n let-isSelected=\"isSelected\"\n let-toggleRowSelection=\"toggleRowSelection\"\n >\n <input\n type=\"checkbox\"\n [checked]=\"isSelected\"\n class=\"cursor-pointer\"\n />\n </ng-template>\n <ng-template\n #header\n let-allRowsSelected=\"allRowsSelected\"\n let-someRowsSelected=\"someRowsSelected\"\n let-toggleAllRows=\"toggleAllRows\"\n >\n <input\n type=\"checkbox\"\n [checked]=\"allRowsSelected()\"\n [indeterminate]=\"someRowsSelected()\"\n (change)=\"toggleAllRows()\"\n />\n </ng-template>\n </ng-container>\n <ng-container libColumn=\"status\">\n <ng-template #cell let-value>\n <div [class]=\"getRowStatus(value)\" class=\"rounded-[22px] flex items-center justify-center w-[84px] h-[31px] font-medium text-xs leading-[14.63px]\"> \n {{value}}\n </div>\n </ng-template>\n </ng-container>\n <ng-container libColumn=\"action\">\n <ng-template \n #cell let-value \n let-row=\"row\">\n <div class=\"flex items-center gap-4\">\n <span class=\"cursor-pointer\">\n <verben-svg\n icon=\"edit\"\n [width]=\"15\"\n [height]=\"15\"\n ></verben-svg>\n </span>\n <span class=\"cursor-pointer\">\n <verben-svg\n icon=\"delete\"\n [width]=\"15\"\n [height]=\"15\"\n ></verben-svg>\n </span>\n <span class=\"cursor-pointer\">\n <verben-svg\n icon=\"draw\"\n [width]=\"18\"\n [height]=\"18\"\n ></verben-svg>\n </span>\n </div>\n </ng-template>\n </ng-container>\n </lib-data-table>\n </div>\n <div card-content>\n <verben-card-data-view\n borderRadius=\"12px\"\n (loadMoreClick)=\"loadMore()\"\n #vdcv\n dataId=\"MailAddress\"\n border=\"5px\"\n [cardDataList]=\"cardData\"\n rbgColor=\"
|
|
206
|
+
args: [{ selector: 'verben-workflow', template: "<div class=\"space-y-8\">\n <verben-data-view\n #vdv\n [viewState]=\"{\n isSearch: true,\n isColumn: true,\n isFilter: true,\n isSort: true,\n isExport: true,\n isSelect: true,\n isCreate: true,\n isToggle:true\n }\"\n [buttonClass]=\"'my-custom-button-class'\"\n [iconClass]=\"'my-icon-class'\"\n [tableIcon]=\"'table-view'\"\n [cardIcon]=\"'list-view'\"\n [activeIconClass]=\"'my-active-icon-class'\"\n [selectedColumnCount]=\"0\"\n [selectedSortCount]=\"0\"\n [selectedFilterTableCount]=\"0\"\n (viewChange)=\"onViewChange($event)\"\n (stateChange)=\"onStateChange($event)\"\n >\n <div table-content>\n <lib-data-table\n [data]=\"data\"\n [columns]=\"columns\"\n [styleConfig]=\"styles\"\n (selectionChange)=\"onSelectionChange($event)\"\n >\n <ng-container libColumn=\"select\">\n <ng-template\n #cell\n let-value\n let-isSelected=\"isSelected\"\n let-toggleRowSelection=\"toggleRowSelection\"\n >\n <input\n type=\"checkbox\"\n [checked]=\"isSelected\"\n class=\"cursor-pointer\"\n />\n </ng-template>\n <ng-template\n #header\n let-allRowsSelected=\"allRowsSelected\"\n let-someRowsSelected=\"someRowsSelected\"\n let-toggleAllRows=\"toggleAllRows\"\n >\n <input\n type=\"checkbox\"\n [checked]=\"allRowsSelected()\"\n [indeterminate]=\"someRowsSelected()\"\n (change)=\"toggleAllRows()\"\n />\n </ng-template>\n </ng-container>\n <ng-container libColumn=\"status\">\n <ng-template #cell let-value>\n <div [class]=\"getRowStatus(value)\" class=\"rounded-[22px] flex items-center justify-center w-[84px] h-[31px] font-medium text-xs leading-[14.63px]\"> \n {{value}}\n </div>\n </ng-template>\n </ng-container>\n <ng-container libColumn=\"action\">\n <ng-template \n #cell let-value \n let-row=\"row\">\n <div class=\"flex items-center gap-4\">\n <span class=\"cursor-pointer\">\n <verben-svg\n icon=\"edit\"\n [width]=\"15\"\n [height]=\"15\"\n ></verben-svg>\n </span>\n <span class=\"cursor-pointer\">\n <verben-svg\n icon=\"delete\"\n [width]=\"15\"\n [height]=\"15\"\n ></verben-svg>\n </span>\n <span class=\"cursor-pointer\">\n <verben-svg\n icon=\"draw\"\n [width]=\"18\"\n [height]=\"18\"\n ></verben-svg>\n </span>\n </div>\n </ng-template>\n </ng-container>\n </lib-data-table>\n </div>\n <div card-content>\n <verben-card-data-view\n borderRadius=\"12px\"\n (loadMoreClick)=\"loadMore()\"\n #vdcv\n dataId=\"MailAddress\"\n border=\"5px\"\n [cardDataList]=\"cardData\"\n rbgColor=\"var(--vbn-color-surface-alt)\"\n mg=\"0px\"\n >\n <verben-left-card-data-view class=\"\">\n <verben-left-card-data\n #vlcd\n [parent]=\"vdcv\"\n dataId=\"MailAddress\"\n class=\"bg-secondary-100 rounded-xl border-primary border-[1px]\"\n [cardDataList]=\"cardData\"\n >\n <ng-template #card let-item>\n <div class=\"flex h-[88px]\">\n <div\n class=\"flex w-full bg-secondary rounded-xl\"\n >\n <div\n class=\"w-3 rounded-xl rounded-tr-none rounded-br-none\"\n [ngClass]=\"\n item.selected ? 'bg-primary' : 'bg-secondary-200'\n \"\n ></div>\n <div class=\"py-3 px-4 w-full h-[100%]\">\n <div class=\"flex items-start justify-between h-[100%]\">\n <div class=\"flex flex-col justify-between h-[100%]\">\n <h3 class=\"my-0 font-semibold text-[var(--vbn-color-on-primary)] leading-[19.5px]\">{{\n item.title\n }}</h3>\n <p class=\"flex items-center\">\n <label class=\"!text-[10px] font-light text-[var(--vbn-color-on-primary)] leading-[12.1px]\"\n >Config count:</label\n >\n <span class=\"text-[13px] leading-[15.85px] font-medium ml-1 text-black\">{{\n item.data.Count\n }}</span>\n </p>\n </div>\n \n <div class=\"flex items-end h-[100%]\">\n <p\n (click)=\"handleClick(item)\" \n class=\"my-0 underline text-[var(--vbn-color-border-focus)] text-[11px] leading-[16.6px] cursor-pointer font-medium\"\n >View configs</p>\n </div>\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n </verben-left-card-data>\n </verben-left-card-data-view>\n <!-- <verben-right-card-data-view> \n yeshhhhhh\n </verben-right-card-data-view> -->\n \n <verben-card-data-view-footer class=\"float-right\">\n <div class=\"flex gap-2\">\n <span class=\"paginator-text\"\n >{{ cardData.length }} records loaded</span\n >\n <button (click)=\"loadMore()\" class=\"load-more\">Load more</button>\n </div>\n </verben-card-data-view-footer>\n </verben-card-data-view>\n </div>\n <div column-content>\n <verben-visible-column\n (columnsUpdated)=\"onColumnsUpdated($event)\"\n [border]=\"'1px solid var(--vbn-color-primary)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"400px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"var(--vbn-color-primary)\"\n secondaryColor=\"var(--vbn-color-border-focus)\"\n [columns]=\"visibleColumns\"\n [displayedColumns]=\"5\"\n ></verben-visible-column>\n </div>\n <div filter-content>\n <verben-table-filter\n [border]=\"'1px solid var(--vbn-color-primary)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"420px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"var(--vbn-color-primary)\"\n secondaryColor=\"var(--vbn-color-border-focus)\"\n tertiaryColor=\"var(--vbn-color-on-primary)\"\n [filterOptions]=\"filterArray\"\n [maxFilterLength]=\"3\"\n ></verben-table-filter>\n </div>\n <div sort-content>\n <verben-sort-table\n (selectedOptions)=\"onSortUpdated($event)\"\n [border]=\"'1px solid var(--vbn-color-primary)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"400px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"var(--vbn-color-primary)\"\n secondaryColor=\"var(--vbn-color-border-focus)\"\n tertiaryColor=\"var(--vbn-color-on-primary)\"\n [enableDragAndDrop]=\"true\"\n [sortOptions]=\"sortOptions\"\n ></verben-sort-table>\n </div>\n <div export-content>\n <lib-data-export [data]=\"data\" (exportDataEvent)=\"handleExport($event)\">\n </lib-data-export>\n </div>\n </verben-data-view>\n </div>\n \n " }]
|
|
207
207
|
}], propDecorators: { cardDataView: [{
|
|
208
208
|
type: ViewChild,
|
|
209
209
|
args: ['vdcv']
|
|
@@ -213,4 +213,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
213
213
|
}], itemClicked: [{
|
|
214
214
|
type: Output
|
|
215
215
|
}] } });
|
|
216
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvY29tcG9uZW50cy93b3JrZmxvdy93b3JrZmxvdy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9jb21wb25lbnRzL3dvcmtmbG93L3dvcmtmbG93LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNuQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUMsT0FBTyxFQUdMLGNBQWMsR0FHZixNQUFNLGNBQWMsQ0FBQztBQUV0QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7QUFPM0QsTUFBTSxPQUFPLGlCQUFpQjtJQUNULFlBQVksQ0FBeUI7SUFDdEMsUUFBUSxDQUFxQjtJQUNyQyxXQUFXLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUVoRCxJQUFJLEdBQUcsUUFBUSxDQUFDO0lBQ2hCLE1BQU0sR0FBRyxTQUFTLENBQUM7SUFDbkIsV0FBVyxHQUFvQixJQUFJLENBQUM7SUFDcEMsVUFBVSxHQUFHLElBQUksQ0FBQztJQUNsQixRQUFRLEdBQW9CLElBQUksQ0FBQztJQUNqQyxXQUFXLEdBQVksS0FBSyxDQUFDO0lBQzdCLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFFbEIsUUFBUSxHQUFlLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFF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S0FBSyxDQUFDLEdBQUcsR0FBRyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBQ0QsWUFBWSxDQUFDLElBQVk7UUFDdkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFbEMsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUNiLCtCQUErQjtZQUMvQiwwQ0FBMEM7WUFDMUMsS0FBSyxNQUFNLENBQUMsTUFBTTtnQkFDaEIsT0FBTyw2QkFBNkIsQ0FBQztZQUN2QyxLQUFLLE1BQU0sQ0FBQyxRQUFRO2dCQUNsQixPQUFPLDZCQUE2QixDQUFDO1lBQ3ZDO2dCQUNFLE9BQU8sRUFBRSxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7d0dBaE5VLGlCQUFpQjs0RkFBakIsaUJBQWlCLHdSQ3BCOUIsby9QQWlPRTs7NEZEN01XLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDRSxpQkFBaUI7OEJBS1IsWUFBWTtzQkFBOUIsU0FBUzt1QkFBQyxNQUFNO2dCQUNDLFFBQVE7c0JBQXpCLFNBQVM7dUJBQUMsS0FBSztnQkFDTixXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjb2x1bW5zIH0gZnJvbSAnLi9jb2x1bW4nO1xuaW1wb3J0IHsgbW9ja0RhdGEgfSBmcm9tICcuL2hlbHBlcic7XG5pbXBvcnQgeyBiYXNlU3R5bGUgfSBmcm9tICcuL3RhYmxlLXN0eWxlJztcblxuaW1wb3J0IHtcbiAgQ2FyZERhdGEsXG4gIENhcmREYXRhVmlld0NvbXBvbmVudCxcbiAgRGF0YUZpbHRlclR5cGUsXG4gIERhdGFWaWV3Q29tcG9uZW50LFxuICBJRGF0YUZpbHRlcixcbn0gZnJvbSAndmVyYmVuLW5nLXVpJztcbmltcG9ydCB7IFdvcmtmbG93IH0gZnJvbSAndmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvbW9kZWxzJztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJ3ZlcmJlbi13b3JrZmxvdy11aS9zcmMvbGliL21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZlcmJlbi13b3JrZmxvdycsXG4gIHRlbXBsYXRlVXJsOiAnLi93b3JrZmxvdy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi93b3JrZmxvdy5jb21wb25lbnQuY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgV29ya2Zsb3dDb21wb25lbnQge1xuICBAVmlld0NoaWxkKCd2ZGN2JykgY2FyZERhdGFWaWV3ITogQ2FyZERhdGFWaWV3Q29tcG9uZW50O1xuICBAVmlld0NoaWxkKCd2ZHYnKSBkYXRhVmlldyE6IERhdGFWaWV3Q29tcG9uZW50O1xuICBAT3V0cHV0KCkgaXRlbUNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBkYXRhID0gbW9ja0RhdGE7XG4gIHN0eWxlcyA9IGJhc2VTdHlsZTtcbiAgY3VycmVudERhdGE6IENhcmREYXRhIHwgbnVsbCA9IG51bGw7XG4gIGlzR3JpZFZpZXcgPSB0cnVlO1xuICBzZWxlY3RlZDogQ2FyZERhdGEgfCBudWxsID0gbnVsbDtcbiAgc2hvd1NpZGViYXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgY29sdW1ucyA9IGNvbHVtbnM7XG5cbiAgY2FyZERhdGE6IENhcmREYXRhW10gPSBtb2NrRGF0YS5tYXAoKHsgT3BlcmF0aW9uLCBEZXNjcmlwdGlvbiwgTmFtZSB9KSA9PiAoe1xuICAgIHNlbGVjdGVkOiBmYWxzZSxcbiAgICB0aXRsZTogTmFtZSxcbiAgICBkYXRhOiB7XG4gICAgICBOYW1lLFxuICAgICAgT3BlcmF0aW9uLFxuICAgICAgRGVzY3JpcHRpb24sXG4gICAgfSBhcyBQYXJ0aWFsPFdvcmtmbG93PixcbiAgICBib2R5OiBbXSxcbiAgICBjaGlsZHJlbjogW10sXG4gIH0pKTtcblxuICBvcGVuRGV0YWlsVmlldyhtYWlsQWRkcmVzczogc3RyaW5nKSB7XG4gICAgY29uc3QgY2FyZEl0ZW0gPSB0aGlzLmdldENhcmREYXRhQnlNYWlsQWRkcmVzcyhtYWlsQWRkcmVzcyk7XG4gICAgaWYgKGNhcmRJdGVtICYmIHRoaXMuY2FyZERhdGFWaWV3KSB7XG4gICAgICB0aGlzLmRhdGFWaWV3LnRvZ2dsZVZpZXcoKTtcbiAgICAgIC8vIEZpcnN0IHJlc2V0IGFsbCBzZWxlY3Rpb25zXG4gICAgICB0aGlzLmNhcmREYXRhLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgaXRlbS5zZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICBpZiAoaXRlbS5jaGlsZHJlbikge1xuICAgICAgICAgIGl0ZW0uY2hpbGRyZW4uZm9yRWFjaCgoY2hpbGQpID0+IChjaGlsZC5zZWxlY3RlZCA9IGZhbHNlKSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICAvLyBTZXQgdGhlIHNlbGVjdGVkIGl0ZW1cbiAgICAgIGNhcmRJdGVtLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMuY3VycmVudERhdGEgPSB0aGlzLmNhcmREYXRhVmlldy5vbkl0ZW1DbGljayhjYXJkSXRlbSk7XG5cbiAgICAgIC8vIEZvcmNlIGNoYW5nZSBkZXRlY3Rpb24gaWYgbmVlZGVkXG4gICAgICAvLyB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gIH1cblxuICBnZXRDYXJkRGF0YUJ5TWFpbEFkZHJlc3MobWFpbEFkZHJlc3M6IHN0cmluZyk6IENhcmREYXRhIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5jYXJkRGF0YS5maW5kKCh7IGRhdGEgfSkgPT4gZGF0YS5NYWlsQWRkcmVzcyA9PT0gbWFpbEFkZHJlc3MpO1xuICB9XG5cbiAgb25WaWV3Q2hhbmdlKGlzR3JpZFZpZXc6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmlzR3JpZFZpZXcgPSBpc0dyaWRWaWV3O1xuICAgIC8vIFJlc2V0IHNlbGVjdGlvbiB3aGVuIHN3aXRjaGluZyB2aWV3c1xuICAgIGlmICh0aGlzLmN1cnJlbnREYXRhKSB7XG4gICAgICB0aGlzLmNhcmREYXRhVmlldz8uY2xlYXJEYXRhKCk7XG4gICAgICB0aGlzLmN1cnJlbnREYXRhID0gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zZWxlY3RlZCkge1xuICAgICAgdGhpcy5jYXJkRGF0YVZpZXcub25JdGVtQ2xpY2sodGhpcy5zZWxlY3RlZCk7XG4gICAgfVxuICB9XG5cbiAgb3BlbkZvcm1WaWV3KGluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBpdGVtID0gdGhpcy5jYXJkRGF0YVtpbmRleF07XG4gIH1cblxuICBoYW5kbGVFeHBvcnQoZXhwb3J0ZWREYXRhOiBQYXJ0aWFsPGFueT5bXSkge1xuICAgIHRoaXMuZG93bmxvYWRDU1YoZXhwb3J0ZWREYXRhKTtcbiAgfVxuXG4gIGhhbmRsZUNsaWNrKGl0ZW06IGFueSkge1xuICAgIHRoaXMuaXRlbUNsaWNrZWQuZW1pdChpdGVtLmRhdGEpO1xuICB9XG4gIGhhbmRsZUNvbmZpZyhpdGVtOiBhbnkpIHtcbiAgICB0aGlzLml0ZW1DbGlja2VkLmVtaXQoaXRlbSk7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIGRhdGEgU2ltcGxlIGNzdiBleHBvcnQgZm9yIHRlc3RpbmdcbiAgICovXG4gIHByaXZhdGUgZG93bmxvYWRDU1YoZGF0YTogUGFydGlhbDxhbnk+W10pIHtcbiAgICBjb25zdCBoZWFkZXJzID0gT2JqZWN0LmtleXMoZGF0YVswXSk7XG4gICAgY29uc3QgY3N2Q29udGVudCA9IFtcbiAgICAgIGhlYWRlcnMuam9pbignLCcpLFxuICAgICAgLi4uZGF0YS5tYXAoKHJvdykgPT4gaGVhZGVycy5tYXAoKGhlYWRlcikgPT4gcm93W2hlYWRlcl0pLmpvaW4oJywnKSksXG4gICAgXS5qb2luKCdcXG4nKTtcblxuICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbY3N2Q29udGVudF0sIHsgdHlwZTogJ3RleHQvY3N2O2NoYXJzZXQ9dXRmLTg7JyB9KTtcbiAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgIGlmIChsaW5rLmRvd25sb2FkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IHVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XG4gICAgICBsaW5rLnNldEF0dHJpYnV0ZSgnaHJlZicsIHVybCk7XG4gICAgICBsaW5rLnNldEF0dHJpYnV0ZSgnZG93bmxvYWQnLCAnZXhwb3J0LmNzdicpO1xuICAgICAgbGluay5zdHlsZS52aXNpYmlsaXR5ID0gJ2hpZGRlbic7XG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspO1xuICAgICAgbGluay5jbGljaygpO1xuICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChsaW5rKTtcbiAgICB9XG4gIH1cblxuICBvblNlbGVjdGlvbkNoYW5nZShzZWxlY3RlZFJvd3M6IFdvcmtmbG93W10pIHtcbiAgICBjb25zb2xlLmxvZygnU2VsZWN0aW9uIGNoYW5nZWQ6Jywgc2VsZWN0ZWRSb3dzKTtcbiAgICAvLyBIYW5kbGUgdGhlIHNlbGVjdGlvbiBjaGFuZ2VcbiAgfVxuXG4gIC8qKlxuICAgKiBDb3BpZWQgb3ZlciBmcm9tIGNhcmQgdmlldyBkb2MgdW50aWwgSSB1bmRlcnN0YW5kIHVzYWdlXG4gICAqL1xuICBzZWxlY3RlZENvbHVtbkNvdW50OiBudW1iZXIgPSAwO1xuICBzZWxlY3RlZEZpbHRlclRhYmxlQ291bnQ6IG51bWJlciA9IDA7XG4gIGlzT1BlbjogYm9vbGVhbiA9IHRydWU7XG4gIHNlbGVjdGVkU29ydENvdW50OiBudW1iZXIgPSAwO1xuICBzaG93Q29sdW1uOiBib29sZWFuID0gZmFsc2U7XG4gIHNob3dTb3J0OiBib29sZWFuID0gZmFsc2U7XG4gIHNlbGVjdGVkQWxsOiBib29sZWFuID0gZmFsc2U7XG4gIG5lc3RlZGJnY29sb3I6IHN0cmluZyA9ICcnO1xuXG4gIHZpc2libGVDb2x1bW5zOiBJRGF0YUZpbHRlcltdID0gY29sdW1ucy5tYXAoKGNvbCkgPT4gKHtcbiAgICBjaGVja2VkOiB0cnVlLFxuICAgIG5hbWU6IHR5cGVvZiBjb2wuaGVhZGVyID09PSAnc3RyaW5nJyA/IGNvbC5oZWFkZXIgOiBjb2wuaWQsXG4gICAgdHlwZTogRGF0YUZpbHRlclR5cGUuQm9vbCxcbiAgfSkpO1xuICBmaWx0ZXJBcnJheTogSURhdGFGaWx0ZXJbXSA9IFtcbiAgICB7XG4gICAgICBuYW1lOiAnTmFtZScsXG4gICAgICB0eXBlOiBEYXRhRmlsdGVyVHlwZS5TdHJpbmcsXG4gICAgICBjaGVja2VkOiBmYWxzZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICdNYWlsQWRkcmVzcycsXG4gICAgICB0eXBlOiBEYXRhRmlsdGVyVHlwZS5TdHJpbmcsXG4gICAgICBjaGVja2VkOiBmYWxzZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICdQaG9uZU51bWJlcicsXG4gICAgICB0eXBlOiBEYXRhRmlsdGVyVHlwZS5TdHJpbmcsXG4gICAgICBjaGVja2VkOiBmYWxzZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICdDcmVhdGVkQXQnLFxuICAgICAgdHlwZTogRGF0YUZpbHRlclR5cGUuRGF0ZSxcbiAgICAgIGNoZWNrZWQ6IGZhbHNlLFxuICAgIH0sXG4gIF07XG5cbiAgc29ydE9wdGlvbnM6IElEYXRhRmlsdGVyW10gPSBbXG4gICAge1xuICAgICAgbmFtZTogJ05hbWUnLFxuICAgICAgdHlwZTogRGF0YUZpbHRlclR5cGUuU3RyaW5nLFxuICAgICAgY2hlY2tlZDogZmFsc2UsXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiAnTWFpbEFkZHJlc3MnLFxuICAgICAgdHlwZTogRGF0YUZpbHRlclR5cGUuU3RyaW5nLFxuICAgICAgY2hlY2tlZDogZmFsc2UsXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiAnUGhvbmVOdW1iZXInLFxuICAgICAgdHlwZTogRGF0YUZpbHRlclR5cGUuU3RyaW5nLFxuICAgICAgY2hlY2tlZDogZmFsc2UsXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiAnQ3JlYXRlZEF0JyxcbiAgICAgIHR5cGU6IERhdGFGaWx0ZXJUeXBlLkRhdGUsXG4gICAgICBjaGVja2VkOiBmYWxzZSxcbiAgICB9LFxuICBdO1xuICBjbGVhckRhdGEoKSB7XG4gICAgdGhpcy5jdXJyZW50RGF0YSA9IHt9IGFzIENhcmREYXRhO1xuICB9XG4gIGxvYWRNb3JlKCkge1xuICAgIHRoaXMuY2FyZERhdGEgPSB0aGlzLmNhcmREYXRhLmNvbmNhdCh0aGlzLmNhcmREYXRhKTtcbiAgfVxuICBvbkNvbHVtbkNoYW5nZShldmVudDogYm9vbGVhbikge1xuICAgIHRoaXMuc2hvd0NvbHVtbiA9IGV2ZW50O1xuICB9XG4gIG9uU29ydENoYW5nZShldmVudDogYm9vbGVhbikge1xuICAgIHRoaXMuc2hvd1NvcnQgPSBldmVudDtcbiAgICBjb25zb2xlLmxvZyhldmVudCk7XG4gIH1cbiAgb25Db2x1bW5zVXBkYXRlZCh1cGRhdGVkQ29sdW1uczogSURhdGFGaWx0ZXJbXSkge1xuICAgIGNvbnNvbGUubG9nKHVwZGF0ZWRDb2x1bW5zKTtcbiAgICB0aGlzLm9uQ29sdW1uQ2hhbmdlKGZhbHNlKTtcbiAgICB0aGlzLnNlbGVjdGVkQ29sdW1uQ291bnQgPSB1cGRhdGVkQ29sdW1ucy5sZW5ndGg7XG4gIH1cbiAgb25Tb3J0VXBkYXRlZCh1cGRhdGVkU29ydHM6IElEYXRhRmlsdGVyW10pIHtcbiAgICB0aGlzLm9uU29ydENoYW5nZShmYWxzZSk7XG4gICAgdGhpcy5zZWxlY3RlZFNvcnRDb3VudCA9IHVwZGF0ZWRTb3J0cy5sZW5ndGg7XG4gICAgY29uc29sZS5sb2codXBkYXRlZFNvcnRzKTtcbiAgfVxuICBvblN0YXRlQ2hhbmdlKGV2ZW50OiB7IGtleTogc3RyaW5nOyB2YWx1ZTogYm9vbGVhbiB9KTogdm9pZCB7XG4gICAgY29uc29sZS5sb2coYFN0YXRlIGNoYW5nZWQgZm9yICR7ZXZlbnQua2V5fTpgLCBldmVudC52YWx1ZSk7XG4gIH1cbiAgZ2V0Um93U3RhdHVzKHR5cGU6IHN0cmluZykge1xuICAgIGNvbnNvbGUubG9nKCdkYXRhIGlzIGhlcmUnLCB0eXBlKTtcblxuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgLy8gY2FzZSBXb3JrZmxvd1N0YXR1cy5QZW5kaW5nOlxuICAgICAgLy8gICByZXR1cm4gJ2JnLVsjRkVGMkU1XSB0ZXh0LVsjQ0Q2MjAwXSc7XG4gICAgICBjYXNlIFN0YXR1cy5BY3RpdmU6XG4gICAgICAgIHJldHVybiAnYmctWyNFQkY5RjFdIHRleHQtWyMxRjkyNTRdJztcbiAgICAgIGNhc2UgU3RhdHVzLkluQWN0aXZlOlxuICAgICAgICByZXR1cm4gJ2JnLVsjRkJFN0U4XSB0ZXh0LVsjQTMwRDExXSc7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic3BhY2UteS04XCI+XG4gICAgPHZlcmJlbi1kYXRhLXZpZXdcbiAgICAgICN2ZHZcbiAgICAgIFt2aWV3U3RhdGVdPVwie1xuICAgICAgICBpc1NlYXJjaDogdHJ1ZSxcbiAgICAgICAgaXNDb2x1bW46IHRydWUsXG4gICAgICAgIGlzRmlsdGVyOiB0cnVlLFxuICAgICAgICBpc1NvcnQ6IHRydWUsXG4gICAgICAgIGlzRXhwb3J0OiB0cnVlLFxuICAgICAgICBpc1NlbGVjdDogdHJ1ZSxcbiAgICAgICAgaXNDcmVhdGU6IHRydWUsXG4gICAgICAgIGlzVG9nZ2xlOnRydWVcbiAgICAgIH1cIlxuICAgICAgW2J1dHRvbkNsYXNzXT1cIidteS1jdXN0b20tYnV0dG9uLWNsYXNzJ1wiXG4gICAgICBbaWNvbkNsYXNzXT1cIidteS1pY29uLWNsYXNzJ1wiXG4gICAgICBbdGFibGVJY29uXT1cIid0YWJsZS12aWV3J1wiXG4gICAgICBbY2FyZEljb25dPVwiJ2xpc3QtdmlldydcIlxuICAgICAgW2FjdGl2ZUljb25DbGFzc109XCInbXktYWN0aXZlLWljb24tY2xhc3MnXCJcbiAgICAgIFtzZWxlY3RlZENvbHVtbkNvdW50XT1cIjBcIlxuICAgICAgW3NlbGVjdGVkU29ydENvdW50XT1cIjBcIlxuICAgICAgW3NlbGVjdGVkRmlsdGVyVGFibGVDb3VudF09XCIwXCJcbiAgICAgICh2aWV3Q2hhbmdlKT1cIm9uVmlld0NoYW5nZSgkZXZlbnQpXCJcbiAgICAgIChzdGF0ZUNoYW5nZSk9XCJvblN0YXRlQ2hhbmdlKCRldmVudClcIlxuICAgID5cbiAgICAgIDxkaXYgdGFibGUtY29udGVudD5cbiAgICAgICAgPGxpYi1kYXRhLXRhYmxlXG4gICAgICAgICAgW2RhdGFdPVwiZGF0YVwiXG4gICAgICAgICAgW2NvbHVtbnNdPVwiY29sdW1uc1wiXG4gICAgICAgICAgW3N0eWxlQ29uZmlnXT1cInN0eWxlc1wiXG4gICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJvblNlbGVjdGlvbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyIGxpYkNvbHVtbj1cInNlbGVjdFwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgI2NlbGxcbiAgICAgICAgICAgIGxldC12YWx1ZVxuICAgICAgICAgICAgbGV0LWlzU2VsZWN0ZWQ9XCJpc1NlbGVjdGVkXCJcbiAgICAgICAgICAgIGxldC10b2dnbGVSb3dTZWxlY3Rpb249XCJ0b2dnbGVSb3dTZWxlY3Rpb25cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICBbY2hlY2tlZF09XCJpc1NlbGVjdGVkXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgI2hlYWRlclxuICAgICAgICAgIGxldC1hbGxSb3dzU2VsZWN0ZWQ9XCJhbGxSb3dzU2VsZWN0ZWRcIlxuICAgICAgICAgIGxldC1zb21lUm93c1NlbGVjdGVkPVwic29tZVJvd3NTZWxlY3RlZFwiXG4gICAgICAgICAgbGV0LXRvZ2dsZUFsbFJvd3M9XCJ0b2dnbGVBbGxSb3dzXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgIFtjaGVja2VkXT1cImFsbFJvd3NTZWxlY3RlZCgpXCJcbiAgICAgICAgICAgIFtpbmRldGVybWluYXRlXT1cInNvbWVSb3dzU2VsZWN0ZWQoKVwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cInRvZ2dsZUFsbFJvd3MoKVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBsaWJDb2x1bW49XCJzdGF0dXNcIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY2VsbCBsZXQtdmFsdWU+XG4gICAgICAgICAgICAgIDxkaXYgW2NsYXNzXT1cImdldFJvd1N0YXR1cyh2YWx1ZSlcIiBjbGFzcz1cInJvdW5kZWQtWzIycHhdIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHctWzg0cHhdIGgtWzMxcHhdIGZvbnQtbWVkaXVtIHRleHQteHMgbGVhZGluZy1bMTQuNjNweF1cIj4gXG4gICAgICAgICAgICAgICAge3t2YWx1ZX19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyIGxpYkNvbHVtbj1cImFjdGlvblwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFxuICAgICAgICAgICAgI2NlbGwgbGV0LXZhbHVlIFxuICAgICAgICAgICAgbGV0LXJvdz1cInJvd1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC00XCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8dmVyYmVuLXN2Z1xuICAgICAgICAgICAgICAgICAgaWNvbj1cImVkaXRcIlxuICAgICAgICAgICAgICAgICAgW3dpZHRoXT1cIjE1XCJcbiAgICAgICAgICAgICAgICAgIFtoZWlnaHRdPVwiMTVcIlxuICAgICAgICAgICAgICAgID48L3ZlcmJlbi1zdmc+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPlxuICAgICAgICAgICAgICAgIDx2ZXJiZW4tc3ZnXG4gICAgICAgICAgICAgICAgICBpY29uPVwiZGVsZXRlXCJcbiAgICAgICAgICAgICAgICAgIFt3aWR0aF09XCIxNVwiXG4gICAgICAgICAgICAgICAgICBbaGVpZ2h0XT1cIjE1XCJcbiAgICAgICAgICAgICAgICA+PC92ZXJiZW4tc3ZnPlxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8dmVyYmVuLXN2Z1xuICAgICAgICAgICAgICAgICAgaWNvbj1cImRyYXdcIlxuICAgICAgICAgICAgICAgICAgW3dpZHRoXT1cIjE4XCJcbiAgICAgICAgICAgICAgICAgIFtoZWlnaHRdPVwiMThcIlxuICAgICAgICAgICAgICAgID48L3ZlcmJlbi1zdmc+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9saWItZGF0YS10YWJsZT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjYXJkLWNvbnRlbnQ+XG4gICAgICAgIDx2ZXJiZW4tY2FyZC1kYXRhLXZpZXdcbiAgICAgICAgICBib3JkZXJSYWRpdXM9XCIxMnB4XCJcbiAgICAgICAgICAobG9hZE1vcmVDbGljayk9XCJsb2FkTW9yZSgpXCJcbiAgICAgICAgICAjdmRjdlxuICAgICAgICAgIGRhdGFJZD1cIk1haWxBZGRyZXNzXCJcbiAgICAgICAgICBib3JkZXI9XCI1cHhcIlxuICAgICAgICAgIFtjYXJkRGF0YUxpc3RdPVwiY2FyZERhdGFcIlxuICAgICAgICAgIHJiZ0NvbG9yPVwiI2Y1ZjZmOVwiXG4gICAgICAgICAgbWc9XCIwcHhcIlxuICAgICAgICA+XG4gICAgICAgICAgPHZlcmJlbi1sZWZ0LWNhcmQtZGF0YS12aWV3IGNsYXNzPVwiXCI+XG4gICAgICAgICAgICA8dmVyYmVuLWxlZnQtY2FyZC1kYXRhXG4gICAgICAgICAgICAgICN2bGNkXG4gICAgICAgICAgICAgIFtwYXJlbnRdPVwidmRjdlwiXG4gICAgICAgICAgICAgIGRhdGFJZD1cIk1haWxBZGRyZXNzXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJiZy1zZWNvbmRhcnktMTAwIHJvdW5kZWQteGwgYm9yZGVyLXByaW1hcnkgYm9yZGVyLVsxcHhdXCJcbiAgICAgICAgICAgICAgW2NhcmREYXRhTGlzdF09XCJjYXJkRGF0YVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY2FyZCBsZXQtaXRlbT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBoLVs4OHB4XVwiPlxuICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggIHctZnVsbCBiZy1zZWNvbmRhcnkgcm91bmRlZC14bFwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctMyByb3VuZGVkLXhsIHJvdW5kZWQtdHItbm9uZSByb3VuZGVkLWJyLW5vbmVcIlxuICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5zZWxlY3RlZCA/ICdiZy1wcmltYXJ5JyA6ICdiZy1zZWNvbmRhcnktMjAwJ1xuICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB5LTMgcHgtNCB3LWZ1bGwgaC1bMTAwJV1cIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1zdGFydCBqdXN0aWZ5LWJldHdlZW4gaC1bMTAwJV1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGp1c3RpZnktYmV0d2VlbiBoLVsxMDAlXVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJteS0wIGZvbnQtc2VtaWJvbGQgdGV4dC1bIzQwNDA0MF0gbGVhZGluZy1bMTkuNXB4XVwiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS50aXRsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9fTwvaDM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgIGNsYXNzPVwiIXRleHQtWzEwcHhdIGZvbnQtbGlnaHQgdGV4dC1bIzQwNDA0MF0gbGVhZGluZy1bMTIuMXB4XVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+Q29uZmlnIGNvdW50OjwvbGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LVsxM3B4XSBsZWFkaW5nLVsxNS44NXB4XSBmb250LW1lZGl1bSBtbC0xIHRleHQtYmxhY2tcIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5kYXRhLkNvdW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICBcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWVuZCBoLVsxMDAlXVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZUNsaWNrKGl0ZW0pXCIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJteS0wIHVuZGVybGluZSB0ZXh0LVsjMzQ3OUU5XSB0ZXh0LVsxMXB4XSBsZWFkaW5nLVsxNi42cHhdIGN1cnNvci1wb2ludGVyIGZvbnQtbWVkaXVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+VmlldyBjb25maWdzPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L3ZlcmJlbi1sZWZ0LWNhcmQtZGF0YT5cbiAgICAgICAgICA8L3ZlcmJlbi1sZWZ0LWNhcmQtZGF0YS12aWV3PlxuICAgICAgICAgIDwhLS0gPHZlcmJlbi1yaWdodC1jYXJkLWRhdGEtdmlldz4gXG4gICAgICAgICAgICB5ZXNoaGhoaGhcbiAgICAgICAgICA8L3ZlcmJlbi1yaWdodC1jYXJkLWRhdGEtdmlldz4gLS0+XG4gIFxuICAgICAgICAgIDx2ZXJiZW4tY2FyZC1kYXRhLXZpZXctZm9vdGVyIGNsYXNzPVwiZmxvYXQtcmlnaHRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdhcC0yXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicGFnaW5hdG9yLXRleHRcIlxuICAgICAgICAgICAgICAgID57eyBjYXJkRGF0YS5sZW5ndGggfX0gcmVjb3JkcyBsb2FkZWQ8L3NwYW5cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJsb2FkTW9yZSgpXCIgY2xhc3M9XCJsb2FkLW1vcmVcIj5Mb2FkIG1vcmU8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvdmVyYmVuLWNhcmQtZGF0YS12aWV3LWZvb3Rlcj5cbiAgICAgICAgPC92ZXJiZW4tY2FyZC1kYXRhLXZpZXc+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY29sdW1uLWNvbnRlbnQ+XG4gICAgICAgIDx2ZXJiZW4tdmlzaWJsZS1jb2x1bW5cbiAgICAgICAgICAoY29sdW1uc1VwZGF0ZWQpPVwib25Db2x1bW5zVXBkYXRlZCgkZXZlbnQpXCJcbiAgICAgICAgICBbYm9yZGVyXT1cIicxcHggc29saWQgcmdiYSgyMTIsIDE2MCwgNywgMSknXCJcbiAgICAgICAgICBib3JkZXJSYWRpdXM9XCIxMHB4XCJcbiAgICAgICAgICBib3hTaGFkb3c9XCIycHggMnB4IDJweCAwcHggc2lsdmVyXCJcbiAgICAgICAgICBiZ0NvbG9yPVwid2hpdGVcIlxuICAgICAgICAgIHdpZHRoPVwiNDAwcHhcIlxuICAgICAgICAgIHRleHRDb2xvcj1cImJsYWNrXCJcbiAgICAgICAgICBwZD1cIjFyZW1cIlxuICAgICAgICAgIHByaW1hcnlDb2xvcj1cIiNGRkU2ODFcIlxuICAgICAgICAgIHNlY29uZGFyeUNvbG9yPVwiIzM0NzlFOVwiXG4gICAgICAgICAgW2NvbHVtbnNdPVwidmlzaWJsZUNvbHVtbnNcIlxuICAgICAgICAgIFtkaXNwbGF5ZWRDb2x1bW5zXT1cIjVcIlxuICAgICAgICA+PC92ZXJiZW4tdmlzaWJsZS1jb2x1bW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgZmlsdGVyLWNvbnRlbnQ+XG4gICAgICAgIDx2ZXJiZW4tdGFibGUtZmlsdGVyXG4gICAgICAgICAgW2JvcmRlcl09XCInMXB4IHNvbGlkIHJnYmEoMjEyLCAxNjAsIDcsIDEpJ1wiXG4gICAgICAgICAgYm9yZGVyUmFkaXVzPVwiMTBweFwiXG4gICAgICAgICAgYm94U2hhZG93PVwiMnB4IDJweCAycHggMHB4IHNpbHZlclwiXG4gICAgICAgICAgYmdDb2xvcj1cIndoaXRlXCJcbiAgICAgICAgICB3aWR0aD1cIjQyMHB4XCJcbiAgICAgICAgICB0ZXh0Q29sb3I9XCJibGFja1wiXG4gICAgICAgICAgcGQ9XCIxcmVtXCJcbiAgICAgICAgICBwcmltYXJ5Q29sb3I9XCIjRkZFNjgxXCJcbiAgICAgICAgICBzZWNvbmRhcnlDb2xvcj1cIiMzNDc5RTlcIlxuICAgICAgICAgIHRlcnRpYXJ5Q29sb3I9XCIjNDA0MDQwXCJcbiAgICAgICAgICBbZmlsdGVyT3B0aW9uc109XCJmaWx0ZXJBcnJheVwiXG4gICAgICAgICAgW21heEZpbHRlckxlbmd0aF09XCIzXCJcbiAgICAgICAgPjwvdmVyYmVuLXRhYmxlLWZpbHRlcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBzb3J0LWNvbnRlbnQ+XG4gICAgICAgIDx2ZXJiZW4tc29ydC10YWJsZVxuICAgICAgICAgIChzZWxlY3RlZE9wdGlvbnMpPVwib25Tb3J0VXBkYXRlZCgkZXZlbnQpXCJcbiAgICAgICAgICBbYm9yZGVyXT1cIicxcHggc29saWQgcmdiYSgyMTIsIDE2MCwgNywgMSknXCJcbiAgICAgICAgICBib3JkZXJSYWRpdXM9XCIxMHB4XCJcbiAgICAgICAgICBib3hTaGFkb3c9XCIycHggMnB4IDJweCAwcHggc2lsdmVyXCJcbiAgICAgICAgICBiZ0NvbG9yPVwid2hpdGVcIlxuICAgICAgICAgIHdpZHRoPVwiNDAwcHhcIlxuICAgICAgICAgIHRleHRDb2xvcj1cImJsYWNrXCJcbiAgICAgICAgICBwZD1cIjFyZW1cIlxuICAgICAgICAgIHByaW1hcnlDb2xvcj1cIiNGRkU2ODFcIlxuICAgICAgICAgIHNlY29uZGFyeUNvbG9yPVwiIzM0NzlFOVwiXG4gICAgICAgICAgdGVydGlhcnlDb2xvcj1cIiM0MDQwNDBcIlxuICAgICAgICAgIFtlbmFibGVEcmFnQW5kRHJvcF09XCJ0cnVlXCJcbiAgICAgICAgICBbc29ydE9wdGlvbnNdPVwic29ydE9wdGlvbnNcIlxuICAgICAgICA+PC92ZXJiZW4tc29ydC10YWJsZT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBleHBvcnQtY29udGVudD5cbiAgICAgICAgPGxpYi1kYXRhLWV4cG9ydCBbZGF0YV09XCJkYXRhXCIgKGV4cG9ydERhdGFFdmVudCk9XCJoYW5kbGVFeHBvcnQoJGV2ZW50KVwiPlxuICAgICAgICA8L2xpYi1kYXRhLWV4cG9ydD5cbiAgICAgIDwvZGl2PlxuICAgIDwvdmVyYmVuLWRhdGEtdmlldz5cbiAgPC9kaXY+XG4gIFxuICAiXX0=
|
|
216
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvY29tcG9uZW50cy93b3JrZmxvdy93b3JrZmxvdy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9jb21wb25lbnRzL3dvcmtmbG93L3dvcmtmbG93LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNuQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUMsT0FBTyxFQUdMLGNBQWMsR0FHZixNQUFNLGNBQWMsQ0FBQztBQUV0QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7QUFPM0QsTUFBTSxPQUFPLGlCQUFpQjtJQUNULFlBQVksQ0FBeUI7SUFDdEMsUUFBUSxDQUFxQjtJQUNyQyxXQUFXLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUVoRCxJQUFJLEdBQUcsUUFBUSxDQUFDO0lBQ2hCLE1BQU0sR0FBRyxTQUFTLENBQUM7SUFDbkIsV0FBVyxHQUFvQixJQUFJLENBQUM7SUFDcEMsVUFBVSxHQUFHLElBQUksQ0FBQztJQUNsQixRQUFRLEdBQW9CLElBQUksQ0FBQztJQUNqQyxXQUFXLEdBQVksS0FBSyxDQUFDO0lBQzdCLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFFbEIsUUFBUSxHQUFlLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFF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S0FBSyxDQUFDLEdBQUcsR0FBRyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBQ0QsWUFBWSxDQUFDLElBQVk7UUFDdkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFbEMsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUNiLCtCQUErQjtZQUMvQiwyREFBMkQ7WUFDM0QsS0FBSyxNQUFNLENBQUMsTUFBTTtnQkFDaEIsT0FBTyxrRUFBa0UsQ0FBQztZQUM1RSxLQUFLLE1BQU0sQ0FBQyxRQUFRO2dCQUNsQixPQUFPLDRDQUE0QyxDQUFDO1lBQ3REO2dCQUNFLE9BQU8sRUFBRSxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7d0dBaE5VLGlCQUFpQjs0RkFBakIsaUJBQWlCLHdSQ3BCOUIsZ3ZRQWlPRTs7NEZEN01XLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDRSxpQkFBaUI7OEJBS1IsWUFBWTtzQkFBOUIsU0FBUzt1QkFBQyxNQUFNO2dCQUNDLFFBQVE7c0JBQXpCLFNBQVM7dUJBQUMsS0FBSztnQkFDTixXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjb2x1bW5zIH0gZnJvbSAnLi9jb2x1bW4nO1xuaW1wb3J0IHsgbW9ja0RhdGEgfSBmcm9tICcuL2hlbHBlcic7XG5pbXBvcnQgeyBiYXNlU3R5bGUgfSBmcm9tICcuL3RhYmxlLXN0eWxlJztcblxuaW1wb3J0IHtcbiAgQ2FyZERhdGEsXG4gIENhcmREYXRhVmlld0NvbXBvbmVudCxcbiAgRGF0YUZpbHRlclR5cGUsXG4gIERhdGFWaWV3Q29tcG9uZW50LFxuICBJRGF0YUZpbHRlcixcbn0gZnJvbSAndmVyYmVuLW5nLXVpJztcbmltcG9ydCB7IFdvcmtmbG93IH0gZnJvbSAndmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvbW9kZWxzJztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJ3ZlcmJlbi13b3JrZmxvdy11aS9zcmMvbGliL21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZlcmJlbi13b3JrZmxvdycsXG4gIHRlbXBsYXRlVXJsOiAnLi93b3JrZmxvdy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi93b3JrZmxvdy5jb21wb25lbnQuY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgV29ya2Zsb3dDb21wb25lbnQge1xuICBAVmlld0NoaWxkKCd2ZGN2JykgY2FyZERhdGFWaWV3ITogQ2FyZERhdGFWaWV3Q29tcG9uZW50O1xuICBAVmlld0NoaWxkKCd2ZHYnKSBkYXRhVmlldyE6IERhdGFWaWV3Q29tcG9uZW50O1xuICBAT3V0cHV0KCkgaXRlbUNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBkYXRhID0gbW9ja0RhdGE7XG4gIHN0eWxlcyA9IGJhc2VTdHlsZTtcbiAgY3VycmVudERhdGE6IENhcmREYXRhIHwgbnVsbCA9IG51bGw7XG4gIGlzR3JpZFZpZXcgPSB0cnVlO1xuICBzZWxlY3RlZDogQ2FyZERhdGEgfCBudWxsID0gbnVsbDtcbiAgc2hvd1NpZGViYXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgY29sdW1ucyA9IGNvbHVtbnM7XG5cbiAgY2FyZERhdGE6IENhcmREYXRhW10gPSBtb2NrRGF0YS5tYXAoKHsgT3BlcmF0aW9uLCBEZXNjcmlwdGlvbiwgTmFtZSB9KSA9PiAoe1xuICAgIHNlbGVjdGVkOiBmYWxzZSxcbiAgICB0aXRsZTogTmFtZSxcbiAgICBkYXRhOiB7XG4gICAgICBOYW1lLFxuICAgICAgT3BlcmF0aW9uLFxuICAgICAgRGVzY3JpcHRpb24sXG4gICAgfSBhcyBQYXJ0aWFsPFdvcmtmbG93PixcbiAgICBib2R5OiBbXSxcbiAgICBjaGlsZHJlbjogW10sXG4gIH0pKTtcblxuICBvcGVuRGV0YWlsVmlldyhtYWlsQWRkcmVzczogc3RyaW5nKSB7XG4gICAgY29uc3QgY2FyZEl0ZW0gPSB0aGlzLmdldENhcmREYXRhQnlNYWlsQWRkcmVzcyhtYWlsQWRkcmVzcyk7XG4gICAgaWYgKGNhcmRJdGVtICYmIHRoaXMuY2FyZERhdGFWaWV3KSB7XG4gICAgICB0aGlzLmRhdGFWaWV3LnRvZ2dsZVZpZXcoKTtcbiAgICAgIC8vIEZpcnN0IHJlc2V0IGFsbCBzZWxlY3Rpb25zXG4gICAgICB0aGlzLmNhcmREYXRhLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgaXRlbS5zZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICBpZiAoaXRlbS5jaGlsZHJlbikge1xuICAgICAgICAgIGl0ZW0uY2hpbGRyZW4uZm9yRWFjaCgoY2hpbGQpID0+IChjaGlsZC5zZWxlY3RlZCA9IGZhbHNlKSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICAvLyBTZXQgdGhlIHNlbGVjdGVkIGl0ZW1cbiAgICAgIGNhcmRJdGVtLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMuY3VycmVudERhdGEgPSB0aGlzLmNhcmREYXRhVmlldy5vbkl0ZW1DbGljayhjYXJkSXRlbSk7XG5cbiAgICAgIC8vIEZvcmNlIGNoYW5nZSBkZXRlY3Rpb24gaWYgbmVlZGVkXG4gICAgICAvLyB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gIH1cblxuICBnZXRDYXJkRGF0YUJ5TWFpbEFkZHJlc3MobWFpbEFkZHJlc3M6IHN0cmluZyk6IENhcmREYXRhIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5jYXJkRGF0YS5maW5kKCh7IGRhdGEgfSkgPT4gZGF0YS5NYWlsQWRkcmVzcyA9PT0gbWFpbEFkZHJlc3MpO1xuICB9XG5cbiAgb25WaWV3Q2hhbmdlKGlzR3JpZFZpZXc6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmlzR3JpZFZpZXcgPSBpc0dyaWRWaWV3O1xuICAgIC8vIFJlc2V0IHNlbGVjdGlvbiB3aGVuIHN3aXRjaGluZyB2aWV3c1xuICAgIGlmICh0aGlzLmN1cnJlbnREYXRhKSB7XG4gICAgICB0aGlzLmNhcmREYXRhVmlldz8uY2xlYXJEYXRhKCk7XG4gICAgICB0aGlzLmN1cnJlbnREYXRhID0gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zZWxlY3RlZCkge1xuICAgICAgdGhpcy5jYXJkRGF0YVZpZXcub25JdGVtQ2xpY2sodGhpcy5zZWxlY3RlZCk7XG4gICAgfVxuICB9XG5cbiAgb3BlbkZvcm1WaWV3KGluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBpdGVtID0gdGhpcy5jYXJkRGF0YVtpbmRleF07XG4gIH1cblxuICBoYW5kbGVFeHBvcnQoZXhwb3J0ZWREYXRhOiBQYXJ0aWFsPGFueT5bXSkge1xuICAgIHRoaXMuZG93bmxvYWRDU1YoZXhwb3J0ZWREYXRhKTtcbiAgfVxuXG4gIGhhbmRsZUNsaWNrKGl0ZW06IGFueSkge1xuICAgIHRoaXMuaXRlbUNsaWNrZWQuZW1pdChpdGVtLmRhdGEpO1xuICB9XG4gIGhhbmRsZUNvbmZpZyhpdGVtOiBhbnkpIHtcbiAgICB0aGlzLml0ZW1DbGlja2VkLmVtaXQoaXRlbSk7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIGRhdGEgU2ltcGxlIGNzdiBleHBvcnQgZm9yIHRlc3RpbmdcbiAgICovXG4gIHByaXZhdGUgZG93bmxvYWRDU1YoZGF0YTogUGFydGlhbDxhbnk+W10pIHtcbiAgICBjb25zdCBoZWFkZXJzID0gT2JqZWN0LmtleXMoZGF0YVswXSk7XG4gICAgY29uc3QgY3N2Q29udGVudCA9IFtcbiAgICAgIGhlYWRlcnMuam9pbignLCcpLFxuICAgICAgLi4uZGF0YS5tYXAoKHJvdykgPT4gaGVhZGVycy5tYXAoKGhlYWRlcikgPT4gcm93W2hlYWRlcl0pLmpvaW4oJywnKSksXG4gICAgXS5qb2luKCdcXG4nKTtcblxuICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbY3N2Q29udGVudF0sIHsgdHlwZTogJ3RleHQvY3N2O2NoYXJzZXQ9dXRmLTg7JyB9KTtcbiAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgIGlmIChsaW5rLmRvd25sb2FkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IHVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XG4gICAgICBsaW5rLnNldEF0dHJpYnV0ZSgnaHJlZicsIHVybCk7XG4gICAgICBsaW5rLnNldEF0dHJpYnV0ZSgnZG93bmxvYWQnLCAnZXhwb3J0LmNzdicpO1xuICAgICAgbGluay5zdHlsZS52aXNpYmlsaXR5ID0gJ2hpZGRlbic7XG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspO1xuICAgICAgbGluay5jbGljaygpO1xuICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChsaW5rKTtcbiAgICB9XG4gIH1cblxuICBvblNlbGVjdGlvbkNoYW5nZShzZWxlY3RlZFJvd3M6IFdvcmtmbG93W10pIHtcbiAgICBjb25zb2xlLmxvZygnU2VsZWN0aW9uIGNoYW5nZWQ6Jywgc2VsZWN0ZWRSb3dzKTtcbiAgICAvLyBIYW5kbGUgdGhlIHNlbGVjdGlvbiBjaGFuZ2VcbiAgfVxuXG4gIC8qKlxuICAgKiBDb3BpZWQgb3ZlciBmcm9tIGNhcmQgdmlldyBkb2MgdW50aWwgSSB1bmRlcnN0YW5kIHVzYWdlXG4gICAqL1xuICBzZWxlY3RlZENvbHVtbkNvdW50OiBudW1iZXIgPSAwO1xuICBzZWxlY3RlZEZpbHRlclRhYmxlQ291bnQ6IG51bWJlciA9IDA7XG4gIGlzT1BlbjogYm9vbGVhbiA9IHRydWU7XG4gIHNlbGVjdGVkU29ydENvdW50OiBudW1iZXIgPSAwO1xuICBzaG93Q29sdW1uOiBib29sZWFuID0gZmFsc2U7XG4gIHNob3dTb3J0OiBib29sZWFuID0gZmFsc2U7XG4gIHNlbGVjdGVkQWxsOiBib29sZWFuID0gZmFsc2U7XG4gIG5lc3RlZGJnY29sb3I6IHN0cmluZyA9ICcnO1xuXG4gIHZpc2libGVDb2x1bW5zOiBJRGF0YUZpbHRlcltdID0gY29sdW1ucy5tYXAoKGNvbCkgPT4gKHtcbiAgICBjaGVja2VkOiB0cnVlLFxuICAgIG5hbWU6IHR5cGVvZiBjb2wuaGVhZGVyID09PSAnc3RyaW5nJyA/IGNvbC5oZWFkZXIgOiBjb2wuaWQsXG4gICAgdHlwZTogRGF0YUZpbHRlclR5cGUuQm9vbCxcbiAgfSkpO1xuICBmaWx0ZXJBcnJheTogSURhdGFGaWx0ZXJbXSA9IFtcbiAgICB7XG4gICAgICBuYW1lOiAnTmFtZScsXG4gICAgICB0eXBlOiBEYXRhRmlsdGVyVHlwZS5TdHJpbmcsXG4gICAgICBjaGVja2VkOiBmYWxzZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICdNYWlsQWRkcmVzcycsXG4gICAgICB0eXBlOiBEYXRhRmlsdGVyVHlwZS5TdHJpbmcsXG4gICAgICBjaGVja2VkOiBmYWxzZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICdQaG9uZU51bWJlcicsXG4gICAgICB0eXBlOiBEYXRhRmlsdGVyVHlwZS5TdHJpbmcsXG4gICAgICBjaGVja2VkOiBmYWxzZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICdDcmVhdGVkQXQnLFxuICAgICAgdHlwZTogRGF0YUZpbHRlclR5cGUuRGF0ZSxcbiAgICAgIGNoZWNrZWQ6IGZhbHNlLFxuICAgIH0sXG4gIF07XG5cbiAgc29ydE9wdGlvbnM6IElEYXRhRmlsdGVyW10gPSBbXG4gICAge1xuICAgICAgbmFtZTogJ05hbWUnLFxuICAgICAgdHlwZTogRGF0YUZpbHRlclR5cGUuU3RyaW5nLFxuICAgICAgY2hlY2tlZDogZmFsc2UsXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiAnTWFpbEFkZHJlc3MnLFxuICAgICAgdHlwZTogRGF0YUZpbHRlclR5cGUuU3RyaW5nLFxuICAgICAgY2hlY2tlZDogZmFsc2UsXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiAnUGhvbmVOdW1iZXInLFxuICAgICAgdHlwZTogRGF0YUZpbHRlclR5cGUuU3RyaW5nLFxuICAgICAgY2hlY2tlZDogZmFsc2UsXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiAnQ3JlYXRlZEF0JyxcbiAgICAgIHR5cGU6IERhdGFGaWx0ZXJUeXBlLkRhdGUsXG4gICAgICBjaGVja2VkOiBmYWxzZSxcbiAgICB9LFxuICBdO1xuICBjbGVhckRhdGEoKSB7XG4gICAgdGhpcy5jdXJyZW50RGF0YSA9IHt9IGFzIENhcmREYXRhO1xuICB9XG4gIGxvYWRNb3JlKCkge1xuICAgIHRoaXMuY2FyZERhdGEgPSB0aGlzLmNhcmREYXRhLmNvbmNhdCh0aGlzLmNhcmREYXRhKTtcbiAgfVxuICBvbkNvbHVtbkNoYW5nZShldmVudDogYm9vbGVhbikge1xuICAgIHRoaXMuc2hvd0NvbHVtbiA9IGV2ZW50O1xuICB9XG4gIG9uU29ydENoYW5nZShldmVudDogYm9vbGVhbikge1xuICAgIHRoaXMuc2hvd1NvcnQgPSBldmVudDtcbiAgICBjb25zb2xlLmxvZyhldmVudCk7XG4gIH1cbiAgb25Db2x1bW5zVXBkYXRlZCh1cGRhdGVkQ29sdW1uczogSURhdGFGaWx0ZXJbXSkge1xuICAgIGNvbnNvbGUubG9nKHVwZGF0ZWRDb2x1bW5zKTtcbiAgICB0aGlzLm9uQ29sdW1uQ2hhbmdlKGZhbHNlKTtcbiAgICB0aGlzLnNlbGVjdGVkQ29sdW1uQ291bnQgPSB1cGRhdGVkQ29sdW1ucy5sZW5ndGg7XG4gIH1cbiAgb25Tb3J0VXBkYXRlZCh1cGRhdGVkU29ydHM6IElEYXRhRmlsdGVyW10pIHtcbiAgICB0aGlzLm9uU29ydENoYW5nZShmYWxzZSk7XG4gICAgdGhpcy5zZWxlY3RlZFNvcnRDb3VudCA9IHVwZGF0ZWRTb3J0cy5sZW5ndGg7XG4gICAgY29uc29sZS5sb2codXBkYXRlZFNvcnRzKTtcbiAgfVxuICBvblN0YXRlQ2hhbmdlKGV2ZW50OiB7IGtleTogc3RyaW5nOyB2YWx1ZTogYm9vbGVhbiB9KTogdm9pZCB7XG4gICAgY29uc29sZS5sb2coYFN0YXRlIGNoYW5nZWQgZm9yICR7ZXZlbnQua2V5fTpgLCBldmVudC52YWx1ZSk7XG4gIH1cbiAgZ2V0Um93U3RhdHVzKHR5cGU6IHN0cmluZykge1xuICAgIGNvbnNvbGUubG9nKCdkYXRhIGlzIGhlcmUnLCB0eXBlKTtcblxuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgLy8gY2FzZSBXb3JrZmxvd1N0YXR1cy5QZW5kaW5nOlxuICAgICAgLy8gICByZXR1cm4gJ2JnLVsjRkVGMkU1XSB0ZXh0LVt2YXIoLS12Ym4tY29sb3Itd2FybmluZyldJztcbiAgICAgIGNhc2UgU3RhdHVzLkFjdGl2ZTpcbiAgICAgICAgcmV0dXJuICdiZy1bdmFyKC0tdmJuLWNvbG9yLXN1Y2Nlc3MtYmcpXSB0ZXh0LVt2YXIoLS12Ym4tY29sb3Itc3VjY2VzcyldJztcbiAgICAgIGNhc2UgU3RhdHVzLkluQWN0aXZlOlxuICAgICAgICByZXR1cm4gJ2JnLVsjRkJFN0U4XSB0ZXh0LVt2YXIoLS12Ym4tY29sb3ItZXJyb3IpXSc7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic3BhY2UteS04XCI+XG4gICAgPHZlcmJlbi1kYXRhLXZpZXdcbiAgICAgICN2ZHZcbiAgICAgIFt2aWV3U3RhdGVdPVwie1xuICAgICAgICBpc1NlYXJjaDogdHJ1ZSxcbiAgICAgICAgaXNDb2x1bW46IHRydWUsXG4gICAgICAgIGlzRmlsdGVyOiB0cnVlLFxuICAgICAgICBpc1NvcnQ6IHRydWUsXG4gICAgICAgIGlzRXhwb3J0OiB0cnVlLFxuICAgICAgICBpc1NlbGVjdDogdHJ1ZSxcbiAgICAgICAgaXNDcmVhdGU6IHRydWUsXG4gICAgICAgIGlzVG9nZ2xlOnRydWVcbiAgICAgIH1cIlxuICAgICAgW2J1dHRvbkNsYXNzXT1cIidteS1jdXN0b20tYnV0dG9uLWNsYXNzJ1wiXG4gICAgICBbaWNvbkNsYXNzXT1cIidteS1pY29uLWNsYXNzJ1wiXG4gICAgICBbdGFibGVJY29uXT1cIid0YWJsZS12aWV3J1wiXG4gICAgICBbY2FyZEljb25dPVwiJ2xpc3QtdmlldydcIlxuICAgICAgW2FjdGl2ZUljb25DbGFzc109XCInbXktYWN0aXZlLWljb24tY2xhc3MnXCJcbiAgICAgIFtzZWxlY3RlZENvbHVtbkNvdW50XT1cIjBcIlxuICAgICAgW3NlbGVjdGVkU29ydENvdW50XT1cIjBcIlxuICAgICAgW3NlbGVjdGVkRmlsdGVyVGFibGVDb3VudF09XCIwXCJcbiAgICAgICh2aWV3Q2hhbmdlKT1cIm9uVmlld0NoYW5nZSgkZXZlbnQpXCJcbiAgICAgIChzdGF0ZUNoYW5nZSk9XCJvblN0YXRlQ2hhbmdlKCRldmVudClcIlxuICAgID5cbiAgICAgIDxkaXYgdGFibGUtY29udGVudD5cbiAgICAgICAgPGxpYi1kYXRhLXRhYmxlXG4gICAgICAgICAgW2RhdGFdPVwiZGF0YVwiXG4gICAgICAgICAgW2NvbHVtbnNdPVwiY29sdW1uc1wiXG4gICAgICAgICAgW3N0eWxlQ29uZmlnXT1cInN0eWxlc1wiXG4gICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJvblNlbGVjdGlvbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyIGxpYkNvbHVtbj1cInNlbGVjdFwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgI2NlbGxcbiAgICAgICAgICAgIGxldC12YWx1ZVxuICAgICAgICAgICAgbGV0LWlzU2VsZWN0ZWQ9XCJpc1NlbGVjdGVkXCJcbiAgICAgICAgICAgIGxldC10b2dnbGVSb3dTZWxlY3Rpb249XCJ0b2dnbGVSb3dTZWxlY3Rpb25cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICBbY2hlY2tlZF09XCJpc1NlbGVjdGVkXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgI2hlYWRlclxuICAgICAgICAgIGxldC1hbGxSb3dzU2VsZWN0ZWQ9XCJhbGxSb3dzU2VsZWN0ZWRcIlxuICAgICAgICAgIGxldC1zb21lUm93c1NlbGVjdGVkPVwic29tZVJvd3NTZWxlY3RlZFwiXG4gICAgICAgICAgbGV0LXRvZ2dsZUFsbFJvd3M9XCJ0b2dnbGVBbGxSb3dzXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgIFtjaGVja2VkXT1cImFsbFJvd3NTZWxlY3RlZCgpXCJcbiAgICAgICAgICAgIFtpbmRldGVybWluYXRlXT1cInNvbWVSb3dzU2VsZWN0ZWQoKVwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cInRvZ2dsZUFsbFJvd3MoKVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBsaWJDb2x1bW49XCJzdGF0dXNcIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY2VsbCBsZXQtdmFsdWU+XG4gICAgICAgICAgICAgIDxkaXYgW2NsYXNzXT1cImdldFJvd1N0YXR1cyh2YWx1ZSlcIiBjbGFzcz1cInJvdW5kZWQtWzIycHhdIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHctWzg0cHhdIGgtWzMxcHhdIGZvbnQtbWVkaXVtIHRleHQteHMgbGVhZGluZy1bMTQuNjNweF1cIj4gXG4gICAgICAgICAgICAgICAge3t2YWx1ZX19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyIGxpYkNvbHVtbj1cImFjdGlvblwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFxuICAgICAgICAgICAgI2NlbGwgbGV0LXZhbHVlIFxuICAgICAgICAgICAgbGV0LXJvdz1cInJvd1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC00XCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8dmVyYmVuLXN2Z1xuICAgICAgICAgICAgICAgICAgaWNvbj1cImVkaXRcIlxuICAgICAgICAgICAgICAgICAgW3dpZHRoXT1cIjE1XCJcbiAgICAgICAgICAgICAgICAgIFtoZWlnaHRdPVwiMTVcIlxuICAgICAgICAgICAgICAgID48L3ZlcmJlbi1zdmc+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPlxuICAgICAgICAgICAgICAgIDx2ZXJiZW4tc3ZnXG4gICAgICAgICAgICAgICAgICBpY29uPVwiZGVsZXRlXCJcbiAgICAgICAgICAgICAgICAgIFt3aWR0aF09XCIxNVwiXG4gICAgICAgICAgICAgICAgICBbaGVpZ2h0XT1cIjE1XCJcbiAgICAgICAgICAgICAgICA+PC92ZXJiZW4tc3ZnPlxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8dmVyYmVuLXN2Z1xuICAgICAgICAgICAgICAgICAgaWNvbj1cImRyYXdcIlxuICAgICAgICAgICAgICAgICAgW3dpZHRoXT1cIjE4XCJcbiAgICAgICAgICAgICAgICAgIFtoZWlnaHRdPVwiMThcIlxuICAgICAgICAgICAgICAgID48L3ZlcmJlbi1zdmc+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9saWItZGF0YS10YWJsZT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjYXJkLWNvbnRlbnQ+XG4gICAgICAgIDx2ZXJiZW4tY2FyZC1kYXRhLXZpZXdcbiAgICAgICAgICBib3JkZXJSYWRpdXM9XCIxMnB4XCJcbiAgICAgICAgICAobG9hZE1vcmVDbGljayk9XCJsb2FkTW9yZSgpXCJcbiAgICAgICAgICAjdmRjdlxuICAgICAgICAgIGRhdGFJZD1cIk1haWxBZGRyZXNzXCJcbiAgICAgICAgICBib3JkZXI9XCI1cHhcIlxuICAgICAgICAgIFtjYXJkRGF0YUxpc3RdPVwiY2FyZERhdGFcIlxuICAgICAgICAgIHJiZ0NvbG9yPVwidmFyKC0tdmJuLWNvbG9yLXN1cmZhY2UtYWx0KVwiXG4gICAgICAgICAgbWc9XCIwcHhcIlxuICAgICAgICA+XG4gICAgICAgICAgPHZlcmJlbi1sZWZ0LWNhcmQtZGF0YS12aWV3IGNsYXNzPVwiXCI+XG4gICAgICAgICAgICA8dmVyYmVuLWxlZnQtY2FyZC1kYXRhXG4gICAgICAgICAgICAgICN2bGNkXG4gICAgICAgICAgICAgIFtwYXJlbnRdPVwidmRjdlwiXG4gICAgICAgICAgICAgIGRhdGFJZD1cIk1haWxBZGRyZXNzXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJiZy1zZWNvbmRhcnktMTAwIHJvdW5kZWQteGwgYm9yZGVyLXByaW1hcnkgYm9yZGVyLVsxcHhdXCJcbiAgICAgICAgICAgICAgW2NhcmREYXRhTGlzdF09XCJjYXJkRGF0YVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY2FyZCBsZXQtaXRlbT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBoLVs4OHB4XVwiPlxuICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggIHctZnVsbCBiZy1zZWNvbmRhcnkgcm91bmRlZC14bFwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctMyByb3VuZGVkLXhsIHJvdW5kZWQtdHItbm9uZSByb3VuZGVkLWJyLW5vbmVcIlxuICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5zZWxlY3RlZCA/ICdiZy1wcmltYXJ5JyA6ICdiZy1zZWNvbmRhcnktMjAwJ1xuICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB5LTMgcHgtNCB3LWZ1bGwgaC1bMTAwJV1cIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1zdGFydCBqdXN0aWZ5LWJldHdlZW4gaC1bMTAwJV1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGp1c3RpZnktYmV0d2VlbiBoLVsxMDAlXVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJteS0wIGZvbnQtc2VtaWJvbGQgdGV4dC1bdmFyKC0tdmJuLWNvbG9yLW9uLXByaW1hcnkpXSBsZWFkaW5nLVsxOS41cHhdXCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLnRpdGxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH19PC9oMz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCAgY2xhc3M9XCIhdGV4dC1bMTBweF0gZm9udC1saWdodCB0ZXh0LVt2YXIoLS12Ym4tY29sb3Itb24tcHJpbWFyeSldIGxlYWRpbmctWzEyLjFweF1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPkNvbmZpZyBjb3VudDo8L2xhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1bMTNweF0gbGVhZGluZy1bMTUuODVweF0gZm9udC1tZWRpdW0gbWwtMSB0ZXh0LWJsYWNrXCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uZGF0YS5Db3VudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1lbmQgaC1bMTAwJV1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVDbGljayhpdGVtKVwiIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibXktMCB1bmRlcmxpbmUgdGV4dC1bdmFyKC0tdmJuLWNvbG9yLWJvcmRlci1mb2N1cyldIHRleHQtWzExcHhdIGxlYWRpbmctWzE2LjZweF0gY3Vyc29yLXBvaW50ZXIgZm9udC1tZWRpdW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5WaWV3IGNvbmZpZ3M8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvdmVyYmVuLWxlZnQtY2FyZC1kYXRhPlxuICAgICAgICAgIDwvdmVyYmVuLWxlZnQtY2FyZC1kYXRhLXZpZXc+XG4gICAgICAgICAgPCEtLSA8dmVyYmVuLXJpZ2h0LWNhcmQtZGF0YS12aWV3PiBcbiAgICAgICAgICAgIHllc2hoaGhoaFxuICAgICAgICAgIDwvdmVyYmVuLXJpZ2h0LWNhcmQtZGF0YS12aWV3PiAtLT5cbiAgXG4gICAgICAgICAgPHZlcmJlbi1jYXJkLWRhdGEtdmlldy1mb290ZXIgY2xhc3M9XCJmbG9hdC1yaWdodFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTJcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwYWdpbmF0b3ItdGV4dFwiXG4gICAgICAgICAgICAgICAgPnt7IGNhcmREYXRhLmxlbmd0aCB9fSByZWNvcmRzIGxvYWRlZDwvc3BhblxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImxvYWRNb3JlKClcIiBjbGFzcz1cImxvYWQtbW9yZVwiPkxvYWQgbW9yZTwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC92ZXJiZW4tY2FyZC1kYXRhLXZpZXctZm9vdGVyPlxuICAgICAgICA8L3ZlcmJlbi1jYXJkLWRhdGEtdmlldz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjb2x1bW4tY29udGVudD5cbiAgICAgICAgPHZlcmJlbi12aXNpYmxlLWNvbHVtblxuICAgICAgICAgIChjb2x1bW5zVXBkYXRlZCk9XCJvbkNvbHVtbnNVcGRhdGVkKCRldmVudClcIlxuICAgICAgICAgIFtib3JkZXJdPVwiJzFweCBzb2xpZCB2YXIoLS12Ym4tY29sb3ItcHJpbWFyeSknXCJcbiAgICAgICAgICBib3JkZXJSYWRpdXM9XCIxMHB4XCJcbiAgICAgICAgICBib3hTaGFkb3c9XCIycHggMnB4IDJweCAwcHggc2lsdmVyXCJcbiAgICAgICAgICBiZ0NvbG9yPVwid2hpdGVcIlxuICAgICAgICAgIHdpZHRoPVwiNDAwcHhcIlxuICAgICAgICAgIHRleHRDb2xvcj1cImJsYWNrXCJcbiAgICAgICAgICBwZD1cIjFyZW1cIlxuICAgICAgICAgIHByaW1hcnlDb2xvcj1cInZhcigtLXZibi1jb2xvci1wcmltYXJ5KVwiXG4gICAgICAgICAgc2Vjb25kYXJ5Q29sb3I9XCJ2YXIoLS12Ym4tY29sb3ItYm9yZGVyLWZvY3VzKVwiXG4gICAgICAgICAgW2NvbHVtbnNdPVwidmlzaWJsZUNvbHVtbnNcIlxuICAgICAgICAgIFtkaXNwbGF5ZWRDb2x1bW5zXT1cIjVcIlxuICAgICAgICA+PC92ZXJiZW4tdmlzaWJsZS1jb2x1bW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgZmlsdGVyLWNvbnRlbnQ+XG4gICAgICAgIDx2ZXJiZW4tdGFibGUtZmlsdGVyXG4gICAgICAgICAgW2JvcmRlcl09XCInMXB4IHNvbGlkIHZhcigtLXZibi1jb2xvci1wcmltYXJ5KSdcIlxuICAgICAgICAgIGJvcmRlclJhZGl1cz1cIjEwcHhcIlxuICAgICAgICAgIGJveFNoYWRvdz1cIjJweCAycHggMnB4IDBweCBzaWx2ZXJcIlxuICAgICAgICAgIGJnQ29sb3I9XCJ3aGl0ZVwiXG4gICAgICAgICAgd2lkdGg9XCI0MjBweFwiXG4gICAgICAgICAgdGV4dENvbG9yPVwiYmxhY2tcIlxuICAgICAgICAgIHBkPVwiMXJlbVwiXG4gICAgICAgICAgcHJpbWFyeUNvbG9yPVwidmFyKC0tdmJuLWNvbG9yLXByaW1hcnkpXCJcbiAgICAgICAgICBzZWNvbmRhcnlDb2xvcj1cInZhcigtLXZibi1jb2xvci1ib3JkZXItZm9jdXMpXCJcbiAgICAgICAgICB0ZXJ0aWFyeUNvbG9yPVwidmFyKC0tdmJuLWNvbG9yLW9uLXByaW1hcnkpXCJcbiAgICAgICAgICBbZmlsdGVyT3B0aW9uc109XCJmaWx0ZXJBcnJheVwiXG4gICAgICAgICAgW21heEZpbHRlckxlbmd0aF09XCIzXCJcbiAgICAgICAgPjwvdmVyYmVuLXRhYmxlLWZpbHRlcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBzb3J0LWNvbnRlbnQ+XG4gICAgICAgIDx2ZXJiZW4tc29ydC10YWJsZVxuICAgICAgICAgIChzZWxlY3RlZE9wdGlvbnMpPVwib25Tb3J0VXBkYXRlZCgkZXZlbnQpXCJcbiAgICAgICAgICBbYm9yZGVyXT1cIicxcHggc29saWQgdmFyKC0tdmJuLWNvbG9yLXByaW1hcnkpJ1wiXG4gICAgICAgICAgYm9yZGVyUmFkaXVzPVwiMTBweFwiXG4gICAgICAgICAgYm94U2hhZG93PVwiMnB4IDJweCAycHggMHB4IHNpbHZlclwiXG4gICAgICAgICAgYmdDb2xvcj1cIndoaXRlXCJcbiAgICAgICAgICB3aWR0aD1cIjQwMHB4XCJcbiAgICAgICAgICB0ZXh0Q29sb3I9XCJibGFja1wiXG4gICAgICAgICAgcGQ9XCIxcmVtXCJcbiAgICAgICAgICBwcmltYXJ5Q29sb3I9XCJ2YXIoLS12Ym4tY29sb3ItcHJpbWFyeSlcIlxuICAgICAgICAgIHNlY29uZGFyeUNvbG9yPVwidmFyKC0tdmJuLWNvbG9yLWJvcmRlci1mb2N1cylcIlxuICAgICAgICAgIHRlcnRpYXJ5Q29sb3I9XCJ2YXIoLS12Ym4tY29sb3Itb24tcHJpbWFyeSlcIlxuICAgICAgICAgIFtlbmFibGVEcmFnQW5kRHJvcF09XCJ0cnVlXCJcbiAgICAgICAgICBbc29ydE9wdGlvbnNdPVwic29ydE9wdGlvbnNcIlxuICAgICAgICA+PC92ZXJiZW4tc29ydC10YWJsZT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBleHBvcnQtY29udGVudD5cbiAgICAgICAgPGxpYi1kYXRhLWV4cG9ydCBbZGF0YV09XCJkYXRhXCIgKGV4cG9ydERhdGFFdmVudCk9XCJoYW5kbGVFeHBvcnQoJGV2ZW50KVwiPlxuICAgICAgICA8L2xpYi1kYXRhLWV4cG9ydD5cbiAgICAgIDwvZGl2PlxuICAgIDwvdmVyYmVuLWRhdGEtdmlldz5cbiAgPC9kaXY+XG4gIFxuICAiXX0=
|
|
@@ -4,11 +4,11 @@ import { WorkflowComponent } from './workflow.component';
|
|
|
4
4
|
import { SharedModule } from 'verben-workflow-ui/src/lib/shared';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export class WorkflowModule {
|
|
7
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
8
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.
|
|
9
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.
|
|
7
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WorkflowModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: WorkflowModule, declarations: [WorkflowComponent], imports: [CommonModule, SharedModule], exports: [WorkflowComponent] });
|
|
9
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WorkflowModule, imports: [CommonModule, SharedModule] });
|
|
10
10
|
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WorkflowModule, decorators: [{
|
|
12
12
|
type: NgModule,
|
|
13
13
|
args: [{
|
|
14
14
|
declarations: [WorkflowComponent],
|
package/esm2022/src/lib/components/workflow-designer/action-dialog/action-dialog.component.mjs
CHANGED
|
@@ -103,12 +103,12 @@ export class ActionDialogComponent {
|
|
|
103
103
|
onDialogOpen(eventData) {
|
|
104
104
|
console.log('Dialog opened, received data:', eventData);
|
|
105
105
|
}
|
|
106
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
107
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.
|
|
106
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ActionDialogComponent, deps: [{ token: i1.FormBuilder }, { token: i2.WorkflowDataService }, { token: i3.WorkflowDesignerState }], target: i0.ɵɵFactoryTarget.Component });
|
|
107
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: ActionDialogComponent, selector: "lib-action-dialog", inputs: { visible: { classPropertyName: "visible", publicName: "visible", isSignal: true, isRequired: false, transformFunction: null }, actionData: { classPropertyName: "actionData", publicName: "actionData", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { closed: "closed", saved: "saved", deleted: "deleted" }, ngImport: i0, template: "<verben-dialogue [showCloseIcon]=\"true\" [dismissOutsideClick]=\"true\" [closeOnEscape]=\"true\" [size]=\"'medium'\"\n [mode]=\"'drawer'\" [disableFooter]=\"false\" [isVisible]=\"visible()\" [headerTemplate]=\"headerTemplate\"\n [bodyTemplate]=\"bodyTemplate\" [footerTemplate]=\"footerTemplate\" (openModal)=\"onDialogOpen($event)\"\n (closeModal)=\"onDialogClose($event)\">\n</verben-dialogue>\n\n<ng-template #headerTemplate>\n <div class=\"flex items-center justify-between p-3 text-xs border-b-4 border-[var(--vbn-color-primary)]\">\n <button class=\"mr-4\" type=\"button\" (click)=\"onDialogClose($event)\">\n <span class=\"block w-2.5 h-2.5 border-t border-l border-[var(--vbn-color-text)]/70 transform -rotate-45\"></span>\n </button>\n </div>\n</ng-template>\n\n<ng-template #bodyTemplate>\n <form [formGroup]=\"actionForm\" class=\"mb-4 space-y-4\">\n <verbena-input name=\"Name\" label=\"Name\" formControlName=\"Name\" placeHolder=\"Enter Name\" />\n\n <div class=\"space-y-1\">\n <label for=\"operation-action\" class=\"text-sm font-semibold text-[var(--vbn-color-text)]\">\n Operation Action\n </label>\n <verben-drop-down id=\"operation-action\" styleClass=\"w-full\" width=\"100%\" [multiselect]=\"false\" filterBy=\"Name\"\n placeholder=\"Select Operation Action\" [options]=\"operationActions()\" optionLabel=\"Name\" optionValue=\"Code\"\n formControlName=\"OperationAction\" class=\"form-control\" [showClear]=\"true\" [filter]=\"true\"></verben-drop-down>\n </div>\n\n <div class=\"space-y-1\">\n <label for=\"target-status\" class=\"text-sm font-semibold text-[var(--vbn-color-text)]\">\n Target Status\n </label>\n <verben-drop-down id=\"target-status\" styleClass=\"w-full\" width=\"100%\" [multiselect]=\"false\" filterBy=\"Description\"\n placeholder=\"Select Target Status\" [options]=\"flowableStatuses()\" optionLabel=\"Description\" optionValue=\"Name\"\n formControlName=\"TargetStatus\" class=\"form-control\" [showClear]=\"true\" [filter]=\"true\"></verben-drop-down>\n </div>\n </form>\n</ng-template>\n\n<ng-template #footerTemplate>\n <div class=\"flex gap-2 items-center justify-end\">\n <verbena-button (click)=\"onDialogClose($event)\" text=\"Cancel\" styleType=\"ylw-outline\"\n class=\"ml-auto\"></verbena-button>\n <verbena-button type=\"submit\" text=\"Save\" bgColor=\"var(--vbn-color-primary)\" textColor=\"var(--vbn-color-on-primary)\" borderRadius=\"10px\" pd=\"10px 20px\"\n width=\"114px\" height=\"39px\" (click)=\"saveAction()\" [disable]=\"actionForm.invalid\"></verbena-button>\n <verbena-button\n width=\"114px\"\n height=\"39px\"\n text=\"Delete\"\n bgColor=\"var(--vbn-color-text-muted)\"\n textColor=\"var(--vbn-color-on-primary)\"\n borderRadius=\"10px\"\n (click)=\"deleteAction()\"\n ></verbena-button>\n </div>\n</ng-template>\n\n", styles: ["::ng-deep .modal-footer{display:flex;justify-content:space-between!important}::ng-deep button,button{cursor:pointer}\n"], dependencies: [{ kind: "component", type: i4.VerbenDialogueComponent, selector: "verben-dialogue", inputs: ["dialogueWidth", "headerTemplate", "bodyTemplate", "footerTemplate", "showCloseIcon", "dismissOutsideClick", "closeOnEscape", "isVisible", "size", "backdropColor", "customClass", "disableFooter", "margin", "padding", "borderRadius", "dialogueBgColor", "width", "closeIconClass", "boxShadow", "enableTransition", "modalData", "mode", "position", "drawerWidth"], outputs: ["openModal", "closeModal"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.VerbenaButtonComponent, selector: "verbena-button", inputs: ["type", "text", "icon", "useIcon", "svgPosition", "iconPosition", "bgColor", "textColor", "border", "borderRadius", "pd", "width", "height", "fontSize", "fontWeight", "disable", "svgSize", "weight", "variant", "styleType", "svg", "svgWidth", "svgHeight", "iconColor", "svgColor", "buttonClass", "buttonTextClass", "isLoading", "spinnerSize", "spinnerColor"] }, { kind: "component", type: i4.DropDownComponent, selector: "verben-drop-down", inputs: ["options", "width", "overlayWidth", "showHorizontalLine", "horizontalLineColor", "optionLabel", "optionSubLabel", "optionValue", "placeholder", "invalidMessage", "errorPosition", "loadMoreCaption", "display", "showClear", "lazyLoad", "selectKey", "styleClass", "group", "multiselect", "filter", "avoidDuplication", "filterBy", "debounceTime", "minChar", "refPageSize", "disabled", "required", "load", "asyncLabel", "search"], outputs: ["optionsChange", "onChange", "onClick", "onClear"] }, { kind: "component", type: i4.VerbenaInputComponent, selector: "verbena-input", inputs: ["disabled", "label", "placeHolder", "required", "svgPosition", "minLength", "maxLength", "type", "bgColor", "border", "borderRadius", "textColor", "value", "labelPosition", "labelColor", "disable", "readOnly", "min", "max", "showBorder", "showErrorMessage", "errorMessageColor", "errorBorderColor", "errorPosition", "svg", "fontSize", "svgWidth", "svgHeight", "svgColor", "capitalization", "inputContainerClass", "inputFieldClass", "passLength", "inputWrapperClass", "passwordToggle", "customErrorMessages", "icon", "textPass"], outputs: ["valueChange"] }] });
|
|
108
108
|
}
|
|
109
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
109
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ActionDialogComponent, decorators: [{
|
|
110
110
|
type: Component,
|
|
111
|
-
args: [{ selector: 'lib-action-dialog', template: "<verben-dialogue [showCloseIcon]=\"true\" [dismissOutsideClick]=\"true\" [closeOnEscape]=\"true\" [size]=\"'medium'\"\n [mode]=\"'drawer'\" [disableFooter]=\"false\" [isVisible]=\"visible()\" [headerTemplate]=\"headerTemplate\"\n [bodyTemplate]=\"bodyTemplate\" [footerTemplate]=\"footerTemplate\" (openModal)=\"onDialogOpen($event)\"\n (closeModal)=\"onDialogClose($event)\">\n</verben-dialogue>\n\n<ng-template #headerTemplate>\n <div class=\"flex items-center justify-between p-3 text-xs border-b-4 border-[
|
|
111
|
+
args: [{ selector: 'lib-action-dialog', template: "<verben-dialogue [showCloseIcon]=\"true\" [dismissOutsideClick]=\"true\" [closeOnEscape]=\"true\" [size]=\"'medium'\"\n [mode]=\"'drawer'\" [disableFooter]=\"false\" [isVisible]=\"visible()\" [headerTemplate]=\"headerTemplate\"\n [bodyTemplate]=\"bodyTemplate\" [footerTemplate]=\"footerTemplate\" (openModal)=\"onDialogOpen($event)\"\n (closeModal)=\"onDialogClose($event)\">\n</verben-dialogue>\n\n<ng-template #headerTemplate>\n <div class=\"flex items-center justify-between p-3 text-xs border-b-4 border-[var(--vbn-color-primary)]\">\n <button class=\"mr-4\" type=\"button\" (click)=\"onDialogClose($event)\">\n <span class=\"block w-2.5 h-2.5 border-t border-l border-[var(--vbn-color-text)]/70 transform -rotate-45\"></span>\n </button>\n </div>\n</ng-template>\n\n<ng-template #bodyTemplate>\n <form [formGroup]=\"actionForm\" class=\"mb-4 space-y-4\">\n <verbena-input name=\"Name\" label=\"Name\" formControlName=\"Name\" placeHolder=\"Enter Name\" />\n\n <div class=\"space-y-1\">\n <label for=\"operation-action\" class=\"text-sm font-semibold text-[var(--vbn-color-text)]\">\n Operation Action\n </label>\n <verben-drop-down id=\"operation-action\" styleClass=\"w-full\" width=\"100%\" [multiselect]=\"false\" filterBy=\"Name\"\n placeholder=\"Select Operation Action\" [options]=\"operationActions()\" optionLabel=\"Name\" optionValue=\"Code\"\n formControlName=\"OperationAction\" class=\"form-control\" [showClear]=\"true\" [filter]=\"true\"></verben-drop-down>\n </div>\n\n <div class=\"space-y-1\">\n <label for=\"target-status\" class=\"text-sm font-semibold text-[var(--vbn-color-text)]\">\n Target Status\n </label>\n <verben-drop-down id=\"target-status\" styleClass=\"w-full\" width=\"100%\" [multiselect]=\"false\" filterBy=\"Description\"\n placeholder=\"Select Target Status\" [options]=\"flowableStatuses()\" optionLabel=\"Description\" optionValue=\"Name\"\n formControlName=\"TargetStatus\" class=\"form-control\" [showClear]=\"true\" [filter]=\"true\"></verben-drop-down>\n </div>\n </form>\n</ng-template>\n\n<ng-template #footerTemplate>\n <div class=\"flex gap-2 items-center justify-end\">\n <verbena-button (click)=\"onDialogClose($event)\" text=\"Cancel\" styleType=\"ylw-outline\"\n class=\"ml-auto\"></verbena-button>\n <verbena-button type=\"submit\" text=\"Save\" bgColor=\"var(--vbn-color-primary)\" textColor=\"var(--vbn-color-on-primary)\" borderRadius=\"10px\" pd=\"10px 20px\"\n width=\"114px\" height=\"39px\" (click)=\"saveAction()\" [disable]=\"actionForm.invalid\"></verbena-button>\n <verbena-button\n width=\"114px\"\n height=\"39px\"\n text=\"Delete\"\n bgColor=\"var(--vbn-color-text-muted)\"\n textColor=\"var(--vbn-color-on-primary)\"\n borderRadius=\"10px\"\n (click)=\"deleteAction()\"\n ></verbena-button>\n </div>\n</ng-template>\n\n", styles: ["::ng-deep .modal-footer{display:flex;justify-content:space-between!important}::ng-deep button,button{cursor:pointer}\n"] }]
|
|
112
112
|
}], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.WorkflowDataService }, { type: i3.WorkflowDesignerState }], propDecorators: { closed: [{
|
|
113
113
|
type: Output
|
|
114
114
|
}], saved: [{
|
|
@@ -116,4 +116,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
116
116
|
}], deleted: [{
|
|
117
117
|
type: Output
|
|
118
118
|
}] } });
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9jb21wb25lbnRzL3dvcmtmbG93LWRlc2lnbmVyL2FjdGlvbi1kaWFsb2cvYWN0aW9uLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9jb21wb25lbnRzL3dvcmtmbG93LWRlc2lnbmVyL2FjdGlvbi1kaWFsb2cvYWN0aW9uLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixNQUFNLEVBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUEwQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBYXBFLE1BQU0sT0FBTyxxQkFBcUI7SUFhdEI7SUFDQTtJQUNBO0lBZFYsT0FBTyxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUNoQyxVQUFVLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBcUIsQ0FBQyxDQUFDLCtCQUErQjtJQUN2RSxNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUM1QixLQUFLLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztJQUN2QyxPQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQyxDQUFDLDBCQUEwQjtJQUUxRSxVQUFVLENBQVk7SUFFdEIsZ0JBQWdCLEdBQXNDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNqRSxnQkFBZ0IsR0FBcUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRWhFLFlBQ1UsRUFBZSxFQUNmLFdBQWdDLEVBQ2hDLEtBQTRC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TTtzQkFBZixNQUFNO2dCQUNHLEtBQUs7c0JBQWQsTUFBTTtnQkFDRyxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBlZmZlY3QsXG4gIEV2ZW50RW1pdHRlcixcbiAgaW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBzaWduYWwsXG4gIFdyaXRhYmxlU2lnbmFsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZsb3dhYmxlU3RhdHVzLCBPcGVyYXRpb25BY3Rpb24sIFdvcmtmbG93QWN0aW9uIH0gZnJvbSAndmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvbW9kZWxzJztcbmltcG9ydCB7IFdvcmtmbG93RGF0YVNlcnZpY2UgfSBmcm9tICcuLi93b3JrZmxvdy1kYXRhLnNlcnZpY2UnO1xuaW1wb3J0IHsgV29ya2Zsb3dEZXNpZ25lclN0YXRlIH0gZnJvbSAnLi4vd29ya2Zsb3ctZGVzaWduZXIuc3RhdGUnO1xuaW1wb3J0IHtcbiAgQ29ubmVjdGlvbixcbn0gZnJvbSAnLi4vd29ya2Zsb3ctZGVzaWduZXIudHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItYWN0aW9uLWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3Rpb24tZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2FjdGlvbi1kaWFsb2cuY29tcG9uZW50LmNzcycsXG59KVxuZXhwb3J0IGNsYXNzIEFjdGlvbkRpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHZpc2libGUgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIGFjdGlvbkRhdGEgPSBpbnB1dC5yZXF1aXJlZDxDb25uZWN0aW9uIHwgbnVsbD4oKTsgLy8gRm9yIGVkaXRpbmcgZXhpc3RpbmcgYWN0aW9uc1xuICBAT3V0cHV0KCkgY2xvc2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgc2F2ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPENvbm5lY3Rpb24+KCk7XG4gIEBPdXRwdXQoKSBkZWxldGVkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7IC8vIEVtaXRzIHRoZSBjb25uZWN0aW9uIElEXG5cbiAgYWN0aW9uRm9ybTogRm9ybUdyb3VwO1xuXG4gIG9wZXJhdGlvbkFjdGlvbnM6IFdyaXRhYmxlU2lnbmFsPE9wZXJhdGlvbkFjdGlvbltdPiA9IHNpZ25hbChbXSk7XG4gIGZsb3dhYmxlU3RhdHVzZXM6IFdyaXRhYmxlU2lnbmFsPEZsb3dhYmxlU3RhdHVzW10+ID0gc2lnbmFsKFtdKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIGRhdGFTZXJ2aWNlOiBXb3JrZmxvd0RhdGFTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RhdGU6IFdvcmtmbG93RGVzaWduZXJTdGF0ZVxuICApIHtcbiAgICB0aGlzLmFjdGlvbkZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIE5hbWU6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICBPcGVyYXRpb25BY3Rpb246IFtudWxsXSxcbiAgICAgIFRhcmdldFN0YXR1czogW251bGxdLFxuICAgIH0pO1xuXG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIC8vIElmIGFjdGlvbkRhdGEgY2hhbmdlcywgdXBkYXRlIHRoZSBmb3JtXG4gICAgICBjb25zdCBhY3Rpb25EYXRhID0gdGhpcy5hY3Rpb25EYXRhKCk7XG4gICAgICBpZiAoYWN0aW9uRGF0YSkge1xuICAgICAgICBjb25zb2xlLmxvZyhcIkFDVElPTl9EQVRBXCIsIGFjdGlvbkRhdGEpO1xuICAgICAgICB0aGlzLmFjdGlvbkZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICAgICAgTmFtZTogYWN0aW9uRGF0YS5sYWJlbCB8fCAnJyxcbiAgICAgICAgICBPcGVyYXRpb25BY3Rpb246IGFjdGlvbkRhdGEuYWN0aW9uIHx8IG51bGwsXG4gICAgICAgICAgVGFyZ2V0U3RhdHVzOiBhY3Rpb25EYXRhLnRhcmdldFN0YXR1cyB8fCBudWxsLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubG9hZE9wZXJhdGlvbkFjdGlvbnMoKTtcbiAgICB0aGlzLmxvYWRGbG93YWJsZVN0YXR1c2VzKCk7XG4gIH1cblxuICBzYXZlQWN0aW9uKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFjdGlvbkZvcm0udmFsaWQpIHtcblxuICAgICAgY29uc3QgZm9ybURhdGEgPSB0aGlzLmFjdGlvbkZvcm0udmFsdWUgYXMgUGljazxXb3JrZmxvd0FjdGlvbiwgXCJOYW1lXCIgfCBcIk9wZXJhdGlvbkFjdGlvblwiIHwgXCJUYXJnZXRTdGF0dXNcIj47XG5cbiAgICAgIC8vIFJlc2V0IGZvcm0gYWZ0ZXIgc2F2aW5nXG4gICAgICB0aGlzLmFjdGlvbkZvcm0ucmVzZXQoKTtcblxuICAgICAgLy8gRW1pdCB0aGUgc2F2ZWQgZGF0YSB0byB0aGUgcGFyZW50IGNvbXBvbmVudFxuICAgICAgY29uc3QgcHJldkRhdGEgPSB0aGlzLmFjdGlvbkRhdGEoKTtcblxuICAgICAgY29uc29sZS5sb2coXCJQUkVWX0RBVEFcIiwgcHJldkRhdGEpO1xuICAgICAgY29uc29sZS5sb2coXCJGT1JNX0RBVEFcIiwgZm9ybURhdGEpO1xuXG4gICAgICBpZiAocHJldkRhdGEpIHtcbiAgICAgICAgdGhpcy5zYXZlZC5lbWl0KHtcbiAgICAgICAgICAuLi5wcmV2RGF0YSxcbiAgICAgICAgICBsYWJlbDogZm9ybURhdGEuTmFtZSxcbiAgICAgICAgICBhY3Rpb246IGZvcm1EYXRhLk9wZXJhdGlvbkFjdGlvbixcbiAgICAgICAgICB0YXJnZXRTdGF0dXM6IGZvcm1EYXRhLlRhcmdldFN0YXR1c1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBkZWxldGVBY3Rpb24oKTogdm9pZCB7XG4gICAgY29uc3QgYWN0aW9uRGF0YSA9IHRoaXMuYWN0aW9uRGF0YSgpO1xuICAgIGlmICghYWN0aW9uRGF0YSkgcmV0dXJuO1xuXG4gICAgY29uc3QgY29ubmVjdGlvbklkID0gYWN0aW9uRGF0YS5pZDtcbiAgICBjb25zdCBiYWNrZW5kUmVjb3JkID0gdGhpcy5zdGF0ZS5hY3Rpb25SZWNvcmRbY29ubmVjdGlvbklkXTtcblxuICAgIGlmIChiYWNrZW5kUmVjb3JkPy5Db2RlKSB7XG4gICAgICAvLyBQYXRoIEE6IGJhY2tlbmQtcGVyc2lzdGVkIGFjdGlvbiDigJQgY2FsbCBBUEkgZmlyc3RcbiAgICAgIHRoaXMuZGF0YVNlcnZpY2UuZGVsZXRlV29ya2Zsb3dBY3Rpb25zKFtiYWNrZW5kUmVjb3JkLkNvZGVdKVxuICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgY29uc29sZS5sb2coJ0FjdGlvbiBkZWxldGVkIGZyb20gYmFja2VuZDonLCBiYWNrZW5kUmVjb3JkLkNvZGUpO1xuICAgICAgICAgIHRoaXMuZGVsZXRlZC5lbWl0KGNvbm5lY3Rpb25JZCk7XG4gICAgICAgICAgdGhpcy5jbG9zZWQuZW1pdCgpO1xuICAgICAgICB9KVxuICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZGVsZXRpbmcgYWN0aW9uOicsIGVycm9yKTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFBhdGggQjogbG9jYWwtb25seSBhY3Rpb24g4oCUIHJlbW92ZSBmcm9tIHN0YXRlIGRpcmVjdGx5LCBubyBBUEkgY2FsbFxuICAgICAgdGhpcy5kZWxldGVkLmVtaXQoY29ubmVjdGlvbklkKTtcbiAgICAgIHRoaXMuY2xvc2VkLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGxvYWRPcGVyYXRpb25BY3Rpb25zKCk6IHZvaWQge1xuICAgIHRoaXMuZGF0YVNlcnZpY2UuZ2V0T3BlcmF0aW9uQWN0aW9ucygpLnRoZW4oKGRhdGEpID0+IHtcbiAgICAgIHRoaXMub3BlcmF0aW9uQWN0aW9ucy5zZXQoZGF0YS5SZXN1bHQpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2FkRmxvd2FibGVTdGF0dXNlcygpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLmdldEZsb3dhYmxlU3RhdHVzZXMoKS50aGVuKChkYXRhKSA9PiB7XG4gICAgICB0aGlzLmZsb3dhYmxlU3RhdHVzZXMuc2V0KGRhdGEuUmVzdWx0KTtcbiAgICB9KTtcbiAgfVxuXG4gIG9uRGlhbG9nQ2xvc2UoZXZlbnREYXRhOiBhbnkpIHtcbiAgICBjb25zb2xlLmxvZygnRGlhbG9nIGNsb3NlZCwgcmVjZWl2ZWQgZGF0YTonLCBldmVudERhdGEpO1xuICAgIHRoaXMuY2xvc2VkLmVtaXQoKTtcbiAgfVxuXG4gIG9uRGlhbG9nT3BlbihldmVudERhdGE6IGFueSkge1xuICAgIGNvbnNvbGUubG9nKCdEaWFsb2cgb3BlbmVkLCByZWNlaXZlZCBkYXRhOicsIGV2ZW50RGF0YSk7XG4gIH1cbn1cbiIsIjx2ZXJiZW4tZGlhbG9ndWUgW3Nob3dDbG9zZUljb25dPVwidHJ1ZVwiIFtkaXNtaXNzT3V0c2lkZUNsaWNrXT1cInRydWVcIiBbY2xvc2VPbkVzY2FwZV09XCJ0cnVlXCIgW3NpemVdPVwiJ21lZGl1bSdcIlxuICBbbW9kZV09XCInZHJhd2VyJ1wiIFtkaXNhYmxlRm9vdGVyXT1cImZhbHNlXCIgW2lzVmlzaWJsZV09XCJ2aXNpYmxlKClcIiBbaGVhZGVyVGVtcGxhdGVdPVwiaGVhZGVyVGVtcGxhdGVcIlxuICBbYm9keVRlbXBsYXRlXT1cImJvZHlUZW1wbGF0ZVwiIFtmb290ZXJUZW1wbGF0ZV09XCJmb290ZXJUZW1wbGF0ZVwiIChvcGVuTW9kYWwpPVwib25EaWFsb2dPcGVuKCRldmVudClcIlxuICAoY2xvc2VNb2RhbCk9XCJvbkRpYWxvZ0Nsb3NlKCRldmVudClcIj5cbjwvdmVyYmVuLWRpYWxvZ3VlPlxuXG48bmctdGVtcGxhdGUgI2hlYWRlclRlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHAtMyB0ZXh0LXhzIGJvcmRlci1iLTQgYm9yZGVyLVsjRkZFNjgxXVwiPlxuICAgIDxidXR0b24gY2xhc3M9XCJtci00XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvbkRpYWxvZ0Nsb3NlKCRldmVudClcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiYmxvY2sgdy0yLjUgaC0yLjUgYm9yZGVyLXQgYm9yZGVyLWwgYm9yZGVyLVsjM0UzRTNFXS83MCB0cmFuc2Zvcm0gLXJvdGF0ZS00NVwiPjwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2JvZHlUZW1wbGF0ZT5cbiAgPGZvcm0gW2Zvcm1Hcm91cF09XCJhY3Rpb25Gb3JtXCIgY2xhc3M9XCJtYi00IHNwYWNlLXktNFwiPlxuICAgIDx2ZXJiZW5hLWlucHV0IG5hbWU9XCJOYW1lXCIgbGFiZWw9XCJOYW1lXCIgZm9ybUNvbnRyb2xOYW1lPVwiTmFtZVwiIHBsYWNlSG9sZGVyPVwiRW50ZXIgTmFtZVwiIC8+XG5cbiAgICA8ZGl2IGNsYXNzPVwic3BhY2UteS0xXCI+XG4gICAgICA8bGFiZWwgZm9yPVwib3BlcmF0aW9uLWFjdGlvblwiIGNsYXNzPVwidGV4dC1zbSBmb250LXNlbWlib2xkIHRleHQtWyMzRTNFM0VdXCI+XG4gICAgICAgIE9wZXJhdGlvbiBBY3Rpb25cbiAgICAgIDwvbGFiZWw+XG4gICAgICA8dmVyYmVuLWRyb3AtZG93biBpZD1cIm9wZXJhdGlvbi1hY3Rpb25cIiBzdHlsZUNsYXNzPVwidy1mdWxsXCIgd2lkdGg9XCIxMDAlXCIgW211bHRpc2VsZWN0XT1cImZhbHNlXCIgZmlsdGVyQnk9XCJOYW1lXCJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWxlY3QgT3BlcmF0aW9uIEFjdGlvblwiIFtvcHRpb25zXT1cIm9wZXJhdGlvbkFjdGlvbnMoKVwiIG9wdGlvbkxhYmVsPVwiTmFtZVwiIG9wdGlvblZhbHVlPVwiQ29kZVwiXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cIk9wZXJhdGlvbkFjdGlvblwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgW3Nob3dDbGVhcl09XCJ0cnVlXCIgW2ZpbHRlcl09XCJ0cnVlXCI+PC92ZXJiZW4tZHJvcC1kb3duPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cInNwYWNlLXktMVwiPlxuICAgICAgPGxhYmVsIGZvcj1cInRhcmdldC1zdGF0dXNcIiBjbGFzcz1cInRleHQtc20gZm9udC1zZW1pYm9sZCB0ZXh0LVsjM0UzRTNFXVwiPlxuICAgICAgICBUYXJnZXQgU3RhdHVzXG4gICAgICA8L2xhYmVsPlxuICAgICAgPHZlcmJlbi1kcm9wLWRvd24gaWQ9XCJ0YXJnZXQtc3RhdHVzXCIgc3R5bGVDbGFzcz1cInctZnVsbFwiIHdpZHRoPVwiMTAwJVwiIFttdWx0aXNlbGVjdF09XCJmYWxzZVwiIGZpbHRlckJ5PVwiRGVzY3JpcHRpb25cIlxuICAgICAgICBwbGFjZWhvbGRlcj1cIlNlbGVjdCBUYXJnZXQgU3RhdHVzXCIgW29wdGlvbnNdPVwiZmxvd2FibGVTdGF0dXNlcygpXCIgb3B0aW9uTGFiZWw9XCJEZXNjcmlwdGlvblwiIG9wdGlvblZhbHVlPVwiTmFtZVwiXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cIlRhcmdldFN0YXR1c1wiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgW3Nob3dDbGVhcl09XCJ0cnVlXCIgW2ZpbHRlcl09XCJ0cnVlXCI+PC92ZXJiZW4tZHJvcC1kb3duPlxuICAgIDwvZGl2PlxuICA8L2Zvcm0+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2Zvb3RlclRlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBnYXAtMiBpdGVtcy1jZW50ZXIganVzdGlmeS1lbmRcIj5cbiAgICA8dmVyYmVuYS1idXR0b24gKGNsaWNrKT1cIm9uRGlhbG9nQ2xvc2UoJGV2ZW50KVwiIHRleHQ9XCJDYW5jZWxcIiBzdHlsZVR5cGU9XCJ5bHctb3V0bGluZVwiXG4gICAgICBjbGFzcz1cIm1sLWF1dG9cIj48L3ZlcmJlbmEtYnV0dG9uPlxuICAgIDx2ZXJiZW5hLWJ1dHRvbiB0eXBlPVwic3VibWl0XCIgdGV4dD1cIlNhdmVcIiBiZ0NvbG9yPVwiI0ZGRTY4MVwiIHRleHRDb2xvcj1cIiM0MDQwNDBcIiBib3JkZXJSYWRpdXM9XCIxMHB4XCIgcGQ9XCIxMHB4IDIwcHhcIlxuICAgICAgd2lkdGg9XCIxMTRweFwiIGhlaWdodD1cIjM5cHhcIiAoY2xpY2spPVwic2F2ZUFjdGlvbigpXCIgW2Rpc2FibGVdPVwiYWN0aW9uRm9ybS5pbnZhbGlkXCI+PC92ZXJiZW5hLWJ1dHRvbj5cbiAgICA8dmVyYmVuYS1idXR0b25cbiAgICAgIHdpZHRoPVwiMTE0cHhcIlxuICAgICAgaGVpZ2h0PVwiMzlweFwiXG4gICAgICB0ZXh0PVwiRGVsZXRlXCJcbiAgICAgIGJnQ29sb3I9XCIjOTk5OTk5XCJcbiAgICAgIHRleHRDb2xvcj1cIiM0MDQwNDBcIlxuICAgICAgYm9yZGVyUmFkaXVzPVwiMTBweFwiXG4gICAgICAoY2xpY2spPVwiZGVsZXRlQWN0aW9uKClcIlxuICAgID48L3ZlcmJlbmEtYnV0dG9uPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbiJdfQ==
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9jb21wb25lbnRzL3dvcmtmbG93LWRlc2lnbmVyL2FjdGlvbi1kaWFsb2cvYWN0aW9uLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9jb21wb25lbnRzL3dvcmtmbG93LWRlc2lnbmVyL2FjdGlvbi1kaWFsb2cvYWN0aW9uLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixNQUFNLEVBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUEwQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBYXBFLE1BQU0sT0FBTyxxQkFBcUI7SUFhdEI7SUFDQTtJQUNBO0lBZFYsT0FBTyxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUNoQyxVQUFVLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBcUIsQ0FBQyxDQUFDLCtCQUErQjtJQUN2RSxNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUM1QixLQUFLLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztJQUN2QyxPQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQyxDQUFDLDBCQUEwQjtJQUUxRSxVQUFVLENBQVk7SUFFdEIsZ0JBQWdCLEdBQXNDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNqRSxnQkFBZ0IsR0FBcUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRWhFLFlBQ1UsRUFBZSxFQUNmLFdBQWdDLEVBQ2hDLEtBQTRC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TTtzQkFBZixNQUFNO2dCQUNHLEtBQUs7c0JBQWQsTUFBTTtnQkFDRyxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBlZmZlY3QsXG4gIEV2ZW50RW1pdHRlcixcbiAgaW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBzaWduYWwsXG4gIFdyaXRhYmxlU2lnbmFsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZsb3dhYmxlU3RhdHVzLCBPcGVyYXRpb25BY3Rpb24sIFdvcmtmbG93QWN0aW9uIH0gZnJvbSAndmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvbW9kZWxzJztcbmltcG9ydCB7IFdvcmtmbG93RGF0YVNlcnZpY2UgfSBmcm9tICcuLi93b3JrZmxvdy1kYXRhLnNlcnZpY2UnO1xuaW1wb3J0IHsgV29ya2Zsb3dEZXNpZ25lclN0YXRlIH0gZnJvbSAnLi4vd29ya2Zsb3ctZGVzaWduZXIuc3RhdGUnO1xuaW1wb3J0IHtcbiAgQ29ubmVjdGlvbixcbn0gZnJvbSAnLi4vd29ya2Zsb3ctZGVzaWduZXIudHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItYWN0aW9uLWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3Rpb24tZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2FjdGlvbi1kaWFsb2cuY29tcG9uZW50LmNzcycsXG59KVxuZXhwb3J0IGNsYXNzIEFjdGlvbkRpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHZpc2libGUgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIGFjdGlvbkRhdGEgPSBpbnB1dC5yZXF1aXJlZDxDb25uZWN0aW9uIHwgbnVsbD4oKTsgLy8gRm9yIGVkaXRpbmcgZXhpc3RpbmcgYWN0aW9uc1xuICBAT3V0cHV0KCkgY2xvc2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgc2F2ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPENvbm5lY3Rpb24+KCk7XG4gIEBPdXRwdXQoKSBkZWxldGVkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7IC8vIEVtaXRzIHRoZSBjb25uZWN0aW9uIElEXG5cbiAgYWN0aW9uRm9ybTogRm9ybUdyb3VwO1xuXG4gIG9wZXJhdGlvbkFjdGlvbnM6IFdyaXRhYmxlU2lnbmFsPE9wZXJhdGlvbkFjdGlvbltdPiA9IHNpZ25hbChbXSk7XG4gIGZsb3dhYmxlU3RhdHVzZXM6IFdyaXRhYmxlU2lnbmFsPEZsb3dhYmxlU3RhdHVzW10+ID0gc2lnbmFsKFtdKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIGRhdGFTZXJ2aWNlOiBXb3JrZmxvd0RhdGFTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RhdGU6IFdvcmtmbG93RGVzaWduZXJTdGF0ZVxuICApIHtcbiAgICB0aGlzLmFjdGlvbkZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIE5hbWU6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICBPcGVyYXRpb25BY3Rpb246IFtudWxsXSxcbiAgICAgIFRhcmdldFN0YXR1czogW251bGxdLFxuICAgIH0pO1xuXG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIC8vIElmIGFjdGlvbkRhdGEgY2hhbmdlcywgdXBkYXRlIHRoZSBmb3JtXG4gICAgICBjb25zdCBhY3Rpb25EYXRhID0gdGhpcy5hY3Rpb25EYXRhKCk7XG4gICAgICBpZiAoYWN0aW9uRGF0YSkge1xuICAgICAgICBjb25zb2xlLmxvZyhcIkFDVElPTl9EQVRBXCIsIGFjdGlvbkRhdGEpO1xuICAgICAgICB0aGlzLmFjdGlvbkZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICAgICAgTmFtZTogYWN0aW9uRGF0YS5sYWJlbCB8fCAnJyxcbiAgICAgICAgICBPcGVyYXRpb25BY3Rpb246IGFjdGlvbkRhdGEuYWN0aW9uIHx8IG51bGwsXG4gICAgICAgICAgVGFyZ2V0U3RhdHVzOiBhY3Rpb25EYXRhLnRhcmdldFN0YXR1cyB8fCBudWxsLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubG9hZE9wZXJhdGlvbkFjdGlvbnMoKTtcbiAgICB0aGlzLmxvYWRGbG93YWJsZVN0YXR1c2VzKCk7XG4gIH1cblxuICBzYXZlQWN0aW9uKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFjdGlvbkZvcm0udmFsaWQpIHtcblxuICAgICAgY29uc3QgZm9ybURhdGEgPSB0aGlzLmFjdGlvbkZvcm0udmFsdWUgYXMgUGljazxXb3JrZmxvd0FjdGlvbiwgXCJOYW1lXCIgfCBcIk9wZXJhdGlvbkFjdGlvblwiIHwgXCJUYXJnZXRTdGF0dXNcIj47XG5cbiAgICAgIC8vIFJlc2V0IGZvcm0gYWZ0ZXIgc2F2aW5nXG4gICAgICB0aGlzLmFjdGlvbkZvcm0ucmVzZXQoKTtcblxuICAgICAgLy8gRW1pdCB0aGUgc2F2ZWQgZGF0YSB0byB0aGUgcGFyZW50IGNvbXBvbmVudFxuICAgICAgY29uc3QgcHJldkRhdGEgPSB0aGlzLmFjdGlvbkRhdGEoKTtcblxuICAgICAgY29uc29sZS5sb2coXCJQUkVWX0RBVEFcIiwgcHJldkRhdGEpO1xuICAgICAgY29uc29sZS5sb2coXCJGT1JNX0RBVEFcIiwgZm9ybURhdGEpO1xuXG4gICAgICBpZiAocHJldkRhdGEpIHtcbiAgICAgICAgdGhpcy5zYXZlZC5lbWl0KHtcbiAgICAgICAgICAuLi5wcmV2RGF0YSxcbiAgICAgICAgICBsYWJlbDogZm9ybURhdGEuTmFtZSxcbiAgICAgICAgICBhY3Rpb246IGZvcm1EYXRhLk9wZXJhdGlvbkFjdGlvbixcbiAgICAgICAgICB0YXJnZXRTdGF0dXM6IGZvcm1EYXRhLlRhcmdldFN0YXR1c1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBkZWxldGVBY3Rpb24oKTogdm9pZCB7XG4gICAgY29uc3QgYWN0aW9uRGF0YSA9IHRoaXMuYWN0aW9uRGF0YSgpO1xuICAgIGlmICghYWN0aW9uRGF0YSkgcmV0dXJuO1xuXG4gICAgY29uc3QgY29ubmVjdGlvbklkID0gYWN0aW9uRGF0YS5pZDtcbiAgICBjb25zdCBiYWNrZW5kUmVjb3JkID0gdGhpcy5zdGF0ZS5hY3Rpb25SZWNvcmRbY29ubmVjdGlvbklkXTtcblxuICAgIGlmIChiYWNrZW5kUmVjb3JkPy5Db2RlKSB7XG4gICAgICAvLyBQYXRoIEE6IGJhY2tlbmQtcGVyc2lzdGVkIGFjdGlvbiDigJQgY2FsbCBBUEkgZmlyc3RcbiAgICAgIHRoaXMuZGF0YVNlcnZpY2UuZGVsZXRlV29ya2Zsb3dBY3Rpb25zKFtiYWNrZW5kUmVjb3JkLkNvZGVdKVxuICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgY29uc29sZS5sb2coJ0FjdGlvbiBkZWxldGVkIGZyb20gYmFja2VuZDonLCBiYWNrZW5kUmVjb3JkLkNvZGUpO1xuICAgICAgICAgIHRoaXMuZGVsZXRlZC5lbWl0KGNvbm5lY3Rpb25JZCk7XG4gICAgICAgICAgdGhpcy5jbG9zZWQuZW1pdCgpO1xuICAgICAgICB9KVxuICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZGVsZXRpbmcgYWN0aW9uOicsIGVycm9yKTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFBhdGggQjogbG9jYWwtb25seSBhY3Rpb24g4oCUIHJlbW92ZSBmcm9tIHN0YXRlIGRpcmVjdGx5LCBubyBBUEkgY2FsbFxuICAgICAgdGhpcy5kZWxldGVkLmVtaXQoY29ubmVjdGlvbklkKTtcbiAgICAgIHRoaXMuY2xvc2VkLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGxvYWRPcGVyYXRpb25BY3Rpb25zKCk6IHZvaWQge1xuICAgIHRoaXMuZGF0YVNlcnZpY2UuZ2V0T3BlcmF0aW9uQWN0aW9ucygpLnRoZW4oKGRhdGEpID0+IHtcbiAgICAgIHRoaXMub3BlcmF0aW9uQWN0aW9ucy5zZXQoZGF0YS5SZXN1bHQpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2FkRmxvd2FibGVTdGF0dXNlcygpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLmdldEZsb3dhYmxlU3RhdHVzZXMoKS50aGVuKChkYXRhKSA9PiB7XG4gICAgICB0aGlzLmZsb3dhYmxlU3RhdHVzZXMuc2V0KGRhdGEuUmVzdWx0KTtcbiAgICB9KTtcbiAgfVxuXG4gIG9uRGlhbG9nQ2xvc2UoZXZlbnREYXRhOiBhbnkpIHtcbiAgICBjb25zb2xlLmxvZygnRGlhbG9nIGNsb3NlZCwgcmVjZWl2ZWQgZGF0YTonLCBldmVudERhdGEpO1xuICAgIHRoaXMuY2xvc2VkLmVtaXQoKTtcbiAgfVxuXG4gIG9uRGlhbG9nT3BlbihldmVudERhdGE6IGFueSkge1xuICAgIGNvbnNvbGUubG9nKCdEaWFsb2cgb3BlbmVkLCByZWNlaXZlZCBkYXRhOicsIGV2ZW50RGF0YSk7XG4gIH1cbn1cbiIsIjx2ZXJiZW4tZGlhbG9ndWUgW3Nob3dDbG9zZUljb25dPVwidHJ1ZVwiIFtkaXNtaXNzT3V0c2lkZUNsaWNrXT1cInRydWVcIiBbY2xvc2VPbkVzY2FwZV09XCJ0cnVlXCIgW3NpemVdPVwiJ21lZGl1bSdcIlxuICBbbW9kZV09XCInZHJhd2VyJ1wiIFtkaXNhYmxlRm9vdGVyXT1cImZhbHNlXCIgW2lzVmlzaWJsZV09XCJ2aXNpYmxlKClcIiBbaGVhZGVyVGVtcGxhdGVdPVwiaGVhZGVyVGVtcGxhdGVcIlxuICBbYm9keVRlbXBsYXRlXT1cImJvZHlUZW1wbGF0ZVwiIFtmb290ZXJUZW1wbGF0ZV09XCJmb290ZXJUZW1wbGF0ZVwiIChvcGVuTW9kYWwpPVwib25EaWFsb2dPcGVuKCRldmVudClcIlxuICAoY2xvc2VNb2RhbCk9XCJvbkRpYWxvZ0Nsb3NlKCRldmVudClcIj5cbjwvdmVyYmVuLWRpYWxvZ3VlPlxuXG48bmctdGVtcGxhdGUgI2hlYWRlclRlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHAtMyB0ZXh0LXhzIGJvcmRlci1iLTQgYm9yZGVyLVt2YXIoLS12Ym4tY29sb3ItcHJpbWFyeSldXCI+XG4gICAgPGJ1dHRvbiBjbGFzcz1cIm1yLTRcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9uRGlhbG9nQ2xvc2UoJGV2ZW50KVwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJibG9jayB3LTIuNSBoLTIuNSBib3JkZXItdCBib3JkZXItbCBib3JkZXItW3ZhcigtLXZibi1jb2xvci10ZXh0KV0vNzAgdHJhbnNmb3JtIC1yb3RhdGUtNDVcIj48L3NwYW4+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNib2R5VGVtcGxhdGU+XG4gIDxmb3JtIFtmb3JtR3JvdXBdPVwiYWN0aW9uRm9ybVwiIGNsYXNzPVwibWItNCBzcGFjZS15LTRcIj5cbiAgICA8dmVyYmVuYS1pbnB1dCBuYW1lPVwiTmFtZVwiIGxhYmVsPVwiTmFtZVwiIGZvcm1Db250cm9sTmFtZT1cIk5hbWVcIiBwbGFjZUhvbGRlcj1cIkVudGVyIE5hbWVcIiAvPlxuXG4gICAgPGRpdiBjbGFzcz1cInNwYWNlLXktMVwiPlxuICAgICAgPGxhYmVsIGZvcj1cIm9wZXJhdGlvbi1hY3Rpb25cIiBjbGFzcz1cInRleHQtc20gZm9udC1zZW1pYm9sZCB0ZXh0LVt2YXIoLS12Ym4tY29sb3ItdGV4dCldXCI+XG4gICAgICAgIE9wZXJhdGlvbiBBY3Rpb25cbiAgICAgIDwvbGFiZWw+XG4gICAgICA8dmVyYmVuLWRyb3AtZG93biBpZD1cIm9wZXJhdGlvbi1hY3Rpb25cIiBzdHlsZUNsYXNzPVwidy1mdWxsXCIgd2lkdGg9XCIxMDAlXCIgW211bHRpc2VsZWN0XT1cImZhbHNlXCIgZmlsdGVyQnk9XCJOYW1lXCJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWxlY3QgT3BlcmF0aW9uIEFjdGlvblwiIFtvcHRpb25zXT1cIm9wZXJhdGlvbkFjdGlvbnMoKVwiIG9wdGlvbkxhYmVsPVwiTmFtZVwiIG9wdGlvblZhbHVlPVwiQ29kZVwiXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cIk9wZXJhdGlvbkFjdGlvblwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgW3Nob3dDbGVhcl09XCJ0cnVlXCIgW2ZpbHRlcl09XCJ0cnVlXCI+PC92ZXJiZW4tZHJvcC1kb3duPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cInNwYWNlLXktMVwiPlxuICAgICAgPGxhYmVsIGZvcj1cInRhcmdldC1zdGF0dXNcIiBjbGFzcz1cInRleHQtc20gZm9udC1zZW1pYm9sZCB0ZXh0LVt2YXIoLS12Ym4tY29sb3ItdGV4dCldXCI+XG4gICAgICAgIFRhcmdldCBTdGF0dXNcbiAgICAgIDwvbGFiZWw+XG4gICAgICA8dmVyYmVuLWRyb3AtZG93biBpZD1cInRhcmdldC1zdGF0dXNcIiBzdHlsZUNsYXNzPVwidy1mdWxsXCIgd2lkdGg9XCIxMDAlXCIgW211bHRpc2VsZWN0XT1cImZhbHNlXCIgZmlsdGVyQnk9XCJEZXNjcmlwdGlvblwiXG4gICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IFRhcmdldCBTdGF0dXNcIiBbb3B0aW9uc109XCJmbG93YWJsZVN0YXR1c2VzKClcIiBvcHRpb25MYWJlbD1cIkRlc2NyaXB0aW9uXCIgb3B0aW9uVmFsdWU9XCJOYW1lXCJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiVGFyZ2V0U3RhdHVzXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbc2hvd0NsZWFyXT1cInRydWVcIiBbZmlsdGVyXT1cInRydWVcIj48L3ZlcmJlbi1kcm9wLWRvd24+XG4gICAgPC9kaXY+XG4gIDwvZm9ybT5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZm9vdGVyVGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGdhcC0yIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWVuZFwiPlxuICAgIDx2ZXJiZW5hLWJ1dHRvbiAoY2xpY2spPVwib25EaWFsb2dDbG9zZSgkZXZlbnQpXCIgdGV4dD1cIkNhbmNlbFwiIHN0eWxlVHlwZT1cInlsdy1vdXRsaW5lXCJcbiAgICAgIGNsYXNzPVwibWwtYXV0b1wiPjwvdmVyYmVuYS1idXR0b24+XG4gICAgPHZlcmJlbmEtYnV0dG9uIHR5cGU9XCJzdWJtaXRcIiB0ZXh0PVwiU2F2ZVwiIGJnQ29sb3I9XCJ2YXIoLS12Ym4tY29sb3ItcHJpbWFyeSlcIiB0ZXh0Q29sb3I9XCJ2YXIoLS12Ym4tY29sb3Itb24tcHJpbWFyeSlcIiBib3JkZXJSYWRpdXM9XCIxMHB4XCIgcGQ9XCIxMHB4IDIwcHhcIlxuICAgICAgd2lkdGg9XCIxMTRweFwiIGhlaWdodD1cIjM5cHhcIiAoY2xpY2spPVwic2F2ZUFjdGlvbigpXCIgW2Rpc2FibGVdPVwiYWN0aW9uRm9ybS5pbnZhbGlkXCI+PC92ZXJiZW5hLWJ1dHRvbj5cbiAgICA8dmVyYmVuYS1idXR0b25cbiAgICAgIHdpZHRoPVwiMTE0cHhcIlxuICAgICAgaGVpZ2h0PVwiMzlweFwiXG4gICAgICB0ZXh0PVwiRGVsZXRlXCJcbiAgICAgIGJnQ29sb3I9XCJ2YXIoLS12Ym4tY29sb3ItdGV4dC1tdXRlZClcIlxuICAgICAgdGV4dENvbG9yPVwidmFyKC0tdmJuLWNvbG9yLW9uLXByaW1hcnkpXCJcbiAgICAgIGJvcmRlclJhZGl1cz1cIjEwcHhcIlxuICAgICAgKGNsaWNrKT1cImRlbGV0ZUFjdGlvbigpXCJcbiAgICA+PC92ZXJiZW5hLWJ1dHRvbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG4iXX0=
|
|
@@ -54,12 +54,12 @@ export class ActorTagsDialogComponent {
|
|
|
54
54
|
this.selectedTag = null;
|
|
55
55
|
this.isViewOnly = false;
|
|
56
56
|
}
|
|
57
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
58
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
57
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ActorTagsDialogComponent, deps: [{ token: i1.WorkflowDataService }, { token: i2.UtilService }], target: i0.ɵɵFactoryTarget.Component });
|
|
58
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ActorTagsDialogComponent, selector: "lib-actor-tags-dialog", inputs: { visible: "visible", workflowCode: "workflowCode" }, outputs: { closed: "closed" }, ngImport: i0, template: "<verben-dialogue [showCloseIcon]=\"true\" [dismissOutsideClick]=\"true\" [closeOnEscape]=\"true\" [size]=\"'medium'\"\n [mode]=\"'drawer'\" [disableFooter]=\"false\" [isVisible]=\"visible\" [headerTemplate]=\"headerTemplate\"\n [bodyTemplate]=\"bodyTemplate\" [footerTemplate]=\"footerTemplate\" (openModal)=\"onDialogOpen($event)\"\n (closeModal)=\"onDialogClose($event)\">\n</verben-dialogue>\n\n<ng-template #headerTemplate>\n <div class=\"flex items-center justify-between p-3 text-xs border-b-4 border-[var(--vbn-color-primary)]\">\n <button class=\"mr-4\" type=\"button\" (click)=\"onDialogClose($event)\">\n <span class=\"block w-2.5 h-2.5 border-t border-l border-[var(--vbn-color-text)]/70 transform -rotate-45\"></span>\n </button>\n <div class=\"text-center\">\n <h2 class=\"text-sm font-medium\">Select Actor Tag</h2>\n </div>\n <span class=\"font-medium cursor-pointer text-[var(--vbn-color-text)]/70\" (click)=\"onSave()\">Save</span>\n </div>\n</ng-template>\n\n<ng-template #bodyTemplate>\n <div class=\"p-3\">\n <div class=\"mb-4 grid gap-4\">\n <verben-drop-down selectKey=\"Code\" label=\"Tag\" styleClass=\"w-full\" width=\"100%\" [multiselect]=\"false\"\n placeholder=\"Select Tag\" [options]=\"tags\" optionLabel=\"Name\" id=\"tag\" [(ngModel)]=\"selectedTag\"\n class=\"form-control\" [filter]=\"true\" filterBy=\"Name\" [showClear]=\"true\">\n </verben-drop-down>\n\n <div class=\"flex items-center gap-4 mt-4\">\n <label for=\"is-view-only\" class=\"text-sm font-semibold text-[var(--vbn-color-text)]\">\n Is View Only?\n </label>\n <verbena-switch id=\"is-view-only\" onText=\"Yes\" offText=\"No\" [onColor]=\"'var(--vbn-color-text)'\"\n [(ngModel)]=\"isViewOnly\"></verbena-switch>\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #footerTemplate>\n <div class=\"flex justify-between w-full items-center p-4 border-t border-gray-200\">\n <verbena-button (click)=\"onDialogClose($event)\" text=\"Cancel\" styleType=\"ylw-outline\"></verbena-button>\n\n <verbena-button type=\"submit\" text=\"Save\" bgColor=\"var(--vbn-color-primary)\" textColor=\"var(--vbn-color-on-primary)\" borderRadius=\"10px\" pd=\"10px 20px\"\n width=\"114px\" height=\"39px\" [disable]=\"!selectedTag\" (click)=\"onSave()\"></verbena-button>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "component", type: i3.VerbenDialogueComponent, selector: "verben-dialogue", inputs: ["dialogueWidth", "headerTemplate", "bodyTemplate", "footerTemplate", "showCloseIcon", "dismissOutsideClick", "closeOnEscape", "isVisible", "size", "backdropColor", "customClass", "disableFooter", "margin", "padding", "borderRadius", "dialogueBgColor", "width", "closeIconClass", "boxShadow", "enableTransition", "modalData", "mode", "position", "drawerWidth"], outputs: ["openModal", "closeModal"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.VerbenaButtonComponent, selector: "verbena-button", inputs: ["type", "text", "icon", "useIcon", "svgPosition", "iconPosition", "bgColor", "textColor", "border", "borderRadius", "pd", "width", "height", "fontSize", "fontWeight", "disable", "svgSize", "weight", "variant", "styleType", "svg", "svgWidth", "svgHeight", "iconColor", "svgColor", "buttonClass", "buttonTextClass", "isLoading", "spinnerSize", "spinnerColor"] }, { kind: "component", type: i3.DropDownComponent, selector: "verben-drop-down", inputs: ["options", "width", "overlayWidth", "showHorizontalLine", "horizontalLineColor", "optionLabel", "optionSubLabel", "optionValue", "placeholder", "invalidMessage", "errorPosition", "loadMoreCaption", "display", "showClear", "lazyLoad", "selectKey", "styleClass", "group", "multiselect", "filter", "avoidDuplication", "filterBy", "debounceTime", "minChar", "refPageSize", "disabled", "required", "load", "asyncLabel", "search"], outputs: ["optionsChange", "onChange", "onClick", "onClear"] }, { kind: "component", type: i3.VerbenaSwitchComponent, selector: "verbena-switch", inputs: ["label", "checked", "disabled", "offColor", "onColor", "onText", "offText", "width", "height", "customStyles"], outputs: ["change"] }] });
|
|
59
59
|
}
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ActorTagsDialogComponent, decorators: [{
|
|
61
61
|
type: Component,
|
|
62
|
-
args: [{ selector: 'lib-actor-tags-dialog', template: "<verben-dialogue [showCloseIcon]=\"true\" [dismissOutsideClick]=\"true\" [closeOnEscape]=\"true\" [size]=\"'medium'\"\n [mode]=\"'drawer'\" [disableFooter]=\"false\" [isVisible]=\"visible\" [headerTemplate]=\"headerTemplate\"\n [bodyTemplate]=\"bodyTemplate\" [footerTemplate]=\"footerTemplate\" (openModal)=\"onDialogOpen($event)\"\n (closeModal)=\"onDialogClose($event)\">\n</verben-dialogue>\n\n<ng-template #headerTemplate>\n <div class=\"flex items-center justify-between p-3 text-xs border-b-4 border-[
|
|
62
|
+
args: [{ selector: 'lib-actor-tags-dialog', template: "<verben-dialogue [showCloseIcon]=\"true\" [dismissOutsideClick]=\"true\" [closeOnEscape]=\"true\" [size]=\"'medium'\"\n [mode]=\"'drawer'\" [disableFooter]=\"false\" [isVisible]=\"visible\" [headerTemplate]=\"headerTemplate\"\n [bodyTemplate]=\"bodyTemplate\" [footerTemplate]=\"footerTemplate\" (openModal)=\"onDialogOpen($event)\"\n (closeModal)=\"onDialogClose($event)\">\n</verben-dialogue>\n\n<ng-template #headerTemplate>\n <div class=\"flex items-center justify-between p-3 text-xs border-b-4 border-[var(--vbn-color-primary)]\">\n <button class=\"mr-4\" type=\"button\" (click)=\"onDialogClose($event)\">\n <span class=\"block w-2.5 h-2.5 border-t border-l border-[var(--vbn-color-text)]/70 transform -rotate-45\"></span>\n </button>\n <div class=\"text-center\">\n <h2 class=\"text-sm font-medium\">Select Actor Tag</h2>\n </div>\n <span class=\"font-medium cursor-pointer text-[var(--vbn-color-text)]/70\" (click)=\"onSave()\">Save</span>\n </div>\n</ng-template>\n\n<ng-template #bodyTemplate>\n <div class=\"p-3\">\n <div class=\"mb-4 grid gap-4\">\n <verben-drop-down selectKey=\"Code\" label=\"Tag\" styleClass=\"w-full\" width=\"100%\" [multiselect]=\"false\"\n placeholder=\"Select Tag\" [options]=\"tags\" optionLabel=\"Name\" id=\"tag\" [(ngModel)]=\"selectedTag\"\n class=\"form-control\" [filter]=\"true\" filterBy=\"Name\" [showClear]=\"true\">\n </verben-drop-down>\n\n <div class=\"flex items-center gap-4 mt-4\">\n <label for=\"is-view-only\" class=\"text-sm font-semibold text-[var(--vbn-color-text)]\">\n Is View Only?\n </label>\n <verbena-switch id=\"is-view-only\" onText=\"Yes\" offText=\"No\" [onColor]=\"'var(--vbn-color-text)'\"\n [(ngModel)]=\"isViewOnly\"></verbena-switch>\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #footerTemplate>\n <div class=\"flex justify-between w-full items-center p-4 border-t border-gray-200\">\n <verbena-button (click)=\"onDialogClose($event)\" text=\"Cancel\" styleType=\"ylw-outline\"></verbena-button>\n\n <verbena-button type=\"submit\" text=\"Save\" bgColor=\"var(--vbn-color-primary)\" textColor=\"var(--vbn-color-on-primary)\" borderRadius=\"10px\" pd=\"10px 20px\"\n width=\"114px\" height=\"39px\" [disable]=\"!selectedTag\" (click)=\"onSave()\"></verbena-button>\n </div>\n</ng-template>\n" }]
|
|
63
63
|
}], ctorParameters: () => [{ type: i1.WorkflowDataService }, { type: i2.UtilService }], propDecorators: { visible: [{
|
|
64
64
|
type: Input
|
|
65
65
|
}], workflowCode: [{
|
|
@@ -67,4 +67,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
67
67
|
}], closed: [{
|
|
68
68
|
type: Output
|
|
69
69
|
}] } });
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0b3ItdGFncy1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvY29tcG9uZW50cy93b3JrZmxvdy1kZXNpZ25lci9hY3Rvci10YWdzLWRpYWxvZy9hY3Rvci10YWdzLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9jb21wb25lbnRzL3dvcmtmbG93LWRlc2lnbmVyL2FjdG9yLXRhZ3MtZGlhbG9nL2FjdG9yLXRhZ3MtZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVV2QixNQUFNLE9BQU8sd0JBQXdCO0lBVXpCO0lBQ0E7SUFWRCxPQUFPLEdBQVksS0FBSyxDQUFDO0lBQ3pCLFlBQVksR0FBa0IsSUFBSSxDQUFDO0lBQ2xDLE1BQU0sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRXRDLElBQUksR0FBVSxFQUFFLENBQUM7SUFDakIsV0FBVyxHQUFlLElBQUksQ0FBQztJQUMvQixVQUFVLEdBQVksS0FBSyxDQUFDO0lBRTVCLFlBQ1UsV0FBZ0MsRUFDaEMsV0FBd0I7UUFEeEIsZ0JBQVcsR0FBWCxXQUFXLENBQXFCO1FBQ2hDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBQzlCLENBQUM7SUFFTCxRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFTyxRQUFRO1FBQ2QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUN2QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsYUFBYSxDQUFDLFNBQWM7UUFDMUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELFlBQVksQ0FBQyxTQUFjO1FBQ3pCLGdDQUFnQztJQUNsQyxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQzVDLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxRQUFRLEdBQWE7WUFDekIsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSTtZQUMzQixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDM0IsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQzNCLG1GQUFtRjtZQUNuRixrRkFBa0Y7WUFDbEYsa0hBQWtIO1NBQzVHLENBQUM7UUFFVCxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNuRCxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDL0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsK0JBQStCLENBQUMsQ0FBQztZQUM5RCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFNBQVM7UUFDZixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO3dHQXpEVSx3QkFBd0I7NEZBQXhCLHdCQUF3QiwwSkNoQnJDLHEyRUE2Q0E7OzRGRDdCYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0UsdUJBQXVCO2tIQUt4QixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDSSxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdG9yVGFnLCBUYWcgfSBmcm9tICd2ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9tb2RlbHMnO1xuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICd2ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBXb3JrZmxvd0RhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vd29ya2Zsb3ctZGF0YS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWFjdG9yLXRhZ3MtZGlhbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdG9yLXRhZ3MtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2FjdG9yLXRhZ3MtZGlhbG9nLmNvbXBvbmVudC5jc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBBY3RvclRhZ3NEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSB2aXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHdvcmtmbG93Q29kZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIEBPdXRwdXQoKSBjbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgdGFnczogVGFnW10gPSBbXTtcbiAgc2VsZWN0ZWRUYWc6IFRhZyB8IG51bGwgPSBudWxsO1xuICBpc1ZpZXdPbmx5OiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkYXRhU2VydmljZTogV29ya2Zsb3dEYXRhU2VydmljZSxcbiAgICBwcml2YXRlIHV0aWxTZXJ2aWNlOiBVdGlsU2VydmljZVxuICApIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubG9hZFRhZ3MoKTtcbiAgfVxuXG4gIHByaXZhdGUgbG9hZFRhZ3MoKTogdm9pZCB7XG4gICAgdGhpcy5kYXRhU2VydmljZS5nZXRUYWdzKCkudGhlbigoZGF0YSkgPT4ge1xuICAgICAgdGhpcy50YWdzID0gZGF0YS5SZXN1bHQ7XG4gICAgfSk7XG4gIH1cblxuICBvbkRpYWxvZ0Nsb3NlKGV2ZW50RGF0YTogYW55KSB7XG4gICAgdGhpcy5yZXNldEZvcm0oKTtcbiAgICB0aGlzLmNsb3NlZC5lbWl0KCk7XG4gIH1cblxuICBvbkRpYWxvZ09wZW4oZXZlbnREYXRhOiBhbnkpIHtcbiAgICAvLyBjb25zb2xlLmxvZygnRGlhbG9nIG9wZW5lZCcpO1xuICB9XG5cbiAgb25TYXZlKCkge1xuICAgIGlmICghdGhpcy5zZWxlY3RlZFRhZyB8fCAhdGhpcy53b3JrZmxvd0NvZGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBhY3RvclRhZzogQWN0b3JUYWcgPSB7XG4gICAgICBOYW1lOiB0aGlzLnNlbGVjdGVkVGFnLk5hbWUsXG4gICAgICBJc1ZpZXdPbmx5OiB0aGlzLmlzVmlld09ubHksXG4gICAgICBXb3JrZmxvdzogdGhpcy53b3JrZmxvd0NvZGUsXG4gICAgICAvLyBBZGQgcmVxdWlyZWQgQmFzZU1vZGVsIHByb3BlcnRpZXMgaWYgbmVlZGVkLCBvciByZWx5IG9uIGJhY2tlbmQgdG8gZ2VuZXJhdGUgdGhlbVxuICAgICAgLy8gQXNzdW1pbmcgQmFzZU1vZGVsIGhhcyBJZCwgQ3JlYXRlZEF0LCBldGMuIHdoaWNoIG1pZ2h0IGJlIG9wdGlvbmFsIG9yIGdlbmVyYXRlZFxuICAgICAgLy8gRm9yIG5vdywgY2FzdGluZyBhcyBhbnkgdG8gYXZvaWQgc3RyaWN0IHR5cGUgY2hlY2tzIGlmIEJhc2VNb2RlbCBoYXMgbWFuZGF0b3J5IGZpZWxkcyBub3QgcmVsZXZhbnQgZm9yIGNyZWF0aW9uXG4gICAgfSBhcyBhbnk7XG5cbiAgICB0aGlzLmRhdGFTZXJ2aWNlLnNhdmVBY3RvclRhZ3MoW2FjdG9yVGFnXSkudGhlbigoKSA9PiB7XG4gICAgICBjb25zb2xlLmxvZygnQWN0b3IgdGFnIHNhdmVkJyk7XG4gICAgICB0aGlzLnV0aWxTZXJ2aWNlLnNob3dTdWNjZXNzKCdBY3RvciB0YWdzIHNhdmVkIHN1Y2Nlc3NmdWxseScpO1xuICAgICAgdGhpcy5vbkRpYWxvZ0Nsb3NlKG51bGwpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldEZvcm0oKSB7XG4gICAgdGhpcy5zZWxlY3RlZFRhZyA9IG51bGw7XG4gICAgdGhpcy5pc1ZpZXdPbmx5ID0gZmFsc2U7XG4gIH1cbn1cbiIsIjx2ZXJiZW4tZGlhbG9ndWUgW3Nob3dDbG9zZUljb25dPVwidHJ1ZVwiIFtkaXNtaXNzT3V0c2lkZUNsaWNrXT1cInRydWVcIiBbY2xvc2VPbkVzY2FwZV09XCJ0cnVlXCIgW3NpemVdPVwiJ21lZGl1bSdcIlxuICBbbW9kZV09XCInZHJhd2VyJ1wiIFtkaXNhYmxlRm9vdGVyXT1cImZhbHNlXCIgW2lzVmlzaWJsZV09XCJ2aXNpYmxlXCIgW2hlYWRlclRlbXBsYXRlXT1cImhlYWRlclRlbXBsYXRlXCJcbiAgW2JvZHlUZW1wbGF0ZV09XCJib2R5VGVtcGxhdGVcIiBbZm9vdGVyVGVtcGxhdGVdPVwiZm9vdGVyVGVtcGxhdGVcIiAob3Blbk1vZGFsKT1cIm9uRGlhbG9nT3BlbigkZXZlbnQpXCJcbiAgKGNsb3NlTW9kYWwpPVwib25EaWFsb2dDbG9zZSgkZXZlbnQpXCI+XG48L3ZlcmJlbi1kaWFsb2d1ZT5cblxuPG5nLXRlbXBsYXRlICNoZWFkZXJUZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBwLTMgdGV4dC14cyBib3JkZXItYi00IGJvcmRlci1bdmFyKC0tdmJuLWNvbG9yLXByaW1hcnkpXVwiPlxuICAgIDxidXR0b24gY2xhc3M9XCJtci00XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvbkRpYWxvZ0Nsb3NlKCRldmVudClcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiYmxvY2sgdy0yLjUgaC0yLjUgYm9yZGVyLXQgYm9yZGVyLWwgYm9yZGVyLVt2YXIoLS12Ym4tY29sb3ItdGV4dCldLzcwIHRyYW5zZm9ybSAtcm90YXRlLTQ1XCI+PC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPlxuICAgICAgPGgyIGNsYXNzPVwidGV4dC1zbSBmb250LW1lZGl1bVwiPlNlbGVjdCBBY3RvciBUYWc8L2gyPlxuICAgIDwvZGl2PlxuICAgIDxzcGFuIGNsYXNzPVwiZm9udC1tZWRpdW0gY3Vyc29yLXBvaW50ZXIgdGV4dC1bdmFyKC0tdmJuLWNvbG9yLXRleHQpXS83MFwiIChjbGljayk9XCJvblNhdmUoKVwiPlNhdmU8L3NwYW4+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNib2R5VGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJwLTNcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWItNCBncmlkIGdhcC00XCI+XG4gICAgICA8dmVyYmVuLWRyb3AtZG93biBzZWxlY3RLZXk9XCJDb2RlXCIgbGFiZWw9XCJUYWdcIiBzdHlsZUNsYXNzPVwidy1mdWxsXCIgd2lkdGg9XCIxMDAlXCIgW211bHRpc2VsZWN0XT1cImZhbHNlXCJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWxlY3QgVGFnXCIgW29wdGlvbnNdPVwidGFnc1wiIG9wdGlvbkxhYmVsPVwiTmFtZVwiIGlkPVwidGFnXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFRhZ1wiXG4gICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgW2ZpbHRlcl09XCJ0cnVlXCIgZmlsdGVyQnk9XCJOYW1lXCIgW3Nob3dDbGVhcl09XCJ0cnVlXCI+XG4gICAgICA8L3ZlcmJlbi1kcm9wLWRvd24+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtNCBtdC00XCI+XG4gICAgICAgIDxsYWJlbCBmb3I9XCJpcy12aWV3LW9ubHlcIiBjbGFzcz1cInRleHQtc20gZm9udC1zZW1pYm9sZCB0ZXh0LVt2YXIoLS12Ym4tY29sb3ItdGV4dCldXCI+XG4gICAgICAgICAgSXMgVmlldyBPbmx5P1xuICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8dmVyYmVuYS1zd2l0Y2ggaWQ9XCJpcy12aWV3LW9ubHlcIiBvblRleHQ9XCJZZXNcIiBvZmZUZXh0PVwiTm9cIiBbb25Db2xvcl09XCIndmFyKC0tdmJuLWNvbG9yLXRleHQpJ1wiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJpc1ZpZXdPbmx5XCI+PC92ZXJiZW5hLXN3aXRjaD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZm9vdGVyVGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiB3LWZ1bGwgaXRlbXMtY2VudGVyIHAtNCBib3JkZXItdCBib3JkZXItZ3JheS0yMDBcIj5cbiAgICA8dmVyYmVuYS1idXR0b24gKGNsaWNrKT1cIm9uRGlhbG9nQ2xvc2UoJGV2ZW50KVwiIHRleHQ9XCJDYW5jZWxcIiBzdHlsZVR5cGU9XCJ5bHctb3V0bGluZVwiPjwvdmVyYmVuYS1idXR0b24+XG5cbiAgICA8dmVyYmVuYS1idXR0b24gdHlwZT1cInN1Ym1pdFwiIHRleHQ9XCJTYXZlXCIgYmdDb2xvcj1cInZhcigtLXZibi1jb2xvci1wcmltYXJ5KVwiIHRleHRDb2xvcj1cInZhcigtLXZibi1jb2xvci1vbi1wcmltYXJ5KVwiIGJvcmRlclJhZGl1cz1cIjEwcHhcIiBwZD1cIjEwcHggMjBweFwiXG4gICAgICB3aWR0aD1cIjExNHB4XCIgaGVpZ2h0PVwiMzlweFwiIFtkaXNhYmxlXT1cIiFzZWxlY3RlZFRhZ1wiIChjbGljayk9XCJvblNhdmUoKVwiPjwvdmVyYmVuYS1idXR0b24+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|