@fundamental-ngx/platform 0.43.24 → 0.43.25
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/esm2020/approval-flow/approval-flow-add-node/approval-flow-add-node.component.mjs +1 -1
- package/esm2020/approval-flow/approval-flow.component.mjs +1 -1
- package/esm2020/form/combobox/combobox/combobox.component.mjs +2 -3
- package/esm2020/form/form-generator/controls/dynamic-form-generator-multi-input/dynamic-form-generator-multi-input.component.mjs +2 -2
- package/esm2020/form/multi-input/multi-input.component.mjs +6 -4
- package/esm2020/search-field/search-field.component.mjs +3 -3
- package/esm2020/shared/form/collection-base.input.mjs +2 -2
- package/esm2020/smart-filter-bar/components/smart-filter-bar-condition-field/smart-filter-bar-condition-field.component.mjs +1 -1
- package/esm2020/smart-filter-bar/components/smart-filter-bar-settings-dialog/smart-filter-bar-settings-dialog.component.mjs +1 -1
- package/esm2020/table/components/table-cell-header-popover/table-cell-header-popover.component.mjs +5 -3
- package/esm2020/table/components/table-header-row/table-header-row.component.mjs +3 -3
- package/esm2020/table/components/table-p13-dialog/columns/columns.component.mjs +3 -3
- package/esm2020/table/components/table-toolbar/table-toolbar.component.mjs +5 -3
- package/esm2020/table/table.component.mjs +87 -7
- package/esm2020/table-helpers/services/table-column-resize.service.mjs +6 -1
- package/esm2020/upload-collection/upload-collection/upload-collection.component.mjs +1 -1
- package/esm2020/value-help-dialog/value-help-dialog/value-help-dialog.component.mjs +2 -2
- package/esm2020/variant-management/components/manage-variants-dialog/manage-variants-dialog.component.mjs +1 -1
- package/fesm2015/fundamental-ngx-platform-approval-flow.mjs +2 -2
- package/fesm2015/fundamental-ngx-platform-approval-flow.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-form.mjs +7 -6
- package/fesm2015/fundamental-ngx-platform-form.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-search-field.mjs +2 -2
- package/fesm2015/fundamental-ngx-platform-search-field.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-shared.mjs +1 -1
- package/fesm2015/fundamental-ngx-platform-shared.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-smart-filter-bar.mjs +2 -2
- package/fesm2015/fundamental-ngx-platform-smart-filter-bar.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-table-helpers.mjs +5 -0
- package/fesm2015/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-table.mjs +96 -12
- package/fesm2015/fundamental-ngx-platform-table.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-upload-collection.mjs +1 -1
- package/fesm2015/fundamental-ngx-platform-upload-collection.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-value-help-dialog.mjs +2 -2
- package/fesm2015/fundamental-ngx-platform-value-help-dialog.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-variant-management.mjs +1 -1
- package/fesm2015/fundamental-ngx-platform-variant-management.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-approval-flow.mjs +2 -2
- package/fesm2020/fundamental-ngx-platform-approval-flow.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-form.mjs +7 -6
- package/fesm2020/fundamental-ngx-platform-form.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-search-field.mjs +2 -2
- package/fesm2020/fundamental-ngx-platform-search-field.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-shared.mjs +1 -1
- package/fesm2020/fundamental-ngx-platform-shared.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-smart-filter-bar.mjs +2 -2
- package/fesm2020/fundamental-ngx-platform-smart-filter-bar.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-table-helpers.mjs +5 -0
- package/fesm2020/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-table.mjs +96 -12
- package/fesm2020/fundamental-ngx-platform-table.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-upload-collection.mjs +1 -1
- package/fesm2020/fundamental-ngx-platform-upload-collection.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-value-help-dialog.mjs +2 -2
- package/fesm2020/fundamental-ngx-platform-value-help-dialog.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-variant-management.mjs +1 -1
- package/fesm2020/fundamental-ngx-platform-variant-management.mjs.map +1 -1
- package/form/multi-input/multi-input.component.d.ts +3 -1
- package/fundamental-ngx-platform-v0.43.25.tgz +0 -0
- package/package.json +4 -4
- package/schematics/ng-add/index.js +1 -1
- package/table/components/table-cell-header-popover/table-cell-header-popover.component.d.ts +3 -1
- package/table/components/table-toolbar/table-toolbar.component.d.ts +4 -1
- package/table/table.component.d.ts +20 -1
- package/table-helpers/services/table-column-resize.service.d.ts +2 -0
- package/fundamental-ngx-platform-v0.43.24.tgz +0 -0
|
@@ -269,7 +269,7 @@ export class ApprovalFlowAddNodeComponent {
|
|
|
269
269
|
}
|
|
270
270
|
}
|
|
271
271
|
ApprovalFlowAddNodeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ApprovalFlowAddNodeComponent, deps: [{ token: i1.DialogRef }, { token: i2.ApprovalFlowAddNodeViewService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
272
|
-
ApprovalFlowAddNodeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ApprovalFlowAddNodeComponent, selector: "fdp-approval-flow-add-node", host: { classAttribute: "fdp-approval-flow-dialog fdp-approval-flow-add-node" }, ngImport: i0, template: "<fd-dialog fdCompact>\n <fd-dialog-header [class.show-search]=\"_selectMode && !_userToShowDetails\">\n <ng-template fdkTemplate=\"header\">\n <p>\n <ng-container *ngIf=\"!_selectMode && !_data.isEdit\">\n {{ 'platformApprovalFlow.addNodeDialogHeaderAddApprovers' | fdTranslate }}\n </ng-container>\n\n <ng-container *ngIf=\"!_selectMode && _data.isEdit\">\n {{ 'platformApprovalFlow.addNodeDialogHeaderEditApprover' | fdTranslate }}\n </ng-container>\n\n <ng-container *ngIf=\"viewService.isSelectUserMode || viewService.isSelectTeamMode\">\n {{ 'platformApprovalFlow.addNodeDialogHeaderAddApproverTeam' | fdTranslate }}\n </ng-container>\n\n <ng-container *ngIf=\"viewService.isTeamMembersMode\">\n <fd-icon [glyph]=\"_headerArrowGlyph\" (click)=\"_exitTeamMembersMode()\"></fd-icon>\n {{ viewService.team?.name ?? '' }} ({{ viewService.team?.members?.length ?? 0 }})\n </ng-container>\n\n <ng-container *ngIf=\"viewService.isUserDetailsMode\">\n <fd-icon [glyph]=\"_headerArrowGlyph\" (click)=\"_exitUserDetailsMode()\"></fd-icon>\n {{ 'platformApprovalFlow.addNodeDialogHeaderDetail' | fdTranslate }}\n </ng-container>\n </p>\n\n <fdp-search-field\n *ngIf=\"_selectMode && !_userToShowDetails\"\n [placeholder]=\"'platformApprovalFlow.addNodeSearchPlaceholder' | fdTranslate\"\n [suggestions]=\"[]\"\n (inputChange)=\"_onSearchStringChange($event.text)\"\n ></fdp-search-field>\n </ng-template>\n </fd-dialog-header>\n\n <fd-dialog-body [class.fd-dialog__body--auto-height]=\"viewService.isUserDetailsMode\">\n <ng-container *ngIf=\"!_selectMode\">\n <div fd-form-item *ngIf=\"_data.showNodeTypeSelect\">\n <label fd-form-label>\n {{ 'platformApprovalFlow.addNodeDialogNodeType' | fdTranslate }}\n </label>\n\n <fd-select [(value)]=\"_nodeType\">\n <ng-container *ngFor=\"let option of _nodeTypesArray\">\n <ng-container [ngSwitch]=\"option\">\n <li fd-option *ngSwitchCase=\"_nodeTypes.SERIAL\" [value]=\"option\">\n {{ 'platformApprovalFlow.addNodeDialogNodeTypeSerial' | fdTranslate }}\n </li>\n\n <li fd-option *ngSwitchCase=\"_nodeTypes.PARALLEL\" [value]=\"option\">\n {{ 'platformApprovalFlow.addNodeDialogNodeTypeParallel' | fdTranslate }}\n </li>\n </ng-container>\n </ng-container>\n </fd-select>\n </div>\n\n <div fd-form-item>\n <label fd-form-label>\n {{ 'platformApprovalFlow.addNodeDialogApproverType' | fdTranslate }}\n </label>\n\n <fd-select [(value)]=\"_approverType\">\n <ng-container *ngFor=\"let option of _approverTypesArray\">\n <ng-container [ngSwitch]=\"option\">\n <li fd-option *ngSwitchCase=\"_approverTypes.SINGLE_USER\" [value]=\"option\">\n {{ 'platformApprovalFlow.addNodeDialogApproverTypeUser' | fdTranslate }}\n </li>\n\n <li fd-option *ngSwitchCase=\"_approverTypes.ANYONE\" [value]=\"option\">\n {{ 'platformApprovalFlow.addNodeDialogApproverTypeTeamAnyone' | fdTranslate }}\n </li>\n\n <li fd-option *ngSwitchCase=\"_approverTypes.EVERYONE\" [value]=\"option\">\n {{ 'platformApprovalFlow.addNodeDialogApproverTypeTeamEveryone' | fdTranslate }}\n </li>\n </ng-container>\n </ng-container>\n </fd-select>\n </div>\n\n <div fd-form-item>\n <label fd-form-label>{{ 'platformApprovalFlow.addNodeDialogUserOrTeam' | fdTranslate }}</label>\n\n <fd-multi-input\n *ngIf=\"_isSingleUserMode\"\n [showAllButton]=\"false\"\n [dropdownValues]=\"_selectedApprovers\"\n [(ngModel)]=\"_selectedApprovers\"\n [displayFn]=\"_displayUserFn\"\n (openChange)=\"_goToSelectMode()\"\n (selectedChange)=\"_setSelectedApprovers($event)\"\n ></fd-multi-input>\n\n <fd-multi-input\n *ngIf=\"!_isSingleUserMode\"\n [showAllButton]=\"false\"\n [dropdownValues]=\"_selectedTeamArray\"\n [(ngModel)]=\"_selectedTeamArray\"\n [displayFn]=\"_displayTeamFn\"\n (openChange)=\"_goToSelectMode()\"\n ></fd-multi-input>\n </div>\n\n <div *ngIf=\"_nodeType === _nodeTypes.PARALLEL\" fd-form-item>\n <fd-checkbox [(ngModel)]=\"_addToNextSerial\">\n {{ 'platformApprovalFlow.addNodeDialogAddToNext' | fdTranslate }}\n </fd-checkbox>\n </div>\n\n <div *ngIf=\"_checkDueDate\" fd-form-item>\n <label fd-form-label>{{ 'platformApprovalFlow.addNodeDialogDueDate' | fdTranslate }}</label>\n\n <fd-date-picker type=\"single\" [state]=\"!this._dueDate ? 'error' : null\" [(ngModel)]=\"_dueDate\">\n </fd-date-picker>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"_selectMode\">\n <ng-container *ngIf=\"viewService.isSelectTeamMode\">\n <fdp-approval-flow-team-list\n *ngIf=\"!_data.teamDataSource.isDataLoading; else loadingTpl\"\n [isRtl]=\"_data.rtl\"\n [teams]=\"_teams\"\n [selectedTeamId]=\"_selectedTeam?.id\"\n (onTeamClick)=\"_viewTeamMembers($event)\"\n (onTeamRadioClick)=\"_setSelectedTeam($event)\"\n ></fdp-approval-flow-team-list>\n </ng-container>\n\n <ng-container *ngIf=\"viewService.isSelectUserMode || viewService.isTeamMembersMode\">\n <fdp-approval-flow-user-list\n *ngIf=\"viewService.isSelectUserMode || !_data.userDataSource.isDataLoading; else loadingTpl\"\n [users]=\"viewService.isSelectUserMode ? _approvers : _filteredTeamMembers\"\n [isSelectable]=\"viewService.isSelectUserMode\"\n [selectedUsers]=\"_selectedApprovers\"\n (onUserClick)=\"_seeUserDetails($event)\"\n (onSelectionChange)=\"_selectedApprovers = $event\"\n ></fdp-approval-flow-user-list>\n </ng-container>\n\n <fdp-approval-flow-user-details\n *ngIf=\"viewService.isUserDetailsMode && _userToShowDetails\"\n [user]=\"_userToShowDetails\"\n [detailsTemplate]=\"_data.userDetailsTemplate\"\n [details]=\"_userToShowDetailsData$\"\n ></fdp-approval-flow-user-details>\n </ng-container>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <ng-container *ngIf=\"!_selectMode\">\n <fd-dialog-footer-button>\n <button\n fd-button\n fd-dialog-decisive-button\n fdType=\"emphasized\"\n [label]=\"'platformApprovalFlow.addNodeAddActionBtnLabel' | fdTranslate\"\n [disabled]=\"_isMainSubmitButtonDisabled\"\n (click)=\"_submit()\"\n ></button>\n </fd-dialog-footer-button>\n\n <fd-dialog-footer-button>\n <button\n fd-button\n fdkInitialFocus\n fd-dialog-decisive-button\n fdType=\"transparent\"\n [label]=\"'platformApprovalFlow.addNodeCancelActionBtnLabel' | fdTranslate\"\n (click)=\"dialogRef.close()\"\n ></button>\n </fd-dialog-footer-button>\n </ng-container>\n\n <ng-container *ngIf=\"_selectMode\">\n <ng-container *ngIf=\"viewService.isSelectUserMode\">\n <fd-dialog-footer-button>\n <button\n fd-button\n fdType=\"emphasized\"\n [label]=\"'platformApprovalFlow.addNodeSelectApproverActionBtnLabel' | fdTranslate\"\n [disabled]=\"!_selectedApprovers.length\"\n (click)=\"_confirmSelectedApprovers()\"\n ></button>\n </fd-dialog-footer-button>\n\n <fd-dialog-footer-button>\n <button\n fd-button\n fdkInitialFocus\n fdType=\"transparent\"\n [label]=\"'platformApprovalFlow.addNodeCancelApproverSelectionActionBtnLabel' | fdTranslate\"\n (click)=\"_exitSelectMode()\"\n ></button>\n </fd-dialog-footer-button>\n </ng-container>\n\n <ng-container *ngIf=\"viewService.isSelectTeamMode\">\n <fd-dialog-footer-button>\n <button\n fd-button\n fdType=\"emphasized\"\n [label]=\"'platformApprovalFlow.addNodeSelectApproverActionBtnLabel' | fdTranslate\"\n [disabled]=\"!_selectedTeam && !viewService.team\"\n (click)=\"_confirmSelectedTeam()\"\n ></button>\n </fd-dialog-footer-button>\n\n <fd-dialog-footer-button>\n <button\n fd-button\n fdkInitialFocus\n fdType=\"transparent\"\n [label]=\"'platformApprovalFlow.addNodeCancelApproverSelectionActionBtnLabel' | fdTranslate\"\n (click)=\"_exitSelectMode()\"\n ></button>\n </fd-dialog-footer-button>\n </ng-container>\n\n <ng-container *ngIf=\"viewService.isTeamMembersMode\">\n <fd-dialog-footer-button>\n <button\n fd-button\n fdkInitialFocus\n fdType=\"transparent\"\n [label]=\"'platformApprovalFlow.addNodeApproverOrTeamDetailsCloseActionBtnLabel' | fdTranslate\"\n (click)=\"_exitTeamMembersMode()\"\n ></button>\n </fd-dialog-footer-button>\n </ng-container>\n\n <ng-container *ngIf=\"viewService.isUserDetailsMode\">\n <fd-dialog-footer-button>\n <button\n fd-button\n fdkInitialFocus\n fdType=\"transparent\"\n [label]=\"'platformApprovalFlow.addNodeApproverOrTeamDetailsCloseActionBtnLabel' | fdTranslate\"\n (click)=\"_exitUserDetailsMode()\"\n ></button>\n </fd-dialog-footer-button>\n </ng-container>\n </ng-container>\n </fd-dialog-footer>\n</fd-dialog>\n\n<ng-template #loadingTpl>\n <fd-busy-indicator [loading]=\"true\" [block]=\"true\"> </fd-busy-indicator>\n</ng-template>\n", styles: [".fdp-approval-flow-dialog a{color:#0a6ed1;color:var(--sapLinkColor, #0a6ed1)}.fdp-approval-flow-dialog .fd-list--byline .fd-list__byline-left{width:100%}.fdp-approval-flow-dialog fd-popover{width:100%}.fdp-approval-flow-dialog fd-dialog fd-dialog-header{margin-bottom:1rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-header .fd-bar--header{flex-direction:column;padding-bottom:1rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-header p{font-size:1rem;margin:.65rem 0}.fdp-approval-flow-dialog fd-dialog fd-dialog-header p fd-icon{font-size:.875rem;color:#0854a0;color:var(--sapButton_IconColor, #0854a0);position:relative;cursor:pointer;margin-right:.75rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-header.show-search{margin-bottom:0}.fdp-approval-flow-dialog fd-dialog fd-dialog-header.show-search .fd-bar--header{min-height:2.5rem;height:auto}.fdp-approval-flow-dialog fd-dialog fd-avatar{margin-right:.652rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-body{padding:1rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-body fdp-list{display:block;margin-left:-1rem;margin-right:-1rem}.fdp-approval-flow-dialog fd-dialog fdp-standard-list-item .fd-checkbox__label{position:relative;left:.3125rem}.fdp-approval-flow-dialog fd-dialog fdp-standard-list-item fd-avatar{margin-left:.1875rem}.fdp-approval-flow-dialog .fd-form-item{margin-bottom:1rem}[dir=rtl] .fdp-approval-flow-dialog fd-dialog-header p fd-icon,.fdp-approval-flow-dialog[dir=rtl] fd-dialog-header p fd-icon{margin-right:0;margin-left:.75rem}[dir=rtl] .fdp-approval-flow-dialog fd-avatar,.fdp-approval-flow-dialog[dir=rtl] fd-avatar{margin-right:0;margin-left:.652rem}[dir=rtl] .fdp-approval-flow-dialog fdp-standard-list-item .fd-checkbox__label,.fdp-approval-flow-dialog[dir=rtl] fdp-standard-list-item .fd-checkbox__label{left:auto;right:.3125rem}\n", ".fdp-approval-flow-add-node .fd-dialog__body{width:20rem;height:27rem}.fdp-approval-flow-add-node .fd-dialog__body--auto-height{height:auto}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { 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: "directive", type: i5.ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "component", type: i6.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i7.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "component", type: i1.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i1.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i1.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i1.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "component", type: i1.DialogFooterButtonComponent, selector: "fd-dialog-footer-button" }, { kind: "directive", type: i1.DialogDecisiveButtonDirective, selector: "[fd-dialog-decisive-button]" }, { kind: "directive", type: i8.TemplateDirective, selector: "[fdkTemplate], [fdTemplate]", inputs: ["fdkTemplate"] }, { kind: "directive", type: i8.InitialFocusDirective, selector: "[fdkInitialFocus], [fdInitialFocus], [fd-initial-focus]", inputs: ["fdkInitialFocus", "enabled", "focusLastElement"] }, { kind: "component", type: i9.SearchFieldComponent, selector: "fdp-search-field", inputs: ["categoryMode", "appearance", "placeholder", "mobile", "mobileConfig", "disableRefresh", "disableSearch", "suggestions", "dataSource", "inputText", "categories", "currentCategory", "categoryLabel", "hideCategoryLabel", "isLoading", "ariaLabel", "ariaLabelledby", "searchSuggestionMessage", "searchSuggestionNavigateMessage", "forceSearchButton", "disableSuggestionsFoundAnnouncer"], outputs: ["inputChange", "searchSubmit", "cancelSearch", "isOpenChange"] }, { kind: "component", type: i10.MultiInputComponent, selector: "fd-multi-input", inputs: ["placeholder", "disabled", "required", "compactCollapse", "maxHeight", "glyph", "dropdownValues", "openDropdownOnAddOnClicked", "searchTerm", "inputId", "highlight", "selected", "class", "filterFn", "valueFn", "displayFn", "newTokenParseFn", "optionItemIdentifier", "newTokenValidateFn", "ariaLabel", "ariaLabelledBy", "fillControlMode", "state", "buttonFocusable", "allowNewTokens", "mobile", "showAllButton", "bodyMaxWidth", "mobileConfig", "includes", "itemTemplate", "title", "byline", "autoComplete", "open", "displayAddonButton", "tokenHiddenId"], outputs: ["searchTermChange", "selectedChange", "openChange", "addOnButtonClicked", "allItemsSelectedChange"] }, { kind: "component", type: i11.CheckboxComponent, selector: "fd-checkbox", inputs: ["ariaLabel", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "tristate", "tristateSelectable", "labelClass", "required", "values", "standalone"], outputs: ["focusChange"] }, { kind: "component", type: i12.SelectComponent, selector: "fd-select", inputs: ["controlId", "state", "mobile", "stateMessage", "disabled", "required", "readonly", "placeholder", "value", "extendedBodyTemplate", "maxHeight", "glyph", "closeOnOutsideClick", "fillControlMode", "controlTemplate", "appendTo", "unselectMissingOption", "typeaheadDebounceInterval", "ariaLabelledBy", "ariaLabel", "mobileConfig", "inline", "selectControlClass", "selectDropdownButtonClass", "tabOutStrategy", "compareWith"], outputs: ["isOpenChange", "valueChange"] }, { kind: "component", type: i12.OptionComponent, selector: "[fd-option], fd-option", inputs: ["id", "value", "disabled"], outputs: ["selectionChange"] }, { kind: "component", type: i13.DatePickerComponent, selector: "fd-date-picker", inputs: ["type", "placeholder", "inputId", "required", "message", "messageTriggers", "selectedDate", "selectedRangeDate", "startingDayOfWeek", "rangeHoverEffect", "useValidation", "dateInputLabel", "dateRangeInputLabel", "displayCalendarToggleLabel", "valueStateSuccessMessage", "valueStateInformationMessage", "valueStateWarningMessage", "valueStateErrorMessage", "allowNull", "activeView", "placement", "appendTo", "disabled", "closeOnDateChoose", "showTodayButton", "todayButtonLabel", "previousButtonDisableFunction", "nextButtonDisableFunction", "state", "buttonFocusable", "specialDaysRules", "yearGrid", "aggregatedYearGrid", "markWeekends", "showWeekNumbers", "isOpen", "inline", "ariaLabelledBy", "processInputOnBlur", "preventScrollOnFocus", "disableFunction", "disableRangeStartFunction", "disableRangeEndFunction"], outputs: ["isOpenChange", "selectedDateChange", "selectedRangeDateChange", "activeViewChange"] }, { kind: "component", type: i14.BusyIndicatorComponent, selector: "fd-busy-indicator", inputs: ["loading", "size", "block", "ariaLabel", "title", "label", "ariaLive"] }, { kind: "component", type: i15.FormItemComponent, selector: "[fd-form-item]", inputs: ["isInline", "horizontal"] }, { kind: "component", type: i15.FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "checkbox", "radio", "alignLabelEnd", "inlineHelpTitle", "inlineHelpContent", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "inlineHelpLabel", "id"] }, { kind: "component", type: i16.ApprovalFlowUserListComponent, selector: "fdp-approval-flow-user-list", inputs: ["users", "selectedUsers", "isSelectable"], outputs: ["onUserClick", "onSelectionChange"] }, { kind: "component", type: i17.ApprovalFlowUserDetailsComponent, selector: "fdp-approval-flow-user-details", inputs: ["user", "details", "detailsTemplate"] }, { kind: "component", type: i18.ApprovalFlowTeamListComponent, selector: "fdp-approval-flow-team-list", inputs: ["teams", "isRtl", "selectedTeamId"], outputs: ["onTeamClick", "onTeamRadioClick"] }, { kind: "pipe", type: i19.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
272
|
+
ApprovalFlowAddNodeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ApprovalFlowAddNodeComponent, selector: "fdp-approval-flow-add-node", host: { classAttribute: "fdp-approval-flow-dialog fdp-approval-flow-add-node" }, ngImport: i0, template: "<fd-dialog fdCompact>\n <fd-dialog-header [class.show-search]=\"_selectMode && !_userToShowDetails\">\n <ng-template fdkTemplate=\"header\">\n <p>\n <ng-container *ngIf=\"!_selectMode && !_data.isEdit\">\n {{ 'platformApprovalFlow.addNodeDialogHeaderAddApprovers' | fdTranslate }}\n </ng-container>\n\n <ng-container *ngIf=\"!_selectMode && _data.isEdit\">\n {{ 'platformApprovalFlow.addNodeDialogHeaderEditApprover' | fdTranslate }}\n </ng-container>\n\n <ng-container *ngIf=\"viewService.isSelectUserMode || viewService.isSelectTeamMode\">\n {{ 'platformApprovalFlow.addNodeDialogHeaderAddApproverTeam' | fdTranslate }}\n </ng-container>\n\n <ng-container *ngIf=\"viewService.isTeamMembersMode\">\n <fd-icon [glyph]=\"_headerArrowGlyph\" (click)=\"_exitTeamMembersMode()\"></fd-icon>\n {{ viewService.team?.name ?? '' }} ({{ viewService.team?.members?.length ?? 0 }})\n </ng-container>\n\n <ng-container *ngIf=\"viewService.isUserDetailsMode\">\n <fd-icon [glyph]=\"_headerArrowGlyph\" (click)=\"_exitUserDetailsMode()\"></fd-icon>\n {{ 'platformApprovalFlow.addNodeDialogHeaderDetail' | fdTranslate }}\n </ng-container>\n </p>\n\n <fdp-search-field\n *ngIf=\"_selectMode && !_userToShowDetails\"\n [placeholder]=\"'platformApprovalFlow.addNodeSearchPlaceholder' | fdTranslate\"\n [suggestions]=\"[]\"\n (inputChange)=\"_onSearchStringChange($event.text)\"\n ></fdp-search-field>\n </ng-template>\n </fd-dialog-header>\n\n <fd-dialog-body [class.fd-dialog__body--auto-height]=\"viewService.isUserDetailsMode\">\n <ng-container *ngIf=\"!_selectMode\">\n <div fd-form-item *ngIf=\"_data.showNodeTypeSelect\">\n <label fd-form-label>\n {{ 'platformApprovalFlow.addNodeDialogNodeType' | fdTranslate }}\n </label>\n\n <fd-select [(value)]=\"_nodeType\">\n <ng-container *ngFor=\"let option of _nodeTypesArray\">\n <ng-container [ngSwitch]=\"option\">\n <li fd-option *ngSwitchCase=\"_nodeTypes.SERIAL\" [value]=\"option\">\n {{ 'platformApprovalFlow.addNodeDialogNodeTypeSerial' | fdTranslate }}\n </li>\n\n <li fd-option *ngSwitchCase=\"_nodeTypes.PARALLEL\" [value]=\"option\">\n {{ 'platformApprovalFlow.addNodeDialogNodeTypeParallel' | fdTranslate }}\n </li>\n </ng-container>\n </ng-container>\n </fd-select>\n </div>\n\n <div fd-form-item>\n <label fd-form-label>\n {{ 'platformApprovalFlow.addNodeDialogApproverType' | fdTranslate }}\n </label>\n\n <fd-select [(value)]=\"_approverType\">\n <ng-container *ngFor=\"let option of _approverTypesArray\">\n <ng-container [ngSwitch]=\"option\">\n <li fd-option *ngSwitchCase=\"_approverTypes.SINGLE_USER\" [value]=\"option\">\n {{ 'platformApprovalFlow.addNodeDialogApproverTypeUser' | fdTranslate }}\n </li>\n\n <li fd-option *ngSwitchCase=\"_approverTypes.ANYONE\" [value]=\"option\">\n {{ 'platformApprovalFlow.addNodeDialogApproverTypeTeamAnyone' | fdTranslate }}\n </li>\n\n <li fd-option *ngSwitchCase=\"_approverTypes.EVERYONE\" [value]=\"option\">\n {{ 'platformApprovalFlow.addNodeDialogApproverTypeTeamEveryone' | fdTranslate }}\n </li>\n </ng-container>\n </ng-container>\n </fd-select>\n </div>\n\n <div fd-form-item>\n <label fd-form-label>{{ 'platformApprovalFlow.addNodeDialogUserOrTeam' | fdTranslate }}</label>\n\n <fd-multi-input\n *ngIf=\"_isSingleUserMode\"\n [showAllButton]=\"false\"\n [dropdownValues]=\"_selectedApprovers\"\n [(ngModel)]=\"_selectedApprovers\"\n [displayFn]=\"_displayUserFn\"\n (openChange)=\"_goToSelectMode()\"\n (selectedChange)=\"_setSelectedApprovers($event)\"\n ></fd-multi-input>\n\n <fd-multi-input\n *ngIf=\"!_isSingleUserMode\"\n [showAllButton]=\"false\"\n [dropdownValues]=\"_selectedTeamArray\"\n [(ngModel)]=\"_selectedTeamArray\"\n [displayFn]=\"_displayTeamFn\"\n (openChange)=\"_goToSelectMode()\"\n ></fd-multi-input>\n </div>\n\n <div *ngIf=\"_nodeType === _nodeTypes.PARALLEL\" fd-form-item>\n <fd-checkbox [(ngModel)]=\"_addToNextSerial\">\n {{ 'platformApprovalFlow.addNodeDialogAddToNext' | fdTranslate }}\n </fd-checkbox>\n </div>\n\n <div *ngIf=\"_checkDueDate\" fd-form-item>\n <label fd-form-label>{{ 'platformApprovalFlow.addNodeDialogDueDate' | fdTranslate }}</label>\n\n <fd-date-picker type=\"single\" [state]=\"!this._dueDate ? 'error' : null\" [(ngModel)]=\"_dueDate\">\n </fd-date-picker>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"_selectMode\">\n <ng-container *ngIf=\"viewService.isSelectTeamMode\">\n <fdp-approval-flow-team-list\n *ngIf=\"!_data.teamDataSource.isDataLoading; else loadingTpl\"\n [isRtl]=\"_data.rtl\"\n [teams]=\"_teams\"\n [selectedTeamId]=\"_selectedTeam?.id\"\n (onTeamClick)=\"_viewTeamMembers($event)\"\n (onTeamRadioClick)=\"_setSelectedTeam($event)\"\n ></fdp-approval-flow-team-list>\n </ng-container>\n\n <ng-container *ngIf=\"viewService.isSelectUserMode || viewService.isTeamMembersMode\">\n <fdp-approval-flow-user-list\n *ngIf=\"viewService.isSelectUserMode || !_data.userDataSource.isDataLoading; else loadingTpl\"\n [users]=\"viewService.isSelectUserMode ? _approvers : _filteredTeamMembers\"\n [isSelectable]=\"viewService.isSelectUserMode\"\n [selectedUsers]=\"_selectedApprovers\"\n (onUserClick)=\"_seeUserDetails($event)\"\n (onSelectionChange)=\"_selectedApprovers = $event\"\n ></fdp-approval-flow-user-list>\n </ng-container>\n\n <fdp-approval-flow-user-details\n *ngIf=\"viewService.isUserDetailsMode && _userToShowDetails\"\n [user]=\"_userToShowDetails\"\n [detailsTemplate]=\"_data.userDetailsTemplate\"\n [details]=\"_userToShowDetailsData$\"\n ></fdp-approval-flow-user-details>\n </ng-container>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <ng-container *ngIf=\"!_selectMode\">\n <fd-dialog-footer-button>\n <button\n fd-button\n fd-dialog-decisive-button\n fdType=\"emphasized\"\n [label]=\"'platformApprovalFlow.addNodeAddActionBtnLabel' | fdTranslate\"\n [disabled]=\"_isMainSubmitButtonDisabled\"\n (click)=\"_submit()\"\n ></button>\n </fd-dialog-footer-button>\n\n <fd-dialog-footer-button>\n <button\n fd-button\n fdkInitialFocus\n fd-dialog-decisive-button\n fdType=\"transparent\"\n [label]=\"'platformApprovalFlow.addNodeCancelActionBtnLabel' | fdTranslate\"\n (click)=\"dialogRef.close()\"\n ></button>\n </fd-dialog-footer-button>\n </ng-container>\n\n <ng-container *ngIf=\"_selectMode\">\n <ng-container *ngIf=\"viewService.isSelectUserMode\">\n <fd-dialog-footer-button>\n <button\n fd-button\n fdType=\"emphasized\"\n [label]=\"'platformApprovalFlow.addNodeSelectApproverActionBtnLabel' | fdTranslate\"\n [disabled]=\"!_selectedApprovers.length\"\n (click)=\"_confirmSelectedApprovers()\"\n ></button>\n </fd-dialog-footer-button>\n\n <fd-dialog-footer-button>\n <button\n fd-button\n fdkInitialFocus\n fdType=\"transparent\"\n [label]=\"'platformApprovalFlow.addNodeCancelApproverSelectionActionBtnLabel' | fdTranslate\"\n (click)=\"_exitSelectMode()\"\n ></button>\n </fd-dialog-footer-button>\n </ng-container>\n\n <ng-container *ngIf=\"viewService.isSelectTeamMode\">\n <fd-dialog-footer-button>\n <button\n fd-button\n fdType=\"emphasized\"\n [label]=\"'platformApprovalFlow.addNodeSelectApproverActionBtnLabel' | fdTranslate\"\n [disabled]=\"!_selectedTeam && !viewService.team\"\n (click)=\"_confirmSelectedTeam()\"\n ></button>\n </fd-dialog-footer-button>\n\n <fd-dialog-footer-button>\n <button\n fd-button\n fdkInitialFocus\n fdType=\"transparent\"\n [label]=\"'platformApprovalFlow.addNodeCancelApproverSelectionActionBtnLabel' | fdTranslate\"\n (click)=\"_exitSelectMode()\"\n ></button>\n </fd-dialog-footer-button>\n </ng-container>\n\n <ng-container *ngIf=\"viewService.isTeamMembersMode\">\n <fd-dialog-footer-button>\n <button\n fd-button\n fdkInitialFocus\n fdType=\"transparent\"\n [label]=\"'platformApprovalFlow.addNodeApproverOrTeamDetailsCloseActionBtnLabel' | fdTranslate\"\n (click)=\"_exitTeamMembersMode()\"\n ></button>\n </fd-dialog-footer-button>\n </ng-container>\n\n <ng-container *ngIf=\"viewService.isUserDetailsMode\">\n <fd-dialog-footer-button>\n <button\n fd-button\n fdkInitialFocus\n fdType=\"transparent\"\n [label]=\"'platformApprovalFlow.addNodeApproverOrTeamDetailsCloseActionBtnLabel' | fdTranslate\"\n (click)=\"_exitUserDetailsMode()\"\n ></button>\n </fd-dialog-footer-button>\n </ng-container>\n </ng-container>\n </fd-dialog-footer>\n</fd-dialog>\n\n<ng-template #loadingTpl>\n <fd-busy-indicator [loading]=\"true\" [block]=\"true\"> </fd-busy-indicator>\n</ng-template>\n", styles: [".fdp-approval-flow-dialog a{color:#0a6ed1;color:var(--sapLinkColor, #0a6ed1)}.fdp-approval-flow-dialog .fd-list--byline .fd-list__byline-left{width:100%}.fdp-approval-flow-dialog fd-popover{width:100%}.fdp-approval-flow-dialog fd-dialog fd-dialog-header{margin-bottom:1rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-header .fd-bar--header{flex-direction:column;padding-bottom:1rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-header p{font-size:1rem;margin:.65rem 0}.fdp-approval-flow-dialog fd-dialog fd-dialog-header p fd-icon{font-size:.875rem;color:#0854a0;color:var(--sapButton_IconColor, #0854a0);position:relative;cursor:pointer;margin-right:.75rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-header.show-search{margin-bottom:0}.fdp-approval-flow-dialog fd-dialog fd-dialog-header.show-search .fd-bar--header{min-height:2.5rem;height:auto}.fdp-approval-flow-dialog fd-dialog fd-avatar{margin-right:.652rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-body{padding:1rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-body fdp-list{display:block;margin-left:-1rem;margin-right:-1rem}.fdp-approval-flow-dialog fd-dialog fdp-standard-list-item .fd-checkbox__label{position:relative;left:.3125rem}.fdp-approval-flow-dialog fd-dialog fdp-standard-list-item fd-avatar{margin-left:.1875rem}.fdp-approval-flow-dialog .fd-form-item{margin-bottom:1rem}[dir=rtl] .fdp-approval-flow-dialog fd-dialog-header p fd-icon,.fdp-approval-flow-dialog[dir=rtl] fd-dialog-header p fd-icon{margin-right:0;margin-left:.75rem}[dir=rtl] .fdp-approval-flow-dialog fd-avatar,.fdp-approval-flow-dialog[dir=rtl] fd-avatar{margin-right:0;margin-left:.652rem}[dir=rtl] .fdp-approval-flow-dialog fdp-standard-list-item .fd-checkbox__label,.fdp-approval-flow-dialog[dir=rtl] fdp-standard-list-item .fd-checkbox__label{left:auto;right:.3125rem}\n", ".fdp-approval-flow-add-node .fd-dialog__body{width:20rem;height:27rem}.fdp-approval-flow-add-node .fd-dialog__body--auto-height{height:auto}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { 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: "directive", type: i5.ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "component", type: i6.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i7.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "component", type: i1.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i1.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i1.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i1.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "component", type: i1.DialogFooterButtonComponent, selector: "fd-dialog-footer-button" }, { kind: "directive", type: i1.DialogDecisiveButtonDirective, selector: "[fd-dialog-decisive-button]" }, { kind: "directive", type: i8.TemplateDirective, selector: "[fdkTemplate], [fdTemplate]", inputs: ["fdkTemplate"] }, { kind: "directive", type: i8.InitialFocusDirective, selector: "[fdkInitialFocus], [fdInitialFocus], [fd-initial-focus]", inputs: ["fdkInitialFocus", "enabled", "focusLastElement"] }, { kind: "component", type: i9.SearchFieldComponent, selector: "fdp-search-field", inputs: ["categoryMode", "appearance", "placeholder", "mobile", "mobileConfig", "disableRefresh", "disableSearch", "suggestions", "dataSource", "inputText", "categories", "currentCategory", "categoryLabel", "hideCategoryLabel", "isLoading", "ariaLabel", "ariaLabelledby", "searchSuggestionMessage", "searchSuggestionNavigateMessage", "forceSearchButton", "disableSuggestionsFoundAnnouncer"], outputs: ["inputChange", "searchSubmit", "cancelSearch", "isOpenChange"] }, { kind: "component", type: i10.MultiInputComponent, selector: "fd-multi-input", inputs: ["placeholder", "disabled", "required", "compactCollapse", "maxHeight", "glyph", "dropdownValues", "openDropdownOnAddOnClicked", "searchTerm", "inputId", "highlight", "selected", "addonIconTitle", "class", "filterFn", "valueFn", "displayFn", "newTokenParseFn", "optionItemIdentifier", "newTokenValidateFn", "ariaLabel", "ariaLabelledBy", "fillControlMode", "state", "buttonFocusable", "allowNewTokens", "mobile", "showAllButton", "bodyMaxWidth", "mobileConfig", "includes", "itemTemplate", "title", "byline", "autoComplete", "open", "displayAddonButton", "tokenHiddenId"], outputs: ["searchTermChange", "selectedChange", "openChange", "addOnButtonClicked", "allItemsSelectedChange"] }, { kind: "component", type: i11.CheckboxComponent, selector: "fd-checkbox", inputs: ["ariaLabel", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "tristate", "tristateSelectable", "labelClass", "required", "values", "standalone"], outputs: ["focusChange"] }, { kind: "component", type: i12.SelectComponent, selector: "fd-select", inputs: ["controlId", "state", "mobile", "stateMessage", "disabled", "required", "readonly", "placeholder", "value", "extendedBodyTemplate", "maxHeight", "glyph", "closeOnOutsideClick", "fillControlMode", "controlTemplate", "appendTo", "unselectMissingOption", "typeaheadDebounceInterval", "ariaLabelledBy", "ariaLabel", "mobileConfig", "inline", "selectControlClass", "selectDropdownButtonClass", "tabOutStrategy", "compareWith"], outputs: ["isOpenChange", "valueChange"] }, { kind: "component", type: i12.OptionComponent, selector: "[fd-option], fd-option", inputs: ["id", "value", "disabled"], outputs: ["selectionChange"] }, { kind: "component", type: i13.DatePickerComponent, selector: "fd-date-picker", inputs: ["type", "placeholder", "inputId", "required", "message", "messageTriggers", "selectedDate", "selectedRangeDate", "startingDayOfWeek", "rangeHoverEffect", "useValidation", "dateInputLabel", "dateRangeInputLabel", "displayCalendarToggleLabel", "valueStateSuccessMessage", "valueStateInformationMessage", "valueStateWarningMessage", "valueStateErrorMessage", "allowNull", "activeView", "placement", "appendTo", "disabled", "closeOnDateChoose", "showTodayButton", "todayButtonLabel", "previousButtonDisableFunction", "nextButtonDisableFunction", "state", "buttonFocusable", "specialDaysRules", "yearGrid", "aggregatedYearGrid", "markWeekends", "showWeekNumbers", "isOpen", "inline", "ariaLabelledBy", "processInputOnBlur", "preventScrollOnFocus", "disableFunction", "disableRangeStartFunction", "disableRangeEndFunction"], outputs: ["isOpenChange", "selectedDateChange", "selectedRangeDateChange", "activeViewChange"] }, { kind: "component", type: i14.BusyIndicatorComponent, selector: "fd-busy-indicator", inputs: ["loading", "size", "block", "ariaLabel", "title", "label", "ariaLive"] }, { kind: "component", type: i15.FormItemComponent, selector: "[fd-form-item]", inputs: ["isInline", "horizontal"] }, { kind: "component", type: i15.FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "checkbox", "radio", "alignLabelEnd", "inlineHelpTitle", "inlineHelpContent", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "inlineHelpLabel", "id"] }, { kind: "component", type: i16.ApprovalFlowUserListComponent, selector: "fdp-approval-flow-user-list", inputs: ["users", "selectedUsers", "isSelectable"], outputs: ["onUserClick", "onSelectionChange"] }, { kind: "component", type: i17.ApprovalFlowUserDetailsComponent, selector: "fdp-approval-flow-user-details", inputs: ["user", "details", "detailsTemplate"] }, { kind: "component", type: i18.ApprovalFlowTeamListComponent, selector: "fdp-approval-flow-team-list", inputs: ["teams", "isRtl", "selectedTeamId"], outputs: ["onTeamClick", "onTeamRadioClick"] }, { kind: "pipe", type: i19.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
273
273
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ApprovalFlowAddNodeComponent, decorators: [{
|
|
274
274
|
type: Component,
|
|
275
275
|
args: [{ selector: 'fdp-approval-flow-add-node', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
@@ -755,7 +755,7 @@ export class ApprovalFlowComponent {
|
|
|
755
755
|
}
|
|
756
756
|
}
|
|
757
757
|
ApprovalFlowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ApprovalFlowComponent, deps: [{ token: i1.DialogService }, { token: i0.ChangeDetectorRef }, { token: i0.Injector }, { token: DATA_PROVIDERS, optional: true }, { token: i2.RtlService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
758
|
-
ApprovalFlowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ApprovalFlowComponent, selector: "fdp-approval-flow", inputs: { title: "title", value: "value", userDataSource: "userDataSource", watcherDataSource: "watcherDataSource", teamDataSource: "teamDataSource", userDetailsTemplate: "userDetailsTemplate", approvalStatusTemplate: "approvalStatusTemplate", statusColorMapping: "statusColorMapping", checkDueDate: "checkDueDate", dueDateThreshold: "dueDateThreshold", allowSendRemindersForStatuses: "allowSendRemindersForStatuses", isEditAvailable: "isEditAvailable", watchersLabel: "watchersLabel", allowAddParallelNodes: "allowAddParallelNodes", disableSaveButton: "disableSaveButton", disableExitButton: "disableExitButton", usersDataProviderEntityKey: "usersDataProviderEntityKey", teamsDataProviderEntityKey: "teamsDataProviderEntityKey", watchersDataProviderEntityKey: "watchersDataProviderEntityKey" }, outputs: { nodeClick: "nodeClick", afterNodeAdd: "afterNodeAdd", afterNodeEdit: "afterNodeEdit", valueChange: "valueChange", sendReminders: "sendReminders", onDataRequested: "onDataRequested", onDataReceived: "onDataReceived" }, viewQueries: [{ propertyName: "_graphContainerEl", first: true, predicate: ["graphContainerEl"], descendants: true }, { propertyName: "_graphEl", first: true, predicate: ["graphEl"], descendants: true }, { propertyName: "_gridList", first: true, predicate: ["gridList"], descendants: true }, { propertyName: "_nodeComponents", predicate: ApprovalFlowNodeComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container fdCompact>\n <fdp-approval-flow-messages\n [(messages)]=\"_messages\"\n [undoLastActionAvailable]=\"!!_previousApprovalProcess\"\n (undoLastAction)=\"_undoLastAction()\"\n ></fdp-approval-flow-messages>\n\n <fd-grid-list\n #gridList\n class=\"fdp-approval-flow__toolbar\"\n [selectionMode]=\"_isEditMode ? 'multiSelect' : 'none'\"\n (selectionChange)=\"_onNodeSelectionChange($event)\"\n >\n <fd-grid-list-title-bar [title]=\"title || ('platformApprovalFlow.defaultTitle' | fdTranslate)\">\n <fd-grid-list-title-bar-spacer></fd-grid-list-title-bar-spacer>\n\n <fdp-approval-flow-toolbar-actions\n *ngIf=\"isEditAvailable\"\n [graph]=\"_graph\"\n [selectedNodes]=\"_selectedNodes\"\n [graphMetadata]=\"_graphMetadata\"\n [isEditMode]=\"_isEditMode\"\n (enterEditMode)=\"_enterEditMode()\"\n (addNode)=\"_addNode($event.node, $event.target)\"\n (editSelectedNode)=\"_editNode($event)\"\n (deleteSelectedNodes)=\"_deleteSelectedNodes()\"\n ></fdp-approval-flow-toolbar-actions>\n </fd-grid-list-title-bar>\n\n <div\n class=\"fdp-approval-flow__watchers\"\n *ngIf=\"_approvalProcess?.watchers?.length || _isEditMode\"\n [attr.aria-label]=\"watchersLabel\"\n >\n <p class=\"fdp-approval-flow__watchers-title\">\n {{ watchersLabel || ('platformApprovalFlow.defaultWatchersLabel' | fdTranslate) }}\n </p>\n\n <ng-container *ngIf=\"!_isEditMode\">\n <fd-avatar\n *ngFor=\"let watcher of _approvalProcess?.watchers; trackBy: _trackByFn\"\n size=\"xs\"\n [image]=\"watcher.imgUrl || ''\"\n [label]=\"watcher.name\"\n [clickable]=\"true\"\n [circle]=\"true\"\n (avatarClicked)=\"_onWatcherClick(watcher, $event)\"\n ></fd-avatar>\n </ng-container>\n\n <div class=\"fdp-approval-flow__watchers-input-container\" *ngIf=\"_isEditMode\">\n <fd-multi-input\n [dropdownValues]=\"_usersForWatchersList\"\n [placeholder]=\"'platformApprovalFlow.watchersInputPlaceholder' | fdTranslate\"\n [displayFn]=\"_displayUserFn\"\n [valueFn]=\"_userValueFn\"\n [showAllButton]=\"true\"\n [(ngModel)]=\"_selectedWatcherIds\"\n (ngModelChange)=\"_watchersSelectionChanged($event)\"\n ></fd-multi-input>\n </div>\n </div>\n\n <ng-container *ngIf=\"!_graph.errors\">\n <ng-container *ngIf=\"_graph.columns.length; else emptyApprovalFlowGraph\">\n <div\n class=\"fdp-approval-flow__container\"\n [class.fdp-approval-flow__container--extra-padding-start]=\"true\"\n [class.fdp-approval-flow__container--extra-padding-end]=\"true\"\n >\n <div\n class=\"fdp-approval-flow-carousel-controls\"\n *ngIf=\"_scrollDiff > 0\"\n [class.fdp-approval-flow-carousel-controls--edit-mode]=\"_isEditMode\"\n >\n <button\n *ngIf=\"_carouselStepsLeft > 0\"\n class=\"fdp-approval-flow-carousel-controls__button--prev-slide\"\n [attr.aria-label]=\"'platformApprovalFlow.prevButtonAriaLabel' | fdTranslate\"\n (click)=\"nextSlide(-1)\"\n >\n <fd-icon [glyph]=\"'navigation-' + (_rtl ? 'right' : 'left') + '-arrow'\"></fd-icon>\n {{ _carouselStepsLeft }}\n </button>\n\n <button\n *ngIf=\"_carouselStepsRight > 0\"\n class=\"fdp-approval-flow-carousel-controls__button--next-slide\"\n [attr.aria-label]=\"'platformApprovalFlow.nextButtonAriaLabel' | fdTranslate\"\n (click)=\"nextSlide()\"\n >\n {{ _carouselStepsRight }}\n <fd-icon [glyph]=\"'navigation-' + (_rtl ? 'left' : 'right') + '-arrow'\"></fd-icon>\n </button>\n </div>\n\n <div\n class=\"fdp-approval-flow__graph-container\"\n [class.fdp-approval-flow__graph-container--multiple-root-nodes]=\"_multipleRootNodes\"\n [class.fdp-approval-flow__graph-container--multiple-final-nodes]=\"_multipleFinalNodes\"\n [class.fd-scrollbar]=\"true\"\n #graphContainerEl\n >\n <div\n class=\"fdp-approval-flow__graph\"\n #graphEl\n [class.fdp-approval-flow__graph--edit-mode]=\"_isEditMode\"\n >\n <div\n class=\"fdp-approval-flow__graph-column\"\n *ngFor=\"let column of _graph.columns; let columnIndex = index\"\n >\n <fdp-approval-flow-node\n *ngFor=\"let node of column.nodes; let nodeIndex = index; trackBy: _trackByFn\"\n cdkDrag\n #approvalFlowNode\n [cdkDragDisabled]=\"_isCdkDragDisabled(node)\"\n [node]=\"node\"\n [meta]=\"_graphMetadata[node.id]\"\n [isEdit]=\"_isEditMode\"\n [isNextNodeBlank]=\"_isNextNodeBlank(node, columnIndex, nodeIndex)\"\n [checkDueDate]=\"checkDueDate\"\n [dueDateThreshold]=\"dueDateThreshold\"\n [renderArrow]=\"columnIndex > 0\"\n [allNodesInColumnApproved]=\"!!column.allNodesApproved\"\n [approvalStatusTemplate]=\"approvalStatusTemplate\"\n [statusColorMapping]=\"statusColorMapping\"\n (onAdd)=\"_addNode(node, $event)\"\n (onEdit)=\"_editNode(node)\"\n (onDelete)=\"_onNodeDelete(node)\"\n (keydown)=\"_onNodeKeyDown($event, node)\"\n (cdkDragStarted)=\"_dragDropInProgress = true\"\n (cdkDragReleased)=\"_onNodeDrop(node, $event.source)\"\n (cdkDragMoved)=\"_onNodeDragMoved(node)\"\n >\n <!-- Trick with using projection to make grid list items visible for the grid list -->\n <fd-grid-list-item\n type=\"active\"\n [value]=\"node\"\n [selected]=\"!!node.selected\"\n [ariaLabelledBy]=\"approvalFlowNode.approvalFlowNodeId\"\n [disableToolbarClick]=\"true\"\n class=\"fdp-approval-flow__graph-node-inner\"\n [class.fdp-approval-flow__graph-node-inner--edit]=\"_isEditMode\"\n (press)=\"_onNodeClick(node)\"\n >\n <fd-grid-list-item-toolbar>\n <ng-container *ngIf=\"_isEditMode\">\n <ng-container\n [ngTemplateOutlet]=\"approvalFlowNode._overflowMenuButton\"\n ></ng-container>\n </ng-container>\n </fd-grid-list-item-toolbar>\n\n <fd-avatar\n fd-grid-list-item-image\n [image]=\"node.approvers.length === 1 ? node.approvers[0].imgUrl : null\"\n [label]=\"node.approvers.length > 1 ? node.description : null\"\n size=\"xs\"\n [circle]=\"true\"\n ></fd-avatar>\n\n <ng-template fd-grid-list-item-body>\n <ng-container\n [ngTemplateOutlet]=\"approvalFlowNode._nodeContent\"\n ></ng-container>\n </ng-template>\n </fd-grid-list-item>\n </fdp-approval-flow-node>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </fd-grid-list>\n\n <div fd-bar *ngIf=\"_isEditMode\">\n <div fd-bar-right>\n <fd-bar-element>\n <button\n fd-button\n [label]=\"'platformApprovalFlow.editModeSaveButtonLabel' | fdTranslate\"\n fdType=\"emphasized\"\n [disabled]=\"disableSaveButton\"\n (click)=\"_saveEditModeChanges()\"\n ></button>\n </fd-bar-element>\n\n <fd-bar-element>\n <button\n fd-button\n [label]=\"'platformApprovalFlow.editModeExitButtonLabel' | fdTranslate\"\n fdType=\"transparent\"\n [disabled]=\"disableExitButton\"\n (click)=\"_exitEditMode()\"\n ></button>\n </fd-bar-element>\n </div>\n </div>\n\n <ng-template #emptyApprovalFlowGraph>\n <figure fd-illustrated-message type=\"spot\" [svgConfig]=\"_emptyApprovalFlowSpotConfig\">\n <figcaption fd-illustrated-message-figcaption>\n <h3 fd-illustrated-message-title>\n {{ 'platformApprovalFlow.emptyTitle' | fdTranslate }}\n </h3>\n <p fd-illustrated-message-text>\n {{ 'platformApprovalFlow.emptyHint' | fdTranslate }}\n </p>\n </figcaption>\n </figure>\n\n <!-- TODO #5178: Replace with illustrated image component after it gets fixed -->\n <div style=\"display: none\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n id=\"sapIllus-Spot-NoData\"\n >\n <path\n d=\"M41.6179,32.7174H84.6273a1,1,0,0,1,.723.3092l7.2445,7.5824,7.4817,7.8491a1,1,0,0,1,.2761.69l-.0046,55.6069a4.1038,4.1038,0,0,1-.8787,2.1212A4.0564,4.0564,0,0,1,98.1,107.9631l-56.3858.0313a2.6167,2.6167,0,0,1-3.0812-3.2309l-.0152-69.0594Z\"\n class=\"sapIllus_PatternShadow\"\n style=\"fill: var(--sapIllus_PatternShadow)\"\n ></path>\n <path\n d=\"M35.7928,27.4987H78.8022a1,1,0,0,1,.723.3092L86.77,35.39l7.4816,7.8492a1,1,0,0,1,.2762.69l-.0046,55.6069a3,3,0,0,1-3,3H35.808a2.9946,2.9946,0,0,1-3-2.9913c-.01-12.0564-.0423-57.0116-.0152-69.0595A2.9943,2.9943,0,0,1,35.7928,27.4987Z\"\n class=\"sapIllus_ObjectFillColor\"\n style=\"fill: var(--sapIllus_ObjectFillColor)\"\n ></path>\n <path\n d=\"M93.2978,44.5335H78.8208a.9925.9925,0,0,1-.974-1.01V28.5108a.97.97,0,0,1,1.6628-.7143L93.9865,42.8092A1.0151,1.0151,0,0,1,93.2978,44.5335Z\"\n class=\"sapIllus_BrandColorSecondary\"\n style=\"fill: var(--sapIllus_BrandColorSecondary)\"\n ></path>\n <path\n d=\"M104.608,38.9485l5.9157-1.7721c1.32-.3954.7584-2.5258-.5689-2.1282L104.0392,36.82c-1.32.3953-.7584,2.5258.5688,2.1282Z\"\n class=\"sapIllus_Layering1\"\n style=\"fill: var(--sapIllus_Layering1)\"\n ></path>\n <path\n d=\"M85.2973,21.2465l.9718-5.9331c.2154-1.3151-1.777-1.8807-1.9941-.5554l-.9718,5.9332c-.2155,1.3151,1.777,1.8807,1.9941.5553Z\"\n class=\"sapIllus_Layering1\"\n style=\"fill: var(--sapIllus_Layering1)\"\n ></path>\n <path\n d=\"M95.3034,29.0015a1.01,1.01,0,0,1-.6837-.267,1.0783,1.0783,0,0,1-.0864-1.4932l5.9511-6.8857a1.01,1.01,0,0,1,1.4538-.0884,1.0785,1.0785,0,0,1,.0865,1.4932l-5.9511,6.8858A1.0164,1.0164,0,0,1,95.3034,29.0015Z\"\n class=\"sapIllus_Layering1\"\n style=\"fill: var(--sapIllus_Layering1)\"\n ></path>\n <path\n d=\"M94.8747,42.8861,80.0855,27.4623a1.5152,1.5152,0,0,0-1.0885-.4636H35.807a3.509,3.509,0,0,0-3.5146,3.4836c-.0294,13.2857.0137,66.7559.0157,69.0257a3.5076,3.5076,0,0,0,3.5146,3.4894H91.7709a3.5106,3.5106,0,0,0,3.5146-3.4982l.005-55.5785A1.49,1.49,0,0,0,94.8747,42.8861Zm-16.21-14.8355a1.15,1.15,0,0,1,.2561-.0309,1.04,1.04,0,0,1,.51.2134l14.276,14.8837.0194.02a.5891.5891,0,0,1,.0968.6251c-.1016.1764-.4086.24-.69.24L78.8355,44a.6031.6031,0,0,1-.5472-.6131c-.0087-4.9588-.017-9.9015-.0035-14.8689A.5189.5189,0,0,1,78.6646,28.0506Zm13.1062,73.95H35.8188a2.5045,2.5045,0,0,1-2.5107-2.491c-.002-2.2694-.0451-55.74-.0157-69.0248a2.5054,2.5054,0,0,1,2.5107-2.4861H77.3684a1.49,1.49,0,0,0-.0976.5106V43.4934A1.5145,1.5145,0,0,0,78.7894,45H78.92L94.286,47.9749l-.0046,51.5269A2.5074,2.5074,0,0,1,91.7708,102.0006Z\"\n class=\"sapIllus_StrokeDetailColor\"\n style=\"fill: var(--sapIllus_StrokeDetailColor)\"\n ></path>\n </svg>\n </div>\n </ng-template>\n</ng-container>\n", styles: ["/*!\n * Fundamental Library Styles v0.28.3\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-scrollbar{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;overflow:auto;padding:0;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-scrollbar:after,.fd-scrollbar:before{box-sizing:inherit;font-size:inherit}.fd-scrollbar.is-focus,.fd-scrollbar:focus{outline:none;z-index:5}.fd-scrollbar::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-scrollbar::-webkit-scrollbar-corner,.fd-scrollbar::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-scrollbar::-webkit-scrollbar-thumb{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-scrollbar::-webkit-scrollbar-thumb:active,.fd-scrollbar::-webkit-scrollbar-thumb:hover{box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-scrollbar--container::-webkit-scrollbar-corner,.fd-scrollbar--container::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color);border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-scrollbar--container[dir=rtl]::-webkit-scrollbar-corner,.fd-scrollbar--container[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-scrollbar--container::-webkit-scrollbar-corner,[dir=rtl] .fd-scrollbar--container::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fdp-approval-flow__watchers{margin-bottom:.5rem;padding-left:.5rem}.fdp-approval-flow__watchers-title{font-size:.875em;color:#6a6d70;color:var(--sapContent_LabelColor, #6a6d70);margin:1rem 0 .5rem}.fdp-approval-flow__watchers fd-avatar{margin-right:.5rem;cursor:pointer}.fdp-approval-flow__watchers fd-avatar:focus{outline-offset:.0625rem;outline-width:.0625rem;outline-style:dotted;outline-color:var(--sapContent_FocusColor, #0854a0)}.fdp-approval-flow__watchers .fdp-approval-flow__watchers-input-container{width:17.375rem}[dir=rtl] .fdp-approval-flow__watchers,.fdp-approval-flow__watchers[dir=rtl]{padding-right:.5rem}[dir=rtl] .fdp-approval-flow__watchers fd-avatar,.fdp-approval-flow__watchers[dir=rtl] fd-avatar{margin-left:.5rem;margin-right:0}.fdp-approval-flow__container{max-width:100%;position:relative;padding:0 .5rem}.fdp-approval-flow__container--extra-padding-start{padding-left:2rem}.fdp-approval-flow__container--extra-padding-end{padding-right:2rem}[dir=rtl] .fdp-approval-flow__container.fdp-approval-flow__container--extra-padding-start,.fdp-approval-flow__container[dir=rtl].fdp-approval-flow__container--extra-padding-start{padding-left:.5rem;padding-right:2rem}[dir=rtl] .fdp-approval-flow__container.fdp-approval-flow__container--extra-padding-end,.fdp-approval-flow__container[dir=rtl].fdp-approval-flow__container--extra-padding-end{padding-right:.5rem;padding-left:2rem}[dir=rtl] .fdp-approval-flow__container.fdp-approval-flow__container--extra-padding-start.fdp-approval-flow__container--extra-padding-end,.fdp-approval-flow__container[dir=rtl].fdp-approval-flow__container--extra-padding-start.fdp-approval-flow__container--extra-padding-end{padding-right:2rem;padding-left:2rem}.fdp-approval-flow__graph-container{position:relative;overflow:auto;padding-top:.5rem;padding-bottom:2rem;padding-left:2rem}.fdp-approval-flow__graph-container--multiple-root-nodes{padding-left:4rem}[dir=rtl] .fdp-approval-flow__graph-container--multiple-root-nodes,.fdp-approval-flow__graph-container--multiple-root-nodes[dir=rtl]{padding-right:2rem}[dir=rtl] .fdp-approval-flow__graph-container--multiple-final-nodes,.fdp-approval-flow__graph-container--multiple-final-nodes[dir=rtl]{padding-left:0}.fdp-approval-flow-carousel-controls{position:absolute;display:flex;align-items:center;width:100%;height:6.375rem;padding-top:.5rem;left:0}.fdp-approval-flow-carousel-controls--edit-mode{height:8.375rem}.fdp-approval-flow-carousel-controls__button--prev-slide,.fdp-approval-flow-carousel-controls__button--next-slide{position:absolute;border:none;background:transparent;color:#6a6d70;color:var(--sapContent_LabelColor, #6a6d70);display:flex;justify-content:space-between;width:2rem;align-items:center;cursor:pointer}.fdp-approval-flow-carousel-controls__button--prev-slide fd-icon,.fdp-approval-flow-carousel-controls__button--next-slide fd-icon{font-size:.875rem;color:#0854a0;color:var(--sapButton_IconColor, #0854a0);position:relative;top:.0625rem}.fdp-approval-flow-carousel-controls__button--prev-slide{left:0}[dir=rtl] .fdp-approval-flow-carousel-controls__button--prev-slide,.fdp-approval-flow-carousel-controls__button--prev-slide[dir=rtl]{left:auto;right:0}.fdp-approval-flow-carousel-controls__button--next-slide{right:0}[dir=rtl] .fdp-approval-flow-carousel-controls__button--next-slide,.fdp-approval-flow-carousel-controls__button--next-slide[dir=rtl]{left:0;right:auto}.fdp-approval-flow__graph{display:flex;align-items:flex-start;position:relative;left:0;transition:left .3s}.fdp-approval-flow__graph-column{margin-right:4rem;position:relative}[dir=rtl] .fdp-approval-flow__graph-column:first-child,.fdp-approval-flow__graph-column[dir=rtl]:first-child{margin-right:2rem}.fdp-approval-flow__graph fdp-approval-flow-node+fdp-approval-flow-node:not(:last-child){margin-bottom:1rem}.fdp-approval-flow__graph .fdp-approval-flow__graph-node-inner{padding:0}.fdp-approval-flow__graph .fdp-approval-flow__graph-node-inner .fd-grid-list__item-toolbar .fd-toolbar--extra-content{margin-left:auto}[dir=rtl] .fdp-approval-flow__graph .fdp-approval-flow__graph-node-inner .fd-grid-list__item-toolbar .fd-toolbar--extra-content,.fdp-approval-flow__graph .fdp-approval-flow__graph-node-inner .fd-grid-list__item-toolbar .fd-toolbar--extra-content[dir=rtl]{margin-left:0;margin-right:auto}.fdp-approval-flow__graph .fdp-approval-flow__graph-node-inner .fd-grid-list__item-toolbar .fd-toolbar--actions{display:none}.fdp-approval-flow__graph .fdp-approval-flow__graph-node-inner:not(.fdp-approval-flow__graph .fdp-approval-flow__graph-node-inner--edit) .fd-toolbar.fd-grid-list__item-toolbar{display:none}.cdk-overlay-container{z-index:1002!important}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { 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: i5.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "random", "clickable", "backgroundImage", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: i6.BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size"] }, { kind: "directive", type: i6.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "directive", type: i6.BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth", "isTitle"] }, { kind: "directive", type: i7.ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "component", type: i8.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i9.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "component", type: i10.GridListComponent, selector: "fd-grid-list", inputs: ["id", "width", "ariaLabel", "selectionMode", "layoutPattern"], outputs: ["selectionChange"] }, { kind: "component", type: i10.GridListItemComponent, selector: "fd-grid-list-item", inputs: ["id", "width", "layoutItemPattern", "status", "counter", "value", "disableToolbarClick", "selected", "noPadding", "ariaLabel", "ariaLabelledBy", "type", "state", "isNavigated", "title", "description"], outputs: ["press", "detail", "delete", "navigate", "draft", "locked"] }, { kind: "component", type: i10.GridListTitleBarComponent, selector: "fd-grid-list-title-bar", inputs: ["title"] }, { kind: "component", type: i10.GridListItemToolbarComponent, selector: "fd-grid-list-item-toolbar" }, { kind: "component", type: i10.GridListTitleBarSpacerComponent, selector: "fd-grid-list-title-bar-spacer" }, { kind: "directive", type: i10.GridListItemImageDirective, selector: "[fd-grid-list-item-image]" }, { kind: "directive", type: i10.GridListItemBodyDirective, selector: "[fd-grid-list-item-body]" }, { kind: "component", type: i11.MultiInputComponent, selector: "fd-multi-input", inputs: ["placeholder", "disabled", "required", "compactCollapse", "maxHeight", "glyph", "dropdownValues", "openDropdownOnAddOnClicked", "searchTerm", "inputId", "highlight", "selected", "class", "filterFn", "valueFn", "displayFn", "newTokenParseFn", "optionItemIdentifier", "newTokenValidateFn", "ariaLabel", "ariaLabelledBy", "fillControlMode", "state", "buttonFocusable", "allowNewTokens", "mobile", "showAllButton", "bodyMaxWidth", "mobileConfig", "includes", "itemTemplate", "title", "byline", "autoComplete", "open", "displayAddonButton", "tokenHiddenId"], outputs: ["searchTermChange", "selectedChange", "openChange", "addOnButtonClicked", "allItemsSelectedChange"] }, { kind: "directive", type: i12.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i13.IllustratedMessageComponent, selector: "[fd-illustrated-message]", inputs: ["type", "svgConfig", "noSvg", "id", "class"] }, { kind: "component", type: i13.IllustratedMessageFigcaptionComponent, selector: "[fd-illustrated-message-figcaption]" }, { kind: "directive", type: i13.IllustratedMessageTextDirective, selector: "[fd-illustrated-message-text]" }, { kind: "directive", type: i13.IllustratedMessageTitleDirective, selector: "[fd-illustrated-message-title]" }, { kind: "component", type: i14.ApprovalFlowNodeComponent, selector: "fdp-approval-flow-node", inputs: ["node", "meta", "renderArrow", "checkDueDate", "dueDateThreshold", "allNodesInColumnApproved", "approvalStatusTemplate", "statusColorMapping", "isEdit", "isNextNodeBlank"], outputs: ["onAdd", "onEdit", "onDelete"] }, { kind: "component", type: i15.ApprovalFlowMessagesComponent, selector: "fdp-approval-flow-messages", inputs: ["messages", "undoLastActionAvailable"], outputs: ["messagesChange", "undoLastAction"] }, { kind: "component", type: i16.ApprovalFlowToolbarActionsComponent, selector: "fdp-approval-flow-toolbar-actions", inputs: ["graph", "graphMetadata", "selectedNodes", "isEditMode"], outputs: ["enterEditMode", "addNode", "editSelectedNode", "deleteSelectedNodes"] }, { kind: "pipe", type: i17.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
758
|
+
ApprovalFlowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ApprovalFlowComponent, selector: "fdp-approval-flow", inputs: { title: "title", value: "value", userDataSource: "userDataSource", watcherDataSource: "watcherDataSource", teamDataSource: "teamDataSource", userDetailsTemplate: "userDetailsTemplate", approvalStatusTemplate: "approvalStatusTemplate", statusColorMapping: "statusColorMapping", checkDueDate: "checkDueDate", dueDateThreshold: "dueDateThreshold", allowSendRemindersForStatuses: "allowSendRemindersForStatuses", isEditAvailable: "isEditAvailable", watchersLabel: "watchersLabel", allowAddParallelNodes: "allowAddParallelNodes", disableSaveButton: "disableSaveButton", disableExitButton: "disableExitButton", usersDataProviderEntityKey: "usersDataProviderEntityKey", teamsDataProviderEntityKey: "teamsDataProviderEntityKey", watchersDataProviderEntityKey: "watchersDataProviderEntityKey" }, outputs: { nodeClick: "nodeClick", afterNodeAdd: "afterNodeAdd", afterNodeEdit: "afterNodeEdit", valueChange: "valueChange", sendReminders: "sendReminders", onDataRequested: "onDataRequested", onDataReceived: "onDataReceived" }, viewQueries: [{ propertyName: "_graphContainerEl", first: true, predicate: ["graphContainerEl"], descendants: true }, { propertyName: "_graphEl", first: true, predicate: ["graphEl"], descendants: true }, { propertyName: "_gridList", first: true, predicate: ["gridList"], descendants: true }, { propertyName: "_nodeComponents", predicate: ApprovalFlowNodeComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container fdCompact>\n <fdp-approval-flow-messages\n [(messages)]=\"_messages\"\n [undoLastActionAvailable]=\"!!_previousApprovalProcess\"\n (undoLastAction)=\"_undoLastAction()\"\n ></fdp-approval-flow-messages>\n\n <fd-grid-list\n #gridList\n class=\"fdp-approval-flow__toolbar\"\n [selectionMode]=\"_isEditMode ? 'multiSelect' : 'none'\"\n (selectionChange)=\"_onNodeSelectionChange($event)\"\n >\n <fd-grid-list-title-bar [title]=\"title || ('platformApprovalFlow.defaultTitle' | fdTranslate)\">\n <fd-grid-list-title-bar-spacer></fd-grid-list-title-bar-spacer>\n\n <fdp-approval-flow-toolbar-actions\n *ngIf=\"isEditAvailable\"\n [graph]=\"_graph\"\n [selectedNodes]=\"_selectedNodes\"\n [graphMetadata]=\"_graphMetadata\"\n [isEditMode]=\"_isEditMode\"\n (enterEditMode)=\"_enterEditMode()\"\n (addNode)=\"_addNode($event.node, $event.target)\"\n (editSelectedNode)=\"_editNode($event)\"\n (deleteSelectedNodes)=\"_deleteSelectedNodes()\"\n ></fdp-approval-flow-toolbar-actions>\n </fd-grid-list-title-bar>\n\n <div\n class=\"fdp-approval-flow__watchers\"\n *ngIf=\"_approvalProcess?.watchers?.length || _isEditMode\"\n [attr.aria-label]=\"watchersLabel\"\n >\n <p class=\"fdp-approval-flow__watchers-title\">\n {{ watchersLabel || ('platformApprovalFlow.defaultWatchersLabel' | fdTranslate) }}\n </p>\n\n <ng-container *ngIf=\"!_isEditMode\">\n <fd-avatar\n *ngFor=\"let watcher of _approvalProcess?.watchers; trackBy: _trackByFn\"\n size=\"xs\"\n [image]=\"watcher.imgUrl || ''\"\n [label]=\"watcher.name\"\n [clickable]=\"true\"\n [circle]=\"true\"\n (avatarClicked)=\"_onWatcherClick(watcher, $event)\"\n ></fd-avatar>\n </ng-container>\n\n <div class=\"fdp-approval-flow__watchers-input-container\" *ngIf=\"_isEditMode\">\n <fd-multi-input\n [dropdownValues]=\"_usersForWatchersList\"\n [placeholder]=\"'platformApprovalFlow.watchersInputPlaceholder' | fdTranslate\"\n [displayFn]=\"_displayUserFn\"\n [valueFn]=\"_userValueFn\"\n [showAllButton]=\"true\"\n [(ngModel)]=\"_selectedWatcherIds\"\n (ngModelChange)=\"_watchersSelectionChanged($event)\"\n ></fd-multi-input>\n </div>\n </div>\n\n <ng-container *ngIf=\"!_graph.errors\">\n <ng-container *ngIf=\"_graph.columns.length; else emptyApprovalFlowGraph\">\n <div\n class=\"fdp-approval-flow__container\"\n [class.fdp-approval-flow__container--extra-padding-start]=\"true\"\n [class.fdp-approval-flow__container--extra-padding-end]=\"true\"\n >\n <div\n class=\"fdp-approval-flow-carousel-controls\"\n *ngIf=\"_scrollDiff > 0\"\n [class.fdp-approval-flow-carousel-controls--edit-mode]=\"_isEditMode\"\n >\n <button\n *ngIf=\"_carouselStepsLeft > 0\"\n class=\"fdp-approval-flow-carousel-controls__button--prev-slide\"\n [attr.aria-label]=\"'platformApprovalFlow.prevButtonAriaLabel' | fdTranslate\"\n (click)=\"nextSlide(-1)\"\n >\n <fd-icon [glyph]=\"'navigation-' + (_rtl ? 'right' : 'left') + '-arrow'\"></fd-icon>\n {{ _carouselStepsLeft }}\n </button>\n\n <button\n *ngIf=\"_carouselStepsRight > 0\"\n class=\"fdp-approval-flow-carousel-controls__button--next-slide\"\n [attr.aria-label]=\"'platformApprovalFlow.nextButtonAriaLabel' | fdTranslate\"\n (click)=\"nextSlide()\"\n >\n {{ _carouselStepsRight }}\n <fd-icon [glyph]=\"'navigation-' + (_rtl ? 'left' : 'right') + '-arrow'\"></fd-icon>\n </button>\n </div>\n\n <div\n class=\"fdp-approval-flow__graph-container\"\n [class.fdp-approval-flow__graph-container--multiple-root-nodes]=\"_multipleRootNodes\"\n [class.fdp-approval-flow__graph-container--multiple-final-nodes]=\"_multipleFinalNodes\"\n [class.fd-scrollbar]=\"true\"\n #graphContainerEl\n >\n <div\n class=\"fdp-approval-flow__graph\"\n #graphEl\n [class.fdp-approval-flow__graph--edit-mode]=\"_isEditMode\"\n >\n <div\n class=\"fdp-approval-flow__graph-column\"\n *ngFor=\"let column of _graph.columns; let columnIndex = index\"\n >\n <fdp-approval-flow-node\n *ngFor=\"let node of column.nodes; let nodeIndex = index; trackBy: _trackByFn\"\n cdkDrag\n #approvalFlowNode\n [cdkDragDisabled]=\"_isCdkDragDisabled(node)\"\n [node]=\"node\"\n [meta]=\"_graphMetadata[node.id]\"\n [isEdit]=\"_isEditMode\"\n [isNextNodeBlank]=\"_isNextNodeBlank(node, columnIndex, nodeIndex)\"\n [checkDueDate]=\"checkDueDate\"\n [dueDateThreshold]=\"dueDateThreshold\"\n [renderArrow]=\"columnIndex > 0\"\n [allNodesInColumnApproved]=\"!!column.allNodesApproved\"\n [approvalStatusTemplate]=\"approvalStatusTemplate\"\n [statusColorMapping]=\"statusColorMapping\"\n (onAdd)=\"_addNode(node, $event)\"\n (onEdit)=\"_editNode(node)\"\n (onDelete)=\"_onNodeDelete(node)\"\n (keydown)=\"_onNodeKeyDown($event, node)\"\n (cdkDragStarted)=\"_dragDropInProgress = true\"\n (cdkDragReleased)=\"_onNodeDrop(node, $event.source)\"\n (cdkDragMoved)=\"_onNodeDragMoved(node)\"\n >\n <!-- Trick with using projection to make grid list items visible for the grid list -->\n <fd-grid-list-item\n type=\"active\"\n [value]=\"node\"\n [selected]=\"!!node.selected\"\n [ariaLabelledBy]=\"approvalFlowNode.approvalFlowNodeId\"\n [disableToolbarClick]=\"true\"\n class=\"fdp-approval-flow__graph-node-inner\"\n [class.fdp-approval-flow__graph-node-inner--edit]=\"_isEditMode\"\n (press)=\"_onNodeClick(node)\"\n >\n <fd-grid-list-item-toolbar>\n <ng-container *ngIf=\"_isEditMode\">\n <ng-container\n [ngTemplateOutlet]=\"approvalFlowNode._overflowMenuButton\"\n ></ng-container>\n </ng-container>\n </fd-grid-list-item-toolbar>\n\n <fd-avatar\n fd-grid-list-item-image\n [image]=\"node.approvers.length === 1 ? node.approvers[0].imgUrl : null\"\n [label]=\"node.approvers.length > 1 ? node.description : null\"\n size=\"xs\"\n [circle]=\"true\"\n ></fd-avatar>\n\n <ng-template fd-grid-list-item-body>\n <ng-container\n [ngTemplateOutlet]=\"approvalFlowNode._nodeContent\"\n ></ng-container>\n </ng-template>\n </fd-grid-list-item>\n </fdp-approval-flow-node>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </fd-grid-list>\n\n <div fd-bar *ngIf=\"_isEditMode\">\n <div fd-bar-right>\n <fd-bar-element>\n <button\n fd-button\n [label]=\"'platformApprovalFlow.editModeSaveButtonLabel' | fdTranslate\"\n fdType=\"emphasized\"\n [disabled]=\"disableSaveButton\"\n (click)=\"_saveEditModeChanges()\"\n ></button>\n </fd-bar-element>\n\n <fd-bar-element>\n <button\n fd-button\n [label]=\"'platformApprovalFlow.editModeExitButtonLabel' | fdTranslate\"\n fdType=\"transparent\"\n [disabled]=\"disableExitButton\"\n (click)=\"_exitEditMode()\"\n ></button>\n </fd-bar-element>\n </div>\n </div>\n\n <ng-template #emptyApprovalFlowGraph>\n <figure fd-illustrated-message type=\"spot\" [svgConfig]=\"_emptyApprovalFlowSpotConfig\">\n <figcaption fd-illustrated-message-figcaption>\n <h3 fd-illustrated-message-title>\n {{ 'platformApprovalFlow.emptyTitle' | fdTranslate }}\n </h3>\n <p fd-illustrated-message-text>\n {{ 'platformApprovalFlow.emptyHint' | fdTranslate }}\n </p>\n </figcaption>\n </figure>\n\n <!-- TODO #5178: Replace with illustrated image component after it gets fixed -->\n <div style=\"display: none\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n id=\"sapIllus-Spot-NoData\"\n >\n <path\n d=\"M41.6179,32.7174H84.6273a1,1,0,0,1,.723.3092l7.2445,7.5824,7.4817,7.8491a1,1,0,0,1,.2761.69l-.0046,55.6069a4.1038,4.1038,0,0,1-.8787,2.1212A4.0564,4.0564,0,0,1,98.1,107.9631l-56.3858.0313a2.6167,2.6167,0,0,1-3.0812-3.2309l-.0152-69.0594Z\"\n class=\"sapIllus_PatternShadow\"\n style=\"fill: var(--sapIllus_PatternShadow)\"\n ></path>\n <path\n d=\"M35.7928,27.4987H78.8022a1,1,0,0,1,.723.3092L86.77,35.39l7.4816,7.8492a1,1,0,0,1,.2762.69l-.0046,55.6069a3,3,0,0,1-3,3H35.808a2.9946,2.9946,0,0,1-3-2.9913c-.01-12.0564-.0423-57.0116-.0152-69.0595A2.9943,2.9943,0,0,1,35.7928,27.4987Z\"\n class=\"sapIllus_ObjectFillColor\"\n style=\"fill: var(--sapIllus_ObjectFillColor)\"\n ></path>\n <path\n d=\"M93.2978,44.5335H78.8208a.9925.9925,0,0,1-.974-1.01V28.5108a.97.97,0,0,1,1.6628-.7143L93.9865,42.8092A1.0151,1.0151,0,0,1,93.2978,44.5335Z\"\n class=\"sapIllus_BrandColorSecondary\"\n style=\"fill: var(--sapIllus_BrandColorSecondary)\"\n ></path>\n <path\n d=\"M104.608,38.9485l5.9157-1.7721c1.32-.3954.7584-2.5258-.5689-2.1282L104.0392,36.82c-1.32.3953-.7584,2.5258.5688,2.1282Z\"\n class=\"sapIllus_Layering1\"\n style=\"fill: var(--sapIllus_Layering1)\"\n ></path>\n <path\n d=\"M85.2973,21.2465l.9718-5.9331c.2154-1.3151-1.777-1.8807-1.9941-.5554l-.9718,5.9332c-.2155,1.3151,1.777,1.8807,1.9941.5553Z\"\n class=\"sapIllus_Layering1\"\n style=\"fill: var(--sapIllus_Layering1)\"\n ></path>\n <path\n d=\"M95.3034,29.0015a1.01,1.01,0,0,1-.6837-.267,1.0783,1.0783,0,0,1-.0864-1.4932l5.9511-6.8857a1.01,1.01,0,0,1,1.4538-.0884,1.0785,1.0785,0,0,1,.0865,1.4932l-5.9511,6.8858A1.0164,1.0164,0,0,1,95.3034,29.0015Z\"\n class=\"sapIllus_Layering1\"\n style=\"fill: var(--sapIllus_Layering1)\"\n ></path>\n <path\n d=\"M94.8747,42.8861,80.0855,27.4623a1.5152,1.5152,0,0,0-1.0885-.4636H35.807a3.509,3.509,0,0,0-3.5146,3.4836c-.0294,13.2857.0137,66.7559.0157,69.0257a3.5076,3.5076,0,0,0,3.5146,3.4894H91.7709a3.5106,3.5106,0,0,0,3.5146-3.4982l.005-55.5785A1.49,1.49,0,0,0,94.8747,42.8861Zm-16.21-14.8355a1.15,1.15,0,0,1,.2561-.0309,1.04,1.04,0,0,1,.51.2134l14.276,14.8837.0194.02a.5891.5891,0,0,1,.0968.6251c-.1016.1764-.4086.24-.69.24L78.8355,44a.6031.6031,0,0,1-.5472-.6131c-.0087-4.9588-.017-9.9015-.0035-14.8689A.5189.5189,0,0,1,78.6646,28.0506Zm13.1062,73.95H35.8188a2.5045,2.5045,0,0,1-2.5107-2.491c-.002-2.2694-.0451-55.74-.0157-69.0248a2.5054,2.5054,0,0,1,2.5107-2.4861H77.3684a1.49,1.49,0,0,0-.0976.5106V43.4934A1.5145,1.5145,0,0,0,78.7894,45H78.92L94.286,47.9749l-.0046,51.5269A2.5074,2.5074,0,0,1,91.7708,102.0006Z\"\n class=\"sapIllus_StrokeDetailColor\"\n style=\"fill: var(--sapIllus_StrokeDetailColor)\"\n ></path>\n </svg>\n </div>\n </ng-template>\n</ng-container>\n", styles: ["/*!\n * Fundamental Library Styles v0.28.3\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-scrollbar{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;overflow:auto;padding:0;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-scrollbar:after,.fd-scrollbar:before{box-sizing:inherit;font-size:inherit}.fd-scrollbar.is-focus,.fd-scrollbar:focus{outline:none;z-index:5}.fd-scrollbar::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-scrollbar::-webkit-scrollbar-corner,.fd-scrollbar::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-scrollbar::-webkit-scrollbar-thumb{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-scrollbar::-webkit-scrollbar-thumb:active,.fd-scrollbar::-webkit-scrollbar-thumb:hover{box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-scrollbar--container::-webkit-scrollbar-corner,.fd-scrollbar--container::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color);border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-scrollbar--container[dir=rtl]::-webkit-scrollbar-corner,.fd-scrollbar--container[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-scrollbar--container::-webkit-scrollbar-corner,[dir=rtl] .fd-scrollbar--container::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fdp-approval-flow__watchers{margin-bottom:.5rem;padding-left:.5rem}.fdp-approval-flow__watchers-title{font-size:.875em;color:#6a6d70;color:var(--sapContent_LabelColor, #6a6d70);margin:1rem 0 .5rem}.fdp-approval-flow__watchers fd-avatar{margin-right:.5rem;cursor:pointer}.fdp-approval-flow__watchers fd-avatar:focus{outline-offset:.0625rem;outline-width:.0625rem;outline-style:dotted;outline-color:var(--sapContent_FocusColor, #0854a0)}.fdp-approval-flow__watchers .fdp-approval-flow__watchers-input-container{width:17.375rem}[dir=rtl] .fdp-approval-flow__watchers,.fdp-approval-flow__watchers[dir=rtl]{padding-right:.5rem}[dir=rtl] .fdp-approval-flow__watchers fd-avatar,.fdp-approval-flow__watchers[dir=rtl] fd-avatar{margin-left:.5rem;margin-right:0}.fdp-approval-flow__container{max-width:100%;position:relative;padding:0 .5rem}.fdp-approval-flow__container--extra-padding-start{padding-left:2rem}.fdp-approval-flow__container--extra-padding-end{padding-right:2rem}[dir=rtl] .fdp-approval-flow__container.fdp-approval-flow__container--extra-padding-start,.fdp-approval-flow__container[dir=rtl].fdp-approval-flow__container--extra-padding-start{padding-left:.5rem;padding-right:2rem}[dir=rtl] .fdp-approval-flow__container.fdp-approval-flow__container--extra-padding-end,.fdp-approval-flow__container[dir=rtl].fdp-approval-flow__container--extra-padding-end{padding-right:.5rem;padding-left:2rem}[dir=rtl] .fdp-approval-flow__container.fdp-approval-flow__container--extra-padding-start.fdp-approval-flow__container--extra-padding-end,.fdp-approval-flow__container[dir=rtl].fdp-approval-flow__container--extra-padding-start.fdp-approval-flow__container--extra-padding-end{padding-right:2rem;padding-left:2rem}.fdp-approval-flow__graph-container{position:relative;overflow:auto;padding-top:.5rem;padding-bottom:2rem;padding-left:2rem}.fdp-approval-flow__graph-container--multiple-root-nodes{padding-left:4rem}[dir=rtl] .fdp-approval-flow__graph-container--multiple-root-nodes,.fdp-approval-flow__graph-container--multiple-root-nodes[dir=rtl]{padding-right:2rem}[dir=rtl] .fdp-approval-flow__graph-container--multiple-final-nodes,.fdp-approval-flow__graph-container--multiple-final-nodes[dir=rtl]{padding-left:0}.fdp-approval-flow-carousel-controls{position:absolute;display:flex;align-items:center;width:100%;height:6.375rem;padding-top:.5rem;left:0}.fdp-approval-flow-carousel-controls--edit-mode{height:8.375rem}.fdp-approval-flow-carousel-controls__button--prev-slide,.fdp-approval-flow-carousel-controls__button--next-slide{position:absolute;border:none;background:transparent;color:#6a6d70;color:var(--sapContent_LabelColor, #6a6d70);display:flex;justify-content:space-between;width:2rem;align-items:center;cursor:pointer}.fdp-approval-flow-carousel-controls__button--prev-slide fd-icon,.fdp-approval-flow-carousel-controls__button--next-slide fd-icon{font-size:.875rem;color:#0854a0;color:var(--sapButton_IconColor, #0854a0);position:relative;top:.0625rem}.fdp-approval-flow-carousel-controls__button--prev-slide{left:0}[dir=rtl] .fdp-approval-flow-carousel-controls__button--prev-slide,.fdp-approval-flow-carousel-controls__button--prev-slide[dir=rtl]{left:auto;right:0}.fdp-approval-flow-carousel-controls__button--next-slide{right:0}[dir=rtl] .fdp-approval-flow-carousel-controls__button--next-slide,.fdp-approval-flow-carousel-controls__button--next-slide[dir=rtl]{left:0;right:auto}.fdp-approval-flow__graph{display:flex;align-items:flex-start;position:relative;left:0;transition:left .3s}.fdp-approval-flow__graph-column{margin-right:4rem;position:relative}[dir=rtl] .fdp-approval-flow__graph-column:first-child,.fdp-approval-flow__graph-column[dir=rtl]:first-child{margin-right:2rem}.fdp-approval-flow__graph fdp-approval-flow-node+fdp-approval-flow-node:not(:last-child){margin-bottom:1rem}.fdp-approval-flow__graph .fdp-approval-flow__graph-node-inner{padding:0}.fdp-approval-flow__graph .fdp-approval-flow__graph-node-inner .fd-grid-list__item-toolbar .fd-toolbar--extra-content{margin-left:auto}[dir=rtl] .fdp-approval-flow__graph .fdp-approval-flow__graph-node-inner .fd-grid-list__item-toolbar .fd-toolbar--extra-content,.fdp-approval-flow__graph .fdp-approval-flow__graph-node-inner .fd-grid-list__item-toolbar .fd-toolbar--extra-content[dir=rtl]{margin-left:0;margin-right:auto}.fdp-approval-flow__graph .fdp-approval-flow__graph-node-inner .fd-grid-list__item-toolbar .fd-toolbar--actions{display:none}.fdp-approval-flow__graph .fdp-approval-flow__graph-node-inner:not(.fdp-approval-flow__graph .fdp-approval-flow__graph-node-inner--edit) .fd-toolbar.fd-grid-list__item-toolbar{display:none}.cdk-overlay-container{z-index:1002!important}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { 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: i5.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "random", "clickable", "backgroundImage", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: i6.BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size"] }, { kind: "directive", type: i6.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "directive", type: i6.BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth", "isTitle"] }, { kind: "directive", type: i7.ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "component", type: i8.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i9.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "component", type: i10.GridListComponent, selector: "fd-grid-list", inputs: ["id", "width", "ariaLabel", "selectionMode", "layoutPattern"], outputs: ["selectionChange"] }, { kind: "component", type: i10.GridListItemComponent, selector: "fd-grid-list-item", inputs: ["id", "width", "layoutItemPattern", "status", "counter", "value", "disableToolbarClick", "selected", "noPadding", "ariaLabel", "ariaLabelledBy", "type", "state", "isNavigated", "title", "description"], outputs: ["press", "detail", "delete", "navigate", "draft", "locked"] }, { kind: "component", type: i10.GridListTitleBarComponent, selector: "fd-grid-list-title-bar", inputs: ["title"] }, { kind: "component", type: i10.GridListItemToolbarComponent, selector: "fd-grid-list-item-toolbar" }, { kind: "component", type: i10.GridListTitleBarSpacerComponent, selector: "fd-grid-list-title-bar-spacer" }, { kind: "directive", type: i10.GridListItemImageDirective, selector: "[fd-grid-list-item-image]" }, { kind: "directive", type: i10.GridListItemBodyDirective, selector: "[fd-grid-list-item-body]" }, { kind: "component", type: i11.MultiInputComponent, selector: "fd-multi-input", inputs: ["placeholder", "disabled", "required", "compactCollapse", "maxHeight", "glyph", "dropdownValues", "openDropdownOnAddOnClicked", "searchTerm", "inputId", "highlight", "selected", "addonIconTitle", "class", "filterFn", "valueFn", "displayFn", "newTokenParseFn", "optionItemIdentifier", "newTokenValidateFn", "ariaLabel", "ariaLabelledBy", "fillControlMode", "state", "buttonFocusable", "allowNewTokens", "mobile", "showAllButton", "bodyMaxWidth", "mobileConfig", "includes", "itemTemplate", "title", "byline", "autoComplete", "open", "displayAddonButton", "tokenHiddenId"], outputs: ["searchTermChange", "selectedChange", "openChange", "addOnButtonClicked", "allItemsSelectedChange"] }, { kind: "directive", type: i12.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i13.IllustratedMessageComponent, selector: "[fd-illustrated-message]", inputs: ["type", "svgConfig", "noSvg", "id", "class"] }, { kind: "component", type: i13.IllustratedMessageFigcaptionComponent, selector: "[fd-illustrated-message-figcaption]" }, { kind: "directive", type: i13.IllustratedMessageTextDirective, selector: "[fd-illustrated-message-text]" }, { kind: "directive", type: i13.IllustratedMessageTitleDirective, selector: "[fd-illustrated-message-title]" }, { kind: "component", type: i14.ApprovalFlowNodeComponent, selector: "fdp-approval-flow-node", inputs: ["node", "meta", "renderArrow", "checkDueDate", "dueDateThreshold", "allNodesInColumnApproved", "approvalStatusTemplate", "statusColorMapping", "isEdit", "isNextNodeBlank"], outputs: ["onAdd", "onEdit", "onDelete"] }, { kind: "component", type: i15.ApprovalFlowMessagesComponent, selector: "fdp-approval-flow-messages", inputs: ["messages", "undoLastActionAvailable"], outputs: ["messagesChange", "undoLastAction"] }, { kind: "component", type: i16.ApprovalFlowToolbarActionsComponent, selector: "fdp-approval-flow-toolbar-actions", inputs: ["graph", "graphMetadata", "selectedNodes", "isEditMode"], outputs: ["enterEditMode", "addNode", "editSelectedNode", "deleteSelectedNodes"] }, { kind: "pipe", type: i17.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
759
759
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ApprovalFlowComponent, decorators: [{
|
|
760
760
|
type: Component,
|
|
761
761
|
args: [{ selector: 'fdp-approval-flow', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-container fdCompact>\n <fdp-approval-flow-messages\n [(messages)]=\"_messages\"\n [undoLastActionAvailable]=\"!!_previousApprovalProcess\"\n (undoLastAction)=\"_undoLastAction()\"\n ></fdp-approval-flow-messages>\n\n <fd-grid-list\n #gridList\n class=\"fdp-approval-flow__toolbar\"\n [selectionMode]=\"_isEditMode ? 'multiSelect' : 'none'\"\n (selectionChange)=\"_onNodeSelectionChange($event)\"\n >\n <fd-grid-list-title-bar [title]=\"title || ('platformApprovalFlow.defaultTitle' | fdTranslate)\">\n <fd-grid-list-title-bar-spacer></fd-grid-list-title-bar-spacer>\n\n <fdp-approval-flow-toolbar-actions\n *ngIf=\"isEditAvailable\"\n [graph]=\"_graph\"\n [selectedNodes]=\"_selectedNodes\"\n [graphMetadata]=\"_graphMetadata\"\n [isEditMode]=\"_isEditMode\"\n (enterEditMode)=\"_enterEditMode()\"\n (addNode)=\"_addNode($event.node, $event.target)\"\n (editSelectedNode)=\"_editNode($event)\"\n (deleteSelectedNodes)=\"_deleteSelectedNodes()\"\n ></fdp-approval-flow-toolbar-actions>\n </fd-grid-list-title-bar>\n\n <div\n class=\"fdp-approval-flow__watchers\"\n *ngIf=\"_approvalProcess?.watchers?.length || _isEditMode\"\n [attr.aria-label]=\"watchersLabel\"\n >\n <p class=\"fdp-approval-flow__watchers-title\">\n {{ watchersLabel || ('platformApprovalFlow.defaultWatchersLabel' | fdTranslate) }}\n </p>\n\n <ng-container *ngIf=\"!_isEditMode\">\n <fd-avatar\n *ngFor=\"let watcher of _approvalProcess?.watchers; trackBy: _trackByFn\"\n size=\"xs\"\n [image]=\"watcher.imgUrl || ''\"\n [label]=\"watcher.name\"\n [clickable]=\"true\"\n [circle]=\"true\"\n (avatarClicked)=\"_onWatcherClick(watcher, $event)\"\n ></fd-avatar>\n </ng-container>\n\n <div class=\"fdp-approval-flow__watchers-input-container\" *ngIf=\"_isEditMode\">\n <fd-multi-input\n [dropdownValues]=\"_usersForWatchersList\"\n [placeholder]=\"'platformApprovalFlow.watchersInputPlaceholder' | fdTranslate\"\n [displayFn]=\"_displayUserFn\"\n [valueFn]=\"_userValueFn\"\n [showAllButton]=\"true\"\n [(ngModel)]=\"_selectedWatcherIds\"\n (ngModelChange)=\"_watchersSelectionChanged($event)\"\n ></fd-multi-input>\n </div>\n </div>\n\n <ng-container *ngIf=\"!_graph.errors\">\n <ng-container *ngIf=\"_graph.columns.length; else emptyApprovalFlowGraph\">\n <div\n class=\"fdp-approval-flow__container\"\n [class.fdp-approval-flow__container--extra-padding-start]=\"true\"\n [class.fdp-approval-flow__container--extra-padding-end]=\"true\"\n >\n <div\n class=\"fdp-approval-flow-carousel-controls\"\n *ngIf=\"_scrollDiff > 0\"\n [class.fdp-approval-flow-carousel-controls--edit-mode]=\"_isEditMode\"\n >\n <button\n *ngIf=\"_carouselStepsLeft > 0\"\n class=\"fdp-approval-flow-carousel-controls__button--prev-slide\"\n [attr.aria-label]=\"'platformApprovalFlow.prevButtonAriaLabel' | fdTranslate\"\n (click)=\"nextSlide(-1)\"\n >\n <fd-icon [glyph]=\"'navigation-' + (_rtl ? 'right' : 'left') + '-arrow'\"></fd-icon>\n {{ _carouselStepsLeft }}\n </button>\n\n <button\n *ngIf=\"_carouselStepsRight > 0\"\n class=\"fdp-approval-flow-carousel-controls__button--next-slide\"\n [attr.aria-label]=\"'platformApprovalFlow.nextButtonAriaLabel' | fdTranslate\"\n (click)=\"nextSlide()\"\n >\n {{ _carouselStepsRight }}\n <fd-icon [glyph]=\"'navigation-' + (_rtl ? 'left' : 'right') + '-arrow'\"></fd-icon>\n </button>\n </div>\n\n <div\n class=\"fdp-approval-flow__graph-container\"\n [class.fdp-approval-flow__graph-container--multiple-root-nodes]=\"_multipleRootNodes\"\n [class.fdp-approval-flow__graph-container--multiple-final-nodes]=\"_multipleFinalNodes\"\n [class.fd-scrollbar]=\"true\"\n #graphContainerEl\n >\n <div\n class=\"fdp-approval-flow__graph\"\n #graphEl\n [class.fdp-approval-flow__graph--edit-mode]=\"_isEditMode\"\n >\n <div\n class=\"fdp-approval-flow__graph-column\"\n *ngFor=\"let column of _graph.columns; let columnIndex = index\"\n >\n <fdp-approval-flow-node\n *ngFor=\"let node of column.nodes; let nodeIndex = index; trackBy: _trackByFn\"\n cdkDrag\n #approvalFlowNode\n [cdkDragDisabled]=\"_isCdkDragDisabled(node)\"\n [node]=\"node\"\n [meta]=\"_graphMetadata[node.id]\"\n [isEdit]=\"_isEditMode\"\n [isNextNodeBlank]=\"_isNextNodeBlank(node, columnIndex, nodeIndex)\"\n [checkDueDate]=\"checkDueDate\"\n [dueDateThreshold]=\"dueDateThreshold\"\n [renderArrow]=\"columnIndex > 0\"\n [allNodesInColumnApproved]=\"!!column.allNodesApproved\"\n [approvalStatusTemplate]=\"approvalStatusTemplate\"\n [statusColorMapping]=\"statusColorMapping\"\n (onAdd)=\"_addNode(node, $event)\"\n (onEdit)=\"_editNode(node)\"\n (onDelete)=\"_onNodeDelete(node)\"\n (keydown)=\"_onNodeKeyDown($event, node)\"\n (cdkDragStarted)=\"_dragDropInProgress = true\"\n (cdkDragReleased)=\"_onNodeDrop(node, $event.source)\"\n (cdkDragMoved)=\"_onNodeDragMoved(node)\"\n >\n <!-- Trick with using projection to make grid list items visible for the grid list -->\n <fd-grid-list-item\n type=\"active\"\n [value]=\"node\"\n [selected]=\"!!node.selected\"\n [ariaLabelledBy]=\"approvalFlowNode.approvalFlowNodeId\"\n [disableToolbarClick]=\"true\"\n class=\"fdp-approval-flow__graph-node-inner\"\n [class.fdp-approval-flow__graph-node-inner--edit]=\"_isEditMode\"\n (press)=\"_onNodeClick(node)\"\n >\n <fd-grid-list-item-toolbar>\n <ng-container *ngIf=\"_isEditMode\">\n <ng-container\n [ngTemplateOutlet]=\"approvalFlowNode._overflowMenuButton\"\n ></ng-container>\n </ng-container>\n </fd-grid-list-item-toolbar>\n\n <fd-avatar\n fd-grid-list-item-image\n [image]=\"node.approvers.length === 1 ? node.approvers[0].imgUrl : null\"\n [label]=\"node.approvers.length > 1 ? node.description : null\"\n size=\"xs\"\n [circle]=\"true\"\n ></fd-avatar>\n\n <ng-template fd-grid-list-item-body>\n <ng-container\n [ngTemplateOutlet]=\"approvalFlowNode._nodeContent\"\n ></ng-container>\n </ng-template>\n </fd-grid-list-item>\n </fdp-approval-flow-node>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </fd-grid-list>\n\n <div fd-bar *ngIf=\"_isEditMode\">\n <div fd-bar-right>\n <fd-bar-element>\n <button\n fd-button\n [label]=\"'platformApprovalFlow.editModeSaveButtonLabel' | fdTranslate\"\n fdType=\"emphasized\"\n [disabled]=\"disableSaveButton\"\n (click)=\"_saveEditModeChanges()\"\n ></button>\n </fd-bar-element>\n\n <fd-bar-element>\n <button\n fd-button\n [label]=\"'platformApprovalFlow.editModeExitButtonLabel' | fdTranslate\"\n fdType=\"transparent\"\n [disabled]=\"disableExitButton\"\n (click)=\"_exitEditMode()\"\n ></button>\n </fd-bar-element>\n </div>\n </div>\n\n <ng-template #emptyApprovalFlowGraph>\n <figure fd-illustrated-message type=\"spot\" [svgConfig]=\"_emptyApprovalFlowSpotConfig\">\n <figcaption fd-illustrated-message-figcaption>\n <h3 fd-illustrated-message-title>\n {{ 'platformApprovalFlow.emptyTitle' | fdTranslate }}\n </h3>\n <p fd-illustrated-message-text>\n {{ 'platformApprovalFlow.emptyHint' | fdTranslate }}\n </p>\n </figcaption>\n </figure>\n\n <!-- TODO #5178: Replace with illustrated image component after it gets fixed -->\n <div style=\"display: none\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n id=\"sapIllus-Spot-NoData\"\n >\n <path\n d=\"M41.6179,32.7174H84.6273a1,1,0,0,1,.723.3092l7.2445,7.5824,7.4817,7.8491a1,1,0,0,1,.2761.69l-.0046,55.6069a4.1038,4.1038,0,0,1-.8787,2.1212A4.0564,4.0564,0,0,1,98.1,107.9631l-56.3858.0313a2.6167,2.6167,0,0,1-3.0812-3.2309l-.0152-69.0594Z\"\n class=\"sapIllus_PatternShadow\"\n style=\"fill: var(--sapIllus_PatternShadow)\"\n ></path>\n <path\n d=\"M35.7928,27.4987H78.8022a1,1,0,0,1,.723.3092L86.77,35.39l7.4816,7.8492a1,1,0,0,1,.2762.69l-.0046,55.6069a3,3,0,0,1-3,3H35.808a2.9946,2.9946,0,0,1-3-2.9913c-.01-12.0564-.0423-57.0116-.0152-69.0595A2.9943,2.9943,0,0,1,35.7928,27.4987Z\"\n class=\"sapIllus_ObjectFillColor\"\n style=\"fill: var(--sapIllus_ObjectFillColor)\"\n ></path>\n <path\n d=\"M93.2978,44.5335H78.8208a.9925.9925,0,0,1-.974-1.01V28.5108a.97.97,0,0,1,1.6628-.7143L93.9865,42.8092A1.0151,1.0151,0,0,1,93.2978,44.5335Z\"\n class=\"sapIllus_BrandColorSecondary\"\n style=\"fill: var(--sapIllus_BrandColorSecondary)\"\n ></path>\n <path\n d=\"M104.608,38.9485l5.9157-1.7721c1.32-.3954.7584-2.5258-.5689-2.1282L104.0392,36.82c-1.32.3953-.7584,2.5258.5688,2.1282Z\"\n class=\"sapIllus_Layering1\"\n style=\"fill: var(--sapIllus_Layering1)\"\n ></path>\n <path\n d=\"M85.2973,21.2465l.9718-5.9331c.2154-1.3151-1.777-1.8807-1.9941-.5554l-.9718,5.9332c-.2155,1.3151,1.777,1.8807,1.9941.5553Z\"\n class=\"sapIllus_Layering1\"\n style=\"fill: var(--sapIllus_Layering1)\"\n ></path>\n <path\n d=\"M95.3034,29.0015a1.01,1.01,0,0,1-.6837-.267,1.0783,1.0783,0,0,1-.0864-1.4932l5.9511-6.8857a1.01,1.01,0,0,1,1.4538-.0884,1.0785,1.0785,0,0,1,.0865,1.4932l-5.9511,6.8858A1.0164,1.0164,0,0,1,95.3034,29.0015Z\"\n class=\"sapIllus_Layering1\"\n style=\"fill: var(--sapIllus_Layering1)\"\n ></path>\n <path\n d=\"M94.8747,42.8861,80.0855,27.4623a1.5152,1.5152,0,0,0-1.0885-.4636H35.807a3.509,3.509,0,0,0-3.5146,3.4836c-.0294,13.2857.0137,66.7559.0157,69.0257a3.5076,3.5076,0,0,0,3.5146,3.4894H91.7709a3.5106,3.5106,0,0,0,3.5146-3.4982l.005-55.5785A1.49,1.49,0,0,0,94.8747,42.8861Zm-16.21-14.8355a1.15,1.15,0,0,1,.2561-.0309,1.04,1.04,0,0,1,.51.2134l14.276,14.8837.0194.02a.5891.5891,0,0,1,.0968.6251c-.1016.1764-.4086.24-.69.24L78.8355,44a.6031.6031,0,0,1-.5472-.6131c-.0087-4.9588-.017-9.9015-.0035-14.8689A.5189.5189,0,0,1,78.6646,28.0506Zm13.1062,73.95H35.8188a2.5045,2.5045,0,0,1-2.5107-2.491c-.002-2.2694-.0451-55.74-.0157-69.0248a2.5054,2.5054,0,0,1,2.5107-2.4861H77.3684a1.49,1.49,0,0,0-.0976.5106V43.4934A1.5145,1.5145,0,0,0,78.7894,45H78.92L94.286,47.9749l-.0046,51.5269A2.5074,2.5074,0,0,1,91.7708,102.0006Z\"\n class=\"sapIllus_StrokeDetailColor\"\n style=\"fill: var(--sapIllus_StrokeDetailColor)\"\n ></path>\n </svg>\n </div>\n </ng-template>\n</ng-container>\n", styles: ["/*!\n * Fundamental Library Styles v0.28.3\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-scrollbar{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;overflow:auto;padding:0;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-scrollbar:after,.fd-scrollbar:before{box-sizing:inherit;font-size:inherit}.fd-scrollbar.is-focus,.fd-scrollbar:focus{outline:none;z-index:5}.fd-scrollbar::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-scrollbar::-webkit-scrollbar-corner,.fd-scrollbar::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-scrollbar::-webkit-scrollbar-thumb{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-scrollbar::-webkit-scrollbar-thumb:active,.fd-scrollbar::-webkit-scrollbar-thumb:hover{box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-scrollbar--container::-webkit-scrollbar-corner,.fd-scrollbar--container::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color);border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-scrollbar--container[dir=rtl]::-webkit-scrollbar-corner,.fd-scrollbar--container[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-scrollbar--container::-webkit-scrollbar-corner,[dir=rtl] .fd-scrollbar--container::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fdp-approval-flow__watchers{margin-bottom:.5rem;padding-left:.5rem}.fdp-approval-flow__watchers-title{font-size:.875em;color:#6a6d70;color:var(--sapContent_LabelColor, #6a6d70);margin:1rem 0 .5rem}.fdp-approval-flow__watchers fd-avatar{margin-right:.5rem;cursor:pointer}.fdp-approval-flow__watchers fd-avatar:focus{outline-offset:.0625rem;outline-width:.0625rem;outline-style:dotted;outline-color:var(--sapContent_FocusColor, #0854a0)}.fdp-approval-flow__watchers .fdp-approval-flow__watchers-input-container{width:17.375rem}[dir=rtl] .fdp-approval-flow__watchers,.fdp-approval-flow__watchers[dir=rtl]{padding-right:.5rem}[dir=rtl] .fdp-approval-flow__watchers fd-avatar,.fdp-approval-flow__watchers[dir=rtl] fd-avatar{margin-left:.5rem;margin-right:0}.fdp-approval-flow__container{max-width:100%;position:relative;padding:0 .5rem}.fdp-approval-flow__container--extra-padding-start{padding-left:2rem}.fdp-approval-flow__container--extra-padding-end{padding-right:2rem}[dir=rtl] .fdp-approval-flow__container.fdp-approval-flow__container--extra-padding-start,.fdp-approval-flow__container[dir=rtl].fdp-approval-flow__container--extra-padding-start{padding-left:.5rem;padding-right:2rem}[dir=rtl] .fdp-approval-flow__container.fdp-approval-flow__container--extra-padding-end,.fdp-approval-flow__container[dir=rtl].fdp-approval-flow__container--extra-padding-end{padding-right:.5rem;padding-left:2rem}[dir=rtl] .fdp-approval-flow__container.fdp-approval-flow__container--extra-padding-start.fdp-approval-flow__container--extra-padding-end,.fdp-approval-flow__container[dir=rtl].fdp-approval-flow__container--extra-padding-start.fdp-approval-flow__container--extra-padding-end{padding-right:2rem;padding-left:2rem}.fdp-approval-flow__graph-container{position:relative;overflow:auto;padding-top:.5rem;padding-bottom:2rem;padding-left:2rem}.fdp-approval-flow__graph-container--multiple-root-nodes{padding-left:4rem}[dir=rtl] .fdp-approval-flow__graph-container--multiple-root-nodes,.fdp-approval-flow__graph-container--multiple-root-nodes[dir=rtl]{padding-right:2rem}[dir=rtl] .fdp-approval-flow__graph-container--multiple-final-nodes,.fdp-approval-flow__graph-container--multiple-final-nodes[dir=rtl]{padding-left:0}.fdp-approval-flow-carousel-controls{position:absolute;display:flex;align-items:center;width:100%;height:6.375rem;padding-top:.5rem;left:0}.fdp-approval-flow-carousel-controls--edit-mode{height:8.375rem}.fdp-approval-flow-carousel-controls__button--prev-slide,.fdp-approval-flow-carousel-controls__button--next-slide{position:absolute;border:none;background:transparent;color:#6a6d70;color:var(--sapContent_LabelColor, #6a6d70);display:flex;justify-content:space-between;width:2rem;align-items:center;cursor:pointer}.fdp-approval-flow-carousel-controls__button--prev-slide fd-icon,.fdp-approval-flow-carousel-controls__button--next-slide fd-icon{font-size:.875rem;color:#0854a0;color:var(--sapButton_IconColor, #0854a0);position:relative;top:.0625rem}.fdp-approval-flow-carousel-controls__button--prev-slide{left:0}[dir=rtl] .fdp-approval-flow-carousel-controls__button--prev-slide,.fdp-approval-flow-carousel-controls__button--prev-slide[dir=rtl]{left:auto;right:0}.fdp-approval-flow-carousel-controls__button--next-slide{right:0}[dir=rtl] .fdp-approval-flow-carousel-controls__button--next-slide,.fdp-approval-flow-carousel-controls__button--next-slide[dir=rtl]{left:0;right:auto}.fdp-approval-flow__graph{display:flex;align-items:flex-start;position:relative;left:0;transition:left .3s}.fdp-approval-flow__graph-column{margin-right:4rem;position:relative}[dir=rtl] .fdp-approval-flow__graph-column:first-child,.fdp-approval-flow__graph-column[dir=rtl]:first-child{margin-right:2rem}.fdp-approval-flow__graph fdp-approval-flow-node+fdp-approval-flow-node:not(:last-child){margin-bottom:1rem}.fdp-approval-flow__graph .fdp-approval-flow__graph-node-inner{padding:0}.fdp-approval-flow__graph .fdp-approval-flow__graph-node-inner .fd-grid-list__item-toolbar .fd-toolbar--extra-content{margin-left:auto}[dir=rtl] .fdp-approval-flow__graph .fdp-approval-flow__graph-node-inner .fd-grid-list__item-toolbar .fd-toolbar--extra-content,.fdp-approval-flow__graph .fdp-approval-flow__graph-node-inner .fd-grid-list__item-toolbar .fd-toolbar--extra-content[dir=rtl]{margin-left:0;margin-right:auto}.fdp-approval-flow__graph .fdp-approval-flow__graph-node-inner .fd-grid-list__item-toolbar .fd-toolbar--actions{display:none}.fdp-approval-flow__graph .fdp-approval-flow__graph-node-inner:not(.fdp-approval-flow__graph .fdp-approval-flow__graph-node-inner--edit) .fd-toolbar.fd-grid-list__item-toolbar{display:none}.cdk-overlay-container{z-index:1002!important}\n"] }]
|
|
@@ -156,8 +156,7 @@ export class ComboboxComponent extends BaseCombobox {
|
|
|
156
156
|
if (this.isSelectedOptionItem(modelValue)) {
|
|
157
157
|
return;
|
|
158
158
|
}
|
|
159
|
-
|
|
160
|
-
this._updateModel(optionItem ? optionItem.value : this.inputText);
|
|
159
|
+
this._updateModel(modelValue.value);
|
|
161
160
|
}
|
|
162
161
|
/** @hidden Update model */
|
|
163
162
|
_updateModel(value) {
|
|
@@ -246,4 +245,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
246
245
|
type: ViewChild,
|
|
247
246
|
args: ['listTemplate']
|
|
248
247
|
}] } });
|
|
249
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYm9ib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL2Zvcm0vY29tYm9ib3gvY29tYm9ib3gvY29tYm9ib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL2Zvcm0vY29tYm9ib3gvY29tYm9ib3gvY29tYm9ib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osSUFBSSxFQUNKLE1BQU0sRUFDTixRQUFRLEVBRVIsUUFBUSxFQUNSLE1BQU0sRUFDTixJQUFJLEVBQ0osUUFBUSxFQUNSLFdBQVcsRUFDWCxTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxhQUFhLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVsRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUNILGtCQUFrQixFQUNsQixjQUFjLEVBR2QsaUJBQWlCLEVBQ2pCLHdCQUF3QixFQUMzQixNQUFNLGtDQUFrQyxDQUFDO0FBRTFDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVEQUF1RCxD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YywyREFFTSxhQUFhLHlEQUNiLHFCQUFxQjtrR0FqQ3hELGlCQUFpQix3RkFMZjtRQUNQLEVBQUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO1FBQy9FLCtCQUErQixFQUFFO0tBQ3BDLCtXQzlETCx3clNBbU9BOzJGRG5LYSxpQkFBaUI7a0JBWDdCLFNBQVM7K0JBQ0ksY0FBYyxtQkFHUCx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLGFBQzFCO3dCQUNQLEVBQUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFdBQVcsbUJBQW1CLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTt3QkFDL0UsK0JBQStCLEVBQUU7cUJBQ3BDOzswQkF5QkksUUFBUTs7MEJBQUksSUFBSTs7MEJBQ2hCLFFBQVE7OzBCQUFJLFFBQVE7OzBCQUNwQixRQUFROzswQkFBSSxJQUFJOzswQkFDaEIsUUFBUTs7MEJBSVIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxjQUFjOzswQkFFakMsUUFBUTs7MEJBQUksUUFBUTs7MEJBQUksSUFBSTs7MEJBQUksTUFBTTsyQkFBQyxhQUFhOzswQkFDcEQsUUFBUTs7MEJBQUksUUFBUTs7MEJBQUksSUFBSTs7MEJBQUksTUFBTTsyQkFBQyxxQkFBcUI7NENBOUJqRSxlQUFlO3NCQURkLE1BQU07Z0JBSVAsa0JBQWtCO3NCQURqQixTQUFTO3VCQUFDLG9CQUFvQjtnQkFLL0IsZUFBZTtzQkFEZCxTQUFTO3VCQUFDLGlCQUFpQjtnQkFLNUIsWUFBWTtzQkFEWCxTQUFTO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3QsXG4gICAgSW5qZWN0LFxuICAgIEluamVjdG9yLFxuICAgIE9uSW5pdCxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG4gICAgU2VsZixcbiAgICBTa2lwU2VsZixcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xDb250YWluZXIsIE5nQ29udHJvbCwgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRkRfRk9STV9GSUVMRCwgRkRfRk9STV9GSUVMRF9DT05UUk9MIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvZm9ybXMnO1xuXG5pbXBvcnQgeyBEeW5hbWljQ29tcG9uZW50U2VydmljZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IGNvbnRlbnREZW5zaXR5T2JzZXJ2ZXJQcm92aWRlcnMgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvY29udGVudC1kZW5zaXR5JztcbmltcG9ydCB7IERpYWxvZ0NvbmZpZyB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9kaWFsb2cnO1xuaW1wb3J0IHtcbiAgICBDb21ib0JveERhdGFTb3VyY2UsXG4gICAgREFUQV9QUk9WSURFUlMsXG4gICAgRGF0YVByb3ZpZGVyLFxuICAgIE9wdGlvbkl0ZW0sXG4gICAgUGxhdGZvcm1Gb3JtRmllbGQsXG4gICAgUGxhdGZvcm1Gb3JtRmllbGRDb250cm9sXG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vc2hhcmVkJztcblxuaW1wb3J0IHsgUGxhdGZvcm1Db21ib2JveE1vYmlsZU1vZHVsZSB9IGZyb20gJy4uL2NvbWJvYm94LW1vYmlsZS9jb21ib2JveC1tb2JpbGUubW9kdWxlJztcbmltcG9ydCB7IENvbWJvYm94TW9iaWxlQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tYm9ib3gtbW9iaWxlL2NvbWJvYm94L2NvbWJvYm94LW1vYmlsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tYm9ib3hDb25maWcgfSBmcm9tICcuLi9jb21ib2JveC5jb25maWcnO1xuaW1wb3J0IHsgQ09NQk9CT1hfQ09NUE9ORU5ULCBDb21ib2JveEludGVyZmFjZSB9IGZyb20gJy4uL2NvbWJvYm94LmludGVyZmFjZSc7XG5pbXBvcnQgeyBCYXNlQ29tYm9ib3ggfSBmcm9tICcuLi9jb21tb25zL2Jhc2UtY29tYm9ib3gnO1xuXG5leHBvcnQgY2xhc3MgQ29tYm9ib3hTZWxlY3Rpb25DaGFuZ2VFdmVudCB7XG4gICAgLyoqXG4gICAgICogQ29tYm9ib3ggc2VsZWN0aW9uIGV2ZW50XG4gICAgICogQHBhcmFtIHNvdXJjZSBDb21ib2JveCBjb21wb25lbnRcbiAgICAgKiBAcGFyYW0gcGF5bG9hZCBTZWxlY3RlZCBvcHRpb25cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHNvdXJjZTogQ29tYm9ib3hDb21wb25lbnQsXG4gICAgICAgIHB1YmxpYyBwYXlsb2FkOiBhbnkgLy8gQ29udGFpbnMgc2VsZWN0ZWQgaXRlbVxuICAgICkge31cbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZHAtY29tYm9ib3gnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb21ib2JveC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY29tYm9ib3guY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IEZEX0ZPUk1fRklFTERfQ09OVFJPTCwgdXNlRXhpc3Rpbmc6IENvbWJvYm94Q29tcG9uZW50LCBtdWx0aTogdHJ1ZSB9LFxuICAgICAgICBjb250ZW50RGVuc2l0eU9ic2VydmVyUHJvdmlkZXJzKClcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIENvbWJvYm94Q29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbWJvYm94IGltcGxlbWVudHMgQ29tYm9ib3hJbnRlcmZhY2UsIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgLyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiBpdGVtIGlzIHNlbGVjdGVkLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q29tYm9ib3hTZWxlY3Rpb25DaGFuZ2VFdmVudD4oKTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoJ3NlYXJjaElucHV0RWxlbWVudCcpXG4gICAgc2VhcmNoSW5wdXRFbGVtZW50OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKCdjb250cm9sVGVtcGxhdGUnKVxuICAgIGNvbnRyb2xUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZCgnbGlzdFRlbXBsYXRlJylcbiAgICBsaXN0VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9zZWxlY3RlZEVsZW1lbnQ/OiBPcHRpb25JdGVtO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcmVhZG9ubHkgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHJlYWRvbmx5IG5nQ29udHJvbDogTmdDb250cm9sLFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSByZWFkb25seSBjb250cm9sQ29udGFpbmVyOiBDb250cm9sQ29udGFpbmVyLFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHJlYWRvbmx5IG5nRm9ybTogTmdGb3JtLFxuICAgICAgICBAT3B0aW9uYWwoKSByZWFkb25seSBkaWFsb2dDb25maWc6IERpYWxvZ0NvbmZpZyxcbiAgICAgICAgcmVhZG9ubHkgX2R5bmFtaWNDb21wb25lbnRTZXJ2aWNlOiBEeW5hbWljQ29tcG9uZW50U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KERBVEFfUFJPVklERVJTKSBwcml2YXRlIHByb3ZpZGVyczogTWFwPHN0cmluZywgRGF0YVByb3ZpZGVyPGFueT4+LFxuICAgICAgICByZWFkb25seSBfY29tYm9ib3hDb25maWc6IENvbWJvYm94Q29uZmlnLFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBASG9zdCgpIEBJbmplY3QoRkRfRk9STV9GSUVMRCkgZm9ybUZpZWxkOiBQbGF0Zm9ybUZvcm1GaWVsZCxcbiAgICAgICAgQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgQEhvc3QoKSBASW5qZWN0KEZEX0ZPUk1fRklFTERfQ09OVFJPTCkgZm9ybUNvbnRyb2w6IFBsYXRmb3JtRm9ybUZpZWxkQ29udHJvbFxuICAgICkge1xuICAgICAgICBzdXBlcihcbiAgICAgICAgICAgIGNkLFxuICAgICAgICAgICAgZWxlbWVudFJlZixcbiAgICAgICAgICAgIG5nQ29udHJvbCxcbiAgICAgICAgICAgIGNvbnRyb2xDb250YWluZXIsXG4gICAgICAgICAgICBuZ0Zvcm0sXG4gICAgICAgICAgICBkaWFsb2dDb25maWcsXG4gICAgICAgICAgICBfY29tYm9ib3hDb25maWcsXG4gICAgICAgICAgICBmb3JtRmllbGQsXG4gICAgICAgICAgICBmb3JtQ29udHJvbFxuICAgICAgICApO1xuICAgIH1cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICBjb25zdCBwcm92aWRlcnMgPSB0aGlzLnByb3ZpZGVycz8uc2l6ZSA9PT0gMCA/IHRoaXMuX2NvbWJvYm94Q29uZmlnLnByb3ZpZGVycyA6IHRoaXMucHJvdmlkZXJzO1xuICAgICAgICAvLyBpZiB3ZSBoYXZlIGJvdGggcHJlZmVyIGRhdGFTb3VyY2VcbiAgICAgICAgaWYgKCF0aGlzLmRhdGFTb3VyY2UgJiYgdGhpcy5lbnRpdHlDbGFzcyAmJiBwcm92aWRlcnM/Lmhhcyh0aGlzLmVudGl0eUNsYXNzKSkge1xuICAgICAgICAgICAgdGhpcy5kYXRhU291cmNlID0gbmV3IENvbWJvQm94RGF0YVNvdXJjZShwcm92aWRlcnMuZ2V0KHRoaXMuZW50aXR5Q2xhc3MpISk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XG5cbiAgICAgICAgaWYgKHRoaXMubW9iaWxlKSB7XG4gICAgICAgICAgICB0aGlzLl9zZXRVcE1vYmlsZU1vZGUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX29uQmx1cihldmVudDogRm9jdXNFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5tb2JpbGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnJlbGF0ZWRUYXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgIGlmICh0YXJnZXQpIHtcbiAgICAgICAgICAgIGNvbnN0IGlzTGlzdCA9ICEhdGFyZ2V0LmNsb3Nlc3QoJy5mZHAtY29tYm9ib3hfX2xpc3QtY29udGFpbmVyJyk7XG4gICAgICAgICAgICBjb25zdCBpc0xpc3RJdGVtID0gISF0YXJnZXQuY2xvc2VzdCgnLmZkLWxpc3RfX2l0ZW0nKTtcbiAgICAgICAgICAgIGlmIChpc0xpc3QgfHwgaXNMaXN0SXRlbSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICgoIXRoaXMuX3NlbGVjdGVkRWxlbWVudCAmJiAhdGhpcy5pbnB1dFRleHQpIHx8IHRoaXMuX3NlbGVjdGVkRWxlbWVudD8ubGFiZWwgPT09IHRoaXMuaW5wdXRUZXh0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBvcHRpb25JdGVtID0gdGhpcy5fZ2V0U2VsZWN0ZWRPcHRpb25JdGVtKHRoaXMuaW5wdXRUZXh0KTtcblxuICAgICAgICB0aGlzLl91cGRhdGVNb2RlbChvcHRpb25JdGVtID8gb3B0aW9uSXRlbS52YWx1ZSA6IHRoaXMuaW5wdXRUZXh0KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBNZXRob2QgdG8gZW1pdCBjaGFuZ2UgZXZlbnQgKi9cbiAgICBlbWl0Q2hhbmdlRXZlbnQ8VD4obW9kZWxWYWx1ZTogVCk6IHZvaWQge1xuICAgICAgICBjb25zdCBldmVudCA9IG5ldyBDb21ib2JveFNlbGVjdGlvbkNoYW5nZUV2ZW50KHRoaXMsIG1vZGVsVmFsdWUpO1xuXG4gICAgICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQoZXZlbnQpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIE1ldGhvZCB0byBzZXQgc2VsZWN0ZWQgaXRlbSAqL1xuICAgIHNlbGVjdE9wdGlvbkl0ZW0oaXRlbTogT3B0aW9uSXRlbSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5tb2JpbGUpIHtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkRWxlbWVudCA9IGl0ZW07XG4gICAgICAgICAgICB0aGlzLmlucHV0VGV4dCA9IGl0ZW0ubGFiZWw7XG4gICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pbnB1dFRleHQgPSBpdGVtLmxhYmVsO1xuICAgICAgICB0aGlzLl9jaGVja0FuZFVwZGF0ZShpdGVtKTtcbiAgICAgICAgdGhpcy5pc09wZW5DaGFuZ2VIYW5kbGUoZmFsc2UpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIE1ldGhvZCB0byBzZXQgYXMgc2VsZWN0ZWQgKi9cbiAgICBzZXRBc1NlbGVjdGVkKGl0ZW06IE9wdGlvbkl0ZW1bXSk6IHZvaWQge1xuICAgICAgICBjb25zdCBzZWxlY3RlZEl0ZW0gPSBpdGVtWzBdO1xuXG4gICAgICAgIGlmICh0aGlzLmlzU2VsZWN0ZWRPcHRpb25JdGVtKHNlbGVjdGVkSXRlbSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3NlbGVjdGVkRWxlbWVudCA9ICh0aGlzLmlzR3JvdXAgJiYgc2VsZWN0ZWRJdGVtPy5jaGlsZHJlbj8uWzBdKSB8fCBzZWxlY3RlZEl0ZW07XG4gICAgICAgIHRoaXMuaW5wdXRUZXh0ID0gdGhpcy5kaXNwbGF5VmFsdWUodGhpcy5fc2VsZWN0ZWRFbGVtZW50KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBEZWZpbmUgaXMgc2VsZWN0ZWQgaXRlbSBzZWxlY3RlZCAqL1xuICAgIGlzU2VsZWN0ZWRPcHRpb25JdGVtKHNlbGVjdGVkSXRlbTogYW55KTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghIXRoaXMuX3NlbGVjdGVkRWxlbWVudCAmJiAhIXNlbGVjdGVkSXRlbSkge1xuICAgICAgICAgICAgaWYgKHRoaXMubG9va3VwS2V5KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9va3VwVmFsdWUodGhpcy5fc2VsZWN0ZWRFbGVtZW50KSA9PT0gdGhpcy5sb29rdXBWYWx1ZShzZWxlY3RlZEl0ZW0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2VsZWN0ZWRJdGVtLnZhbHVlID09PSB0aGlzLl9zZWxlY3RlZEVsZW1lbnQudmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBEZWZpbmUgaXMgc2VsZWN0ZWQgaXRlbSBzZWxlY3RlZCBieSBkaXNwbGF5IHZhbHVlICovXG4gICAgaXNTZWxlY3RlZE9wdGlvbkl0ZW1CeURpc3BsYXlWYWx1ZShzZWxlY3RlZEl0ZW06IGFueSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRFbGVtZW50Py5sYWJlbCA9PT0gc2VsZWN0ZWRJdGVtO1xuICAgIH1cblxuICAgIC8qKiBIYW5kbGUgZGlhbG9nIGRpc21pc3NpbmcsIGNsb3NlcyBwb3BvdmVyIGFuZCBzZXRzIGJhY2t1cCBkYXRhLiAqL1xuICAgIGRpYWxvZ0Rpc21pc3ModGVybTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9zZWxlY3RlZEVsZW1lbnQ/LmxhYmVsICE9PSB0ZXJtKSB7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3RlZEVsZW1lbnQgPSB0aGlzLl9nZXRTZWxlY3RlZE9wdGlvbkl0ZW0odGVybSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmlucHV0VGV4dCA9IHRlcm07XG4gICAgICAgIHRoaXMuaXNPcGVuQ2hhbmdlSGFuZGxlKGZhbHNlKTtcbiAgICB9XG5cbiAgICAvKiogSGFuZGxlIGRpYWxvZyBhcHByb3ZhbCwgY2xvc2VzIHBvcG92ZXIgYW5kIHByb3BhZ2F0ZXMgZGF0YSBjaGFuZ2VzLiAqL1xuICAgIGRpYWxvZ0FwcHJvdmUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9zZWxlY3RlZEVsZW1lbnQ/LmxhYmVsID09PSB0aGlzLmlucHV0VGV4dCkge1xuICAgICAgICAgICAgdGhpcy5fdXBkYXRlTW9kZWwodGhpcy5fc2VsZWN0ZWRFbGVtZW50LnZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbkl0ZW0gPSB0aGlzLl9nZXRTZWxlY3RlZE9wdGlvbkl0ZW0odGhpcy5pbnB1dFRleHQpO1xuXG4gICAgICAgICAgICB0aGlzLl91cGRhdGVNb2RlbChvcHRpb25JdGVtID8gb3B0aW9uSXRlbS52YWx1ZSA6IHRoaXMuaW5wdXRUZXh0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaXNPcGVuQ2hhbmdlSGFuZGxlKGZhbHNlKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBpZiBub3Qgc2VsZWN0ZWQgdXBkYXRlIG1vZGVsICovXG4gICAgcHJpdmF0ZSBfY2hlY2tBbmRVcGRhdGUobW9kZWxWYWx1ZTogT3B0aW9uSXRlbSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc1NlbGVjdGVkT3B0aW9uSXRlbShtb2RlbFZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb3B0aW9uSXRlbSA9IHRoaXMuX2dldFNlbGVjdGVkT3B0aW9uSXRlbSh0aGlzLmlucHV0VGV4dCk7XG5cbiAgICAgICAgdGhpcy5fdXBkYXRlTW9kZWwob3B0aW9uSXRlbSA/IG9wdGlvbkl0ZW0udmFsdWUgOiB0aGlzLmlucHV0VGV4dCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gVXBkYXRlIG1vZGVsICovXG4gICAgcHJpdmF0ZSBfdXBkYXRlTW9kZWwodmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICAvLyBzZXR0aW5nIHZhbHVlLCBpdCB3aWxsIGNhbGwgc2V0VmFsdWUoKVxuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG5cbiAgICAgICAgdGhpcy5lbWl0Q2hhbmdlRXZlbnQodmFsdWUgPyB2YWx1ZSA6IG51bGwpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBhc3luYyBfc2V0VXBNb2JpbGVNb2RlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgICAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IENPTUJPQk9YX0NPTVBPTkVOVCwgdXNlVmFsdWU6IHRoaXMgfV0sXG4gICAgICAgICAgICBwYXJlbnQ6IHRoaXMuX2luamVjdG9yXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGF3YWl0IHRoaXMuX2R5bmFtaWNDb21wb25lbnRTZXJ2aWNlLmNyZWF0ZUR5bmFtaWNNb2R1bGUoXG4gICAgICAgICAgICB7IGxpc3RUZW1wbGF0ZTogdGhpcy5saXN0VGVtcGxhdGUsIGNvbnRyb2xUZW1wbGF0ZTogdGhpcy5jb250cm9sVGVtcGxhdGUgfSxcbiAgICAgICAgICAgIFBsYXRmb3JtQ29tYm9ib3hNb2JpbGVNb2R1bGUsXG4gICAgICAgICAgICBDb21ib2JveE1vYmlsZUNvbXBvbmVudCxcbiAgICAgICAgICAgIHRoaXMuX3ZpZXdDb250YWluZXJSZWYsXG4gICAgICAgICAgICBpbmplY3RvclxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZ2V0U2VsZWN0ZWRPcHRpb25JdGVtKHRleHQ6IHN0cmluZyk6IE9wdGlvbkl0ZW0gfCB1bmRlZmluZWQge1xuICAgICAgICBpZiAoIXRoaXMuaXNHcm91cCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3N1Z2dlc3Rpb25zLmZpbmQoKGl0ZW0pID0+IGl0ZW0ubGFiZWwgPT09IHRleHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX3N1Z2dlc3Rpb25zXG4gICAgICAgICAgICAucmVkdWNlKChyZXN1bHQ6IE9wdGlvbkl0ZW1bXSwgaXRlbTogT3B0aW9uSXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKC4uLihpdGVtLmNoaWxkcmVuID8/IFtdKSk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgfSwgW10pXG4gICAgICAgICAgICAuZmluZCgoaXRlbSkgPT4gaXRlbS5sYWJlbCA9PT0gdGV4dCk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm1vYmlsZSA/IG1vYmlsZVRlbXBsYXRlIDogZGVza3RvcFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjZGVza3RvcFRlbXBsYXRlPlxuICAgIDxmZC1wb3BvdmVyXG4gICAgICAgIFtpc09wZW5dPVwiaXNPcGVuICYmIF9zdWdnZXN0aW9ucy5sZW5ndGggPiAwXCJcbiAgICAgICAgKGlzT3BlbkNoYW5nZSk9XCJpc09wZW5DaGFuZ2VIYW5kbGUoJGV2ZW50KVwiXG4gICAgICAgIFtmaWxsQ29udHJvbE1vZGVdPVwiZmlsbENvbnRyb2xNb2RlXCJcbiAgICAgICAgW2ZvY3VzVHJhcHBlZF09XCJ0cnVlXCJcbiAgICAgICAgW3RyaWdnZXJzXT1cInRyaWdnZXJzXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IHJlYWRvbmx5XCJcbiAgICAgICAgW21heFdpZHRoXT1cImF1dG9SZXNpemUgPyBudWxsIDogbWluV2lkdGhcIlxuICAgICAgICBbY2xvc2VPbk91dHNpZGVDbGlja109XCJjbG9zZU9uT3V0c2lkZUNsaWNrXCJcbiAgICAgICAgYWRkaXRpb25hbEJvZHlDbGFzcz1cImZkcC1jb21ib2JveF9fcG9wb3ZlclwiXG4gICAgPlxuICAgICAgICA8ZmQtcG9wb3Zlci1jb250cm9sPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRyb2xUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2ZkLXBvcG92ZXItY29udHJvbD5cbiAgICAgICAgPGZkLXBvcG92ZXItYm9keSBbaGlkZGVuXT1cIl9zdWdnZXN0aW9ucy5sZW5ndGggPT09IDBcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsaXN0VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPC9mZC1wb3BvdmVyLWJvZHk+XG4gICAgPC9mZC1wb3BvdmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNtb2JpbGVUZW1wbGF0ZT5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbnRyb2xUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjb250cm9sVGVtcGxhdGU+XG4gICAgPGZkLWZvcm0taW5wdXQtbWVzc2FnZS1ncm91cD5cbiAgICAgICAgPGZkLWlucHV0LWdyb3VwXG4gICAgICAgICAgICBbaWRdPVwiaWQgKyAnLWlucHV0LWdyb3VwLWNvbnRhaW5lcidcIlxuICAgICAgICAgICAgW2J1dHRvbl09XCIhcmVhZG9ubHlcIlxuICAgICAgICAgICAgW2dseXBoXT1cIiFyZWFkb25seSA/ICduYXZpZ2F0aW9uLWRvd24tYXJyb3cnIDogJyAnXCJcbiAgICAgICAgICAgIFtzdGF0ZV09XCJtb2JpbGUgJiYgaXNPcGVuID8gbnVsbCA6IHN0YXRlXCJcbiAgICAgICAgICAgIFtidXR0b25Gb2N1c2FibGVdPVwiYnV0dG9uRm9jdXNhYmxlXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgICAgICAgW2lzQ29udHJvbF09XCJ0cnVlXCJcbiAgICAgICAgICAgIChhZGRPbkJ1dHRvbkNsaWNrZWQpPVwib25QcmltYXJ5QnV0dG9uQ2xpY2soKVwiXG4gICAgICAgICAgICBbaXNFeHBhbmRlZF09XCIhbW9iaWxlICYmIGlzT3BlbiAmJiBfc3VnZ2VzdGlvbnMubGVuZ3RoID4gMFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIFtnbHlwaEFyaWFMYWJlbF09XCJhcmlhTGFiZWxcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5Jbk1vYmlsZU1vZGUoKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICNzZWFyY2hJbnB1dEVsZW1lbnRcbiAgICAgICAgICAgICAgICBmZHAtYXV0by1jb21wbGV0ZVxuICAgICAgICAgICAgICAgIFtvcHRpb25zXT1cIl9zdWdnZXN0aW9uc1wiXG4gICAgICAgICAgICAgICAgW2lucHV0VGV4dF09XCJpbnB1dFRleHRcIlxuICAgICAgICAgICAgICAgIFttb2JpbGVdPVwibW9iaWxlXCJcbiAgICAgICAgICAgICAgICAob25Db21wbGV0ZSk9XCJfb25Db21wbGV0ZVRlcm0oJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIHJvbGU9XCJjb21ib2JveFwiXG4gICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZEJ5XCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWF1dG9jb21wbGV0ZV09XCJhdXRvQ29tcGxldGUgJiYgIW1vYmlsZSA/ICdsaXN0JyA6IG51bGxcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtb3duc109XCJhdXRvQ29tcGxldGUgJiYgIW1vYmlsZSA/IGlkICsgJy1yZXN1bHQnIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1oYXNwb3B1cF09XCJhdXRvQ29tcGxldGUgJiYgIW1vYmlsZVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAgICAgICAgICAgZmQtaW5wdXQtZ3JvdXAtaW5wdXRcbiAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgICAgIFtpZF09XCJpZFwiXG4gICAgICAgICAgICAgICAgW25hbWVdPVwibmFtZVwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24pPVwib25JbnB1dEtleWRvd25IYW5kbGVyKCRldmVudClcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgW25nTW9kZWxdPVwiaW5wdXRUZXh0XCJcbiAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzZWFyY2hUZXJtQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgIChmb2N1cyk9XCJvblRvdWNoZWQoKVwiXG4gICAgICAgICAgICAgICAgKGJsdXIpPVwiX29uQmx1cigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImlzT3BlbiAmJiBfc3VnZ2VzdGlvbnMubGVuZ3RoID4gMFwiXG4gICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLXJlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvZmQtaW5wdXQtZ3JvdXA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmZHAtY29tYm9ib3hfX2NvdW50LWxpc3QtcmVzdWx0c1wiIHJvbGU9XCJzdGF0dXNcIiAqbmdJZj1cImlzT3BlblwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIl9mbGF0U3VnZ2VzdGlvbnM/Lmxlbmd0aCB8fCAnMCcgYXMgY291bnRcIj5cbiAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAoY291bnQgPT09IDFcbiAgICAgICAgICAgICAgICAgICAgICAgID8gJ3BsYXRmb3JtQ29tYm9ib3guY291bnRMaXN0UmVzdWx0c1Npbmd1bGFyJ1xuICAgICAgICAgICAgICAgICAgICAgICAgOiAncGxhdGZvcm1Db21ib2JveC5jb3VudExpc3RSZXN1bHRzUGx1cmFsJ1xuICAgICAgICAgICAgICAgICAgICApIHwgZmRUcmFuc2xhdGUgOiB7IGNvdW50OiBjb3VudCB9XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGZkLWZvcm0tbWVzc2FnZVxuICAgICAgICAgICAgKm5nSWY9XCJtb2JpbGUgfHwgaXNPcGVuID8gbnVsbCA6ICEhc3RhdGVNZXNzYWdlXCJcbiAgICAgICAgICAgIFt0eXBlXT1cInN0YXRlXCJcbiAgICAgICAgICAgIFtpbm5lckh0bWxdPVwic3RhdGVNZXNzYWdlXCJcbiAgICAgICAgPjwvZmQtZm9ybS1tZXNzYWdlPlxuICAgIDwvZmQtZm9ybS1pbnB1dC1tZXNzYWdlLWdyb3VwPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNsaXN0VGVtcGxhdGU+XG4gICAgPHVsXG4gICAgICAgIGZkLWxpc3RcbiAgICAgICAgW2hhc01lc3NhZ2VdPVwiISFzdGF0ZU1lc3NhZ2VcIlxuICAgICAgICAoZm9jdXNFc2NhcGVMaXN0KT1cImhhbmRsZUxpc3RGb2N1c0VzY2FwZSgkZXZlbnQpXCJcbiAgICAgICAgW2Ryb3Bkb3duTW9kZV09XCJ0cnVlXCJcbiAgICAgICAgY2xhc3M9XCJmZHAtY29tYm9ib3hfX2xpc3Qge3sgISFzdGF0ZU1lc3NhZ2UgJiYgJ2ZkcC1jb21ib2JveF9fbGlzdC0tbWVzc2FnZScgfX1cIlxuICAgICAgICBbaWRdPVwiaWQgKyAnLXJlc3VsdCdcIlxuICAgICAgICByb2xlPVwibGlzdGJveFwiXG4gICAgICAgIFtieWxpbmVdPVwiYnlsaW5lXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImlkICsgJy1zZWFyY2gnXCJcbiAgICAgICAgW3N0eWxlLm1heEhlaWdodF09XCIhbW9iaWxlICYmIG1heEhlaWdodFwiXG4gICAgICAgIFtzdHlsZS5tYXhXaWR0aF09XCJhdXRvUmVzaXplICYmIG1heFdpZHRoICsgJ3B4J1wiXG4gICAgICAgIChrZXlkb3duLnRhYik9XCJfY2xvc2UoKVwiXG4gICAgICAgIChrZXlkb3duLnNoaWZ0LnRhYik9XCJfY2xvc2UoKVwiXG4gICAgPlxuICAgICAgICA8bGlcbiAgICAgICAgICAgICpuZ0lmPVwic3RhdGVNZXNzYWdlXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwic3RhdGVNZXNzYWdlXCJcbiAgICAgICAgICAgIGZkLWxpc3QtbWVzc2FnZVxuICAgICAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgICAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICAgICAgICAgIFt0eXBlXT1cInN0YXRlIHx8ICdkZWZhdWx0J1wiXG4gICAgICAgICAgICBbaW5uZXJIdG1sXT1cInN0YXRlTWVzc2FnZVwiXG4gICAgICAgID48L2xpPlxuXG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzR3JvdXBcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGdyb3VwIG9mIF9zdWdnZXN0aW9uc1wiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZ3JvdXBJdGVtVGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxpIGZkLWxpc3QtZ3JvdXAtaGVhZGVyIHJvbGU9XCJvcHRpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGZkLWxpc3QtdGl0bGUgW2F0dHIudGl0bGVdPVwiZ3JvdXAubGFiZWxcIj57eyBncm91cC5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJncm91cEl0ZW1UZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJncm91cEl0ZW1UZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHsgbGFiZWw6IGdyb3VwLmxhYmVsIH0gfVwiXG4gICAgICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uSXRlbSBvZiBncm91cC5jaGlsZHJlbjsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVPcHRpb25JdGVtKG9wdGlvbkl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgZmQtbGlzdC1pdGVtXG4gICAgICAgICAgICAgICAgICAgIHJvbGU9XCJvcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwiMFwiXG4gICAgICAgICAgICAgICAgICAgIChrZXlEb3duKT1cImhhbmRsZVByZXNzRW50ZXIoJGV2ZW50LCBvcHRpb25JdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZF09XCJpc1NlbGVjdGVkT3B0aW9uSXRlbShvcHRpb25JdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb25JdGVtXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxpc3RJdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IG9wdGlvbkl0ZW06IG9wdGlvbkl0ZW0sIGluZGV4OiBpIH1cIlxuICAgICAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzR3JvdXBcIj5cbiAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb25JdGVtIG9mIF9zdWdnZXN0aW9uczsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZU9wdGlvbkl0ZW0ob3B0aW9uSXRlbSlcIlxuICAgICAgICAgICAgICAgIGZkLWxpc3QtaXRlbVxuICAgICAgICAgICAgICAgIHJvbGU9XCJvcHRpb25cIlxuICAgICAgICAgICAgICAgIFt0YWJpbmRleF09XCIwXCJcbiAgICAgICAgICAgICAgICAoa2V5RG93bik9XCJoYW5kbGVQcmVzc0VudGVyKCRldmVudCwgb3B0aW9uSXRlbSlcIlxuICAgICAgICAgICAgICAgIFtzZWxlY3RlZF09XCJpc1NlbGVjdGVkT3B0aW9uSXRlbShvcHRpb25JdGVtKVwiXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cIm9wdGlvbkl0ZW1cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwibGlzdEl0ZW1cIlxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBvcHRpb25JdGVtOiBvcHRpb25JdGVtLCBpbmRleDogaSB9XCJcbiAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3VsPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlIGxldC1vcHRpb25JdGVtPVwib3B0aW9uSXRlbVwiIGxldC1pbmRleD1cImluZGV4XCIgI2xpc3RJdGVtPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nSWY9XCJpc1NlbGVjdGVkT3B0aW9uSXRlbShvcHRpb25JdGVtKSAmJiAhIXNlbGVjdGVkSXRlbVRlbXBsYXRlXCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwic2VsZWN0ZWRJdGVtVGVtcGxhdGVcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IG9wdGlvbkl0ZW0udmFsdWUsIGluZGV4OiBpbmRleCB9XCJcbiAgICA+PC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIShpc1NlbGVjdGVkT3B0aW9uSXRlbShvcHRpb25JdGVtKSAmJiBzZWxlY3RlZEl0ZW1UZW1wbGF0ZSlcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwib3B0aW9uSXRlbVNvdXJjZVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBvcHRpb25JdGVtOiBvcHRpb25JdGVtLCBpbmRleDogaW5kZXggfVwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJzZWNvbmRhcnlUZXh0U291cmNlXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IG9wdGlvbkl0ZW06IG9wdGlvbkl0ZW0gfVwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSBsZXQtb3B0aW9uSXRlbT1cIm9wdGlvbkl0ZW1cIiBsZXQtaW5kZXg9XCJpbmRleFwiICNvcHRpb25JdGVtU291cmNlPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhb3B0aW9uSXRlbVRlbXBsYXRlXCI+XG4gICAgICAgIDxzcGFuIFthdHRyLnRpdGxlXT1cIm9wdGlvbkl0ZW0ubGFiZWxcIiBbaW5uZXJIVE1MXT1cIm9wdGlvbkl0ZW0ubGFiZWwgfCBoaWdobGlnaHQgOiBpbnB1dFRleHRcIj48L3NwYW4+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib3B0aW9uSXRlbVRlbXBsYXRlXCI+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm9wdGlvbkl0ZW1UZW1wbGF0ZVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IG9wdGlvbkl0ZW0udmFsdWUsIGluZGV4OiBpbmRleCB9XCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlIGxldC1vcHRpb25JdGVtPVwib3B0aW9uSXRlbVwiICNzZWNvbmRhcnlUZXh0U291cmNlPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93U2Vjb25kYXJ5VGV4dFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXNlY29uZGFyeUl0ZW1UZW1wbGF0ZVwiPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICBbc3R5bGUudGV4dC1hbGlnbl09XCJzZWNvbmRhcnlUZXh0QWxpZ25tZW50XCJcbiAgICAgICAgICAgICAgICBmZC1saXN0LXNlY29uZGFyeVxuICAgICAgICAgICAgICAgIFthdHRyLnRpdGxlXT1cIm9wdGlvbkl0ZW0uc2Vjb25kYXJ5VGV4dFwiXG4gICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJvcHRpb25JdGVtLnNlY29uZGFyeVRleHQgfCBoaWdobGlnaHQgOiBpbnB1dFRleHRcIlxuICAgICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlY29uZGFyeUl0ZW1UZW1wbGF0ZVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInNlY29uZGFyeUl0ZW1UZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBvcHRpb25JdGVtLnZhbHVlIH1cIlxuICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
248
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYm9ib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL2Zvcm0vY29tYm9ib3gvY29tYm9ib3gvY29tYm9ib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL2Zvcm0vY29tYm9ib3gvY29tYm9ib3gvY29tYm9ib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osSUFBSSxFQUNKLE1BQU0sRUFDTixRQUFRLEVBRVIsUUFBUSxFQUNSLE1BQU0sRUFDTixJQUFJLEVBQ0osUUFBUSxFQUNSLFdBQVcsRUFDWCxTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxhQUFhLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVsRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUNILGtCQUFrQixFQUNsQixjQUFjLEVBR2QsaUJBQWlCLEVBQ2pCLHdCQUF3QixFQUMzQixNQUFNLGtDQUFrQyxDQUFDO0FBRTFDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVEQUF1RCxD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QUU7UUFDL0UsK0JBQStCLEVBQUU7S0FDcEMsK1dDOURMLHdyU0FtT0E7MkZEbkthLGlCQUFpQjtrQkFYN0IsU0FBUzsrQkFDSSxjQUFjLG1CQUdQLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksYUFDMUI7d0JBQ1AsRUFBRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsV0FBVyxtQkFBbUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO3dCQUMvRSwrQkFBK0IsRUFBRTtxQkFDcEM7OzBCQXlCSSxRQUFROzswQkFBSSxJQUFJOzswQkFDaEIsUUFBUTs7MEJBQUksUUFBUTs7MEJBQ3BCLFFBQVE7OzBCQUFJLElBQUk7OzBCQUNoQixRQUFROzswQkFJUixRQUFROzswQkFBSSxNQUFNOzJCQUFDLGNBQWM7OzBCQUVqQyxRQUFROzswQkFBSSxRQUFROzswQkFBSSxJQUFJOzswQkFBSSxNQUFNOzJCQUFDLGFBQWE7OzBCQUNwRCxRQUFROzswQkFBSSxRQUFROzswQkFBSSxJQUFJOzswQkFBSSxNQUFNOzJCQUFDLHFCQUFxQjs0Q0E5QmpFLGVBQWU7c0JBRGQsTUFBTTtnQkFJUCxrQkFBa0I7c0JBRGpCLFNBQVM7dUJBQUMsb0JBQW9CO2dCQUsvQixlQUFlO3NCQURkLFNBQVM7dUJBQUMsaUJBQWlCO2dCQUs1QixZQUFZO3NCQURYLFNBQVM7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdCxcbiAgICBJbmplY3QsXG4gICAgSW5qZWN0b3IsXG4gICAgT25Jbml0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBTZWxmLFxuICAgIFNraXBTZWxmLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbENvbnRhaW5lciwgTmdDb250cm9sLCBOZ0Zvcm0gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGRF9GT1JNX0ZJRUxELCBGRF9GT1JNX0ZJRUxEX0NPTlRST0wgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay9mb3Jtcyc7XG5cbmltcG9ydCB7IER5bmFtaWNDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgY29udGVudERlbnNpdHlPYnNlcnZlclByb3ZpZGVycyB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9jb250ZW50LWRlbnNpdHknO1xuaW1wb3J0IHsgRGlhbG9nQ29uZmlnIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2RpYWxvZyc7XG5pbXBvcnQge1xuICAgIENvbWJvQm94RGF0YVNvdXJjZSxcbiAgICBEQVRBX1BST1ZJREVSUyxcbiAgICBEYXRhUHJvdmlkZXIsXG4gICAgT3B0aW9uSXRlbSxcbiAgICBQbGF0Zm9ybUZvcm1GaWVsZCxcbiAgICBQbGF0Zm9ybUZvcm1GaWVsZENvbnRyb2xcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS9zaGFyZWQnO1xuXG5pbXBvcnQgeyBQbGF0Zm9ybUNvbWJvYm94TW9iaWxlTW9kdWxlIH0gZnJvbSAnLi4vY29tYm9ib3gtbW9iaWxlL2NvbWJvYm94LW1vYmlsZS5tb2R1bGUnO1xuaW1wb3J0IHsgQ29tYm9ib3hNb2JpbGVDb21wb25lbnQgfSBmcm9tICcuLi9jb21ib2JveC1tb2JpbGUvY29tYm9ib3gvY29tYm9ib3gtbW9iaWxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21ib2JveENvbmZpZyB9IGZyb20gJy4uL2NvbWJvYm94LmNvbmZpZyc7XG5pbXBvcnQgeyBDT01CT0JPWF9DT01QT05FTlQsIENvbWJvYm94SW50ZXJmYWNlIH0gZnJvbSAnLi4vY29tYm9ib3guaW50ZXJmYWNlJztcbmltcG9ydCB7IEJhc2VDb21ib2JveCB9IGZyb20gJy4uL2NvbW1vbnMvYmFzZS1jb21ib2JveCc7XG5cbmV4cG9ydCBjbGFzcyBDb21ib2JveFNlbGVjdGlvbkNoYW5nZUV2ZW50IHtcbiAgICAvKipcbiAgICAgKiBDb21ib2JveCBzZWxlY3Rpb24gZXZlbnRcbiAgICAgKiBAcGFyYW0gc291cmNlIENvbWJvYm94IGNvbXBvbmVudFxuICAgICAqIEBwYXJhbSBwYXlsb2FkIFNlbGVjdGVkIG9wdGlvblxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgc291cmNlOiBDb21ib2JveENvbXBvbmVudCxcbiAgICAgICAgcHVibGljIHBheWxvYWQ6IGFueSAvLyBDb250YWlucyBzZWxlY3RlZCBpdGVtXG4gICAgKSB7fVxufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkcC1jb21ib2JveCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbWJvYm94LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jb21ib2JveC5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogRkRfRk9STV9GSUVMRF9DT05UUk9MLCB1c2VFeGlzdGluZzogQ29tYm9ib3hDb21wb25lbnQsIG11bHRpOiB0cnVlIH0sXG4gICAgICAgIGNvbnRlbnREZW5zaXR5T2JzZXJ2ZXJQcm92aWRlcnMoKVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgQ29tYm9ib3hDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tYm9ib3ggaW1wbGVtZW50cyBDb21ib2JveEludGVyZmFjZSwgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgICAvKiogRXZlbnQgZW1pdHRlZCB3aGVuIGl0ZW0gaXMgc2VsZWN0ZWQuICovXG4gICAgQE91dHB1dCgpXG4gICAgc2VsZWN0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxDb21ib2JveFNlbGVjdGlvbkNoYW5nZUV2ZW50PigpO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZCgnc2VhcmNoSW5wdXRFbGVtZW50JylcbiAgICBzZWFyY2hJbnB1dEVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoJ2NvbnRyb2xUZW1wbGF0ZScpXG4gICAgY29udHJvbFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKCdsaXN0VGVtcGxhdGUnKVxuICAgIGxpc3RUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3NlbGVjdGVkRWxlbWVudD86IE9wdGlvbkl0ZW07XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICByZWFkb25seSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgcmVhZG9ubHkgbmdDb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIHJlYWRvbmx5IGNvbnRyb2xDb250YWluZXI6IENvbnRyb2xDb250YWluZXIsXG4gICAgICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgcmVhZG9ubHkgbmdGb3JtOiBOZ0Zvcm0sXG4gICAgICAgIEBPcHRpb25hbCgpIHJlYWRvbmx5IGRpYWxvZ0NvbmZpZzogRGlhbG9nQ29uZmlnLFxuICAgICAgICByZWFkb25seSBfZHluYW1pY0NvbXBvbmVudFNlcnZpY2U6IER5bmFtaWNDb21wb25lbnRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF92aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoREFUQV9QUk9WSURFUlMpIHByaXZhdGUgcHJvdmlkZXJzOiBNYXA8c3RyaW5nLCBEYXRhUHJvdmlkZXI8YW55Pj4sXG4gICAgICAgIHJlYWRvbmx5IF9jb21ib2JveENvbmZpZzogQ29tYm9ib3hDb25maWcsXG4gICAgICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIEBIb3N0KCkgQEluamVjdChGRF9GT1JNX0ZJRUxEKSBmb3JtRmllbGQ6IFBsYXRmb3JtRm9ybUZpZWxkLFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBASG9zdCgpIEBJbmplY3QoRkRfRk9STV9GSUVMRF9DT05UUk9MKSBmb3JtQ29udHJvbDogUGxhdGZvcm1Gb3JtRmllbGRDb250cm9sXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKFxuICAgICAgICAgICAgY2QsXG4gICAgICAgICAgICBlbGVtZW50UmVmLFxuICAgICAgICAgICAgbmdDb250cm9sLFxuICAgICAgICAgICAgY29udHJvbENvbnRhaW5lcixcbiAgICAgICAgICAgIG5nRm9ybSxcbiAgICAgICAgICAgIGRpYWxvZ0NvbmZpZyxcbiAgICAgICAgICAgIF9jb21ib2JveENvbmZpZyxcbiAgICAgICAgICAgIGZvcm1GaWVsZCxcbiAgICAgICAgICAgIGZvcm1Db250cm9sXG4gICAgICAgICk7XG4gICAgfVxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIGNvbnN0IHByb3ZpZGVycyA9IHRoaXMucHJvdmlkZXJzPy5zaXplID09PSAwID8gdGhpcy5fY29tYm9ib3hDb25maWcucHJvdmlkZXJzIDogdGhpcy5wcm92aWRlcnM7XG4gICAgICAgIC8vIGlmIHdlIGhhdmUgYm90aCBwcmVmZXIgZGF0YVNvdXJjZVxuICAgICAgICBpZiAoIXRoaXMuZGF0YVNvdXJjZSAmJiB0aGlzLmVudGl0eUNsYXNzICYmIHByb3ZpZGVycz8uaGFzKHRoaXMuZW50aXR5Q2xhc3MpKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGFTb3VyY2UgPSBuZXcgQ29tYm9Cb3hEYXRhU291cmNlKHByb3ZpZGVycy5nZXQodGhpcy5lbnRpdHlDbGFzcykhKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcblxuICAgICAgICBpZiAodGhpcy5tb2JpbGUpIHtcbiAgICAgICAgICAgIHRoaXMuX3NldFVwTW9iaWxlTW9kZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfb25CbHVyKGV2ZW50OiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm1vYmlsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQucmVsYXRlZFRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgaWYgKHRhcmdldCkge1xuICAgICAgICAgICAgY29uc3QgaXNMaXN0ID0gISF0YXJnZXQuY2xvc2VzdCgnLmZkcC1jb21ib2JveF9fbGlzdC1jb250YWluZXInKTtcbiAgICAgICAgICAgIGNvbnN0IGlzTGlzdEl0ZW0gPSAhIXRhcmdldC5jbG9zZXN0KCcuZmQtbGlzdF9faXRlbScpO1xuICAgICAgICAgICAgaWYgKGlzTGlzdCB8fCBpc0xpc3RJdGVtKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCghdGhpcy5fc2VsZWN0ZWRFbGVtZW50ICYmICF0aGlzLmlucHV0VGV4dCkgfHwgdGhpcy5fc2VsZWN0ZWRFbGVtZW50Py5sYWJlbCA9PT0gdGhpcy5pbnB1dFRleHQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG9wdGlvbkl0ZW0gPSB0aGlzLl9nZXRTZWxlY3RlZE9wdGlvbkl0ZW0odGhpcy5pbnB1dFRleHQpO1xuXG4gICAgICAgIHRoaXMuX3VwZGF0ZU1vZGVsKG9wdGlvbkl0ZW0gPyBvcHRpb25JdGVtLnZhbHVlIDogdGhpcy5pbnB1dFRleHQpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIE1ldGhvZCB0byBlbWl0IGNoYW5nZSBldmVudCAqL1xuICAgIGVtaXRDaGFuZ2VFdmVudDxUPihtb2RlbFZhbHVlOiBUKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGV2ZW50ID0gbmV3IENvbWJvYm94U2VsZWN0aW9uQ2hhbmdlRXZlbnQodGhpcywgbW9kZWxWYWx1ZSk7XG5cbiAgICAgICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdChldmVudCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gTWV0aG9kIHRvIHNldCBzZWxlY3RlZCBpdGVtICovXG4gICAgc2VsZWN0T3B0aW9uSXRlbShpdGVtOiBPcHRpb25JdGVtKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm1vYmlsZSkge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRFbGVtZW50ID0gaXRlbTtcbiAgICAgICAgICAgIHRoaXMuaW5wdXRUZXh0ID0gaXRlbS5sYWJlbDtcbiAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmlucHV0VGV4dCA9IGl0ZW0ubGFiZWw7XG4gICAgICAgIHRoaXMuX2NoZWNrQW5kVXBkYXRlKGl0ZW0pO1xuICAgICAgICB0aGlzLmlzT3BlbkNoYW5nZUhhbmRsZShmYWxzZSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gTWV0aG9kIHRvIHNldCBhcyBzZWxlY3RlZCAqL1xuICAgIHNldEFzU2VsZWN0ZWQoaXRlbTogT3B0aW9uSXRlbVtdKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkSXRlbSA9IGl0ZW1bMF07XG5cbiAgICAgICAgaWYgKHRoaXMuaXNTZWxlY3RlZE9wdGlvbkl0ZW0oc2VsZWN0ZWRJdGVtKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fc2VsZWN0ZWRFbGVtZW50ID0gKHRoaXMuaXNHcm91cCAmJiBzZWxlY3RlZEl0ZW0/LmNoaWxkcmVuPy5bMF0pIHx8IHNlbGVjdGVkSXRlbTtcbiAgICAgICAgdGhpcy5pbnB1dFRleHQgPSB0aGlzLmRpc3BsYXlWYWx1ZSh0aGlzLl9zZWxlY3RlZEVsZW1lbnQpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIERlZmluZSBpcyBzZWxlY3RlZCBpdGVtIHNlbGVjdGVkICovXG4gICAgaXNTZWxlY3RlZE9wdGlvbkl0ZW0oc2VsZWN0ZWRJdGVtOiBhbnkpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCEhdGhpcy5fc2VsZWN0ZWRFbGVtZW50ICYmICEhc2VsZWN0ZWRJdGVtKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5sb29rdXBLZXkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5sb29rdXBWYWx1ZSh0aGlzLl9zZWxlY3RlZEVsZW1lbnQpID09PSB0aGlzLmxvb2t1cFZhbHVlKHNlbGVjdGVkSXRlbSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBzZWxlY3RlZEl0ZW0udmFsdWUgPT09IHRoaXMuX3NlbGVjdGVkRWxlbWVudC52YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIERlZmluZSBpcyBzZWxlY3RlZCBpdGVtIHNlbGVjdGVkIGJ5IGRpc3BsYXkgdmFsdWUgKi9cbiAgICBpc1NlbGVjdGVkT3B0aW9uSXRlbUJ5RGlzcGxheVZhbHVlKHNlbGVjdGVkSXRlbTogYW55KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZEVsZW1lbnQ/LmxhYmVsID09PSBzZWxlY3RlZEl0ZW07XG4gICAgfVxuXG4gICAgLyoqIEhhbmRsZSBkaWFsb2cgZGlzbWlzc2luZywgY2xvc2VzIHBvcG92ZXIgYW5kIHNldHMgYmFja3VwIGRhdGEuICovXG4gICAgZGlhbG9nRGlzbWlzcyh0ZXJtOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX3NlbGVjdGVkRWxlbWVudD8ubGFiZWwgIT09IHRlcm0pIHtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkRWxlbWVudCA9IHRoaXMuX2dldFNlbGVjdGVkT3B0aW9uSXRlbSh0ZXJtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaW5wdXRUZXh0ID0gdGVybTtcbiAgICAgICAgdGhpcy5pc09wZW5DaGFuZ2VIYW5kbGUoZmFsc2UpO1xuICAgIH1cblxuICAgIC8qKiBIYW5kbGUgZGlhbG9nIGFwcHJvdmFsLCBjbG9zZXMgcG9wb3ZlciBhbmQgcHJvcGFnYXRlcyBkYXRhIGNoYW5nZXMuICovXG4gICAgZGlhbG9nQXBwcm92ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX3NlbGVjdGVkRWxlbWVudD8ubGFiZWwgPT09IHRoaXMuaW5wdXRUZXh0KSB7XG4gICAgICAgICAgICB0aGlzLl91cGRhdGVNb2RlbCh0aGlzLl9zZWxlY3RlZEVsZW1lbnQudmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3Qgb3B0aW9uSXRlbSA9IHRoaXMuX2dldFNlbGVjdGVkT3B0aW9uSXRlbSh0aGlzLmlucHV0VGV4dCk7XG5cbiAgICAgICAgICAgIHRoaXMuX3VwZGF0ZU1vZGVsKG9wdGlvbkl0ZW0gPyBvcHRpb25JdGVtLnZhbHVlIDogdGhpcy5pbnB1dFRleHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pc09wZW5DaGFuZ2VIYW5kbGUoZmFsc2UpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIGlmIG5vdCBzZWxlY3RlZCB1cGRhdGUgbW9kZWwgKi9cbiAgICBwcml2YXRlIF9jaGVja0FuZFVwZGF0ZShtb2RlbFZhbHVlOiBPcHRpb25JdGVtKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzU2VsZWN0ZWRPcHRpb25JdGVtKG1vZGVsVmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl91cGRhdGVNb2RlbChtb2RlbFZhbHVlLnZhbHVlKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBVcGRhdGUgbW9kZWwgKi9cbiAgICBwcml2YXRlIF91cGRhdGVNb2RlbCh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAgIC8vIHNldHRpbmcgdmFsdWUsIGl0IHdpbGwgY2FsbCBzZXRWYWx1ZSgpXG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcblxuICAgICAgICB0aGlzLmVtaXRDaGFuZ2VFdmVudCh2YWx1ZSA/IHZhbHVlIDogbnVsbCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIGFzeW5jIF9zZXRVcE1vYmlsZU1vZGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgICAgICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQ09NQk9CT1hfQ09NUE9ORU5ULCB1c2VWYWx1ZTogdGhpcyB9XSxcbiAgICAgICAgICAgIHBhcmVudDogdGhpcy5faW5qZWN0b3JcbiAgICAgICAgfSk7XG5cbiAgICAgICAgYXdhaXQgdGhpcy5fZHluYW1pY0NvbXBvbmVudFNlcnZpY2UuY3JlYXRlRHluYW1pY01vZHVsZShcbiAgICAgICAgICAgIHsgbGlzdFRlbXBsYXRlOiB0aGlzLmxpc3RUZW1wbGF0ZSwgY29udHJvbFRlbXBsYXRlOiB0aGlzLmNvbnRyb2xUZW1wbGF0ZSB9LFxuICAgICAgICAgICAgUGxhdGZvcm1Db21ib2JveE1vYmlsZU1vZHVsZSxcbiAgICAgICAgICAgIENvbWJvYm94TW9iaWxlQ29tcG9uZW50LFxuICAgICAgICAgICAgdGhpcy5fdmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgICAgIGluamVjdG9yXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9nZXRTZWxlY3RlZE9wdGlvbkl0ZW0odGV4dDogc3RyaW5nKTogT3B0aW9uSXRlbSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmICghdGhpcy5pc0dyb3VwKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fc3VnZ2VzdGlvbnMuZmluZCgoaXRlbSkgPT4gaXRlbS5sYWJlbCA9PT0gdGV4dCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5fc3VnZ2VzdGlvbnNcbiAgICAgICAgICAgIC5yZWR1Y2UoKHJlc3VsdDogT3B0aW9uSXRlbVtdLCBpdGVtOiBPcHRpb25JdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goLi4uKGl0ZW0uY2hpbGRyZW4gPz8gW10pKTtcblxuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICB9LCBbXSlcbiAgICAgICAgICAgIC5maW5kKChpdGVtKSA9PiBpdGVtLmxhYmVsID09PSB0ZXh0KTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibW9iaWxlID8gbW9iaWxlVGVtcGxhdGUgOiBkZXNrdG9wVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNkZXNrdG9wVGVtcGxhdGU+XG4gICAgPGZkLXBvcG92ZXJcbiAgICAgICAgW2lzT3Blbl09XCJpc09wZW4gJiYgX3N1Z2dlc3Rpb25zLmxlbmd0aCA+IDBcIlxuICAgICAgICAoaXNPcGVuQ2hhbmdlKT1cImlzT3BlbkNoYW5nZUhhbmRsZSgkZXZlbnQpXCJcbiAgICAgICAgW2ZpbGxDb250cm9sTW9kZV09XCJmaWxsQ29udHJvbE1vZGVcIlxuICAgICAgICBbZm9jdXNUcmFwcGVkXT1cInRydWVcIlxuICAgICAgICBbdHJpZ2dlcnNdPVwidHJpZ2dlcnNcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgcmVhZG9ubHlcIlxuICAgICAgICBbbWF4V2lkdGhdPVwiYXV0b1Jlc2l6ZSA/IG51bGwgOiBtaW5XaWR0aFwiXG4gICAgICAgIFtjbG9zZU9uT3V0c2lkZUNsaWNrXT1cImNsb3NlT25PdXRzaWRlQ2xpY2tcIlxuICAgICAgICBhZGRpdGlvbmFsQm9keUNsYXNzPVwiZmRwLWNvbWJvYm94X19wb3BvdmVyXCJcbiAgICA+XG4gICAgICAgIDxmZC1wb3BvdmVyLWNvbnRyb2w+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udHJvbFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZmQtcG9wb3Zlci1jb250cm9sPlxuICAgICAgICA8ZmQtcG9wb3Zlci1ib2R5IFtoaWRkZW5dPVwiX3N1Z2dlc3Rpb25zLmxlbmd0aCA9PT0gMFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxpc3RUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2ZkLXBvcG92ZXItYm9keT5cbiAgICA8L2ZkLXBvcG92ZXI+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI21vYmlsZVRlbXBsYXRlPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29udHJvbFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2NvbnRyb2xUZW1wbGF0ZT5cbiAgICA8ZmQtZm9ybS1pbnB1dC1tZXNzYWdlLWdyb3VwPlxuICAgICAgICA8ZmQtaW5wdXQtZ3JvdXBcbiAgICAgICAgICAgIFtpZF09XCJpZCArICctaW5wdXQtZ3JvdXAtY29udGFpbmVyJ1wiXG4gICAgICAgICAgICBbYnV0dG9uXT1cIiFyZWFkb25seVwiXG4gICAgICAgICAgICBbZ2x5cGhdPVwiIXJlYWRvbmx5ID8gJ25hdmlnYXRpb24tZG93bi1hcnJvdycgOiAnICdcIlxuICAgICAgICAgICAgW3N0YXRlXT1cIm1vYmlsZSAmJiBpc09wZW4gPyBudWxsIDogc3RhdGVcIlxuICAgICAgICAgICAgW2J1dHRvbkZvY3VzYWJsZV09XCJidXR0b25Gb2N1c2FibGVcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICAgICAgICBbaXNDb250cm9sXT1cInRydWVcIlxuICAgICAgICAgICAgKGFkZE9uQnV0dG9uQ2xpY2tlZCk9XCJvblByaW1hcnlCdXR0b25DbGljaygpXCJcbiAgICAgICAgICAgIFtpc0V4cGFuZGVkXT1cIiFtb2JpbGUgJiYgaXNPcGVuICYmIF9zdWdnZXN0aW9ucy5sZW5ndGggPiAwXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgW2dseXBoQXJpYUxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgICAgICAgICAoY2xpY2spPVwib3BlbkluTW9iaWxlTW9kZSgpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgI3NlYXJjaElucHV0RWxlbWVudFxuICAgICAgICAgICAgICAgIGZkcC1hdXRvLWNvbXBsZXRlXG4gICAgICAgICAgICAgICAgW29wdGlvbnNdPVwiX3N1Z2dlc3Rpb25zXCJcbiAgICAgICAgICAgICAgICBbaW5wdXRUZXh0XT1cImlucHV0VGV4dFwiXG4gICAgICAgICAgICAgICAgW21vYmlsZV09XCJtb2JpbGVcIlxuICAgICAgICAgICAgICAgIChvbkNvbXBsZXRlKT1cIl9vbkNvbXBsZXRlVGVybSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgcm9sZT1cImNvbWJvYm94XCJcbiAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkQnlcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtYXV0b2NvbXBsZXRlXT1cImF1dG9Db21wbGV0ZSAmJiAhbW9iaWxlID8gJ2xpc3QnIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1vd25zXT1cImF1dG9Db21wbGV0ZSAmJiAhbW9iaWxlID8gaWQgKyAnLXJlc3VsdCcgOiBudWxsXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWhhc3BvcHVwXT1cImF1dG9Db21wbGV0ZSAmJiAhbW9iaWxlXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgICAgICAgICAgICBmZC1pbnB1dC1ncm91cC1pbnB1dFxuICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgICAgICAgW2lkXT1cImlkXCJcbiAgICAgICAgICAgICAgICBbbmFtZV09XCJuYW1lXCJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbklucHV0S2V5ZG93bkhhbmRsZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJpbnB1dFRleHRcIlxuICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNlYXJjaFRlcm1DaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgKGZvY3VzKT1cIm9uVG91Y2hlZCgpXCJcbiAgICAgICAgICAgICAgICAoYmx1cik9XCJfb25CbHVyKCRldmVudClcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaXNPcGVuICYmIF9zdWdnZXN0aW9ucy5sZW5ndGggPiAwXCJcbiAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC9mZC1pbnB1dC1ncm91cD5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZkcC1jb21ib2JveF9fY291bnQtbGlzdC1yZXN1bHRzXCIgcm9sZT1cInN0YXR1c1wiICpuZ0lmPVwiaXNPcGVuXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiX2ZsYXRTdWdnZXN0aW9ucz8ubGVuZ3RoIHx8ICcwJyBhcyBjb3VudFwiPlxuICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgIChjb3VudCA9PT0gMVxuICAgICAgICAgICAgICAgICAgICAgICAgPyAncGxhdGZvcm1Db21ib2JveC5jb3VudExpc3RSZXN1bHRzU2luZ3VsYXInXG4gICAgICAgICAgICAgICAgICAgICAgICA6ICdwbGF0Zm9ybUNvbWJvYm94LmNvdW50TGlzdFJlc3VsdHNQbHVyYWwnXG4gICAgICAgICAgICAgICAgICAgICkgfCBmZFRyYW5zbGF0ZSA6IHsgY291bnQ6IGNvdW50IH1cbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZmQtZm9ybS1tZXNzYWdlXG4gICAgICAgICAgICAqbmdJZj1cIm1vYmlsZSB8fCBpc09wZW4gPyBudWxsIDogISFzdGF0ZU1lc3NhZ2VcIlxuICAgICAgICAgICAgW3R5cGVdPVwic3RhdGVcIlxuICAgICAgICAgICAgW2lubmVySHRtbF09XCJzdGF0ZU1lc3NhZ2VcIlxuICAgICAgICA+PC9mZC1mb3JtLW1lc3NhZ2U+XG4gICAgPC9mZC1mb3JtLWlucHV0LW1lc3NhZ2UtZ3JvdXA+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2xpc3RUZW1wbGF0ZT5cbiAgICA8dWxcbiAgICAgICAgZmQtbGlzdFxuICAgICAgICBbaGFzTWVzc2FnZV09XCIhIXN0YXRlTWVzc2FnZVwiXG4gICAgICAgIChmb2N1c0VzY2FwZUxpc3QpPVwiaGFuZGxlTGlzdEZvY3VzRXNjYXBlKCRldmVudClcIlxuICAgICAgICBbZHJvcGRvd25Nb2RlXT1cInRydWVcIlxuICAgICAgICBjbGFzcz1cImZkcC1jb21ib2JveF9fbGlzdCB7eyAhIXN0YXRlTWVzc2FnZSAmJiAnZmRwLWNvbWJvYm94X19saXN0LS1tZXNzYWdlJyB9fVwiXG4gICAgICAgIFtpZF09XCJpZCArICctcmVzdWx0J1wiXG4gICAgICAgIHJvbGU9XCJsaXN0Ym94XCJcbiAgICAgICAgW2J5bGluZV09XCJieWxpbmVcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiaWQgKyAnLXNlYXJjaCdcIlxuICAgICAgICBbc3R5bGUubWF4SGVpZ2h0XT1cIiFtb2JpbGUgJiYgbWF4SGVpZ2h0XCJcbiAgICAgICAgW3N0eWxlLm1heFdpZHRoXT1cImF1dG9SZXNpemUgJiYgbWF4V2lkdGggKyAncHgnXCJcbiAgICAgICAgKGtleWRvd24udGFiKT1cIl9jbG9zZSgpXCJcbiAgICAgICAgKGtleWRvd24uc2hpZnQudGFiKT1cIl9jbG9zZSgpXCJcbiAgICA+XG4gICAgICAgIDxsaVxuICAgICAgICAgICAgKm5nSWY9XCJzdGF0ZU1lc3NhZ2VcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJzdGF0ZU1lc3NhZ2VcIlxuICAgICAgICAgICAgZmQtbGlzdC1tZXNzYWdlXG4gICAgICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgICAgIHJvbGU9XCJwcmVzZW50YXRpb25cIlxuICAgICAgICAgICAgW3R5cGVdPVwic3RhdGUgfHwgJ2RlZmF1bHQnXCJcbiAgICAgICAgICAgIFtpbm5lckh0bWxdPVwic3RhdGVNZXNzYWdlXCJcbiAgICAgICAgPjwvbGk+XG5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNHcm91cFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZ3JvdXAgb2YgX3N1Z2dlc3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFncm91cEl0ZW1UZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bGkgZmQtbGlzdC1ncm91cC1oZWFkZXIgcm9sZT1cIm9wdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZmQtbGlzdC10aXRsZSBbYXR0ci50aXRsZV09XCJncm91cC5sYWJlbFwiPnt7IGdyb3VwLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImdyb3VwSXRlbVRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImdyb3VwSXRlbVRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogeyBsYWJlbDogZ3JvdXAubGFiZWwgfSB9XCJcbiAgICAgICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb25JdGVtIG9mIGdyb3VwLmNoaWxkcmVuOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZU9wdGlvbkl0ZW0ob3B0aW9uSXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICBmZC1saXN0LWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgcm9sZT1cIm9wdGlvblwiXG4gICAgICAgICAgICAgICAgICAgIFt0YWJpbmRleF09XCIwXCJcbiAgICAgICAgICAgICAgICAgICAgKGtleURvd24pPVwiaGFuZGxlUHJlc3NFbnRlcigkZXZlbnQsIG9wdGlvbkl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkXT1cImlzU2VsZWN0ZWRPcHRpb25JdGVtKG9wdGlvbkl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIm9wdGlvbkl0ZW1cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwibGlzdEl0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgb3B0aW9uSXRlbTogb3B0aW9uSXRlbSwgaW5kZXg6IGkgfVwiXG4gICAgICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNHcm91cFwiPlxuICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbkl0ZW0gb2YgX3N1Z2dlc3Rpb25zOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlT3B0aW9uSXRlbShvcHRpb25JdGVtKVwiXG4gICAgICAgICAgICAgICAgZmQtbGlzdC1pdGVtXG4gICAgICAgICAgICAgICAgcm9sZT1cIm9wdGlvblwiXG4gICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cIjBcIlxuICAgICAgICAgICAgICAgIChrZXlEb3duKT1cImhhbmRsZVByZXNzRW50ZXIoJGV2ZW50LCBvcHRpb25JdGVtKVwiXG4gICAgICAgICAgICAgICAgW3NlbGVjdGVkXT1cImlzU2VsZWN0ZWRPcHRpb25JdGVtKG9wdGlvbkl0ZW0pXCJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uSXRlbVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJsaXN0SXRlbVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IG9wdGlvbkl0ZW06IG9wdGlvbkl0ZW0sIGluZGV4OiBpIH1cIlxuICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvdWw+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgbGV0LW9wdGlvbkl0ZW09XCJvcHRpb25JdGVtXCIgbGV0LWluZGV4PVwiaW5kZXhcIiAjbGlzdEl0ZW0+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdJZj1cImlzU2VsZWN0ZWRPcHRpb25JdGVtKG9wdGlvbkl0ZW0pICYmICEhc2VsZWN0ZWRJdGVtVGVtcGxhdGVcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJzZWxlY3RlZEl0ZW1UZW1wbGF0ZVwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogb3B0aW9uSXRlbS52YWx1ZSwgaW5kZXg6IGluZGV4IH1cIlxuICAgID48L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhKGlzU2VsZWN0ZWRPcHRpb25JdGVtKG9wdGlvbkl0ZW0pICYmIHNlbGVjdGVkSXRlbVRlbXBsYXRlKVwiPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJvcHRpb25JdGVtU291cmNlXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IG9wdGlvbkl0ZW06IG9wdGlvbkl0ZW0sIGluZGV4OiBpbmRleCB9XCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInNlY29uZGFyeVRleHRTb3VyY2VcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgb3B0aW9uSXRlbTogb3B0aW9uSXRlbSB9XCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlIGxldC1vcHRpb25JdGVtPVwib3B0aW9uSXRlbVwiIGxldC1pbmRleD1cImluZGV4XCIgI29wdGlvbkl0ZW1Tb3VyY2U+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFvcHRpb25JdGVtVGVtcGxhdGVcIj5cbiAgICAgICAgPHNwYW4gW2F0dHIudGl0bGVdPVwib3B0aW9uSXRlbS5sYWJlbFwiIFtpbm5lckhUTUxdPVwib3B0aW9uSXRlbS5sYWJlbCB8IGhpZ2hsaWdodCA6IGlucHV0VGV4dFwiPjwvc3Bhbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvcHRpb25JdGVtVGVtcGxhdGVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwib3B0aW9uSXRlbVRlbXBsYXRlXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogb3B0aW9uSXRlbS52YWx1ZSwgaW5kZXg6IGluZGV4IH1cIlxuICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgbGV0LW9wdGlvbkl0ZW09XCJvcHRpb25JdGVtXCIgI3NlY29uZGFyeVRleHRTb3VyY2U+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dTZWNvbmRhcnlUZXh0XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhc2Vjb25kYXJ5SXRlbVRlbXBsYXRlXCI+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIFtzdHlsZS50ZXh0LWFsaWduXT1cInNlY29uZGFyeVRleHRBbGlnbm1lbnRcIlxuICAgICAgICAgICAgICAgIGZkLWxpc3Qtc2Vjb25kYXJ5XG4gICAgICAgICAgICAgICAgW2F0dHIudGl0bGVdPVwib3B0aW9uSXRlbS5zZWNvbmRhcnlUZXh0XCJcbiAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIm9wdGlvbkl0ZW0uc2Vjb25kYXJ5VGV4dCB8IGhpZ2hsaWdodCA6IGlucHV0VGV4dFwiXG4gICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2Vjb25kYXJ5SXRlbVRlbXBsYXRlXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwic2Vjb25kYXJ5SXRlbVRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IG9wdGlvbkl0ZW0udmFsdWUgfVwiXG4gICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -11,9 +11,9 @@ export class DynamicFormGeneratorMultiInputComponent extends BaseDynamicFormGene
|
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
13
|
DynamicFormGeneratorMultiInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DynamicFormGeneratorMultiInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
14
|
-
DynamicFormGeneratorMultiInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: DynamicFormGeneratorMultiInputComponent, selector: "fdp-dynamic-form-generator-multi-input", usesInheritance: true, ngImport: i0, template: "<ng-container [formGroup]=\"form\">\n <ng-container [formGroupName]=\"formGroupName\">\n <fdp-multi-input\n [id]=\"id\"\n [formControlName]=\"name\"\n [placeholder]=\"placeholder\"\n type=\"text\"\n [name]=\"name\"\n [dataSource]=\"choices\"\n displayKey=\"label\"\n lookupKey=\"label\"\n [autofocus]=\"true\"\n >\n </fdp-multi-input>\n </ng-container>\n</ng-container>\n", dependencies: [{ 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: "directive", type: i1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "component", type: i2.PlatformMultiInputComponent, selector: "fdp-multi-input", inputs: ["tokenHiddenId", "type", "autofocus", "glyphAriaLabel", "selected", "selectionMode", "hasByLine", "disabled", "fillControlMode", "triggers", "closeOnOutsideClick", "addOnButtonClickFn", "displayFn"], outputs: ["selectionChange"] }], viewProviders: [dynamicFormFieldProvider, dynamicFormGroupChildProvider], encapsulation: i0.ViewEncapsulation.None });
|
|
14
|
+
DynamicFormGeneratorMultiInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: DynamicFormGeneratorMultiInputComponent, selector: "fdp-dynamic-form-generator-multi-input", usesInheritance: true, ngImport: i0, template: "<ng-container [formGroup]=\"form\">\n <ng-container [formGroupName]=\"formGroupName\">\n <fdp-multi-input\n [id]=\"id\"\n [formControlName]=\"name\"\n [placeholder]=\"placeholder\"\n type=\"text\"\n [name]=\"name\"\n [dataSource]=\"choices\"\n displayKey=\"label\"\n lookupKey=\"label\"\n [autofocus]=\"true\"\n >\n </fdp-multi-input>\n </ng-container>\n</ng-container>\n", dependencies: [{ 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: "directive", type: i1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "component", type: i2.PlatformMultiInputComponent, selector: "fdp-multi-input", inputs: ["tokenHiddenId", "type", "autofocus", "glyphAriaLabel", "selected", "selectionMode", "hasByLine", "disabled", "fillControlMode", "triggers", "closeOnOutsideClick", "addonIconTitle", "addOnButtonClickFn", "displayFn"], outputs: ["selectionChange"] }], viewProviders: [dynamicFormFieldProvider, dynamicFormGroupChildProvider], encapsulation: i0.ViewEncapsulation.None });
|
|
15
15
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DynamicFormGeneratorMultiInputComponent, decorators: [{
|
|
16
16
|
type: Component,
|
|
17
17
|
args: [{ selector: 'fdp-dynamic-form-generator-multi-input', encapsulation: ViewEncapsulation.None, viewProviders: [dynamicFormFieldProvider, dynamicFormGroupChildProvider], template: "<ng-container [formGroup]=\"form\">\n <ng-container [formGroupName]=\"formGroupName\">\n <fdp-multi-input\n [id]=\"id\"\n [formControlName]=\"name\"\n [placeholder]=\"placeholder\"\n type=\"text\"\n [name]=\"name\"\n [dataSource]=\"choices\"\n displayKey=\"label\"\n lookupKey=\"label\"\n [autofocus]=\"true\"\n >\n </fdp-multi-input>\n </ng-container>\n</ng-container>\n" }]
|
|
18
18
|
}], ctorParameters: function () { return []; } });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWdlbmVyYXRvci1tdWx0aS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvZm9ybS9mb3JtLWdlbmVyYXRvci9jb250cm9scy9keW5hbWljLWZvcm0tZ2VuZXJhdG9yLW11bHRpLWlucHV0L2R5bmFtaWMtZm9ybS1nZW5lcmF0b3ItbXVsdGktaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL2Zvcm0vZm9ybS1nZW5lcmF0b3IvY29udHJvbHMvZHluYW1pYy1mb3JtLWdlbmVyYXRvci1tdWx0aS1pbnB1dC9keW5hbWljLWZvcm0tZ2VuZXJhdG9yLW11bHRpLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDNUYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLDZCQUE2QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7QUFRcEcsTUFBTSxPQUFPLHVDQUF3QyxTQUFRLCtCQUErQjtJQUN4RixjQUFjO0lBQ2Q7UUFDSSxLQUFLLEVBQUUsQ0FBQztJQUNaLENBQUM7O29JQUpRLHVDQUF1Qzt3SEFBdkMsdUNBQXVDLHFHQ1hwRCxtZkFnQkEsd2hDRFBtQixDQUFDLHdCQUF3QixFQUFFLDZCQUE2QixDQUFDOzJGQUUvRCx1Q0FBdUM7a0JBTm5ELFNBQVM7K0JBQ0ksd0NBQXdDLGlCQUVuQyxpQkFBaUIsQ0FBQyxJQUFJLGlCQUN0QixDQUFDLHdCQUF3QixFQUFFLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCYXNlRHluYW1pY0Zvcm1HZW5lcmF0b3JDb250cm9sIH0gZnJvbSAnLi4vLi4vYmFzZS1keW5hbWljLWZvcm0tZ2VuZXJhdG9yLWNvbnRyb2wnO1xuaW1wb3J0IHsgZHluYW1pY0Zvcm1GaWVsZFByb3ZpZGVyLCBkeW5hbWljRm9ybUdyb3VwQ2hpbGRQcm92aWRlciB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy9wcm92aWRlcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkcC1keW5hbWljLWZvcm0tZ2VuZXJhdG9yLW11bHRpLWlucHV0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1mb3JtLWdlbmVyYXRvci1tdWx0aS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICB2aWV3UHJvdmlkZXJzOiBbZHluYW1pY0Zvcm1GaWVsZFByb3ZpZGVyLCBkeW5hbWljRm9ybUdyb3VwQ2hpbGRQcm92aWRlcl1cbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1HZW5lcmF0b3JNdWx0aUlucHV0Q29tcG9uZW50IGV4dGVuZHMgQmFzZUR5bmFtaWNGb3JtR2VuZXJhdG9yQ29udHJvbCB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cE5hbWVdPVwiZm9ybUdyb3VwTmFtZVwiPlxuICAgICAgICA8ZmRwLW11bHRpLWlucHV0XG4gICAgICAgICAgICBbaWRdPVwiaWRcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJuYW1lXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICBbbmFtZV09XCJuYW1lXCJcbiAgICAgICAgICAgIFtkYXRhU291cmNlXT1cImNob2ljZXNcIlxuICAgICAgICAgICAgZGlzcGxheUtleT1cImxhYmVsXCJcbiAgICAgICAgICAgIGxvb2t1cEtleT1cImxhYmVsXCJcbiAgICAgICAgICAgIFthdXRvZm9jdXNdPVwidHJ1ZVwiXG4gICAgICAgID5cbiAgICAgICAgPC9mZHAtbXVsdGktaW5wdXQ+XG4gICAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|