barsa-sap-ui 2.2.72 → 2.2.74
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 +757 -761
- 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,121 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, inject, Input } from '@angular/core';
|
|
2
|
-
import { DomSanitizer } from '@angular/platform-browser';
|
|
3
|
-
import { ContentDensityMode, GlobalContentDensityService, RtlService, ThemingService } from '@fundamental-ngx/core';
|
|
4
|
-
import { BaseComponent, getDeviceIsMobile, PortalService, BarsaApi, LocalStorageService } from 'barsa-novin-ray-core';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class BarsaThemeComponent extends BaseComponent {
|
|
7
|
-
constructor() {
|
|
8
|
-
super(...arguments);
|
|
9
|
-
this.DEFAULT_THEME = 'sap_fiori_3';
|
|
10
|
-
this.DEFAULT_CONTENTDESNITY = ContentDensityMode.COMPACT;
|
|
11
|
-
this._themingService = inject(ThemingService);
|
|
12
|
-
this._contentDensityService = inject(GlobalContentDensityService);
|
|
13
|
-
this._portalService = inject(PortalService);
|
|
14
|
-
this._domSanitizer = inject(DomSanitizer);
|
|
15
|
-
this._rtlService = inject(RtlService);
|
|
16
|
-
this._localStorage = inject(LocalStorageService);
|
|
17
|
-
this._currentTheme = this.DEFAULT_THEME;
|
|
18
|
-
this._currentContentDensity = this.DEFAULT_CONTENTDESNITY;
|
|
19
|
-
}
|
|
20
|
-
ngOnInit() {
|
|
21
|
-
super.ngOnInit();
|
|
22
|
-
this._rtlService.rtl.next(BarsaApi.LoginFormData.IsRtl);
|
|
23
|
-
if (!this._applyUserSettings()) {
|
|
24
|
-
this._setDefaultTheme();
|
|
25
|
-
}
|
|
26
|
-
this._themingService.currentTheme.subscribe((theme) => {
|
|
27
|
-
if (theme) {
|
|
28
|
-
this._applyPortalTheme(theme.theming.themePath, theme.theming.themingBasePath);
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
this._loadUserPortalSettings();
|
|
32
|
-
}
|
|
33
|
-
_loadUserPortalSettings() {
|
|
34
|
-
this._portalService.userPortalSettings$.pipe().subscribe((userPortalSettings) => {
|
|
35
|
-
const userSettings = userPortalSettings['UserPortalSettings'];
|
|
36
|
-
if (userSettings) {
|
|
37
|
-
const { ContentDensity$Caption, Theme$Caption } = userSettings;
|
|
38
|
-
let contentDensity = ContentDensity$Caption;
|
|
39
|
-
const theme = Theme$Caption;
|
|
40
|
-
if (!contentDensity) {
|
|
41
|
-
contentDensity = this.DEFAULT_CONTENTDESNITY;
|
|
42
|
-
}
|
|
43
|
-
this._setUserSettings(contentDensity, theme);
|
|
44
|
-
if (this._currentTheme !== theme || this._currentContentDensity !== contentDensity) {
|
|
45
|
-
this._setTheme(contentDensity, theme);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
_setUserSettings(contentDensity, theme) {
|
|
51
|
-
this._localStorage.setItem('sap_theme', theme);
|
|
52
|
-
this._localStorage.setItem('contentDensity', contentDensity);
|
|
53
|
-
}
|
|
54
|
-
_applyUserSettings() {
|
|
55
|
-
const theme = this._localStorage.getItem('sap_theme');
|
|
56
|
-
const contentDensity = this._localStorage.getItem('contentDensity');
|
|
57
|
-
if (!theme) {
|
|
58
|
-
return false;
|
|
59
|
-
}
|
|
60
|
-
this._setTheme(contentDensity, theme);
|
|
61
|
-
return true;
|
|
62
|
-
}
|
|
63
|
-
_setDefaultTheme() {
|
|
64
|
-
const settings = this.parameters || this.settings;
|
|
65
|
-
const defaultTheme = settings?.SapTheme$Caption || this.DEFAULT_THEME;
|
|
66
|
-
const defaultContentDensity = settings?.ContentDensity$Caption || this.DEFAULT_CONTENTDESNITY;
|
|
67
|
-
this._setTheme(defaultContentDensity, defaultTheme);
|
|
68
|
-
}
|
|
69
|
-
_setTheme(contentDensity, theme) {
|
|
70
|
-
this._applyContentDensity(contentDensity);
|
|
71
|
-
const isMobile = getDeviceIsMobile();
|
|
72
|
-
const adjustedDensity = isMobile ? ContentDensityMode.COZY : contentDensity;
|
|
73
|
-
const themes = this._themingService.getThemes();
|
|
74
|
-
const themeId = themes.find((t) => t.id === theme || t.name === theme)?.id ?? this.DEFAULT_THEME;
|
|
75
|
-
this._currentTheme = themeId;
|
|
76
|
-
this._themingService.setTheme(themeId);
|
|
77
|
-
this._checkDarkUi5(theme);
|
|
78
|
-
this._contentDensityService.updateContentDensity(adjustedDensity);
|
|
79
|
-
this._currentContentDensity = adjustedDensity;
|
|
80
|
-
this._checkContentDensityUi5(adjustedDensity);
|
|
81
|
-
}
|
|
82
|
-
_applyPortalTheme(themePath, basePath) {
|
|
83
|
-
this._portalService.setCssUrlTheme(this._domSanitizer.bypassSecurityTrustResourceUrl(themePath), this._domSanitizer.bypassSecurityTrustResourceUrl(basePath));
|
|
84
|
-
}
|
|
85
|
-
_applyContentDensity(contentDensity) {
|
|
86
|
-
document.body.removeAttribute('data-ui5-cozy-size');
|
|
87
|
-
document.body.removeAttribute('data-ui5-compact-size');
|
|
88
|
-
document.body.setAttribute(contentDensity === ContentDensityMode.COZY ? 'data-ui5-cozy-size' : 'data-ui5-compact-size', '');
|
|
89
|
-
}
|
|
90
|
-
_checkDarkUi5(theme) {
|
|
91
|
-
const isDark = theme.includes('dark');
|
|
92
|
-
document.documentElement.style.setProperty('color-scheme', isDark ? 'dark' : 'light');
|
|
93
|
-
document.documentElement.setAttribute('data-mode', isDark ? 'dark' : 'light');
|
|
94
|
-
}
|
|
95
|
-
_checkContentDensityUi5(contentDensity) {
|
|
96
|
-
const body = document.body;
|
|
97
|
-
const densityClasses = {
|
|
98
|
-
compact: 'ui5-content-density-compact',
|
|
99
|
-
condensed: 'ui5-content-density-condensed',
|
|
100
|
-
cozy: 'ui5-content-density-cozy'
|
|
101
|
-
};
|
|
102
|
-
Object.values(densityClasses).forEach((cls) => body.classList.remove(cls));
|
|
103
|
-
body.classList.add(densityClasses[contentDensity]);
|
|
104
|
-
}
|
|
105
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaThemeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
106
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BarsaThemeComponent, selector: "bsu-barsa-theme", inputs: { parameters: "parameters", settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
107
|
-
}
|
|
108
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaThemeComponent, decorators: [{
|
|
109
|
-
type: Component,
|
|
110
|
-
args: [{
|
|
111
|
-
selector: 'bsu-barsa-theme',
|
|
112
|
-
template: '',
|
|
113
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
114
|
-
standalone: false
|
|
115
|
-
}]
|
|
116
|
-
}], propDecorators: { parameters: [{
|
|
117
|
-
type: Input
|
|
118
|
-
}], settings: [{
|
|
119
|
-
type: Input
|
|
120
|
-
}] } });
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtdGhlbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtdGhlbWUvYmFyc2EtdGhlbWUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLDJCQUEyQixFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwSCxPQUFPLEVBQ0gsYUFBYSxFQUViLGlCQUFpQixFQUNqQixhQUFhLEVBQ2IsUUFBUSxFQUNSLG1CQUFtQixFQUN0QixNQUFNLHNCQUFzQixDQUFDOztBQVE5QixNQUFNLE9BQU8sbUJBQW9CLFNBQVEsYUFBYTtJQU50RDs7UUFTcUIsa0JBQWEsR0FBRyxhQUFhLENBQUM7UUFDOUIsMkJBQXNCLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUFDO1FBQ3BELG9CQUFlLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3pDLDJCQUFzQixHQUFHLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBQzdELG1CQUFjLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3JDLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2pDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDckQsa0JBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ25DLDJCQUFzQixHQUFHLElBQUksQ0FBQyxzQkFBc0Is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QUFDLENBQUMsQ0FBQztJQUN2RCxDQUFDOytHQWxIUSxtQkFBbUI7bUdBQW5CLG1CQUFtQiwwSUFKbEIsRUFBRTs7NEZBSUgsbUJBQW1CO2tCQU4vQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxVQUFVLEVBQUUsS0FBSztpQkFDcEI7OEJBRVksVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgQ29udGVudERlbnNpdHlNb2RlLCBHbG9iYWxDb250ZW50RGVuc2l0eVNlcnZpY2UsIFJ0bFNlcnZpY2UsIFRoZW1pbmdTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcclxuaW1wb3J0IHtcclxuICAgIEJhc2VDb21wb25lbnQsXHJcbiAgICBNZXRhb2JqZWN0RGF0YU1vZGVsLFxyXG4gICAgZ2V0RGV2aWNlSXNNb2JpbGUsXHJcbiAgICBQb3J0YWxTZXJ2aWNlLFxyXG4gICAgQmFyc2FBcGksXHJcbiAgICBMb2NhbFN0b3JhZ2VTZXJ2aWNlXHJcbn0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JzdS1iYXJzYS10aGVtZScsXHJcbiAgICB0ZW1wbGF0ZTogJycsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCYXJzYVRoZW1lQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XHJcbiAgICBASW5wdXQoKSBwYXJhbWV0ZXJzOiBCYXJzYVRoZW1lU2V0dGluZ3M7XHJcbiAgICBASW5wdXQoKSBzZXR0aW5nczogQmFyc2FUaGVtZVNldHRpbmdzO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBERUZBVUxUX1RIRU1FID0gJ3NhcF9maW9yaV8zJztcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgREVGQVVMVF9DT05URU5UREVTTklUWSA9IENvbnRlbnREZW5zaXR5TW9kZS5DT01QQUNUO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBfdGhlbWluZ1NlcnZpY2UgPSBpbmplY3QoVGhlbWluZ1NlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBfY29udGVudERlbnNpdHlTZXJ2aWNlID0gaW5qZWN0KEdsb2JhbENvbnRlbnREZW5zaXR5U2VydmljZSk7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9wb3J0YWxTZXJ2aWNlID0gaW5qZWN0KFBvcnRhbFNlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZG9tU2FuaXRpemVyID0gaW5qZWN0KERvbVNhbml0aXplcik7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9ydGxTZXJ2aWNlID0gaW5qZWN0KFJ0bFNlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBfbG9jYWxTdG9yYWdlID0gaW5qZWN0KExvY2FsU3RvcmFnZVNlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSBfY3VycmVudFRoZW1lID0gdGhpcy5ERUZBVUxUX1RIRU1FO1xyXG4gICAgcHJpdmF0ZSBfY3VycmVudENvbnRlbnREZW5zaXR5ID0gdGhpcy5ERUZBVUxUX0NPTlRFTlRERVNOSVRZO1xyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuXHJcbiAgICAgICAgdGhpcy5fcnRsU2VydmljZS5ydGwubmV4dChCYXJzYUFwaS5Mb2dpbkZvcm1EYXRhLklzUnRsKTtcclxuICAgICAgICBpZiAoIXRoaXMuX2FwcGx5VXNlclNldHRpbmdzKCkpIHtcclxuICAgICAgICAgICAgdGhpcy5fc2V0RGVmYXVsdFRoZW1lKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX3RoZW1pbmdTZXJ2aWNlLmN1cnJlbnRUaGVtZS5zdWJzY3JpYmUoKHRoZW1lKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0aGVtZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fYXBwbHlQb3J0YWxUaGVtZSh0aGVtZS50aGVtaW5nLnRoZW1lUGF0aCwgdGhlbWUudGhlbWluZy50aGVtaW5nQmFzZVBhdGgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5fbG9hZFVzZXJQb3J0YWxTZXR0aW5ncygpO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBfbG9hZFVzZXJQb3J0YWxTZXR0aW5ncygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9wb3J0YWxTZXJ2aWNlLnVzZXJQb3J0YWxTZXR0aW5ncyQucGlwZSgpLnN1YnNjcmliZSgodXNlclBvcnRhbFNldHRpbmdzKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHVzZXJTZXR0aW5ncyA9IHVzZXJQb3J0YWxTZXR0aW5nc1snVXNlclBvcnRhbFNldHRpbmdzJ107XHJcbiAgICAgICAgICAgIGlmICh1c2VyU2V0dGluZ3MpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHsgQ29udGVudERlbnNpdHkkQ2FwdGlvbiwgVGhlbWUkQ2FwdGlvbiB9ID0gdXNlclNldHRpbmdzO1xyXG4gICAgICAgICAgICAgICAgbGV0IGNvbnRlbnREZW5zaXR5ID0gQ29udGVudERlbnNpdHkkQ2FwdGlvbjtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHRoZW1lID0gVGhlbWUkQ2FwdGlvbjtcclxuICAgICAgICAgICAgICAgIGlmICghY29udGVudERlbnNpdHkpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50RGVuc2l0eSA9IHRoaXMuREVGQVVMVF9DT05URU5UREVTTklUWTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMuX3NldFVzZXJTZXR0aW5ncyhjb250ZW50RGVuc2l0eSwgdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX2N1cnJlbnRUaGVtZSAhPT0gdGhlbWUgfHwgdGhpcy5fY3VycmVudENvbnRlbnREZW5zaXR5ICE9PSBjb250ZW50RGVuc2l0eSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3NldFRoZW1lKGNvbnRlbnREZW5zaXR5LCB0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9zZXRVc2VyU2V0dGluZ3MoY29udGVudERlbnNpdHk6IENvbnRlbnREZW5zaXR5TW9kZSwgdGhlbWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2xvY2FsU3RvcmFnZS5zZXRJdGVtKCdzYXBfdGhlbWUnLCB0aGVtZSk7XHJcbiAgICAgICAgdGhpcy5fbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2NvbnRlbnREZW5zaXR5JywgY29udGVudERlbnNpdHkpO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBfYXBwbHlVc2VyU2V0dGluZ3MoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgY29uc3QgdGhlbWUgPSB0aGlzLl9sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnc2FwX3RoZW1lJyk7XHJcbiAgICAgICAgY29uc3QgY29udGVudERlbnNpdHkgPSB0aGlzLl9sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnY29udGVudERlbnNpdHknKSBhcyBDb250ZW50RGVuc2l0eU1vZGU7XHJcbiAgICAgICAgaWYgKCF0aGVtZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX3NldFRoZW1lKGNvbnRlbnREZW5zaXR5LCB0aGVtZSk7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfc2V0RGVmYXVsdFRoZW1lKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHNldHRpbmdzID0gdGhpcy5wYXJhbWV0ZXJzIHx8IHRoaXMuc2V0dGluZ3M7XHJcbiAgICAgICAgY29uc3QgZGVmYXVsdFRoZW1lID0gc2V0dGluZ3M/LlNhcFRoZW1lJENhcHRpb24gfHwgdGhpcy5ERUZBVUxUX1RIRU1FO1xyXG4gICAgICAgIGNvbnN0IGRlZmF1bHRDb250ZW50RGVuc2l0eTogQ29udGVudERlbnNpdHlNb2RlID1cclxuICAgICAgICAgICAgc2V0dGluZ3M/LkNvbnRlbnREZW5zaXR5JENhcHRpb24gfHwgdGhpcy5ERUZBVUxUX0NPTlRFTlRERVNOSVRZO1xyXG4gICAgICAgIHRoaXMuX3NldFRoZW1lKGRlZmF1bHRDb250ZW50RGVuc2l0eSwgZGVmYXVsdFRoZW1lKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9zZXRUaGVtZShjb250ZW50RGVuc2l0eTogQ29udGVudERlbnNpdHlNb2RlLCB0aGVtZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fYXBwbHlDb250ZW50RGVuc2l0eShjb250ZW50RGVuc2l0eSk7XHJcbiAgICAgICAgY29uc3QgaXNNb2JpbGUgPSBnZXREZXZpY2VJc01vYmlsZSgpO1xyXG4gICAgICAgIGNvbnN0IGFkanVzdGVkRGVuc2l0eSA9IGlzTW9iaWxlID8gQ29udGVudERlbnNpdHlNb2RlLkNPWlkgOiBjb250ZW50RGVuc2l0eTtcclxuXHJcbiAgICAgICAgY29uc3QgdGhlbWVzID0gdGhpcy5fdGhlbWluZ1NlcnZpY2UuZ2V0VGhlbWVzKCk7XHJcbiAgICAgICAgY29uc3QgdGhlbWVJZCA9IHRoZW1lcy5maW5kKCh0KSA9PiB0LmlkID09PSB0aGVtZSB8fCB0Lm5hbWUgPT09IHRoZW1lKT8uaWQgPz8gdGhpcy5ERUZBVUxUX1RIRU1FO1xyXG4gICAgICAgIHRoaXMuX2N1cnJlbnRUaGVtZSA9IHRoZW1lSWQ7XHJcbiAgICAgICAgdGhpcy5fdGhlbWluZ1NlcnZpY2Uuc2V0VGhlbWUodGhlbWVJZCk7XHJcbiAgICAgICAgdGhpcy5fY2hlY2tEYXJrVWk1KHRoZW1lKTtcclxuICAgICAgICB0aGlzLl9jb250ZW50RGVuc2l0eVNlcnZpY2UudXBkYXRlQ29udGVudERlbnNpdHkoYWRqdXN0ZWREZW5zaXR5KTtcclxuICAgICAgICB0aGlzLl9jdXJyZW50Q29udGVudERlbnNpdHkgPSBhZGp1c3RlZERlbnNpdHk7XHJcbiAgICAgICAgdGhpcy5fY2hlY2tDb250ZW50RGVuc2l0eVVpNShhZGp1c3RlZERlbnNpdHkpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2FwcGx5UG9ydGFsVGhlbWUodGhlbWVQYXRoOiBzdHJpbmcsIGJhc2VQYXRoOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9wb3J0YWxTZXJ2aWNlLnNldENzc1VybFRoZW1lKFxyXG4gICAgICAgICAgICB0aGlzLl9kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKHRoZW1lUGF0aCksXHJcbiAgICAgICAgICAgIHRoaXMuX2RvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwoYmFzZVBhdGgpXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9hcHBseUNvbnRlbnREZW5zaXR5KGNvbnRlbnREZW5zaXR5OiBDb250ZW50RGVuc2l0eU1vZGUpOiB2b2lkIHtcclxuICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUF0dHJpYnV0ZSgnZGF0YS11aTUtY296eS1zaXplJyk7XHJcbiAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVBdHRyaWJ1dGUoJ2RhdGEtdWk1LWNvbXBhY3Qtc2l6ZScpO1xyXG4gICAgICAgIGRvY3VtZW50LmJvZHkuc2V0QXR0cmlidXRlKFxyXG4gICAgICAgICAgICBjb250ZW50RGVuc2l0eSA9PT0gQ29udGVudERlbnNpdHlNb2RlLkNPWlkgPyAnZGF0YS11aTUtY296eS1zaXplJyA6ICdkYXRhLXVpNS1jb21wYWN0LXNpemUnLFxyXG4gICAgICAgICAgICAnJ1xyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfY2hlY2tEYXJrVWk1KHRoZW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBpc0RhcmsgPSB0aGVtZS5pbmNsdWRlcygnZGFyaycpO1xyXG4gICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnY29sb3Itc2NoZW1lJywgaXNEYXJrID8gJ2RhcmsnIDogJ2xpZ2h0Jyk7XHJcbiAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNldEF0dHJpYnV0ZSgnZGF0YS1tb2RlJywgaXNEYXJrID8gJ2RhcmsnIDogJ2xpZ2h0Jyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfY2hlY2tDb250ZW50RGVuc2l0eVVpNShjb250ZW50RGVuc2l0eTogQ29udGVudERlbnNpdHlNb2RlKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgYm9keSA9IGRvY3VtZW50LmJvZHk7XHJcbiAgICAgICAgY29uc3QgZGVuc2l0eUNsYXNzZXMgPSB7XHJcbiAgICAgICAgICAgIGNvbXBhY3Q6ICd1aTUtY29udGVudC1kZW5zaXR5LWNvbXBhY3QnLFxyXG4gICAgICAgICAgICBjb25kZW5zZWQ6ICd1aTUtY29udGVudC1kZW5zaXR5LWNvbmRlbnNlZCcsXHJcbiAgICAgICAgICAgIGNvenk6ICd1aTUtY29udGVudC1kZW5zaXR5LWNvenknXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgT2JqZWN0LnZhbHVlcyhkZW5zaXR5Q2xhc3NlcykuZm9yRWFjaCgoY2xzKSA9PiBib2R5LmNsYXNzTGlzdC5yZW1vdmUoY2xzKSk7XHJcbiAgICAgICAgYm9keS5jbGFzc0xpc3QuYWRkKGRlbnNpdHlDbGFzc2VzW2NvbnRlbnREZW5zaXR5XSk7XHJcbiAgICB9XHJcbn1cclxuaW50ZXJmYWNlIEJhcnNhVGhlbWVTZXR0aW5ncyBleHRlbmRzIE1ldGFvYmplY3REYXRhTW9kZWwge1xyXG4gICAgU2FwVGhlbWUkQ2FwdGlvbjogc3RyaW5nO1xyXG4gICAgQ29udGVudERlbnNpdHkkQ2FwdGlvbjogQ29udGVudERlbnNpdHlNb2RlO1xyXG59XHJcbiJdfQ==
|