barsa-sap-ui 2.2.73 → 2.2.75
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/fesm2022/barsa-sap-ui.mjs +758 -762
- package/fesm2022/barsa-sap-ui.mjs.map +1 -1
- package/lib/models/grid-data-provider.d.ts +1 -1
- package/lib/notification-popup.service.d.ts +1 -1
- package/lib/ui-grid-columns/ui-grid-columns.component.d.ts +1 -1
- package/lib/ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component.d.ts +1 -1
- package/lib/ui-pictures-info/ui-pictures-info.component.d.ts +2 -2
- package/lib/ui-table-view/ui-table-view.component.d.ts +4 -4
- package/lib/ul-msg-box-adapter/ul-msg-box-adapter.component.d.ts +1 -1
- package/lib/ul-notify-popup/ul-notify-popup.component.d.ts +1 -1
- package/lib/ulv-toolbar/ulv-toolbar.component.d.ts +2 -2
- package/package.json +3 -5
- package/esm2022/barsa-sap-ui.mjs +0 -5
- package/esm2022/lib/apply-conditional-formmatings.directive.mjs +0 -90
- package/esm2022/lib/avatar-size.pipe.mjs +0 -41
- package/esm2022/lib/barsa-answer-card/barsa-answer-card.component.mjs +0 -41
- package/esm2022/lib/barsa-asp-viewer/barsa-asp-viewer.component.mjs +0 -153
- package/esm2022/lib/barsa-bar-download-file/barsa-bar-download-file.component.mjs +0 -30
- package/esm2022/lib/barsa-bar-panel/barsa-bar-panel.component.mjs +0 -23
- package/esm2022/lib/barsa-base-panel/barsa-base-layout-panel.component.mjs +0 -29
- package/esm2022/lib/barsa-breadcrumbs/barsa-breadcrumbs.component.mjs +0 -24
- package/esm2022/lib/barsa-card-banner/barsa-card-banner.component.mjs +0 -38
- package/esm2022/lib/barsa-card-layout-panel/barsa-card-layout-panel.component.mjs +0 -24
- package/esm2022/lib/barsa-card-row-payam/barsa-card-row-payam.component.mjs +0 -31
- package/esm2022/lib/barsa-cartable-form/barsa-cartable-form.component.mjs +0 -41
- package/esm2022/lib/barsa-cartable-template/barsa-cartable-template.component.mjs +0 -24
- package/esm2022/lib/barsa-chat/barsa-chat.component.mjs +0 -84
- package/esm2022/lib/barsa-chat/chat.model.mjs +0 -8
- package/esm2022/lib/barsa-chat-content/barsa-chat-content.component.mjs +0 -13
- package/esm2022/lib/barsa-chat-content-toolbar/barsa-chat-content-toolbar.component.mjs +0 -22
- package/esm2022/lib/barsa-chat-list/barsa-chat-list.component.mjs +0 -117
- package/esm2022/lib/barsa-chat-message/barsa-chat-message.component.mjs +0 -79
- package/esm2022/lib/barsa-chat-thread/barsa-chat-thread.component.mjs +0 -22
- package/esm2022/lib/barsa-chat-threads-list/barsa-chat-threads-list.component.mjs +0 -13
- package/esm2022/lib/barsa-chat-threads-list-toolbar/barsa-chat-threads-list-toolbar.component.mjs +0 -15
- package/esm2022/lib/barsa-chip/barsa-chip.component.mjs +0 -72
- package/esm2022/lib/barsa-column-indicator/barsa-column-indicator.component.mjs +0 -23
- package/esm2022/lib/barsa-column-rownumber/barsa-column-rownumber.component.mjs +0 -14
- package/esm2022/lib/barsa-custom-inline-edit/barsa-custom-inline-edit.component.mjs +0 -14
- package/esm2022/lib/barsa-custom-inline-edit-row/barsa-custom-inline-edit-row.component.mjs +0 -26
- package/esm2022/lib/barsa-date-time-picker/barsa-date-time-picker.component.mjs +0 -71
- package/esm2022/lib/barsa-dynamic-field/barsa-dynamic-field.component.mjs +0 -40
- package/esm2022/lib/barsa-enum-menu-button/barsa-enum-menu-button.component.mjs +0 -61
- package/esm2022/lib/barsa-field-key-value/barsa-field-key-value.component.mjs +0 -45
- package/esm2022/lib/barsa-form-layout-panel/barsa-form-layout-panel.component.mjs +0 -58
- package/esm2022/lib/barsa-form-side-content/barsa-form-side-content.component.mjs +0 -58
- package/esm2022/lib/barsa-grid-layout-panel/barsa-grid-layout-panel.component.mjs +0 -27
- package/esm2022/lib/barsa-group-cartable/barsa-cartable-group.component.mjs +0 -94
- package/esm2022/lib/barsa-horizontal-flex-panel/barsa-horizontal-flex-panel.component.mjs +0 -22
- package/esm2022/lib/barsa-img-skeleton/barsa-img-skeleton.component.mjs +0 -25
- package/esm2022/lib/barsa-linkable-items-panel/barsa-linkable-items-panel.component.mjs +0 -37
- package/esm2022/lib/barsa-list-file-linear/barsa-list-file-linear.component.mjs +0 -42
- package/esm2022/lib/barsa-list-file-linear-gmail/barsa-list-file-linear-gmail.component.mjs +0 -30
- package/esm2022/lib/barsa-list-layout-panel/barsa-list-layout-panel.component.mjs +0 -23
- package/esm2022/lib/barsa-modal/barsa-modal.component.mjs +0 -43
- package/esm2022/lib/barsa-monaco-editor/barsa-monaco-editor.component.mjs +0 -83
- package/esm2022/lib/barsa-network-offline/barsa-network-offline.component.mjs +0 -57
- package/esm2022/lib/barsa-pishnamayesh-payam/barsa-pishnamayesh-payam.component.mjs +0 -159
- package/esm2022/lib/barsa-question-answer-comments-section/barsa-question-answer-comments-section.component.mjs +0 -17
- package/esm2022/lib/barsa-question-answer-content-actions-section/barsa-question-answer-content-actions-section.component.mjs +0 -30
- package/esm2022/lib/barsa-question-answer-creator-time-section/barsa-question-answer-creator-time-section.component.mjs +0 -14
- package/esm2022/lib/barsa-question-answer-form/barsa-question-answer-form.component.mjs +0 -34
- package/esm2022/lib/barsa-question-answer-form-add-comment/barsa-question-answer-form-add-comment.component.mjs +0 -46
- package/esm2022/lib/barsa-question-answer-vote-section/barsa-question-answer-vote-section.component.mjs +0 -79
- package/esm2022/lib/barsa-question-post/barsa-question-post.component.mjs +0 -30
- package/esm2022/lib/barsa-report-card-flex-view/barsa-report-card-flex-view.component.mjs +0 -31
- package/esm2022/lib/barsa-report-checkbox-switch-button/barsa-report-checkbox-switch-button.component.mjs +0 -28
- package/esm2022/lib/barsa-report-one-of-list/barsa-report-one-of-list.component.mjs +0 -103
- package/esm2022/lib/barsa-row-inline-actionlist/barsa-row-inline-actionlist.component.mjs +0 -26
- package/esm2022/lib/barsa-sap-ui-routing.module.mjs +0 -18
- package/esm2022/lib/barsa-sap-ui.module.mjs +0 -369
- package/esm2022/lib/barsa-search-form/barsa-search-form.component.mjs +0 -30
- package/esm2022/lib/barsa-simple-form/barsa-simple-form.component.mjs +0 -171
- package/esm2022/lib/barsa-tab-route-manager/barsa-tab-route-manager.component.mjs +0 -18
- package/esm2022/lib/barsa-table-column/barsa-table-column.component.mjs +0 -29
- package/esm2022/lib/barsa-table-header/barsa-table-header.component.mjs +0 -230
- package/esm2022/lib/barsa-table-row/barsa-table-row.component.mjs +0 -102
- package/esm2022/lib/barsa-tag-categories/barsa-tag-categories.component.mjs +0 -60
- package/esm2022/lib/barsa-tag-chip/barsa-tag-chip.component.mjs +0 -26
- package/esm2022/lib/barsa-tags-category-row/barsa-tags-category-row.component.mjs +0 -23
- package/esm2022/lib/barsa-text-ellipsis/barsa-text-ellipsis.component.mjs +0 -37
- package/esm2022/lib/barsa-theme/barsa-theme.component.mjs +0 -121
- package/esm2022/lib/barsa-tinyemce/barsa-tinyemce.component.mjs +0 -419
- package/esm2022/lib/barsa-toolbaritem-search/barsa-toolbaritem-search.component.mjs +0 -36
- package/esm2022/lib/barsa-tree-item/barsa-tree-item.component.mjs +0 -153
- package/esm2022/lib/barsa-tree-item/node-has-one-depth-level.pipe.mjs +0 -20
- package/esm2022/lib/barsa-ulv-main/barsa-ulv-main.component.mjs +0 -248
- package/esm2022/lib/blob-viewer/blob-viewer.component.mjs +0 -79
- package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +0 -52
- package/esm2022/lib/captcha-field/captcha-field.component.mjs +0 -33
- package/esm2022/lib/card-item/card-item.component.mjs +0 -79
- package/esm2022/lib/card-view-content/card-view-content.component.mjs +0 -46
- package/esm2022/lib/col-renderer.directive.mjs +0 -47
- package/esm2022/lib/column-matrix-renderer/column-matrix-renderer.component.mjs +0 -56
- package/esm2022/lib/column-matrix-renderer/matrix-value.pipe.mjs +0 -61
- package/esm2022/lib/column-renderer/column-renderer.component.mjs +0 -108
- package/esm2022/lib/constants.mjs +0 -450
- package/esm2022/lib/contentDensity.directive.mjs +0 -25
- package/esm2022/lib/custom-date-time/custom-date-time.component.mjs +0 -41
- package/esm2022/lib/device-info-field-base.mjs +0 -24
- package/esm2022/lib/dialog-handler.directive.mjs +0 -29
- package/esm2022/lib/download-files.directive.mjs +0 -34
- package/esm2022/lib/dynamic-page-size.pipe.mjs +0 -27
- package/esm2022/lib/file-in-dialog/file-in-dialog.component.mjs +0 -44
- package/esm2022/lib/file-viewer/file-viewer.component.mjs +0 -47
- package/esm2022/lib/file-viewer-content/file-viewer-content.component.mjs +0 -80
- package/esm2022/lib/file-viewer-popover/file-viewer-popover.component.mjs +0 -40
- package/esm2022/lib/form-dialog/form-dialog.component.mjs +0 -175
- package/esm2022/lib/form-dialog-less/form-dialog-less.component.mjs +0 -50
- package/esm2022/lib/form-toolbar/form-toolbar.component.mjs +0 -62
- package/esm2022/lib/form-toolbar-button/form-toolbar-button.component.mjs +0 -45
- package/esm2022/lib/form-wizard/form-wizard.component.mjs +0 -22
- package/esm2022/lib/fullscreen-dialog.directive.mjs +0 -60
- package/esm2022/lib/fullscreen-files.directive.mjs +0 -43
- package/esm2022/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.mjs +0 -220
- package/esm2022/lib/gantt-dhtml-chart-view/gantt-dhtml-chart-view.component.mjs +0 -215
- package/esm2022/lib/global-search/global-search.component.mjs +0 -27
- package/esm2022/lib/global-search-module/global-search-module.component.mjs +0 -29
- package/esm2022/lib/global-search-panel/global-search-panel.component.mjs +0 -25
- package/esm2022/lib/header-avatar/header-avatar.component.mjs +0 -18
- package/esm2022/lib/htree-create-new/htree-create-new.component.mjs +0 -48
- package/esm2022/lib/hyperlink/hyperlink.component.mjs +0 -23
- package/esm2022/lib/index.mjs +0 -467
- package/esm2022/lib/inline-save-and-cancel/inline-save-and-cancel.component.mjs +0 -32
- package/esm2022/lib/layout-actions/layout-actions.component.mjs +0 -70
- package/esm2022/lib/layout-control/layout-control.component.mjs +0 -320
- package/esm2022/lib/layout-wizard/layout-wizard.component.mjs +0 -180
- package/esm2022/lib/list-item/list-item.component.mjs +0 -34
- package/esm2022/lib/ly-empty-space/ly-empty-space.component.mjs +0 -42
- package/esm2022/lib/ly-horizontal-layout/ly-horizontal-layout.component.mjs +0 -82
- package/esm2022/lib/ly-label/ly-label.component.mjs +0 -39
- package/esm2022/lib/ly-layout-container/ly-layout-container.component.mjs +0 -83
- package/esm2022/lib/ly-layout-container-of-root/ly-layout-container-of-root.component.mjs +0 -24
- package/esm2022/lib/ly-layout-field-label/ly-layout-field-label.component.mjs +0 -24
- package/esm2022/lib/ly-layout-panel/ly-layout-panel.component.mjs +0 -92
- package/esm2022/lib/ly-line/ly-line.component.mjs +0 -56
- package/esm2022/lib/ly-simple-label/ly-simple-label.component.mjs +0 -22
- package/esm2022/lib/ly-tab-container/ly-tab-container.component.mjs +0 -44
- package/esm2022/lib/ly-tab-page/ly-tab-page.component.mjs +0 -49
- package/esm2022/lib/ly-vertical-layout/ly-vertical-layout.component.mjs +0 -51
- package/esm2022/lib/manage-filters-report/manage-filters-report.component.mjs +0 -43
- package/esm2022/lib/mask/mask.component.mjs +0 -22
- package/esm2022/lib/message-strip/message-strip.component.mjs +0 -29
- package/esm2022/lib/models/grid-data-provider.mjs +0 -121
- package/esm2022/lib/models/grid-view.mjs +0 -2
- package/esm2022/lib/models/index.mjs +0 -2
- package/esm2022/lib/no-data/no-data.component.mjs +0 -30
- package/esm2022/lib/notification-item/notification-item.component.mjs +0 -57
- package/esm2022/lib/notification-item-actions/notification-item-actions.component.mjs +0 -79
- package/esm2022/lib/notification-popup.service.mjs +0 -92
- package/esm2022/lib/object-status-icon.pipe.mjs +0 -27
- package/esm2022/lib/progress-indicator/progress-indicator.component.mjs +0 -18
- package/esm2022/lib/report-navigator/report-navigator.component.mjs +0 -75
- package/esm2022/lib/report-new-top-form/report-new-top-form.component.mjs +0 -61
- package/esm2022/lib/report-search-fields-hidden-settings/report-search-fields-hidden-settings.component.mjs +0 -35
- package/esm2022/lib/report-search-fields-manage/report-search-fields-manage.component.mjs +0 -97
- package/esm2022/lib/report-search-panel-save/report-search-panel-save.component.mjs +0 -88
- package/esm2022/lib/report-tree-base.mjs +0 -387
- package/esm2022/lib/report-view-renderer.directive.mjs +0 -395
- package/esm2022/lib/responsive-toolbar/responsive-toolbar.component.mjs +0 -50
- package/esm2022/lib/responsive-toolbar-renderer/responsive-toolbar-renderer.component.mjs +0 -84
- package/esm2022/lib/rich-text-static/rich-text-static.component.mjs +0 -74
- package/esm2022/lib/sap-font-class.pipe.mjs +0 -30
- package/esm2022/lib/sap-font.pipe.mjs +0 -30
- package/esm2022/lib/sap-size.pipe.mjs +0 -28
- package/esm2022/lib/sap-ui-report-base.component.mjs +0 -819
- package/esm2022/lib/search-panel/search-panel.component.mjs +0 -63
- package/esm2022/lib/static-text/static-text.component.mjs +0 -15
- package/esm2022/lib/table-th.directive.mjs +0 -87
- package/esm2022/lib/title/title.component.mjs +0 -15
- package/esm2022/lib/ui-asp-report-viewer/ui-asp-report-viewer.component.mjs +0 -44
- package/esm2022/lib/ui-bpmn-viewer/ui-bpmn-viewer.component.mjs +0 -33
- package/esm2022/lib/ui-button/ui-button.component.mjs +0 -32
- package/esm2022/lib/ui-calendar/ui-calendar.component.mjs +0 -54
- package/esm2022/lib/ui-card-view/ui-card-view.component.mjs +0 -63
- package/esm2022/lib/ui-card-view-horizontal-group/ui-card-view-horizontal-group.component.mjs +0 -43
- package/esm2022/lib/ui-check-box/ui-check-box.component.mjs +0 -44
- package/esm2022/lib/ui-color-ui/ui-color-ui.component.mjs +0 -50
- package/esm2022/lib/ui-container-with-button/ui-container-with-button.component.mjs +0 -38
- package/esm2022/lib/ui-date-range-ex/ui-date-range-ex.component.mjs +0 -191
- package/esm2022/lib/ui-date-time/ui-date-time.component.mjs +0 -150
- package/esm2022/lib/ui-editable-grid/ui-editable-grid.component.mjs +0 -111
- package/esm2022/lib/ui-exception-form/ui-exception-form.component.mjs +0 -53
- package/esm2022/lib/ui-file-linear-list-box/ui-file-linear-list-box.component.mjs +0 -138
- package/esm2022/lib/ui-form-panel/ui-form-panel.component.mjs +0 -104
- package/esm2022/lib/ui-gantt-chart/ui-gantt-chart.component.mjs +0 -33
- package/esm2022/lib/ui-graph/ui-graph.component.mjs +0 -17
- package/esm2022/lib/ui-grid/ui-grid.component.mjs +0 -26
- package/esm2022/lib/ui-grid-columns/ui-grid-columns.component.mjs +0 -43
- package/esm2022/lib/ui-grid-filter-item/ui-grid-filter-item.component.mjs +0 -66
- package/esm2022/lib/ui-grid-filter-settings/ui-grid-filter-settings.component.mjs +0 -75
- package/esm2022/lib/ui-grid-sort-item/ui-grid-sort-item.component.mjs +0 -58
- package/esm2022/lib/ui-grid-sort-setting/ui-grid-sort-setting.component.mjs +0 -123
- package/esm2022/lib/ui-html-viewer/ui-html-viewer.component.mjs +0 -16
- package/esm2022/lib/ui-info-bar-panel/ui-info-bar-panel.component.mjs +0 -11
- package/esm2022/lib/ui-label/ui-label.component.mjs +0 -12
- package/esm2022/lib/ui-linear-list-container-with-button/ui-linear-list-container-with-button.component.mjs +0 -405
- package/esm2022/lib/ui-list-view/ui-list-view.component.mjs +0 -85
- package/esm2022/lib/ui-map/ui-map.component.mjs +0 -68
- package/esm2022/lib/ui-matrix-view/ui-matrix-view.component.mjs +0 -124
- package/esm2022/lib/ui-mo-info-combo-viewer/ui-mo-info-combo-viewer.component.mjs +0 -19
- package/esm2022/lib/ui-mo-info-general-object-ui/ui-mo-info-general-object-ui.component.mjs +0 -14
- package/esm2022/lib/ui-mo-info-sub-form-ui/ui-mo-info-sub-form-ui.component.mjs +0 -55
- package/esm2022/lib/ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component.mjs +0 -450
- package/esm2022/lib/ui-monaco-editor/ui-monaco-editor.component.mjs +0 -28
- package/esm2022/lib/ui-multi-select-card/ui-multi-select-card.component.mjs +0 -37
- package/esm2022/lib/ui-multi-select-checkbox/ui-multi-select-checkbox.component.mjs +0 -59
- package/esm2022/lib/ui-multi-select-combo/ui-multi-select-combo.component.mjs +0 -117
- package/esm2022/lib/ui-multi-select-radio/ui-multi-select-radio.component.mjs +0 -36
- package/esm2022/lib/ui-multi-select-slider/ui-multi-select-slider.component.mjs +0 -56
- package/esm2022/lib/ui-multi-select-smile/ui-multi-select-smile.component.mjs +0 -28
- package/esm2022/lib/ui-notification-view/ui-notification-view.component.mjs +0 -47
- package/esm2022/lib/ui-num-decimal-ui/ui-num-decimal-ui.component.mjs +0 -33
- package/esm2022/lib/ui-num-int-slider/ui-num-int-slider.component.mjs +0 -27
- package/esm2022/lib/ui-num-int-ui/ui-num-int-ui.component.mjs +0 -21
- package/esm2022/lib/ui-pdf-viewer/ui-pdf-viewer.component.mjs +0 -271
- package/esm2022/lib/ui-picture-file/ui-picture-file.component.mjs +0 -103
- package/esm2022/lib/ui-pictures-info/ui-pictures-info.component.mjs +0 -260
- package/esm2022/lib/ui-radio-group/ui-radio-group.component.mjs +0 -48
- package/esm2022/lib/ui-read-only-field/ui-read-only-field.component.mjs +0 -36
- package/esm2022/lib/ui-report-carousel-view/ui-report-carousel-view.component.mjs +0 -140
- package/esm2022/lib/ui-report-container/ui-report-container.component.mjs +0 -66
- package/esm2022/lib/ui-search-command-info-ui/ui-search-command-info-ui.component.mjs +0 -24
- package/esm2022/lib/ui-simple-combo/ui-simple-combo.component.mjs +0 -55
- package/esm2022/lib/ui-single-picture/ui-single-picture.component.mjs +0 -36
- package/esm2022/lib/ui-switch-button/ui-switch-button.component.mjs +0 -20
- package/esm2022/lib/ui-table-view/ui-table-view.component.mjs +0 -296
- package/esm2022/lib/ui-text-area/ui-text-area.component.mjs +0 -50
- package/esm2022/lib/ui-text-field/ui-text-field.component.mjs +0 -52
- package/esm2022/lib/ui-text-field-auto-complete/ui-text-field-auto-complete.component.mjs +0 -48
- package/esm2022/lib/ui-time-span/ui-time-span.component.mjs +0 -24
- package/esm2022/lib/ui-tinymce/ui-tinymce.component.mjs +0 -50
- package/esm2022/lib/ui-tree/ui-tree.component.mjs +0 -115
- package/esm2022/lib/ui-tree-view/ui-tree-view.component.mjs +0 -100
- package/esm2022/lib/ui-ulv-form-multi-select-ui/ui-ulv-form-multi-select-ui.component.mjs +0 -23
- package/esm2022/lib/ui-ulv-main-ui/ui-ulv-main-ui.component.mjs +0 -313
- package/esm2022/lib/ui-workflow-panel-ui/ui-workflow-panel-ui.component.mjs +0 -25
- package/esm2022/lib/ul-loading-mask-ui/ul-loading-mask-ui.component.mjs +0 -93
- package/esm2022/lib/ul-msg-box-adapter/ul-msg-box-adapter.component.mjs +0 -119
- package/esm2022/lib/ul-notify-popup/ul-notify-popup.component.mjs +0 -32
- package/esm2022/lib/ul-toast-adapter/ul-toast-adapter.component.mjs +0 -48
- package/esm2022/lib/ulv-column-settings/ulv-column-settings.component.mjs +0 -53
- package/esm2022/lib/ulv-context-menu/ulv-context-menu.component.mjs +0 -116
- package/esm2022/lib/ulv-filter-settings/ulv-filter-settings.component.mjs +0 -43
- package/esm2022/lib/ulv-form-multi-select/ulv-form-multi-select.component.mjs +0 -196
- package/esm2022/lib/ulv-groupby-settings/ulv-groupby-settings.component.mjs +0 -44
- package/esm2022/lib/ulv-paging/ulv-paging.component.mjs +0 -84
- package/esm2022/lib/ulv-selection/ulv-selection.component.mjs +0 -65
- package/esm2022/lib/ulv-settings/ulv-settings.component.mjs +0 -116
- package/esm2022/lib/ulv-sort-settings/ulv-sort-settings.component.mjs +0 -54
- package/esm2022/lib/ulv-toolbar/ulv-toolbar.component.mjs +0 -177
- package/esm2022/lib/upload-file-status.pipe.mjs +0 -29
- package/esm2022/lib/util-chat-time-badge.pipe.mjs +0 -18
- package/esm2022/lib/util-date-to-hh-mm.pipe.mjs +0 -23
- package/esm2022/lib/wizard-layout.directive.mjs +0 -104
- package/esm2022/public-api.mjs +0 -242
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { ReportViewBaseComponent } from 'barsa-novin-ray-core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/cdk/drag-drop";
|
|
5
|
-
import * as i2 from "@fundamental-ngx/core/layout-panel";
|
|
6
|
-
import * as i3 from "@fundamental-ngx/core/list";
|
|
7
|
-
import * as i4 from "../barsa-tree-item/barsa-tree-item.component";
|
|
8
|
-
import * as i5 from "../no-data/no-data.component";
|
|
9
|
-
import * as i6 from "barsa-novin-ray-core";
|
|
10
|
-
export class UiTreeViewComponent extends ReportViewBaseComponent {
|
|
11
|
-
constructor() {
|
|
12
|
-
super(...arguments);
|
|
13
|
-
this.checkChange = new EventEmitter();
|
|
14
|
-
this.nodeSelect = new EventEmitter();
|
|
15
|
-
this.createNew = new EventEmitter();
|
|
16
|
-
this.loadChildren = new EventEmitter();
|
|
17
|
-
this.nodeViewClick = new EventEmitter();
|
|
18
|
-
this.nodeUlvCommand = new EventEmitter();
|
|
19
|
-
this.itemDrop = new EventEmitter();
|
|
20
|
-
this.itemDragMoved = new EventEmitter();
|
|
21
|
-
this.cursor = 'default';
|
|
22
|
-
}
|
|
23
|
-
onActionListClick2(node, index, itemId) {
|
|
24
|
-
if (itemId === 'Show') {
|
|
25
|
-
this.onNodeViewClick(node, index);
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
this.onNodeSelect(node, index);
|
|
29
|
-
const editBtn = this.toolbarButtons.find((tb) => tb?.itemId === itemId);
|
|
30
|
-
if (editBtn) {
|
|
31
|
-
editBtn.handler(editBtn);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
onDrop($event) {
|
|
35
|
-
this.itemDrop.emit($event);
|
|
36
|
-
}
|
|
37
|
-
onDragMoved($event) {
|
|
38
|
-
this.itemDragMoved.emit($event);
|
|
39
|
-
}
|
|
40
|
-
onNodeSelect(node, index) {
|
|
41
|
-
this.nodeSelect.emit({ node, index });
|
|
42
|
-
}
|
|
43
|
-
onNodeUlvCommand(node, index) {
|
|
44
|
-
this.nodeUlvCommand.emit({ node, index });
|
|
45
|
-
}
|
|
46
|
-
onNodeViewClick(node, index) {
|
|
47
|
-
this.nodeViewClick.emit({ node, index });
|
|
48
|
-
}
|
|
49
|
-
onCheckChange($event) {
|
|
50
|
-
this.checkChange.emit($event);
|
|
51
|
-
}
|
|
52
|
-
onLoadChildren(node) {
|
|
53
|
-
this.loadChildren.emit(node);
|
|
54
|
-
}
|
|
55
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiTreeViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
56
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: UiTreeViewComponent, selector: "bsu-ui-tree-view", inputs: { root: "root", selectedNode: "selectedNode", isHetro: "isHetro", leafCursorPointer: "leafCursorPointer", relationList: "relationList", showOkCancelButtons: "showOkCancelButtons", enableNodeReordering: "enableNodeReordering", collapseIcon: "collapseIcon", iconField: "iconField", colorField: "colorField", viewSettingsContentDensity: "viewSettingsContentDensity" }, outputs: { checkChange: "checkChange", nodeSelect: "nodeSelect", createNew: "createNew", loadChildren: "loadChildren", nodeViewClick: "nodeViewClick", nodeUlvCommand: "nodeUlvCommand", itemDrop: "itemDrop", itemDragMoved: "itemDragMoved" }, usesInheritance: true, ngImport: i0, template: "<fd-layout-panel>\r\n <fd-layout-panel-body [bleed]=\"true\">\r\n <ul\r\n cdkDropList\r\n [cdkDropListData]=\"moDataList\"\r\n [id]=\"'$Root'\"\r\n [cdkDropListDisabled]=\"!enableNodeReordering\"\r\n (cdkDropListDropped)=\"onDrop($event)\"\r\n [cdkDropListSortingDisabled]=\"true\"\r\n fd-list\r\n [class.is-compact]=\"viewSettingsContentDensity === 'compact'\"\r\n [class.is-cozy]=\"viewSettingsContentDensity === 'cozy'\"\r\n >\r\n @if (moDataList?.length > 0) { @for (node of moDataList; track node.key; let index = $index) { @if\r\n (node.visibility === true && node.parentNode | isExpandedNode) {\r\n <bsu-barsa-tree-item\r\n class=\"node-item\"\r\n [attr.data-id]=\"node.Data.Id\"\r\n [attr.id]=\"'node-' + node.Data.Id\"\r\n [isdirty]=\"node.$Dirty\"\r\n [enableNodeReordering]=\"enableNodeReordering\"\r\n [leafCursorPointer]=\"leafCursorPointer && node.leaf\"\r\n [hasInlineDeleteButton]=\"hasInlineDeleteButton\"\r\n [hasInlineEditButton]=\"hasInlineEditButton\"\r\n [actionList]=\"actionList\"\r\n [style.cursor]=\"cursor\"\r\n [node]=\"node\"\r\n [hideIcon]=\"hideIcon\"\r\n [icon]=\"iconField | rval: node.Data:allColumns\"\r\n [color]=\"colorField | rval: node.Data:allColumns\"\r\n [level]=\"node.level\"\r\n [hideOpenIcon]=\"hideOpenIcon\"\r\n [styleIndex]=\"node.Data.$StyleIndex\"\r\n [isChecked]=\"selectedNode?.Data?.Id === node.Data.Id || (inDialog && node.Data.$IsChecked)\"\r\n [hasChildren]=\"node.Data.$HasChildren\"\r\n [loading]=\"node.loading\"\r\n [inDialog]=\"inDialog\"\r\n [isMultiSelect]=\"isMultiSelect\"\r\n [isExpand]=\"node.isExpand\"\r\n [isHetro]=\"isHetro\"\r\n [parentNode]=\"node.parentNode\"\r\n [text]=\"node.text\"\r\n [openOnClick]=\"openOnClick\"\r\n [collapseIcon]=\"rtl ? 'slim-arrow-left' : 'slim-arrow-right'\"\r\n [navigationArrow]=\"navigationArrow\"\r\n [rtl]=\"rtl\"\r\n [index]=\"index\"\r\n [allColumns]=\"allColumns\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [showOkCancelButtons]=\"showOkCancelButtons\"\r\n [selectedNode]=\"selectedNode\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [contextMenuItems]=\"contextMenuItems\"\r\n [isCheckList]=\"isCheckList\"\r\n [deviceName]=\"deviceName\"\r\n [access]=\"access\"\r\n (actionListClick)=\"onActionListClick2(node, index, $event)\"\r\n (checkChange)=\"onCheckChange($event)\"\r\n (select)=\"onNodeSelect(node, index)\"\r\n (ulvCommandClick)=\"onNodeUlvCommand(node, index)\"\r\n (viewClick)=\"onNodeViewClick(node, index)\"\r\n (loadChildren)=\"onLoadChildren(node)\"\r\n (dragMoved)=\"onDragMoved($event)\"\r\n [relationList]=\"relationList\"\r\n (createNew)=\"createNew.emit($event)\"\r\n >\r\n </bsu-barsa-tree-item>\r\n } } } @else {\r\n <bsu-no-data [simple]=\"true\"></bsu-no-data>\r\n }\r\n </ul>\r\n </fd-layout-panel-body>\r\n</fd-layout-panel>\r\n\r\n<!--noData-->\r\n", styles: ["fd-layout-panel{border-radius:0}.cdk-drag-placeholder{display:none}.cdk-drag-preview{box-sizing:border-box;box-shadow:0 3px 3px -2px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f;background:#fff;opacity:.3}ul{padding-inline-start:0}.drop-inside{border:1px solid #00f}.drop-inside ::ng-deep .fd-list__item{background-color:#dce9f6!important}.drop-before{border-top:1px solid #00f}.drop-before ::ng-deep .fd-list__item{background-color:#dce9f6!important}.drop-after{border-bottom:1px solid #00f}.drop-after ::ng-deep .fd-list__item{background-color:#dce9f6!important}.no-drop ::ng-deep li,.no-drop li .cdk-drag-handle{cursor:no-drop!important}.node-title{padding:15px;margin:5px;background:#eee;cursor:grab}.node-children{position:relative;transition:height .2s;margin-left:40px}.item-notes{margin-left:20px;color:#aaa}\n"], dependencies: [{ kind: "directive", type: i1.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "component", type: i2.LayoutPanelComponent, selector: "fd-layout-panel", inputs: ["backgroundImage", "id", "transparent"] }, { kind: "component", type: i2.LayoutPanelBodyComponent, selector: "fd-layout-panel-body", inputs: ["bleed"] }, { kind: "component", type: i3.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator", "role"], outputs: ["focusEscapeList"] }, { kind: "component", type: i4.BarsaTreeItemComponent, selector: "bsu-barsa-tree-item", inputs: ["node", "selectedNode", "relationList", "hideOpenIcon", "hasArrowIcon", "collapseIcon", "loading", "hasChildren", "leafCursorPointer", "isExpand", "children", "parentNode", "text", "icon", "color", "isHetro", "enableNodeReordering", "hideIcon"], outputs: ["createNew", "select", "checkChange", "viewClick", "loadChildren", "dragMoved"] }, { kind: "component", type: i5.NoDataComponent, selector: "bsu-no-data", inputs: ["simple"] }, { kind: "pipe", type: i6.MoReportValuePipe, name: "rval" }, { kind: "pipe", type: i6.IsExpandedNodePipe, name: "isExpandedNode" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
57
|
-
}
|
|
58
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiTreeViewComponent, decorators: [{
|
|
59
|
-
type: Component,
|
|
60
|
-
args: [{ selector: 'bsu-ui-tree-view', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<fd-layout-panel>\r\n <fd-layout-panel-body [bleed]=\"true\">\r\n <ul\r\n cdkDropList\r\n [cdkDropListData]=\"moDataList\"\r\n [id]=\"'$Root'\"\r\n [cdkDropListDisabled]=\"!enableNodeReordering\"\r\n (cdkDropListDropped)=\"onDrop($event)\"\r\n [cdkDropListSortingDisabled]=\"true\"\r\n fd-list\r\n [class.is-compact]=\"viewSettingsContentDensity === 'compact'\"\r\n [class.is-cozy]=\"viewSettingsContentDensity === 'cozy'\"\r\n >\r\n @if (moDataList?.length > 0) { @for (node of moDataList; track node.key; let index = $index) { @if\r\n (node.visibility === true && node.parentNode | isExpandedNode) {\r\n <bsu-barsa-tree-item\r\n class=\"node-item\"\r\n [attr.data-id]=\"node.Data.Id\"\r\n [attr.id]=\"'node-' + node.Data.Id\"\r\n [isdirty]=\"node.$Dirty\"\r\n [enableNodeReordering]=\"enableNodeReordering\"\r\n [leafCursorPointer]=\"leafCursorPointer && node.leaf\"\r\n [hasInlineDeleteButton]=\"hasInlineDeleteButton\"\r\n [hasInlineEditButton]=\"hasInlineEditButton\"\r\n [actionList]=\"actionList\"\r\n [style.cursor]=\"cursor\"\r\n [node]=\"node\"\r\n [hideIcon]=\"hideIcon\"\r\n [icon]=\"iconField | rval: node.Data:allColumns\"\r\n [color]=\"colorField | rval: node.Data:allColumns\"\r\n [level]=\"node.level\"\r\n [hideOpenIcon]=\"hideOpenIcon\"\r\n [styleIndex]=\"node.Data.$StyleIndex\"\r\n [isChecked]=\"selectedNode?.Data?.Id === node.Data.Id || (inDialog && node.Data.$IsChecked)\"\r\n [hasChildren]=\"node.Data.$HasChildren\"\r\n [loading]=\"node.loading\"\r\n [inDialog]=\"inDialog\"\r\n [isMultiSelect]=\"isMultiSelect\"\r\n [isExpand]=\"node.isExpand\"\r\n [isHetro]=\"isHetro\"\r\n [parentNode]=\"node.parentNode\"\r\n [text]=\"node.text\"\r\n [openOnClick]=\"openOnClick\"\r\n [collapseIcon]=\"rtl ? 'slim-arrow-left' : 'slim-arrow-right'\"\r\n [navigationArrow]=\"navigationArrow\"\r\n [rtl]=\"rtl\"\r\n [index]=\"index\"\r\n [allColumns]=\"allColumns\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [showOkCancelButtons]=\"showOkCancelButtons\"\r\n [selectedNode]=\"selectedNode\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [contextMenuItems]=\"contextMenuItems\"\r\n [isCheckList]=\"isCheckList\"\r\n [deviceName]=\"deviceName\"\r\n [access]=\"access\"\r\n (actionListClick)=\"onActionListClick2(node, index, $event)\"\r\n (checkChange)=\"onCheckChange($event)\"\r\n (select)=\"onNodeSelect(node, index)\"\r\n (ulvCommandClick)=\"onNodeUlvCommand(node, index)\"\r\n (viewClick)=\"onNodeViewClick(node, index)\"\r\n (loadChildren)=\"onLoadChildren(node)\"\r\n (dragMoved)=\"onDragMoved($event)\"\r\n [relationList]=\"relationList\"\r\n (createNew)=\"createNew.emit($event)\"\r\n >\r\n </bsu-barsa-tree-item>\r\n } } } @else {\r\n <bsu-no-data [simple]=\"true\"></bsu-no-data>\r\n }\r\n </ul>\r\n </fd-layout-panel-body>\r\n</fd-layout-panel>\r\n\r\n<!--noData-->\r\n", styles: ["fd-layout-panel{border-radius:0}.cdk-drag-placeholder{display:none}.cdk-drag-preview{box-sizing:border-box;box-shadow:0 3px 3px -2px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f;background:#fff;opacity:.3}ul{padding-inline-start:0}.drop-inside{border:1px solid #00f}.drop-inside ::ng-deep .fd-list__item{background-color:#dce9f6!important}.drop-before{border-top:1px solid #00f}.drop-before ::ng-deep .fd-list__item{background-color:#dce9f6!important}.drop-after{border-bottom:1px solid #00f}.drop-after ::ng-deep .fd-list__item{background-color:#dce9f6!important}.no-drop ::ng-deep li,.no-drop li .cdk-drag-handle{cursor:no-drop!important}.node-title{padding:15px;margin:5px;background:#eee;cursor:grab}.node-children{position:relative;transition:height .2s;margin-left:40px}.item-notes{margin-left:20px;color:#aaa}\n"] }]
|
|
61
|
-
}], propDecorators: { root: [{
|
|
62
|
-
type: Input
|
|
63
|
-
}], selectedNode: [{
|
|
64
|
-
type: Input
|
|
65
|
-
}], isHetro: [{
|
|
66
|
-
type: Input
|
|
67
|
-
}], leafCursorPointer: [{
|
|
68
|
-
type: Input
|
|
69
|
-
}], relationList: [{
|
|
70
|
-
type: Input
|
|
71
|
-
}], showOkCancelButtons: [{
|
|
72
|
-
type: Input
|
|
73
|
-
}], enableNodeReordering: [{
|
|
74
|
-
type: Input
|
|
75
|
-
}], collapseIcon: [{
|
|
76
|
-
type: Input
|
|
77
|
-
}], iconField: [{
|
|
78
|
-
type: Input
|
|
79
|
-
}], colorField: [{
|
|
80
|
-
type: Input
|
|
81
|
-
}], viewSettingsContentDensity: [{
|
|
82
|
-
type: Input
|
|
83
|
-
}], checkChange: [{
|
|
84
|
-
type: Output
|
|
85
|
-
}], nodeSelect: [{
|
|
86
|
-
type: Output
|
|
87
|
-
}], createNew: [{
|
|
88
|
-
type: Output
|
|
89
|
-
}], loadChildren: [{
|
|
90
|
-
type: Output
|
|
91
|
-
}], nodeViewClick: [{
|
|
92
|
-
type: Output
|
|
93
|
-
}], nodeUlvCommand: [{
|
|
94
|
-
type: Output
|
|
95
|
-
}], itemDrop: [{
|
|
96
|
-
type: Output
|
|
97
|
-
}], itemDragMoved: [{
|
|
98
|
-
type: Output
|
|
99
|
-
}] } });
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktdHJlZS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL3VpLXRyZWUtdmlldy91aS10cmVlLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktdHJlZS12aWV3L3VpLXRyZWUtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBMkIsdUJBQXVCLEVBQWlDLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7O0FBY3ZILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSx1QkFBZ0Q7SUFQekY7O1FBbUJjLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBSXBDLENBQUM7UUFFSyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBR25DLENBQUM7UUFDSyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQW9CLENBQUM7UUFFakQsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBZSxDQUFDO1FBQy9DLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBR3RDLENBQUM7UUFDSyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUd2QyxDQUFDO1FBQ0ssYUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDbkMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRWxELFdBQU0sR0FBRyxTQUFTLENBQUM7S0F1Q3RCO0lBckNHLGtCQUFrQixDQUFDLElBQWlCLEVBQUUsS0FBYSxFQUFFLE1BQWM7UUFDL0QsSUFBSSxNQUFNLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDbEMsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMvQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLE1BQU0sS0FBSyxNQUFNLENBQUMsQ0FBQztRQUN4RSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1QsT0FBZSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0QyxDQUFDO0lBQ0wsQ0FBQztJQUNELE1BQU0sQ0FBQyxNQUFNO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFNO1FBQ2QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFpQixFQUFFLEtBQUs7UUFDakMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBaUIsRUFBRSxLQUFhO1FBQzdDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFpQixFQUFFLEtBQWE7UUFDNUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBQ0QsYUFBYSxDQUFDLE1BQU07UUFDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFTO1FBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7K0dBMUVRLG1CQUFtQjttR0FBbkIsbUJBQW1CLHNyQkNmaEMsMnJIQTJFQTs7NEZENURhLG1CQUFtQjtrQkFQL0IsU0FBUzsrQkFDSSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxLQUFLOzhCQUdSLElBQUk7c0JBQVosS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLDBCQUEwQjtzQkFBbEMsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNO2dCQU1HLFVBQVU7c0JBQW5CLE1BQU07Z0JBSUcsU0FBUztzQkFBbEIsTUFBTTtnQkFFRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBSUcsY0FBYztzQkFBdkIsTUFBTTtnQkFJRyxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVWlSZXBvcnRWaWV3QmFzZVNldHRpbmcsIFJlcG9ydFZpZXdCYXNlQ29tcG9uZW50LCBUcmVlTm9kZU9iaiwgUmVsYXRpb25JdGVtVHlwZSB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRHJvcEluZm8ge1xyXG4gICAgdGFyZ2V0SWQ6IHN0cmluZyB8IG51bGw7XHJcbiAgICBhY3Rpb24/OiBzdHJpbmcgfCBudWxsO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnN1LXVpLXRyZWUtdmlldycsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vdWktdHJlZS12aWV3LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3VpLXRyZWUtdmlldy5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVWlUcmVlVmlld0NvbXBvbmVudCBleHRlbmRzIFJlcG9ydFZpZXdCYXNlQ29tcG9uZW50PFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nPiB7XHJcbiAgICBASW5wdXQoKSByb290OiBhbnk7XHJcbiAgICBASW5wdXQoKSBzZWxlY3RlZE5vZGU6IGFueTtcclxuICAgIEBJbnB1dCgpIGlzSGV0cm86IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBsZWFmQ3Vyc29yUG9pbnRlcjogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIHJlbGF0aW9uTGlzdDogUmVsYXRpb25JdGVtVHlwZVtdO1xyXG4gICAgQElucHV0KCkgc2hvd09rQ2FuY2VsQnV0dG9ucztcclxuICAgIEBJbnB1dCgpIGVuYWJsZU5vZGVSZW9yZGVyaW5nO1xyXG4gICAgQElucHV0KCkgY29sbGFwc2VJY29uOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBpY29uRmllbGQ6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGNvbG9yRmllbGQ6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIHZpZXdTZXR0aW5nc0NvbnRlbnREZW5zaXR5OiAnY29tcGFjdCcgfCAnY296eScgfCB1bmRlZmluZWQ7XHJcbiAgICBAT3V0cHV0KCkgY2hlY2tDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHtcclxuICAgICAgICBub2RlOiBUcmVlTm9kZU9iajtcclxuICAgICAgICBpbmRleDogbnVtYmVyO1xyXG4gICAgICAgIGNoZWNrZWQ6IGJvb2xlYW47XHJcbiAgICB9PigpO1xyXG5cclxuICAgIEBPdXRwdXQoKSBub2RlU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjx7XHJcbiAgICAgICAgbm9kZTogVHJlZU5vZGVPYmo7XHJcbiAgICAgICAgaW5kZXg6IG51bWJlcjtcclxuICAgIH0+KCk7XHJcbiAgICBAT3V0cHV0KCkgY3JlYXRlTmV3ID0gbmV3IEV2ZW50RW1pdHRlcjxSZWxhdGlvbkl0ZW1UeXBlPigpO1xyXG5cclxuICAgIEBPdXRwdXQoKSBsb2FkQ2hpbGRyZW4gPSBuZXcgRXZlbnRFbWl0dGVyPFRyZWVOb2RlT2JqPigpO1xyXG4gICAgQE91dHB1dCgpIG5vZGVWaWV3Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHtcclxuICAgICAgICBub2RlOiBUcmVlTm9kZU9iajtcclxuICAgICAgICBpbmRleDogbnVtYmVyO1xyXG4gICAgfT4oKTtcclxuICAgIEBPdXRwdXQoKSBub2RlVWx2Q29tbWFuZCA9IG5ldyBFdmVudEVtaXR0ZXI8e1xyXG4gICAgICAgIG5vZGU6IFRyZWVOb2RlT2JqO1xyXG4gICAgICAgIGluZGV4OiBudW1iZXI7XHJcbiAgICB9PigpO1xyXG4gICAgQE91dHB1dCgpIGl0ZW1Ecm9wID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICBAT3V0cHV0KCkgaXRlbURyYWdNb3ZlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAgIGN1cnNvciA9ICdkZWZhdWx0JztcclxuXHJcbiAgICBvbkFjdGlvbkxpc3RDbGljazIobm9kZTogVHJlZU5vZGVPYmosIGluZGV4OiBudW1iZXIsIGl0ZW1JZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKGl0ZW1JZCA9PT0gJ1Nob3cnKSB7XHJcbiAgICAgICAgICAgIHRoaXMub25Ob2RlVmlld0NsaWNrKG5vZGUsIGluZGV4KTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm9uTm9kZVNlbGVjdChub2RlLCBpbmRleCk7XHJcbiAgICAgICAgY29uc3QgZWRpdEJ0biA9IHRoaXMudG9vbGJhckJ1dHRvbnMuZmluZCgodGIpID0+IHRiPy5pdGVtSWQgPT09IGl0ZW1JZCk7XHJcbiAgICAgICAgaWYgKGVkaXRCdG4pIHtcclxuICAgICAgICAgICAgKGVkaXRCdG4gYXMgYW55KS5oYW5kbGVyKGVkaXRCdG4pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIG9uRHJvcCgkZXZlbnQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLml0ZW1Ecm9wLmVtaXQoJGV2ZW50KTtcclxuICAgIH1cclxuXHJcbiAgICBvbkRyYWdNb3ZlZCgkZXZlbnQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLml0ZW1EcmFnTW92ZWQuZW1pdCgkZXZlbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uTm9kZVNlbGVjdChub2RlOiBUcmVlTm9kZU9iaiwgaW5kZXgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm5vZGVTZWxlY3QuZW1pdCh7IG5vZGUsIGluZGV4IH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG9uTm9kZVVsdkNvbW1hbmQobm9kZTogVHJlZU5vZGVPYmosIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm5vZGVVbHZDb21tYW5kLmVtaXQoeyBub2RlLCBpbmRleCB9KTtcclxuICAgIH1cclxuXHJcbiAgICBvbk5vZGVWaWV3Q2xpY2sobm9kZTogVHJlZU5vZGVPYmosIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm5vZGVWaWV3Q2xpY2suZW1pdCh7IG5vZGUsIGluZGV4IH0pO1xyXG4gICAgfVxyXG4gICAgb25DaGVja0NoYW5nZSgkZXZlbnQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNoZWNrQ2hhbmdlLmVtaXQoJGV2ZW50KTtcclxuICAgIH1cclxuXHJcbiAgICBvbkxvYWRDaGlsZHJlbihub2RlOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmxvYWRDaGlsZHJlbi5lbWl0KG5vZGUpO1xyXG4gICAgfVxyXG59XHJcbiIsIjxmZC1sYXlvdXQtcGFuZWw+XHJcbiAgICA8ZmQtbGF5b3V0LXBhbmVsLWJvZHkgW2JsZWVkXT1cInRydWVcIj5cclxuICAgICAgICA8dWxcclxuICAgICAgICAgICAgY2RrRHJvcExpc3RcclxuICAgICAgICAgICAgW2Nka0Ryb3BMaXN0RGF0YV09XCJtb0RhdGFMaXN0XCJcclxuICAgICAgICAgICAgW2lkXT1cIickUm9vdCdcIlxyXG4gICAgICAgICAgICBbY2RrRHJvcExpc3REaXNhYmxlZF09XCIhZW5hYmxlTm9kZVJlb3JkZXJpbmdcIlxyXG4gICAgICAgICAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cIm9uRHJvcCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgW2Nka0Ryb3BMaXN0U29ydGluZ0Rpc2FibGVkXT1cInRydWVcIlxyXG4gICAgICAgICAgICBmZC1saXN0XHJcbiAgICAgICAgICAgIFtjbGFzcy5pcy1jb21wYWN0XT1cInZpZXdTZXR0aW5nc0NvbnRlbnREZW5zaXR5ID09PSAnY29tcGFjdCdcIlxyXG4gICAgICAgICAgICBbY2xhc3MuaXMtY296eV09XCJ2aWV3U2V0dGluZ3NDb250ZW50RGVuc2l0eSA9PT0gJ2NvenknXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICAgIEBpZiAobW9EYXRhTGlzdD8ubGVuZ3RoID4gMCkgeyBAZm9yIChub2RlIG9mIG1vRGF0YUxpc3Q7IHRyYWNrIG5vZGUua2V5OyBsZXQgaW5kZXggPSAkaW5kZXgpIHsgQGlmXHJcbiAgICAgICAgICAgIChub2RlLnZpc2liaWxpdHkgPT09IHRydWUgJiYgbm9kZS5wYXJlbnROb2RlIHwgaXNFeHBhbmRlZE5vZGUpIHtcclxuICAgICAgICAgICAgPGJzdS1iYXJzYS10cmVlLWl0ZW1cclxuICAgICAgICAgICAgICAgIGNsYXNzPVwibm9kZS1pdGVtXCJcclxuICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtaWRdPVwibm9kZS5EYXRhLklkXCJcclxuICAgICAgICAgICAgICAgIFthdHRyLmlkXT1cIidub2RlLScgKyBub2RlLkRhdGEuSWRcIlxyXG4gICAgICAgICAgICAgICAgW2lzZGlydHldPVwibm9kZS4kRGlydHlcIlxyXG4gICAgICAgICAgICAgICAgW2VuYWJsZU5vZGVSZW9yZGVyaW5nXT1cImVuYWJsZU5vZGVSZW9yZGVyaW5nXCJcclxuICAgICAgICAgICAgICAgIFtsZWFmQ3Vyc29yUG9pbnRlcl09XCJsZWFmQ3Vyc29yUG9pbnRlciAmJiBub2RlLmxlYWZcIlxyXG4gICAgICAgICAgICAgICAgW2hhc0lubGluZURlbGV0ZUJ1dHRvbl09XCJoYXNJbmxpbmVEZWxldGVCdXR0b25cIlxyXG4gICAgICAgICAgICAgICAgW2hhc0lubGluZUVkaXRCdXR0b25dPVwiaGFzSW5saW5lRWRpdEJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICBbYWN0aW9uTGlzdF09XCJhY3Rpb25MaXN0XCJcclxuICAgICAgICAgICAgICAgIFtzdHlsZS5jdXJzb3JdPVwiY3Vyc29yXCJcclxuICAgICAgICAgICAgICAgIFtub2RlXT1cIm5vZGVcIlxyXG4gICAgICAgICAgICAgICAgW2hpZGVJY29uXT1cImhpZGVJY29uXCJcclxuICAgICAgICAgICAgICAgIFtpY29uXT1cImljb25GaWVsZCB8IHJ2YWw6IG5vZGUuRGF0YTphbGxDb2x1bW5zXCJcclxuICAgICAgICAgICAgICAgIFtjb2xvcl09XCJjb2xvckZpZWxkIHwgcnZhbDogbm9kZS5EYXRhOmFsbENvbHVtbnNcIlxyXG4gICAgICAgICAgICAgICAgW2xldmVsXT1cIm5vZGUubGV2ZWxcIlxyXG4gICAgICAgICAgICAgICAgW2hpZGVPcGVuSWNvbl09XCJoaWRlT3Blbkljb25cIlxyXG4gICAgICAgICAgICAgICAgW3N0eWxlSW5kZXhdPVwibm9kZS5EYXRhLiRTdHlsZUluZGV4XCJcclxuICAgICAgICAgICAgICAgIFtpc0NoZWNrZWRdPVwic2VsZWN0ZWROb2RlPy5EYXRhPy5JZCA9PT0gbm9kZS5EYXRhLklkIHx8IChpbkRpYWxvZyAmJiBub2RlLkRhdGEuJElzQ2hlY2tlZClcIlxyXG4gICAgICAgICAgICAgICAgW2hhc0NoaWxkcmVuXT1cIm5vZGUuRGF0YS4kSGFzQ2hpbGRyZW5cIlxyXG4gICAgICAgICAgICAgICAgW2xvYWRpbmddPVwibm9kZS5sb2FkaW5nXCJcclxuICAgICAgICAgICAgICAgIFtpbkRpYWxvZ109XCJpbkRpYWxvZ1wiXHJcbiAgICAgICAgICAgICAgICBbaXNNdWx0aVNlbGVjdF09XCJpc011bHRpU2VsZWN0XCJcclxuICAgICAgICAgICAgICAgIFtpc0V4cGFuZF09XCJub2RlLmlzRXhwYW5kXCJcclxuICAgICAgICAgICAgICAgIFtpc0hldHJvXT1cImlzSGV0cm9cIlxyXG4gICAgICAgICAgICAgICAgW3BhcmVudE5vZGVdPVwibm9kZS5wYXJlbnROb2RlXCJcclxuICAgICAgICAgICAgICAgIFt0ZXh0XT1cIm5vZGUudGV4dFwiXHJcbiAgICAgICAgICAgICAgICBbb3Blbk9uQ2xpY2tdPVwib3Blbk9uQ2xpY2tcIlxyXG4gICAgICAgICAgICAgICAgW2NvbGxhcHNlSWNvbl09XCJydGwgPyAnc2xpbS1hcnJvdy1sZWZ0JyA6ICdzbGltLWFycm93LXJpZ2h0J1wiXHJcbiAgICAgICAgICAgICAgICBbbmF2aWdhdGlvbkFycm93XT1cIm5hdmlnYXRpb25BcnJvd1wiXHJcbiAgICAgICAgICAgICAgICBbcnRsXT1cInJ0bFwiXHJcbiAgICAgICAgICAgICAgICBbaW5kZXhdPVwiaW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgW2FsbENvbHVtbnNdPVwiYWxsQ29sdW1uc1wiXHJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnVdPVwiZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnVcIlxyXG4gICAgICAgICAgICAgICAgW3Nob3dPa0NhbmNlbEJ1dHRvbnNdPVwic2hvd09rQ2FuY2VsQnV0dG9uc1wiXHJcbiAgICAgICAgICAgICAgICBbc2VsZWN0ZWROb2RlXT1cInNlbGVjdGVkTm9kZVwiXHJcbiAgICAgICAgICAgICAgICBbY29uZGl0aW9uYWxGb3JtYXRzXT1cImNvbmRpdGlvbmFsRm9ybWF0c1wiXHJcbiAgICAgICAgICAgICAgICBbY29udGV4dE1lbnVJdGVtc109XCJjb250ZXh0TWVudUl0ZW1zXCJcclxuICAgICAgICAgICAgICAgIFtpc0NoZWNrTGlzdF09XCJpc0NoZWNrTGlzdFwiXHJcbiAgICAgICAgICAgICAgICBbZGV2aWNlTmFtZV09XCJkZXZpY2VOYW1lXCJcclxuICAgICAgICAgICAgICAgIFthY2Nlc3NdPVwiYWNjZXNzXCJcclxuICAgICAgICAgICAgICAgIChhY3Rpb25MaXN0Q2xpY2spPVwib25BY3Rpb25MaXN0Q2xpY2syKG5vZGUsIGluZGV4LCAkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIChjaGVja0NoYW5nZSk9XCJvbkNoZWNrQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgKHNlbGVjdCk9XCJvbk5vZGVTZWxlY3Qobm9kZSwgaW5kZXgpXCJcclxuICAgICAgICAgICAgICAgICh1bHZDb21tYW5kQ2xpY2spPVwib25Ob2RlVWx2Q29tbWFuZChub2RlLCBpbmRleClcIlxyXG4gICAgICAgICAgICAgICAgKHZpZXdDbGljayk9XCJvbk5vZGVWaWV3Q2xpY2sobm9kZSwgaW5kZXgpXCJcclxuICAgICAgICAgICAgICAgIChsb2FkQ2hpbGRyZW4pPVwib25Mb2FkQ2hpbGRyZW4obm9kZSlcIlxyXG4gICAgICAgICAgICAgICAgKGRyYWdNb3ZlZCk9XCJvbkRyYWdNb3ZlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIFtyZWxhdGlvbkxpc3RdPVwicmVsYXRpb25MaXN0XCJcclxuICAgICAgICAgICAgICAgIChjcmVhdGVOZXcpPVwiY3JlYXRlTmV3LmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPC9ic3UtYmFyc2EtdHJlZS1pdGVtPlxyXG4gICAgICAgICAgICB9IH0gfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIDxic3Utbm8tZGF0YSBbc2ltcGxlXT1cInRydWVcIj48L2JzdS1uby1kYXRhPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgPC91bD5cclxuICAgIDwvZmQtbGF5b3V0LXBhbmVsLWJvZHk+XHJcbjwvZmQtbGF5b3V0LXBhbmVsPlxyXG5cclxuPCEtLW5vRGF0YS0tPlxyXG4iXX0=
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
-
import { BaseComponent } from 'barsa-novin-ray-core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@fundamental-ngx/core";
|
|
5
|
-
import * as i2 from "@fundamental-ngx/core/button";
|
|
6
|
-
import * as i3 from "@fundamental-ngx/core/dialog";
|
|
7
|
-
import * as i4 from "@fundamental-ngx/cdk/utils";
|
|
8
|
-
import * as i5 from "@fundamental-ngx/core/title";
|
|
9
|
-
import * as i6 from "@fundamental-ngx/core/toolbar";
|
|
10
|
-
import * as i7 from "../ui-ulv-main-ui/ui-ulv-main-ui.component";
|
|
11
|
-
export class UiUlvFormMultiSelectUiComponent extends BaseComponent {
|
|
12
|
-
constructor(dialogRef) {
|
|
13
|
-
super();
|
|
14
|
-
this.dialogRef = dialogRef;
|
|
15
|
-
}
|
|
16
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiUlvFormMultiSelectUiComponent, deps: [{ token: i1.DialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
17
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: UiUlvFormMultiSelectUiComponent, selector: "bsu-ui-ulv-form-multi-select-ui", usesInheritance: true, ngImport: i0, template: "<fd-dialog>\r\n <fd-dialog-header>\r\n <h1 fd-title>{{ dialogRef.data.title }}</h1>\r\n <button fd-dialog-close-button (click)=\"dialogRef.dismiss('Close button')\"></button>\r\n </fd-dialog-header>\r\n\r\n <fd-dialog-body>\r\n @if (dialogRef.data.ulv1; as ulv1) {\r\n <bsu-ui-ulv-main-ui [context]=\"ulv1\"></bsu-ui-ulv-main-ui>\r\n }\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <ng-template fdkTemplate=\"footer\">\r\n <div\r\n class=\"fdp-value-help-dialog__row fdp-value-help-dialog__selection-row\"\r\n aria-label=\"Selected and condition items\"\r\n i18n-aria-label=\"@@platformI18nValueHelpDialog.SelectionBarLabel\"\r\n >\r\n <h5 fd-title class=\"selected-and-condition-title\">\r\n <ng-container>\r\n <ng-container i18n=\"@@platformI18nValueHelpDialog.SelectedAndConditionLabel\"\r\n >Selected Items and Conditions\r\n </ng-container>\r\n ()\r\n </ng-container>\r\n </h5>\r\n\r\n <div class=\"fdp-value-help-dialog__tokens-wrapper\">\r\n <div class=\"fdp-value-help-dialog__tokens\">\r\n <fd-toolbar [shouldOverflow]=\"true\">\r\n <!-- Selected items -->\r\n </fd-toolbar>\r\n </div>\r\n <button\r\n class=\"fdp-value-help-dialog__tokens-clear\"\r\n fd-button\r\n fdType=\"transparent\"\r\n glyph=\"decline\"\r\n i18n-aria-label=\"@@platformI18nValueHelpDialog.ClearSelectedAriaLabel\"\r\n aria-label=\"clear selected items\"\r\n ></button>\r\n </div>\r\n </div>\r\n <div class=\"fdp-value-help-dialog__actions-row\">\r\n <button\r\n fd-button\r\n data-go-advanced\r\n i18n-label=\"@@platformI18nValueHelpDialog.SearchButton\"\r\n label=\"Go\"\r\n fdType=\"emphasized\"\r\n ></button>\r\n <button\r\n fd-button\r\n data-succes\r\n i18n-label=\"@@platformI18nValueHelpDialog.SuccessButton\"\r\n label=\"OK\"\r\n fdType=\"emphasized\"\r\n ></button>\r\n <button\r\n fd-button\r\n data-dismiss-dialog\r\n fd-dialog-decisive-button\r\n i18n-label=\"@@platformI18nValueHelpDialog.CancelButton\"\r\n label=\"Cancel\"\r\n fdType=\"transparent\"\r\n ></button>\r\n </div>\r\n </ng-template>\r\n </fd-dialog-footer>\r\n</fd-dialog>\r\n", styles: [""], dependencies: [{ kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i3.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i3.DialogBodyComponent, selector: "fd-dialog-body", inputs: ["disablePaddings"] }, { kind: "component", type: i3.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i3.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "component", type: i3.DialogCloseButtonComponent, selector: "[fd-dialog-close-button]", inputs: ["mobile", "title", "ariaLabel"] }, { kind: "directive", type: i4.TemplateDirective, selector: "[fdkTemplate]", inputs: ["fdkTemplate"] }, { kind: "component", type: i5.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "component", type: i6.ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "title", "active", "clearBorder", "forceOverflow", "tabindex", "headingLevel", "ariaLabel", "ariaLabelledBy"] }, { kind: "component", type: i7.UiUlvMainUiComponent, selector: "bsu-ui-ulv-main-ui", inputs: ["context", "isReportPage", "inDialog", "isMultiSelect", "layoutInfo", "fullscreen"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
18
|
-
}
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiUlvFormMultiSelectUiComponent, decorators: [{
|
|
20
|
-
type: Component,
|
|
21
|
-
args: [{ selector: 'bsu-ui-ulv-form-multi-select-ui', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<fd-dialog>\r\n <fd-dialog-header>\r\n <h1 fd-title>{{ dialogRef.data.title }}</h1>\r\n <button fd-dialog-close-button (click)=\"dialogRef.dismiss('Close button')\"></button>\r\n </fd-dialog-header>\r\n\r\n <fd-dialog-body>\r\n @if (dialogRef.data.ulv1; as ulv1) {\r\n <bsu-ui-ulv-main-ui [context]=\"ulv1\"></bsu-ui-ulv-main-ui>\r\n }\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <ng-template fdkTemplate=\"footer\">\r\n <div\r\n class=\"fdp-value-help-dialog__row fdp-value-help-dialog__selection-row\"\r\n aria-label=\"Selected and condition items\"\r\n i18n-aria-label=\"@@platformI18nValueHelpDialog.SelectionBarLabel\"\r\n >\r\n <h5 fd-title class=\"selected-and-condition-title\">\r\n <ng-container>\r\n <ng-container i18n=\"@@platformI18nValueHelpDialog.SelectedAndConditionLabel\"\r\n >Selected Items and Conditions\r\n </ng-container>\r\n ()\r\n </ng-container>\r\n </h5>\r\n\r\n <div class=\"fdp-value-help-dialog__tokens-wrapper\">\r\n <div class=\"fdp-value-help-dialog__tokens\">\r\n <fd-toolbar [shouldOverflow]=\"true\">\r\n <!-- Selected items -->\r\n </fd-toolbar>\r\n </div>\r\n <button\r\n class=\"fdp-value-help-dialog__tokens-clear\"\r\n fd-button\r\n fdType=\"transparent\"\r\n glyph=\"decline\"\r\n i18n-aria-label=\"@@platformI18nValueHelpDialog.ClearSelectedAriaLabel\"\r\n aria-label=\"clear selected items\"\r\n ></button>\r\n </div>\r\n </div>\r\n <div class=\"fdp-value-help-dialog__actions-row\">\r\n <button\r\n fd-button\r\n data-go-advanced\r\n i18n-label=\"@@platformI18nValueHelpDialog.SearchButton\"\r\n label=\"Go\"\r\n fdType=\"emphasized\"\r\n ></button>\r\n <button\r\n fd-button\r\n data-succes\r\n i18n-label=\"@@platformI18nValueHelpDialog.SuccessButton\"\r\n label=\"OK\"\r\n fdType=\"emphasized\"\r\n ></button>\r\n <button\r\n fd-button\r\n data-dismiss-dialog\r\n fd-dialog-decisive-button\r\n i18n-label=\"@@platformI18nValueHelpDialog.CancelButton\"\r\n label=\"Cancel\"\r\n fdType=\"transparent\"\r\n ></button>\r\n </div>\r\n </ng-template>\r\n </fd-dialog-footer>\r\n</fd-dialog>\r\n" }]
|
|
22
|
-
}], ctorParameters: () => [{ type: i1.DialogRef }] });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktdWx2LWZvcm0tbXVsdGktc2VsZWN0LXVpLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL3VpLXVsdi1mb3JtLW11bHRpLXNlbGVjdC11aS91aS11bHYtZm9ybS1tdWx0aS1zZWxlY3QtdWkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktdWx2LWZvcm0tbXVsdGktc2VsZWN0LXVpL3VpLXVsdi1mb3JtLW11bHRpLXNlbGVjdC11aS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7O0FBUXJELE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxhQUFhO0lBQzlELFlBQW1CLFNBQW9CO1FBQ25DLEtBQUssRUFBRSxDQUFDO1FBRE8sY0FBUyxHQUFULFNBQVMsQ0FBVztJQUV2QyxDQUFDOytHQUhRLCtCQUErQjttR0FBL0IsK0JBQStCLDhGQ1g1QyxnaEdBdUVBOzs0RkQ1RGEsK0JBQStCO2tCQVAzQyxTQUFTOytCQUNJLGlDQUFpQyxtQkFHMUIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEaWFsb2dSZWYgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JzdS11aS11bHYtZm9ybS1tdWx0aS1zZWxlY3QtdWknLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3VpLXVsdi1mb3JtLW11bHRpLXNlbGVjdC11aS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi91aS11bHYtZm9ybS1tdWx0aS1zZWxlY3QtdWkuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIFVpVWx2Rm9ybU11bHRpU2VsZWN0VWlDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBkaWFsb2dSZWY6IERpYWxvZ1JlZikge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICB9XHJcbn1cclxuIiwiPGZkLWRpYWxvZz5cclxuICAgIDxmZC1kaWFsb2ctaGVhZGVyPlxyXG4gICAgICAgIDxoMSBmZC10aXRsZT57eyBkaWFsb2dSZWYuZGF0YS50aXRsZSB9fTwvaDE+XHJcbiAgICAgICAgPGJ1dHRvbiBmZC1kaWFsb2ctY2xvc2UtYnV0dG9uIChjbGljayk9XCJkaWFsb2dSZWYuZGlzbWlzcygnQ2xvc2UgYnV0dG9uJylcIj48L2J1dHRvbj5cclxuICAgIDwvZmQtZGlhbG9nLWhlYWRlcj5cclxuXHJcbiAgICA8ZmQtZGlhbG9nLWJvZHk+XHJcbiAgICAgICAgQGlmIChkaWFsb2dSZWYuZGF0YS51bHYxOyBhcyB1bHYxKSB7XHJcbiAgICAgICAgPGJzdS11aS11bHYtbWFpbi11aSBbY29udGV4dF09XCJ1bHYxXCI+PC9ic3UtdWktdWx2LW1haW4tdWk+XHJcbiAgICAgICAgfVxyXG4gICAgPC9mZC1kaWFsb2ctYm9keT5cclxuXHJcbiAgICA8ZmQtZGlhbG9nLWZvb3Rlcj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgZmRrVGVtcGxhdGU9XCJmb290ZXJcIj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmZHAtdmFsdWUtaGVscC1kaWFsb2dfX3JvdyBmZHAtdmFsdWUtaGVscC1kaWFsb2dfX3NlbGVjdGlvbi1yb3dcIlxyXG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIlNlbGVjdGVkIGFuZCBjb25kaXRpb24gaXRlbXNcIlxyXG4gICAgICAgICAgICAgICAgaTE4bi1hcmlhLWxhYmVsPVwiQEBwbGF0Zm9ybUkxOG5WYWx1ZUhlbHBEaWFsb2cuU2VsZWN0aW9uQmFyTGFiZWxcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8aDUgZmQtdGl0bGUgY2xhc3M9XCJzZWxlY3RlZC1hbmQtY29uZGl0aW9uLXRpdGxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBpMThuPVwiQEBwbGF0Zm9ybUkxOG5WYWx1ZUhlbHBEaWFsb2cuU2VsZWN0ZWRBbmRDb25kaXRpb25MYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+U2VsZWN0ZWQgSXRlbXMgYW5kIENvbmRpdGlvbnNcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICgpXHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L2g1PlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmZHAtdmFsdWUtaGVscC1kaWFsb2dfX3Rva2Vucy13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZkcC12YWx1ZS1oZWxwLWRpYWxvZ19fdG9rZW5zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZC10b29sYmFyIFtzaG91bGRPdmVyZmxvd109XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFNlbGVjdGVkIGl0ZW1zIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2ZkLXRvb2xiYXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZkcC12YWx1ZS1oZWxwLWRpYWxvZ19fdG9rZW5zLWNsZWFyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ2x5cGg9XCJkZWNsaW5lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgaTE4bi1hcmlhLWxhYmVsPVwiQEBwbGF0Zm9ybUkxOG5WYWx1ZUhlbHBEaWFsb2cuQ2xlYXJTZWxlY3RlZEFyaWFMYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJjbGVhciBzZWxlY3RlZCBpdGVtc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmRwLXZhbHVlLWhlbHAtZGlhbG9nX19hY3Rpb25zLXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIGRhdGEtZ28tYWR2YW5jZWRcclxuICAgICAgICAgICAgICAgICAgICBpMThuLWxhYmVsPVwiQEBwbGF0Zm9ybUkxOG5WYWx1ZUhlbHBEaWFsb2cuU2VhcmNoQnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICBsYWJlbD1cIkdvXCJcclxuICAgICAgICAgICAgICAgICAgICBmZFR5cGU9XCJlbXBoYXNpemVkXCJcclxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICBkYXRhLXN1Y2Nlc1xyXG4gICAgICAgICAgICAgICAgICAgIGkxOG4tbGFiZWw9XCJAQHBsYXRmb3JtSTE4blZhbHVlSGVscERpYWxvZy5TdWNjZXNzQnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICBsYWJlbD1cIk9LXCJcclxuICAgICAgICAgICAgICAgICAgICBmZFR5cGU9XCJlbXBoYXNpemVkXCJcclxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICBkYXRhLWRpc21pc3MtZGlhbG9nXHJcbiAgICAgICAgICAgICAgICAgICAgZmQtZGlhbG9nLWRlY2lzaXZlLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIGkxOG4tbGFiZWw9XCJAQHBsYXRmb3JtSTE4blZhbHVlSGVscERpYWxvZy5DYW5jZWxCdXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsPVwiQ2FuY2VsXCJcclxuICAgICAgICAgICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXHJcbiAgICAgICAgICAgICAgICA+PC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L2ZkLWRpYWxvZy1mb290ZXI+XHJcbjwvZmQtZGlhbG9nPlxyXG4iXX0=
|
|
@@ -1,313 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, HostBinding, Input, ViewChild } from '@angular/core';
|
|
2
|
-
import { distinctUntilChanged, takeUntil } from 'rxjs/operators';
|
|
3
|
-
import { BarsaApi, BaseComponent, UlvMainService, getDeviceIsMobile } from 'barsa-novin-ray-core';
|
|
4
|
-
import { ManageFiltersReportComponent } from '../manage-filters-report/manage-filters-report.component';
|
|
5
|
-
import { SearchPanelComponent } from '../search-panel/search-panel.component';
|
|
6
|
-
import { ReportSearchFieldsHiddenSettingsComponent } from '../report-search-fields-hidden-settings/report-search-fields-hidden-settings.component';
|
|
7
|
-
import { ReportSearchPanelSaveComponent } from '../report-search-panel-save/report-search-panel-save.component';
|
|
8
|
-
import { ReportSearchFieldsManageComponent } from '../report-search-fields-manage/report-search-fields-manage.component';
|
|
9
|
-
import { BarsaUlvMainComponent } from '../barsa-ulv-main/barsa-ulv-main.component';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "@fundamental-ngx/core";
|
|
12
|
-
import * as i2 from "barsa-novin-ray-core";
|
|
13
|
-
import * as i3 from "@angular/router";
|
|
14
|
-
import * as i4 from "../barsa-ulv-main/barsa-ulv-main.component";
|
|
15
|
-
import * as i5 from "../contentDensity.directive";
|
|
16
|
-
import * as i6 from "@angular/common";
|
|
17
|
-
export class UiUlvMainUiComponent extends BaseComponent {
|
|
18
|
-
set searchPanelComponent(val) {
|
|
19
|
-
if (val) {
|
|
20
|
-
this.searchPanelLoaded = true;
|
|
21
|
-
}
|
|
22
|
-
this._cdr.detectChanges();
|
|
23
|
-
}
|
|
24
|
-
set fullscreen(val) {
|
|
25
|
-
this._ulvMainService.setFullscreen(val);
|
|
26
|
-
}
|
|
27
|
-
constructor(_dialogService, _ulvMainService, el, _router, _portalService, _cdr, _activatedRoute, contentDensityService, _bradcrumbService) {
|
|
28
|
-
super();
|
|
29
|
-
this._dialogService = _dialogService;
|
|
30
|
-
this._ulvMainService = _ulvMainService;
|
|
31
|
-
this.el = el;
|
|
32
|
-
this._router = _router;
|
|
33
|
-
this._portalService = _portalService;
|
|
34
|
-
this._cdr = _cdr;
|
|
35
|
-
this._activatedRoute = _activatedRoute;
|
|
36
|
-
this.firstApplyAutomatically = true;
|
|
37
|
-
this.defaultDialogConfig = {
|
|
38
|
-
verticalPadding: true,
|
|
39
|
-
responsivePadding: true,
|
|
40
|
-
resizable: true,
|
|
41
|
-
minWidth: getDeviceIsMobile() ? '' : '50rem',
|
|
42
|
-
bodyMinHeight: getDeviceIsMobile() ? '' : 'calc(50vh - 88px)',
|
|
43
|
-
mobile: getDeviceIsMobile()
|
|
44
|
-
};
|
|
45
|
-
this.contentDensity$ = contentDensityService.contentDensity;
|
|
46
|
-
this.rtl$ = _portalService.rtl$;
|
|
47
|
-
this.breadCrumbs$ = _bradcrumbService.breadcrumbs$;
|
|
48
|
-
}
|
|
49
|
-
ngOnInit() {
|
|
50
|
-
super.ngOnInit();
|
|
51
|
-
this.isMobile = getDeviceIsMobile();
|
|
52
|
-
this._ulvMainService.setInDialog(this.inDialog);
|
|
53
|
-
this.hidePaging$ = this._ulvMainService.hidePaging$;
|
|
54
|
-
this._ulvMainService.setIsMultiSelect(this.isMultiSelect);
|
|
55
|
-
this._ulvMainService.uiViewerSelector$.pipe(takeUntil(this._onDestroy$)).subscribe((c) => {
|
|
56
|
-
this._barsaUlvComponent.SetUiViewerSelector(c);
|
|
57
|
-
});
|
|
58
|
-
// fromEvent(document, 'click')
|
|
59
|
-
// .pipe(takeUntil(this._onDestroy$))
|
|
60
|
-
// .subscribe((e) => {
|
|
61
|
-
// if (
|
|
62
|
-
// e.target &&
|
|
63
|
-
// this.el.nativeElement !== e.target &&
|
|
64
|
-
// !this.el.nativeElement.contains(e.target) &&
|
|
65
|
-
// document.body.contains(e.target as HTMLElement)
|
|
66
|
-
// ) {
|
|
67
|
-
// this._ulvMainService.setInlineEdit(false);
|
|
68
|
-
// }
|
|
69
|
-
// });
|
|
70
|
-
this._removeBugInChromeCssActive();
|
|
71
|
-
this.marginUlv = !this.isReportPage;
|
|
72
|
-
if (!this.context.Setting.SearchPanel) {
|
|
73
|
-
this.searchPanelLoaded = true;
|
|
74
|
-
}
|
|
75
|
-
this._observeOn();
|
|
76
|
-
this.context.fireEvent('render', this);
|
|
77
|
-
}
|
|
78
|
-
_observeOn() {
|
|
79
|
-
this.isAnonymous$ = this._portalService.isAnonymous$;
|
|
80
|
-
this.hideSearchPanel$ = this._ulvMainService.hideSearchpanel$;
|
|
81
|
-
this.title = BarsaApi.Common.Util.TryGetValue(this.context, 'Setting.ClassNames.CustomUi.Parameters.Title', '');
|
|
82
|
-
this.simpleSearchPanel = BarsaApi.Common.Util.TryGetValue(this.context, 'Setting.ClassNames.CustomUi.Parameters.SimpleSearchPanel', false);
|
|
83
|
-
const hideTitleMode = BarsaApi.Common.Util.TryGetValue(this.context, 'Setting.ClassNames.CustomUi.Parameters.HideTitleMode', '');
|
|
84
|
-
if (hideTitleMode === '2' || hideTitleMode === '3') {
|
|
85
|
-
this._ulvMainService.hideUlvTitlePage();
|
|
86
|
-
}
|
|
87
|
-
this._ulvMainService.setContext(this.context);
|
|
88
|
-
this._ulvMainService.setLayoutInfo(this.layoutInfo);
|
|
89
|
-
this.mask$ = this._ulvMainService.mask$;
|
|
90
|
-
this.viwerMask$ = this._ulvMainService.viwerMask$;
|
|
91
|
-
this.hideUlvPageTitle$ = this._ulvMainService.hideUlvPageTitle$;
|
|
92
|
-
this.canSaveGridSetting$ = this._ulvMainService.canSaveGridSetting$;
|
|
93
|
-
this.cssBackground$ = this._ulvMainService.cssBackground$;
|
|
94
|
-
this.pagingSetting$ = this._ulvMainService.pagingSetting$;
|
|
95
|
-
this.searchPanelMoChanged$ = this._ulvMainService.searchPanelMoChanged$;
|
|
96
|
-
this.hasSearchPanel = this._ulvMainService.searchPanelUi !== null;
|
|
97
|
-
this.searchPanelUi$ = this._ulvMainService.searchPanelUi$;
|
|
98
|
-
this.standalone$ = this._portalService.standalone$;
|
|
99
|
-
this.landscape$ = this._portalService.landscape$;
|
|
100
|
-
this.reportId$ = this._ulvMainService.reportId$;
|
|
101
|
-
this._ulvMainService.canSaveGridSetting$.subscribe((canSave) => {
|
|
102
|
-
if (canSave) {
|
|
103
|
-
this._ulvMainService.loadSearchPanelSettings();
|
|
104
|
-
}
|
|
105
|
-
});
|
|
106
|
-
this._ulvMainService.readonly$.subscribe((readonly) => {
|
|
107
|
-
this.readonly = readonly;
|
|
108
|
-
});
|
|
109
|
-
this._ulvMainService.enable$.subscribe((enable) => {
|
|
110
|
-
this.disable = !enable;
|
|
111
|
-
});
|
|
112
|
-
this._ulvMainService.selectedSearchPanelSettings$
|
|
113
|
-
.pipe(takeUntil(this._onDestroy$), distinctUntilChanged((a, b) => a?.Title === b?.Title))
|
|
114
|
-
.subscribe((selectedSearchPanelSettings) => {
|
|
115
|
-
this.selectedSearchPanelSettings = selectedSearchPanelSettings;
|
|
116
|
-
this._ulvMainService.applySearchPanelSettings(selectedSearchPanelSettings);
|
|
117
|
-
this._ulvMainService.toggleHideSearchpanel(selectedSearchPanelSettings?.HideSearchPanel);
|
|
118
|
-
});
|
|
119
|
-
this.viewer$ = this._ulvMainService.viewer$;
|
|
120
|
-
this.allSearchPanelSettings$ = this._ulvMainService.allSearchPanelSettings$;
|
|
121
|
-
this.selectedSearchPanelSettings$ = this._ulvMainService.selectedSearchPanelSettings$;
|
|
122
|
-
this.selectedSearchPanelSettingsId$ = this._ulvMainService.selectedSearchPanelSettingsId$;
|
|
123
|
-
this.deviceSize$ = this._portalService.deviceSize$.pipe(takeUntil(this._onDestroy$), distinctUntilChanged());
|
|
124
|
-
}
|
|
125
|
-
onClose() {
|
|
126
|
-
this._router.navigate(['../..'], { relativeTo: this._activatedRoute });
|
|
127
|
-
}
|
|
128
|
-
onSearchPanelMoChanged() {
|
|
129
|
-
this._setSearchPanelMoChanged(true);
|
|
130
|
-
}
|
|
131
|
-
onPageChange(e) {
|
|
132
|
-
this._ulvMainService.pageChanged(e);
|
|
133
|
-
}
|
|
134
|
-
onOpenManageFilters() {
|
|
135
|
-
this._dialogService.open(ManageFiltersReportComponent, {
|
|
136
|
-
backdropClickCloseable: true,
|
|
137
|
-
draggable: false,
|
|
138
|
-
escKeyCloseable: true,
|
|
139
|
-
hasBackdrop: false,
|
|
140
|
-
focusTrapped: true,
|
|
141
|
-
mobile: this.isMobile
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
onCollapsedChange(collapsed) {
|
|
145
|
-
this._ulvMainService.toggleHideSearchpanel(collapsed);
|
|
146
|
-
this._ulvMainService.searchPanelMoChanged(true);
|
|
147
|
-
}
|
|
148
|
-
onHideSearchPanelClick() {
|
|
149
|
-
this._ulvMainService.toggleHideSearchpanel();
|
|
150
|
-
this._ulvMainService.searchPanelMoChanged(true);
|
|
151
|
-
}
|
|
152
|
-
onFilterSave() {
|
|
153
|
-
this._saveFilter();
|
|
154
|
-
}
|
|
155
|
-
onFilterSaveAs() {
|
|
156
|
-
this._openSaveAsFilter();
|
|
157
|
-
}
|
|
158
|
-
onShowFilterFieldsSetting() {
|
|
159
|
-
this._openSearchFieldsHiddenSettings();
|
|
160
|
-
}
|
|
161
|
-
onManageFilters() {
|
|
162
|
-
this._openSearchFiltersManage();
|
|
163
|
-
}
|
|
164
|
-
onClearSearch() {
|
|
165
|
-
this._ulvMainService.clearSearch();
|
|
166
|
-
}
|
|
167
|
-
onSearch() {
|
|
168
|
-
this._ulvMainService.search();
|
|
169
|
-
}
|
|
170
|
-
onSelectSearchPanelSettings(selectedSearchPanelSettingsId) {
|
|
171
|
-
this._ulvMainService.changeSelectedSearchPanel(selectedSearchPanelSettingsId);
|
|
172
|
-
}
|
|
173
|
-
_removeBugInChromeCssActive() {
|
|
174
|
-
if (BarsaApi.Common.Util.RemoveBugInChromeCssActive) {
|
|
175
|
-
return;
|
|
176
|
-
}
|
|
177
|
-
let list = [];
|
|
178
|
-
const h = document.head.children;
|
|
179
|
-
for (let i = 0; i < h.length; i++) {
|
|
180
|
-
list[i] = {
|
|
181
|
-
i,
|
|
182
|
-
n: h[i],
|
|
183
|
-
a: h[i].innerHTML
|
|
184
|
-
};
|
|
185
|
-
}
|
|
186
|
-
list = list.reverse();
|
|
187
|
-
/* eslint-disable */
|
|
188
|
-
const t = `.fd-table__cell--activable:active *,.fd-table__row--activable.is-active *,.fd-table__row--activable:active *{color:var(--sapList_Active_TextColor)!important}`;
|
|
189
|
-
/* eslint-enable */
|
|
190
|
-
const f = list.filter((c) => c.a.indexOf(t) >= 0);
|
|
191
|
-
if (f.length > 0) {
|
|
192
|
-
BarsaApi.Common.Util.RemoveBugInChromeCssActive = true;
|
|
193
|
-
f[0].n.innerHTML = f[0].a.slice(0, 10058) + f[0].a.slice(10058 + t.length, f[0].a.length);
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
_setSearchPanelMoChanged(change) {
|
|
197
|
-
this._ulvMainService.searchPanelMoChanged(change);
|
|
198
|
-
}
|
|
199
|
-
_openSearchFieldsHiddenSettings() {
|
|
200
|
-
const fieldsSetting = this._ulvMainService.getSearchPanelFieldsSetting();
|
|
201
|
-
const config = {
|
|
202
|
-
...this.defaultDialogConfig,
|
|
203
|
-
minWidth: '25rem',
|
|
204
|
-
data: {
|
|
205
|
-
fields: [...fieldsSetting]
|
|
206
|
-
}
|
|
207
|
-
};
|
|
208
|
-
const dialogRef = this._dialogService.open(ReportSearchFieldsHiddenSettingsComponent, config);
|
|
209
|
-
dialogRef.afterClosed.pipe(takeUntil(this._onDestroy$)).subscribe((setting) => {
|
|
210
|
-
if (setting) {
|
|
211
|
-
this._ulvMainService.setAndApplySearchPanelSettingFieldsSetting(setting);
|
|
212
|
-
this._ulvMainService.searchPanelMoChanged(true);
|
|
213
|
-
}
|
|
214
|
-
});
|
|
215
|
-
}
|
|
216
|
-
_openSaveAsFilter() {
|
|
217
|
-
const searchMo = this._ulvMainService.getSearchPanelMo();
|
|
218
|
-
const selectedSearchPanelSettings = this.selectedSearchPanelSettings;
|
|
219
|
-
const fieldsSetting = selectedSearchPanelSettings?.FieldsSetting;
|
|
220
|
-
const config = {
|
|
221
|
-
...this.defaultDialogConfig,
|
|
222
|
-
minWidth: '25rem',
|
|
223
|
-
resizable: false,
|
|
224
|
-
data: {
|
|
225
|
-
searchMo,
|
|
226
|
-
fieldsSetting,
|
|
227
|
-
reportId: this._ulvMainService.reportId
|
|
228
|
-
}
|
|
229
|
-
};
|
|
230
|
-
const dialogRef = this._dialogService.open(ReportSearchPanelSaveComponent, config);
|
|
231
|
-
dialogRef.afterClosed.pipe(takeUntil(this._onDestroy$)).subscribe((searchPanelSetting) => {
|
|
232
|
-
if (searchPanelSetting) {
|
|
233
|
-
searchPanelSetting.HideSearchPanel = this._ulvMainService.hideSearchpanel;
|
|
234
|
-
this._ulvMainService.addSearchPanelSettings(searchPanelSetting);
|
|
235
|
-
}
|
|
236
|
-
});
|
|
237
|
-
}
|
|
238
|
-
_saveFilter() {
|
|
239
|
-
const selectedSearchPanelSettings = this.selectedSearchPanelSettings;
|
|
240
|
-
if (selectedSearchPanelSettings) {
|
|
241
|
-
selectedSearchPanelSettings.HideSearchPanel = this._ulvMainService.hideSearchpanel;
|
|
242
|
-
this._ulvMainService.saveSearchPanelSetting(selectedSearchPanelSettings);
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
_openSearchFiltersManage() {
|
|
246
|
-
const allSearchPanelSettings = this._ulvMainService.allSearchPanelSettings;
|
|
247
|
-
const reportId = this._ulvMainService.reportId;
|
|
248
|
-
const config = {
|
|
249
|
-
...this.defaultDialogConfig,
|
|
250
|
-
responsivePadding: false,
|
|
251
|
-
verticalPadding: false,
|
|
252
|
-
data: {
|
|
253
|
-
allSearchPanelSettings: allSearchPanelSettings.map((c) => ({
|
|
254
|
-
Title: c.Title,
|
|
255
|
-
IsDefault: c.IsDefault,
|
|
256
|
-
IsPublic: c.IsPublic,
|
|
257
|
-
IsPrimary: !!c.IsPrimary,
|
|
258
|
-
ApplyAutomatically: c.ApplyAutomatically,
|
|
259
|
-
ReportId: reportId,
|
|
260
|
-
Id: c.Id
|
|
261
|
-
}))
|
|
262
|
-
}
|
|
263
|
-
};
|
|
264
|
-
const dialogRef = this._dialogService.open(ReportSearchFieldsManageComponent, config);
|
|
265
|
-
dialogRef.afterClosed.pipe(takeUntil(this._onDestroy$)).subscribe((setting) => {
|
|
266
|
-
if (setting) {
|
|
267
|
-
setting
|
|
268
|
-
.filter((c) => !c.IsPrimary)
|
|
269
|
-
.forEach((newSetting) => {
|
|
270
|
-
const sps = allSearchPanelSettings.find((c) => c.Id === newSetting.Id);
|
|
271
|
-
if (sps) {
|
|
272
|
-
BarsaApi.Common.Merger.Merge(sps, newSetting);
|
|
273
|
-
}
|
|
274
|
-
});
|
|
275
|
-
this._ulvMainService.updateSearchPanelSettings(allSearchPanelSettings);
|
|
276
|
-
}
|
|
277
|
-
});
|
|
278
|
-
}
|
|
279
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiUlvMainUiComponent, deps: [{ token: i1.DialogService }, { token: i2.UlvMainService }, { token: i0.ElementRef }, { token: i3.Router }, { token: i2.PortalService }, { token: i0.ChangeDetectorRef }, { token: i3.ActivatedRoute }, { token: i1.ContentDensityService }, { token: i2.BreadcrumbService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
280
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UiUlvMainUiComponent, selector: "bsu-ui-ulv-main-ui", inputs: { context: "context", isReportPage: "isReportPage", inDialog: "inDialog", isMultiSelect: "isMultiSelect", layoutInfo: "layoutInfo", fullscreen: "fullscreen" }, host: { properties: { "class.control-readonly": "this.readonly", "class.control-disabled": "this.disable", "class.margin-ulv": "this.marginUlv" } }, providers: [UlvMainService], viewQueries: [{ propertyName: "_barsaUlvComponent", first: true, predicate: BarsaUlvMainComponent, descendants: true }, { propertyName: "searchPanelComponent", first: true, predicate: SearchPanelComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<bsu-barsa-ulv-main\r\n [style.margin]=\"isReportPage || inDialog ? null : 'var(--fdInput_Field_Margin, .25rem 0)'\"\r\n [style.style.width]=\"!isMobile ? null : '100%'\"\r\n [layoutInfo]=\"layoutInfo\"\r\n [attr.isReportPage]=\"isReportPage\"\r\n [simpleSearchPanel]=\"simpleSearchPanel\"\r\n [viewerControl]=\"viewer$ | async\"\r\n [loading]=\"(mask$ | async) === true\"\r\n [viewerLoading]=\"(viwerMask$ | async) === true\"\r\n [cssBackground]=\"(cssBackground$ | async)\"\r\n [standalone]=\"(standalone$ | async) === true\"\r\n [landscape]=\"(landscape$ | async) === true\"\r\n [hideUlvPageTitle]=\"(hideUlvPageTitle$ | async) === true\"\r\n [isReportPage]=\"isReportPage\"\r\n [deviceSize]=\"(deviceSize$ | async)!!\"\r\n [title]=\"title\"\r\n [hidePaging]=\"(hidePaging$ | async)===true\"\r\n [searchPanelUi]=\"(searchPanelUi$ | async)!!\"\r\n [breadCrumbs]=\"(breadCrumbs$ | async)!!\"\r\n [allSearchPanelSettings]=\"(allSearchPanelSettings$ | async)!!\"\r\n [isAnonymous]=\"(isAnonymous$ | async)!!\"\r\n [canSaveGridSetting]=\"(canSaveGridSetting$ | async) === true\"\r\n [rtl]=\"(rtl$ | async)!!\"\r\n [selectedSearchPanelSettings]=\"(selectedSearchPanelSettings$ | async)!!\"\r\n [searchPanelMoChanged]=\"(searchPanelMoChanged$ | async)!!\"\r\n [selectedSearchPanelSettingsId]=\"(selectedSearchPanelSettingsId$ | async)!!\"\r\n [hideSearchPanel]=\"(hideSearchPanel$ | async)!!\"\r\n [pagingSetting]=\"(pagingSetting$ | async)!!\"\r\n [context]=\"context\"\r\n [contentDensity]=\"contentDensity$ | async\"\r\n (closeEvent)=\"onClose()\"\r\n (searchPanelMoChange)=\"onSearchPanelMoChanged()\"\r\n (openManageFilters)=\"onOpenManageFilters()\"\r\n (collapsedChange)=\"onCollapsedChange($event)\"\r\n (hideSearchPanelClick)=\"onHideSearchPanelClick()\"\r\n (filterSave)=\"onFilterSave()\"\r\n (filterSaveAs)=\"onFilterSaveAs()\"\r\n (showFilterFieldsSetting)=\"onShowFilterFieldsSetting()\"\r\n (manageFilters)=\"onManageFilters()\"\r\n (clearSearch)=\"onClearSearch()\"\r\n (search)=\"onSearch()\"\r\n (pageChange)=\"onPageChange($event)\"\r\n (selectSearchPanelSettings)=\"onSelectSearchPanelSettings($event)\"\r\n>\r\n</bsu-barsa-ulv-main>\r\n", styles: [":host{width:100%;min-height:100%;height:auto;display:flex;flex-direction:column;cursor:default}.margin-ulv{margin-bottom:.25rem;margin-top:.1875rem}\n"], dependencies: [{ kind: "component", type: i4.BarsaUlvMainComponent, selector: "bsu-barsa-ulv-main", inputs: ["viewerControl", "loading", "hidePaging", "viewerLoading", "isReportPage", "cssBackground", "deviceSize", "title", "searchPanelUi", "breadCrumbs", "allSearchPanelSettings", "isAnonymous", "canSaveGridSetting", "rtl", "hideUlvPageTitle", "selectedSearchPanelSettings", "searchPanelMoChanged", "selectedSearchPanelSettingsId", "hideSearchPanel", "pagingSetting", "contentDensity", "context", "isMobile", "standalone", "landscape", "simpleSearchPanel", "layoutInfo"], outputs: ["closeEvent", "searchPanelMoChange", "openManageFilters", "collapsedChange", "hideSearchPanelClick", "filterSave", "filterSaveAs", "pageChange", "showFilterFieldsSetting", "manageFilters", "clearSearch", "search", "selectSearchPanelSettings"] }, { kind: "directive", type: i5.ContentDensityDirective, selector: "[contentDensity]" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
281
|
-
}
|
|
282
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiUlvMainUiComponent, decorators: [{
|
|
283
|
-
type: Component,
|
|
284
|
-
args: [{ selector: 'bsu-ui-ulv-main-ui', providers: [UlvMainService], changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bsu-barsa-ulv-main\r\n [style.margin]=\"isReportPage || inDialog ? null : 'var(--fdInput_Field_Margin, .25rem 0)'\"\r\n [style.style.width]=\"!isMobile ? null : '100%'\"\r\n [layoutInfo]=\"layoutInfo\"\r\n [attr.isReportPage]=\"isReportPage\"\r\n [simpleSearchPanel]=\"simpleSearchPanel\"\r\n [viewerControl]=\"viewer$ | async\"\r\n [loading]=\"(mask$ | async) === true\"\r\n [viewerLoading]=\"(viwerMask$ | async) === true\"\r\n [cssBackground]=\"(cssBackground$ | async)\"\r\n [standalone]=\"(standalone$ | async) === true\"\r\n [landscape]=\"(landscape$ | async) === true\"\r\n [hideUlvPageTitle]=\"(hideUlvPageTitle$ | async) === true\"\r\n [isReportPage]=\"isReportPage\"\r\n [deviceSize]=\"(deviceSize$ | async)!!\"\r\n [title]=\"title\"\r\n [hidePaging]=\"(hidePaging$ | async)===true\"\r\n [searchPanelUi]=\"(searchPanelUi$ | async)!!\"\r\n [breadCrumbs]=\"(breadCrumbs$ | async)!!\"\r\n [allSearchPanelSettings]=\"(allSearchPanelSettings$ | async)!!\"\r\n [isAnonymous]=\"(isAnonymous$ | async)!!\"\r\n [canSaveGridSetting]=\"(canSaveGridSetting$ | async) === true\"\r\n [rtl]=\"(rtl$ | async)!!\"\r\n [selectedSearchPanelSettings]=\"(selectedSearchPanelSettings$ | async)!!\"\r\n [searchPanelMoChanged]=\"(searchPanelMoChanged$ | async)!!\"\r\n [selectedSearchPanelSettingsId]=\"(selectedSearchPanelSettingsId$ | async)!!\"\r\n [hideSearchPanel]=\"(hideSearchPanel$ | async)!!\"\r\n [pagingSetting]=\"(pagingSetting$ | async)!!\"\r\n [context]=\"context\"\r\n [contentDensity]=\"contentDensity$ | async\"\r\n (closeEvent)=\"onClose()\"\r\n (searchPanelMoChange)=\"onSearchPanelMoChanged()\"\r\n (openManageFilters)=\"onOpenManageFilters()\"\r\n (collapsedChange)=\"onCollapsedChange($event)\"\r\n (hideSearchPanelClick)=\"onHideSearchPanelClick()\"\r\n (filterSave)=\"onFilterSave()\"\r\n (filterSaveAs)=\"onFilterSaveAs()\"\r\n (showFilterFieldsSetting)=\"onShowFilterFieldsSetting()\"\r\n (manageFilters)=\"onManageFilters()\"\r\n (clearSearch)=\"onClearSearch()\"\r\n (search)=\"onSearch()\"\r\n (pageChange)=\"onPageChange($event)\"\r\n (selectSearchPanelSettings)=\"onSelectSearchPanelSettings($event)\"\r\n>\r\n</bsu-barsa-ulv-main>\r\n", styles: [":host{width:100%;min-height:100%;height:auto;display:flex;flex-direction:column;cursor:default}.margin-ulv{margin-bottom:.25rem;margin-top:.1875rem}\n"] }]
|
|
285
|
-
}], ctorParameters: () => [{ type: i1.DialogService }, { type: i2.UlvMainService }, { type: i0.ElementRef }, { type: i3.Router }, { type: i2.PortalService }, { type: i0.ChangeDetectorRef }, { type: i3.ActivatedRoute }, { type: i1.ContentDensityService }, { type: i2.BreadcrumbService }], propDecorators: { context: [{
|
|
286
|
-
type: Input
|
|
287
|
-
}], isReportPage: [{
|
|
288
|
-
type: Input
|
|
289
|
-
}], inDialog: [{
|
|
290
|
-
type: Input
|
|
291
|
-
}], isMultiSelect: [{
|
|
292
|
-
type: Input
|
|
293
|
-
}], layoutInfo: [{
|
|
294
|
-
type: Input
|
|
295
|
-
}], _barsaUlvComponent: [{
|
|
296
|
-
type: ViewChild,
|
|
297
|
-
args: [BarsaUlvMainComponent]
|
|
298
|
-
}], readonly: [{
|
|
299
|
-
type: HostBinding,
|
|
300
|
-
args: ['class.control-readonly']
|
|
301
|
-
}], disable: [{
|
|
302
|
-
type: HostBinding,
|
|
303
|
-
args: ['class.control-disabled']
|
|
304
|
-
}], marginUlv: [{
|
|
305
|
-
type: HostBinding,
|
|
306
|
-
args: ['class.margin-ulv']
|
|
307
|
-
}], searchPanelComponent: [{
|
|
308
|
-
type: ViewChild,
|
|
309
|
-
args: [SearchPanelComponent]
|
|
310
|
-
}], fullscreen: [{
|
|
311
|
-
type: Input
|
|
312
|
-
}] } });
|
|
313
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktdWx2LW1haW4tdWkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktdWx2LW1haW4tdWkvdWktdWx2LW1haW4tdWkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktdWx2LW1haW4tdWkvdWktdWx2LW1haW4tdWkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUV2QixTQUFTLEVBRVQsV0FBVyxFQUNYLEtBQUssRUFFTCxTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSWpFLE9BQU8sRUFDSCxRQUFRLEVBQ1IsYUFBYSxFQUNiLGNBQWMsRUFRZCxpQkFBaUIsRUFHcEIsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUN4RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSx3RkFBd0YsQ0FBQztBQUNuSixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUNoSCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQztBQUN6SCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7Ozs7Ozs7QUFVbkYsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGFBQWE7SUFVbkQsSUFDSSxvQkFBb0IsQ0FBQyxHQUFHO1FBQ3hCLElBQUksR0FBRyxFQUFFLENBQUM7WUFDTixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1FB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dGVjdGlvblN0cmF0ZWd5LFxyXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgSG9zdEJpbmRpbmcsXHJcbiAgICBJbnB1dCxcclxuICAgIE9uSW5pdCxcclxuICAgIFZpZXdDaGlsZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgQ29udGVudERlbnNpdHksIENvbnRlbnREZW5zaXR5U2VydmljZSwgRGlhbG9nU2VydmljZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XHJcblxyXG5pbXBvcnQge1xyXG4gICAgQmFyc2FBcGksXHJcbiAgICBCYXNlQ29tcG9uZW50LFxyXG4gICAgVWx2TWFpblNlcnZpY2UsXHJcbiAgICBQYWdpbmdTZXR0aW5nLFxyXG4gICAgUG9ydGFsU2VydmljZSxcclxuICAgIFNlYXJjaFBhbmVsU2V0dGluZ3MsXHJcbiAgICBCcmVhZENydW1iSW5mbyxcclxuICAgIEJyZWFkY3J1bWJTZXJ2aWNlLFxyXG4gICAgQ29sdW1uSW5mb1R5cGUsXHJcbiAgICBBYmJyZXZhdGlvbkRldmljZVNpemUsXHJcbiAgICBnZXREZXZpY2VJc01vYmlsZSxcclxuICAgIExheW91dFNldHRpbmcsXHJcbiAgICBDc3NCYWNrZ3JvdW5kXHJcbn0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5cclxuaW1wb3J0IHsgTWFuYWdlRmlsdGVyc1JlcG9ydENvbXBvbmVudCB9IGZyb20gJy4uL21hbmFnZS1maWx0ZXJzLXJlcG9ydC9tYW5hZ2UtZmlsdGVycy1yZXBvcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VhcmNoUGFuZWxDb21wb25lbnQgfSBmcm9tICcuLi9zZWFyY2gtcGFuZWwvc2VhcmNoLXBhbmVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlcG9ydFNlYXJjaEZpZWxkc0hpZGRlblNldHRpbmdzQ29tcG9uZW50IH0gZnJvbSAnLi4vcmVwb3J0LXNlYXJjaC1maWVsZHMtaGlkZGVuLXNldHRpbmdzL3JlcG9ydC1zZWFyY2gtZmllbGRzLWhpZGRlbi1zZXR0aW5ncy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZXBvcnRTZWFyY2hQYW5lbFNhdmVDb21wb25lbnQgfSBmcm9tICcuLi9yZXBvcnQtc2VhcmNoLXBhbmVsLXNhdmUvcmVwb3J0LXNlYXJjaC1wYW5lbC1zYXZlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlcG9ydFNlYXJjaEZpZWxkc01hbmFnZUNvbXBvbmVudCB9IGZyb20gJy4uL3JlcG9ydC1zZWFyY2gtZmllbGRzLW1hbmFnZS9yZXBvcnQtc2VhcmNoLWZpZWxkcy1tYW5hZ2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FVbHZNYWluQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFyc2EtdWx2LW1haW4vYmFyc2EtdWx2LW1haW4uY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdic3UtdWktdWx2LW1haW4tdWknLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3VpLXVsdi1tYWluLXVpLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3VpLXVsdi1tYWluLXVpLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBwcm92aWRlcnM6IFtVbHZNYWluU2VydmljZV0sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVaVVsdk1haW5VaUNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgQElucHV0KCkgY29udGV4dDogYW55O1xyXG4gICAgQElucHV0KCkgaXNSZXBvcnRQYWdlOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgaW5EaWFsb2c6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBpc011bHRpU2VsZWN0OiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgbGF5b3V0SW5mbzogTGF5b3V0U2V0dGluZztcclxuICAgIEBWaWV3Q2hpbGQoQmFyc2FVbHZNYWluQ29tcG9uZW50KSBfYmFyc2FVbHZDb21wb25lbnQ6IEJhcnNhVWx2TWFpbkNvbXBvbmVudDtcclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuY29udHJvbC1yZWFkb25seScpIHJlYWRvbmx5O1xyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jb250cm9sLWRpc2FibGVkJykgZGlzYWJsZTtcclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MubWFyZ2luLXVsdicpIG1hcmdpblVsdjtcclxuICAgIEBWaWV3Q2hpbGQoU2VhcmNoUGFuZWxDb21wb25lbnQpXHJcbiAgICBzZXQgc2VhcmNoUGFuZWxDb21wb25lbnQodmFsKSB7XHJcbiAgICAgICAgaWYgKHZhbCkge1xyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFBhbmVsTG9hZGVkID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICAgIEBJbnB1dCgpIHNldCBmdWxsc2NyZWVuKHZhbDogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNldEZ1bGxzY3JlZW4odmFsKTtcclxuICAgIH1cclxuICAgIHNpbXBsZVNlYXJjaFBhbmVsOiBib29sZWFuO1xyXG4gICAgc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzOiBTZWFyY2hQYW5lbFNldHRpbmdzIHwgdW5kZWZpbmVkO1xyXG4gICAgZmlyc3RBcHBseUF1dG9tYXRpY2FsbHkgPSB0cnVlO1xyXG4gICAgY3NzQmFja2dyb3VuZCQ6IE9ic2VydmFibGU8Q3NzQmFja2dyb3VuZCB8IG51bGw+O1xyXG4gICAgbWFzayQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICB2aXdlck1hc2skOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgdmlld2VyJDogT2JzZXJ2YWJsZTxhbnk+O1xyXG4gICAgaGlkZVBhZ2luZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICBwYWdpbmdTZXR0aW5nJDogT2JzZXJ2YWJsZTxQYWdpbmdTZXR0aW5nIHwgbnVsbD47XHJcbiAgICBjb250ZW50RGVuc2l0eSQ6IE9ic2VydmFibGU8Q29udGVudERlbnNpdHk+O1xyXG4gICAgc2VhcmNoUGFuZWxVaSQ6IE9ic2VydmFibGU8YW55PjtcclxuICAgIGhpZGVTZWFyY2hQYW5lbCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICBydGwkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgcmVwb3J0SWQkOiBPYnNlcnZhYmxlPHN0cmluZz47XHJcbiAgICBzZWFyY2hQYW5lbE1vQ2hhbmdlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICBhbGxTZWFyY2hQYW5lbFNldHRpbmdzJDogT2JzZXJ2YWJsZTxTZWFyY2hQYW5lbFNldHRpbmdzW10+O1xyXG4gICAgc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzSWQkOiBPYnNlcnZhYmxlPHN0cmluZz47XHJcbiAgICBzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3MkOiBPYnNlcnZhYmxlPFNlYXJjaFBhbmVsU2V0dGluZ3MgfCB1bmRlZmluZWQ+O1xyXG4gICAgZGV2aWNlU2l6ZSQ6IE9ic2VydmFibGU8QWJicmV2YXRpb25EZXZpY2VTaXplPjtcclxuICAgIGJyZWFkQ3J1bWJzJDogT2JzZXJ2YWJsZTxCcmVhZENydW1iSW5mb1tdPjtcclxuICAgIGNhblNhdmVHcmlkU2V0dGluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICBzZWFyY2hQYW5lbExvYWRlZDogYm9vbGVhbjtcclxuICAgIGlzQW5vbnltb3VzJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIHRpdGxlOiBzdHJpbmc7XHJcbiAgICBoYXNTZWFyY2hQYW5lbDogYm9vbGVhbjtcclxuICAgIGlzTW9iaWxlOiBib29sZWFuO1xyXG4gICAgbGFuZHNjYXBlJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIHN0YW5kYWxvbmUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgaGlkZVVsdlBhZ2VUaXRsZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICB1aVZpZXdlclNlbGVjdG9yJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xyXG5cclxuICAgIHByaXZhdGUgZGVmYXVsdERpYWxvZ0NvbmZpZyA9IHtcclxuICAgICAgICB2ZXJ0aWNhbFBhZGRpbmc6IHRydWUsXHJcbiAgICAgICAgcmVzcG9uc2l2ZVBhZGRpbmc6IHRydWUsXHJcbiAgICAgICAgcmVzaXphYmxlOiB0cnVlLFxyXG4gICAgICAgIG1pbldpZHRoOiBnZXREZXZpY2VJc01vYmlsZSgpID8gJycgOiAnNTByZW0nLFxyXG4gICAgICAgIGJvZHlNaW5IZWlnaHQ6IGdldERldmljZUlzTW9iaWxlKCkgPyAnJyA6ICdjYWxjKDUwdmggLSA4OHB4KScsXHJcbiAgICAgICAgbW9iaWxlOiBnZXREZXZpY2VJc01vYmlsZSgpXHJcbiAgICB9O1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBfZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIF91bHZNYWluU2VydmljZTogVWx2TWFpblNlcnZpY2UsXHJcbiAgICAgICAgcHVibGljIGVsOiBFbGVtZW50UmVmLFxyXG4gICAgICAgIHByaXZhdGUgX3JvdXRlcjogUm91dGVyLFxyXG4gICAgICAgIHByaXZhdGUgX3BvcnRhbFNlcnZpY2U6IFBvcnRhbFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgICAgICBwcml2YXRlIF9hY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICAgICAgY29udGVudERlbnNpdHlTZXJ2aWNlOiBDb250ZW50RGVuc2l0eVNlcnZpY2UsXHJcbiAgICAgICAgX2JyYWRjcnVtYlNlcnZpY2U6IEJyZWFkY3J1bWJTZXJ2aWNlXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMuY29udGVudERlbnNpdHkkID0gY29udGVudERlbnNpdHlTZXJ2aWNlLmNvbnRlbnREZW5zaXR5O1xyXG4gICAgICAgIHRoaXMucnRsJCA9IF9wb3J0YWxTZXJ2aWNlLnJ0bCQ7XHJcbiAgICAgICAgdGhpcy5icmVhZENydW1icyQgPSBfYnJhZGNydW1iU2VydmljZS5icmVhZGNydW1icyQ7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICB0aGlzLmlzTW9iaWxlID0gZ2V0RGV2aWNlSXNNb2JpbGUoKTtcclxuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5zZXRJbkRpYWxvZyh0aGlzLmluRGlhbG9nKTtcclxuICAgICAgICB0aGlzLmhpZGVQYWdpbmckID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuaGlkZVBhZ2luZyQ7XHJcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2V0SXNNdWx0aVNlbGVjdCh0aGlzLmlzTXVsdGlTZWxlY3QpO1xyXG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnVpVmlld2VyU2VsZWN0b3IkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKGMpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5fYmFyc2FVbHZDb21wb25lbnQuU2V0VWlWaWV3ZXJTZWxlY3RvcihjKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICAvLyBmcm9tRXZlbnQoZG9jdW1lbnQsICdjbGljaycpXHJcbiAgICAgICAgLy8gICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSlcclxuICAgICAgICAvLyAgICAgLnN1YnNjcmliZSgoZSkgPT4ge1xyXG4gICAgICAgIC8vICAgICAgICAgaWYgKFxyXG4gICAgICAgIC8vICAgICAgICAgICAgIGUudGFyZ2V0ICYmXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50ICE9PSBlLnRhcmdldCAmJlxyXG4gICAgICAgIC8vICAgICAgICAgICAgICF0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZS50YXJnZXQpICYmXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5jb250YWlucyhlLnRhcmdldCBhcyBIVE1MRWxlbWVudClcclxuICAgICAgICAvLyAgICAgICAgICkge1xyXG4gICAgICAgIC8vICAgICAgICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNldElubGluZUVkaXQoZmFsc2UpO1xyXG4gICAgICAgIC8vICAgICAgICAgfVxyXG4gICAgICAgIC8vICAgICB9KTtcclxuICAgICAgICB0aGlzLl9yZW1vdmVCdWdJbkNocm9tZUNzc0FjdGl2ZSgpO1xyXG4gICAgICAgIHRoaXMubWFyZ2luVWx2ID0gIXRoaXMuaXNSZXBvcnRQYWdlO1xyXG4gICAgICAgIGlmICghdGhpcy5jb250ZXh0LlNldHRpbmcuU2VhcmNoUGFuZWwpIHtcclxuICAgICAgICAgICAgdGhpcy5zZWFyY2hQYW5lbExvYWRlZCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX29ic2VydmVPbigpO1xyXG4gICAgICAgIHRoaXMuY29udGV4dC5maXJlRXZlbnQoJ3JlbmRlcicsIHRoaXMpO1xyXG4gICAgfVxyXG4gICAgX29ic2VydmVPbigpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmlzQW5vbnltb3VzJCA9IHRoaXMuX3BvcnRhbFNlcnZpY2UuaXNBbm9ueW1vdXMkO1xyXG4gICAgICAgIHRoaXMuaGlkZVNlYXJjaFBhbmVsJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmhpZGVTZWFyY2hwYW5lbCQ7XHJcblxyXG4gICAgICAgIHRoaXMudGl0bGUgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZSh0aGlzLmNvbnRleHQsICdTZXR0aW5nLkNsYXNzTmFtZXMuQ3VzdG9tVWkuUGFyYW1ldGVycy5UaXRsZScsICcnKTtcclxuICAgICAgICB0aGlzLnNpbXBsZVNlYXJjaFBhbmVsID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUoXHJcbiAgICAgICAgICAgIHRoaXMuY29udGV4dCxcclxuICAgICAgICAgICAgJ1NldHRpbmcuQ2xhc3NOYW1lcy5DdXN0b21VaS5QYXJhbWV0ZXJzLlNpbXBsZVNlYXJjaFBhbmVsJyxcclxuICAgICAgICAgICAgZmFsc2VcclxuICAgICAgICApO1xyXG4gICAgICAgIGNvbnN0IGhpZGVUaXRsZU1vZGUgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZShcclxuICAgICAgICAgICAgdGhpcy5jb250ZXh0LFxyXG4gICAgICAgICAgICAnU2V0dGluZy5DbGFzc05hbWVzLkN1c3RvbVVpLlBhcmFtZXRlcnMuSGlkZVRpdGxlTW9kZScsXHJcbiAgICAgICAgICAgICcnXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgaWYgKGhpZGVUaXRsZU1vZGUgPT09ICcyJyB8fCBoaWRlVGl0bGVNb2RlID09PSAnMycpIHtcclxuICAgICAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UuaGlkZVVsdlRpdGxlUGFnZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5zZXRDb250ZXh0KHRoaXMuY29udGV4dCk7XHJcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2V0TGF5b3V0SW5mbyh0aGlzLmxheW91dEluZm8pO1xyXG5cclxuICAgICAgICB0aGlzLm1hc2skID0gdGhpcy5fdWx2TWFpblNlcnZpY2UubWFzayQ7XHJcbiAgICAgICAgdGhpcy52aXdlck1hc2skID0gdGhpcy5fdWx2TWFpblNlcnZpY2Uudml3ZXJNYXNrJDtcclxuICAgICAgICB0aGlzLmhpZGVVbHZQYWdlVGl0bGUkID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuaGlkZVVsdlBhZ2VUaXRsZSQ7XHJcbiAgICAgICAgdGhpcy5jYW5TYXZlR3JpZFNldHRpbmckID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuY2FuU2F2ZUdyaWRTZXR0aW5nJDtcclxuICAgICAgICB0aGlzLmNzc0JhY2tncm91bmQkID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuY3NzQmFja2dyb3VuZCQ7XHJcbiAgICAgICAgdGhpcy5wYWdpbmdTZXR0aW5nJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnBhZ2luZ1NldHRpbmckO1xyXG4gICAgICAgIHRoaXMuc2VhcmNoUGFuZWxNb0NoYW5nZWQkID0gdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2VhcmNoUGFuZWxNb0NoYW5nZWQkO1xyXG4gICAgICAgIHRoaXMuaGFzU2VhcmNoUGFuZWwgPSB0aGlzLl91bHZNYWluU2VydmljZS5zZWFyY2hQYW5lbFVpICE9PSBudWxsO1xyXG4gICAgICAgIHRoaXMuc2VhcmNoUGFuZWxVaSQgPSB0aGlzLl91bHZNYWluU2VydmljZS5zZWFyY2hQYW5lbFVpJDtcclxuICAgICAgICB0aGlzLnN0YW5kYWxvbmUkID0gdGhpcy5fcG9ydGFsU2VydmljZS5zdGFuZGFsb25lJDtcclxuICAgICAgICB0aGlzLmxhbmRzY2FwZSQgPSB0aGlzLl9wb3J0YWxTZXJ2aWNlLmxhbmRzY2FwZSQ7XHJcbiAgICAgICAgdGhpcy5yZXBvcnRJZCQgPSB0aGlzLl91bHZNYWluU2VydmljZS5yZXBvcnRJZCQ7XHJcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UuY2FuU2F2ZUdyaWRTZXR0aW5nJC5zdWJzY3JpYmUoKGNhblNhdmUpID0+IHtcclxuICAgICAgICAgICAgaWYgKGNhblNhdmUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmxvYWRTZWFyY2hQYW5lbFNldHRpbmdzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5yZWFkb25seSQuc3Vic2NyaWJlKChyZWFkb25seSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnJlYWRvbmx5ID0gcmVhZG9ubHk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UuZW5hYmxlJC5zdWJzY3JpYmUoKGVuYWJsZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmRpc2FibGUgPSAhZW5hYmxlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncyRcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCksXHJcbiAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgoYSwgYikgPT4gYT8uVGl0bGUgPT09IGI/LlRpdGxlKVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncykgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3MgPSBzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3M7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5hcHBseVNlYXJjaFBhbmVsU2V0dGluZ3Moc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnRvZ2dsZUhpZGVTZWFyY2hwYW5lbChzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3M/LkhpZGVTZWFyY2hQYW5lbCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMudmlld2VyJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnZpZXdlciQ7XHJcbiAgICAgICAgdGhpcy5hbGxTZWFyY2hQYW5lbFNldHRpbmdzJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmFsbFNlYXJjaFBhbmVsU2V0dGluZ3MkO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncyQ7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3NJZCQgPSB0aGlzLl91bHZNYWluU2VydmljZS5zZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3NJZCQ7XHJcbiAgICAgICAgdGhpcy5kZXZpY2VTaXplJCA9IHRoaXMuX3BvcnRhbFNlcnZpY2UuZGV2aWNlU2l6ZSQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xyXG4gICAgfVxyXG4gICAgb25DbG9zZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoWycuLi8uLiddLCB7IHJlbGF0aXZlVG86IHRoaXMuX2FjdGl2YXRlZFJvdXRlIH0pO1xyXG4gICAgfVxyXG4gICAgb25TZWFyY2hQYW5lbE1vQ2hhbmdlZCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9zZXRTZWFyY2hQYW5lbE1vQ2hhbmdlZCh0cnVlKTtcclxuICAgIH1cclxuICAgIG9uUGFnZUNoYW5nZShlOiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5wYWdlQ2hhbmdlZChlKTtcclxuICAgIH1cclxuICAgIG9uT3Blbk1hbmFnZUZpbHRlcnMoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fZGlhbG9nU2VydmljZS5vcGVuKE1hbmFnZUZpbHRlcnNSZXBvcnRDb21wb25lbnQsIHtcclxuICAgICAgICAgICAgYmFja2Ryb3BDbGlja0Nsb3NlYWJsZTogdHJ1ZSxcclxuICAgICAgICAgICAgZHJhZ2dhYmxlOiBmYWxzZSxcclxuICAgICAgICAgICAgZXNjS2V5Q2xvc2VhYmxlOiB0cnVlLFxyXG4gICAgICAgICAgICBoYXNCYWNrZHJvcDogZmFsc2UsXHJcbiAgICAgICAgICAgIGZvY3VzVHJhcHBlZDogdHJ1ZSxcclxuICAgICAgICAgICAgbW9iaWxlOiB0aGlzLmlzTW9iaWxlXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgb25Db2xsYXBzZWRDaGFuZ2UoY29sbGFwc2VkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UudG9nZ2xlSGlkZVNlYXJjaHBhbmVsKGNvbGxhcHNlZCk7XHJcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2VhcmNoUGFuZWxNb0NoYW5nZWQodHJ1ZSk7XHJcbiAgICB9XHJcbiAgICBvbkhpZGVTZWFyY2hQYW5lbENsaWNrKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnRvZ2dsZUhpZGVTZWFyY2hwYW5lbCgpO1xyXG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNlYXJjaFBhbmVsTW9DaGFuZ2VkKHRydWUpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uRmlsdGVyU2F2ZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9zYXZlRmlsdGVyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25GaWx0ZXJTYXZlQXMoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fb3BlblNhdmVBc0ZpbHRlcigpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uU2hvd0ZpbHRlckZpZWxkc1NldHRpbmcoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fb3BlblNlYXJjaEZpZWxkc0hpZGRlblNldHRpbmdzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25NYW5hZ2VGaWx0ZXJzKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX29wZW5TZWFyY2hGaWx0ZXJzTWFuYWdlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25DbGVhclNlYXJjaCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5jbGVhclNlYXJjaCgpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uU2VhcmNoKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNlYXJjaCgpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uU2VsZWN0U2VhcmNoUGFuZWxTZXR0aW5ncyhzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3NJZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UuY2hhbmdlU2VsZWN0ZWRTZWFyY2hQYW5lbChzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3NJZCk7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9yZW1vdmVCdWdJbkNocm9tZUNzc0FjdGl2ZSgpOiB2b2lkIHtcclxuICAgICAgICBpZiAoQmFyc2FBcGkuQ29tbW9uLlV0aWwuUmVtb3ZlQnVnSW5DaHJvbWVDc3NBY3RpdmUpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgbGlzdDogeyBpOiBhbnk7IG46IGFueTsgYTogYW55IH1bXSA9IFtdO1xyXG4gICAgICAgIGNvbnN0IGggPSBkb2N1bWVudC5oZWFkLmNoaWxkcmVuO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaC5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBsaXN0W2ldID0ge1xyXG4gICAgICAgICAgICAgICAgaSxcclxuICAgICAgICAgICAgICAgIG46IGhbaV0sXHJcbiAgICAgICAgICAgICAgICBhOiBoW2ldLmlubmVySFRNTFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgICAgICBsaXN0ID0gbGlzdC5yZXZlcnNlKCk7XHJcbiAgICAgICAgLyogZXNsaW50LWRpc2FibGUgKi9cclxuICAgICAgICBjb25zdCB0ID0gYC5mZC10YWJsZV9fY2VsbC0tYWN0aXZhYmxlOmFjdGl2ZSAqLC5mZC10YWJsZV9fcm93LS1hY3RpdmFibGUuaXMtYWN0aXZlICosLmZkLXRhYmxlX19yb3ctLWFjdGl2YWJsZTphY3RpdmUgKntjb2xvcjp2YXIoLS1zYXBMaXN0X0FjdGl2ZV9UZXh0Q29sb3IpIWltcG9ydGFudH1gO1xyXG4gICAgICAgIC8qIGVzbGludC1lbmFibGUgKi9cclxuICAgICAgICBjb25zdCBmID0gbGlzdC5maWx0ZXIoKGMpID0+IGMuYS5pbmRleE9mKHQpID49IDApO1xyXG4gICAgICAgIGlmIChmLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgQmFyc2FBcGkuQ29tbW9uLlV0aWwuUmVtb3ZlQnVnSW5DaHJvbWVDc3NBY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICBmWzBdLm4uaW5uZXJIVE1MID0gZlswXS5hLnNsaWNlKDAsIDEwMDU4KSArIGZbMF0uYS5zbGljZSgxMDA1OCArIHQubGVuZ3RoLCBmWzBdLmEubGVuZ3RoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9zZXRTZWFyY2hQYW5lbE1vQ2hhbmdlZChjaGFuZ2U6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5zZWFyY2hQYW5lbE1vQ2hhbmdlZChjaGFuZ2UpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX29wZW5TZWFyY2hGaWVsZHNIaWRkZW5TZXR0aW5ncygpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBmaWVsZHNTZXR0aW5nID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuZ2V0U2VhcmNoUGFuZWxGaWVsZHNTZXR0aW5nKCk7XHJcbiAgICAgICAgY29uc3QgY29uZmlnID0ge1xyXG4gICAgICAgICAgICAuLi50aGlzLmRlZmF1bHREaWFsb2dDb25maWcsXHJcbiAgICAgICAgICAgIG1pbldpZHRoOiAnMjVyZW0nLFxyXG4gICAgICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgICAgICBmaWVsZHM6IFsuLi5maWVsZHNTZXR0aW5nXVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgICAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLl9kaWFsb2dTZXJ2aWNlLm9wZW4oUmVwb3J0U2VhcmNoRmllbGRzSGlkZGVuU2V0dGluZ3NDb21wb25lbnQsIGNvbmZpZyk7XHJcbiAgICAgICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKHNldHRpbmc6IENvbHVtbkluZm9UeXBlW10pID0+IHtcclxuICAgICAgICAgICAgaWYgKHNldHRpbmcpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNldEFuZEFwcGx5U2VhcmNoUGFuZWxTZXR0aW5nRmllbGRzU2V0dGluZyhzZXR0aW5nKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNlYXJjaFBhbmVsTW9DaGFuZ2VkKHRydWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9vcGVuU2F2ZUFzRmlsdGVyKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHNlYXJjaE1vID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuZ2V0U2VhcmNoUGFuZWxNbygpO1xyXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncyA9IHRoaXMuc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzO1xyXG4gICAgICAgIGNvbnN0IGZpZWxkc1NldHRpbmcgPSBzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3M/LkZpZWxkc1NldHRpbmc7XHJcbiAgICAgICAgY29uc3QgY29uZmlnID0ge1xyXG4gICAgICAgICAgICAuLi50aGlzLmRlZmF1bHREaWFsb2dDb25maWcsXHJcbiAgICAgICAgICAgIG1pbldpZHRoOiAnMjVyZW0nLFxyXG4gICAgICAgICAgICByZXNpemFibGU6IGZhbHNlLFxyXG4gICAgICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgICAgICBzZWFyY2hNbyxcclxuICAgICAgICAgICAgICAgIGZpZWxkc1NldHRpbmcsXHJcbiAgICAgICAgICAgICAgICByZXBvcnRJZDogdGhpcy5fdWx2TWFpblNlcnZpY2UucmVwb3J0SWRcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5fZGlhbG9nU2VydmljZS5vcGVuKFJlcG9ydFNlYXJjaFBhbmVsU2F2ZUNvbXBvbmVudCwgY29uZmlnKTtcclxuICAgICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoc2VhcmNoUGFuZWxTZXR0aW5nOiBTZWFyY2hQYW5lbFNldHRpbmdzKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChzZWFyY2hQYW5lbFNldHRpbmcpIHtcclxuICAgICAgICAgICAgICAgIHNlYXJjaFBhbmVsU2V0dGluZy5IaWRlU2VhcmNoUGFuZWwgPSB0aGlzLl91bHZNYWluU2VydmljZS5oaWRlU2VhcmNocGFuZWw7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5hZGRTZWFyY2hQYW5lbFNldHRpbmdzKHNlYXJjaFBhbmVsU2V0dGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIHByaXZhdGUgX3NhdmVGaWx0ZXIoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzID0gdGhpcy5zZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3M7XHJcbiAgICAgICAgaWYgKHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncykge1xyXG4gICAgICAgICAgICBzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3MuSGlkZVNlYXJjaFBhbmVsID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuaGlkZVNlYXJjaHBhbmVsO1xyXG4gICAgICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5zYXZlU2VhcmNoUGFuZWxTZXR0aW5nKHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBfb3BlblNlYXJjaEZpbHRlcnNNYW5hZ2UoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgYWxsU2VhcmNoUGFuZWxTZXR0aW5ncyA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmFsbFNlYXJjaFBhbmVsU2V0dGluZ3M7XHJcbiAgICAgICAgY29uc3QgcmVwb3J0SWQgPSB0aGlzLl91bHZNYWluU2VydmljZS5yZXBvcnRJZDtcclxuICAgICAgICBjb25zdCBjb25maWcgPSB7XHJcbiAgICAgICAgICAgIC4uLnRoaXMuZGVmYXVsdERpYWxvZ0NvbmZpZyxcclxuICAgICAgICAgICAgcmVzcG9uc2l2ZVBhZGRpbmc6IGZhbHNlLFxyXG4gICAgICAgICAgICB2ZXJ0aWNhbFBhZGRpbmc6IGZhbHNlLFxyXG4gICAgICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgICAgICBhbGxTZWFyY2hQYW5lbFNldHRpbmdzOiBhbGxTZWFyY2hQYW5lbFNldHRpbmdzLm1hcCgoYykgPT4gKHtcclxuICAgICAgICAgICAgICAgICAgICBUaXRsZTogYy5UaXRsZSxcclxuICAgICAgICAgICAgICAgICAgICBJc0RlZmF1bHQ6IGMuSXNEZWZhdWx0LFxyXG4gICAgICAgICAgICAgICAgICAgIElzUHVibGljOiBjLklzUHVibGljLFxyXG4gICAgICAgICAgICAgICAgICAgIElzUHJpbWFyeTogISFjLklzUHJpbWFyeSxcclxuICAgICAgICAgICAgICAgICAgICBBcHBseUF1dG9tYXRpY2FsbHk6IGMuQXBwbHlBdXRvbWF0aWNhbGx5LFxyXG4gICAgICAgICAgICAgICAgICAgIFJlcG9ydElkOiByZXBvcnRJZCxcclxuICAgICAgICAgICAgICAgICAgICBJZDogYy5JZFxyXG4gICAgICAgICAgICAgICAgfSkpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9O1xyXG4gICAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuX2RpYWxvZ1NlcnZpY2Uub3BlbihSZXBvcnRTZWFyY2hGaWVsZHNNYW5hZ2VDb21wb25lbnQsIGNvbmZpZyk7XHJcbiAgICAgICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKHNldHRpbmc6IFNlYXJjaFBhbmVsU2V0dGluZ3NbXSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoc2V0dGluZykge1xyXG4gICAgICAgICAgICAgICAgc2V0dGluZ1xyXG4gICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoKGMpID0+ICFjLklzUHJpbWFyeSlcclxuICAgICAgICAgICAgICAgICAgICAuZm9yRWFjaCgobmV3U2V0dGluZykgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzcHMgPSBhbGxTZWFyY2hQYW5lbFNldHRpbmdzLmZpbmQoKGMpID0+IGMuSWQgPT09IG5ld1NldHRpbmcuSWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3BzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCYXJzYUFwaS5Db21tb24uTWVyZ2VyLk1lcmdlKHNwcywgbmV3U2V0dGluZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnVwZGF0ZVNlYXJjaFBhbmVsU2V0dGluZ3MoYWxsU2VhcmNoUGFuZWxTZXR0aW5ncyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxufVxyXG4iLCI8YnN1LWJhcnNhLXVsdi1tYWluXHJcbiAgICBbc3R5bGUubWFyZ2luXT1cImlzUmVwb3J0UGFnZSB8fCBpbkRpYWxvZyA/IG51bGwgOiAndmFyKC0tZmRJbnB1dF9GaWVsZF9NYXJnaW4sIC4yNXJlbSAwKSdcIlxyXG4gICAgW3N0eWxlLnN0eWxlLndpZHRoXT1cIiFpc01vYmlsZSA/IG51bGwgOiAnMTAwJSdcIlxyXG4gICAgW2xheW91dEluZm9dPVwibGF5b3V0SW5mb1wiXHJcbiAgICBbYXR0ci5pc1JlcG9ydFBhZ2VdPVwiaXNSZXBvcnRQYWdlXCJcclxuICAgIFtzaW1wbGVTZWFyY2hQYW5lbF09XCJzaW1wbGVTZWFyY2hQYW5lbFwiXHJcbiAgICBbdmlld2VyQ29udHJvbF09XCJ2aWV3ZXIkIHwgYXN5bmNcIlxyXG4gICAgW2xvYWRpbmddPVwiKG1hc2skIHwgYXN5bmMpID09PSB0cnVlXCJcclxuICAgIFt2aWV3ZXJMb2FkaW5nXT1cIih2aXdlck1hc2skIHwgYXN5bmMpID09PSB0cnVlXCJcclxuICAgIFtjc3NCYWNrZ3JvdW5kXT1cIihjc3NCYWNrZ3JvdW5kJCB8IGFzeW5jKVwiXHJcbiAgICBbc3RhbmRhbG9uZV09XCIoc3RhbmRhbG9uZSQgfCBhc3luYykgPT09IHRydWVcIlxyXG4gICAgW2xhbmRzY2FwZV09XCIobGFuZHNjYXBlJCB8IGFzeW5jKSA9PT0gdHJ1ZVwiXHJcbiAgICBbaGlkZVVsdlBhZ2VUaXRsZV09XCIoaGlkZVVsdlBhZ2VUaXRsZSQgfCBhc3luYykgPT09IHRydWVcIlxyXG4gICAgW2lzUmVwb3J0UGFnZV09XCJpc1JlcG9ydFBhZ2VcIlxyXG4gICAgW2RldmljZVNpemVdPVwiKGRldmljZVNpemUkIHwgYXN5bmMpISFcIlxyXG4gICAgW3RpdGxlXT1cInRpdGxlXCJcclxuICAgIFtoaWRlUGFnaW5nXT1cIihoaWRlUGFnaW5nJCB8IGFzeW5jKT09PXRydWVcIlxyXG4gICAgW3NlYXJjaFBhbmVsVWldPVwiKHNlYXJjaFBhbmVsVWkkIHwgYXN5bmMpISFcIlxyXG4gICAgW2JyZWFkQ3J1bWJzXT1cIihicmVhZENydW1icyQgfCBhc3luYykhIVwiXHJcbiAgICBbYWxsU2VhcmNoUGFuZWxTZXR0aW5nc109XCIoYWxsU2VhcmNoUGFuZWxTZXR0aW5ncyQgfCBhc3luYykhIVwiXHJcbiAgICBbaXNBbm9ueW1vdXNdPVwiKGlzQW5vbnltb3VzJCB8IGFzeW5jKSEhXCJcclxuICAgIFtjYW5TYXZlR3JpZFNldHRpbmddPVwiKGNhblNhdmVHcmlkU2V0dGluZyQgfCBhc3luYykgPT09IHRydWVcIlxyXG4gICAgW3J0bF09XCIocnRsJCB8IGFzeW5jKSEhXCJcclxuICAgIFtzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3NdPVwiKHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncyQgfCBhc3luYykhIVwiXHJcbiAgICBbc2VhcmNoUGFuZWxNb0NoYW5nZWRdPVwiKHNlYXJjaFBhbmVsTW9DaGFuZ2VkJCB8IGFzeW5jKSEhXCJcclxuICAgIFtzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3NJZF09XCIoc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzSWQkIHwgYXN5bmMpISFcIlxyXG4gICAgW2hpZGVTZWFyY2hQYW5lbF09XCIoaGlkZVNlYXJjaFBhbmVsJCB8IGFzeW5jKSEhXCJcclxuICAgIFtwYWdpbmdTZXR0aW5nXT1cIihwYWdpbmdTZXR0aW5nJCB8IGFzeW5jKSEhXCJcclxuICAgIFtjb250ZXh0XT1cImNvbnRleHRcIlxyXG4gICAgW2NvbnRlbnREZW5zaXR5XT1cImNvbnRlbnREZW5zaXR5JCB8IGFzeW5jXCJcclxuICAgIChjbG9zZUV2ZW50KT1cIm9uQ2xvc2UoKVwiXHJcbiAgICAoc2VhcmNoUGFuZWxNb0NoYW5nZSk9XCJvblNlYXJjaFBhbmVsTW9DaGFuZ2VkKClcIlxyXG4gICAgKG9wZW5NYW5hZ2VGaWx0ZXJzKT1cIm9uT3Blbk1hbmFnZUZpbHRlcnMoKVwiXHJcbiAgICAoY29sbGFwc2VkQ2hhbmdlKT1cIm9uQ29sbGFwc2VkQ2hhbmdlKCRldmVudClcIlxyXG4gICAgKGhpZGVTZWFyY2hQYW5lbENsaWNrKT1cIm9uSGlkZVNlYXJjaFBhbmVsQ2xpY2soKVwiXHJcbiAgICAoZmlsdGVyU2F2ZSk9XCJvbkZpbHRlclNhdmUoKVwiXHJcbiAgICAoZmlsdGVyU2F2ZUFzKT1cIm9uRmlsdGVyU2F2ZUFzKClcIlxyXG4gICAgKHNob3dGaWx0ZXJGaWVsZHNTZXR0aW5nKT1cIm9uU2hvd0ZpbHRlckZpZWxkc1NldHRpbmcoKVwiXHJcbiAgICAobWFuYWdlRmlsdGVycyk9XCJvbk1hbmFnZUZpbHRlcnMoKVwiXHJcbiAgICAoY2xlYXJTZWFyY2gpPVwib25DbGVhclNlYXJjaCgpXCJcclxuICAgIChzZWFyY2gpPVwib25TZWFyY2goKVwiXHJcbiAgICAocGFnZUNoYW5nZSk9XCJvblBhZ2VDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAoc2VsZWN0U2VhcmNoUGFuZWxTZXR0aW5ncyk9XCJvblNlbGVjdFNlYXJjaFBhbmVsU2V0dGluZ3MoJGV2ZW50KVwiXHJcbj5cclxuPC9ic3UtYmFyc2EtdWx2LW1haW4+XHJcbiJdfQ==
|