barsa-sap-ui 2.2.73 → 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 +756 -760
- 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,102 +0,0 @@
|
|
|
1
|
-
import { Component, ChangeDetectionStrategy, Input, ViewChild, EventEmitter, Output, Renderer2, inject, signal } from '@angular/core';
|
|
2
|
-
import { BaseViewItemPropsComponent, FormPanelService } from 'barsa-novin-ray-core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
import * as i2 from "@angular/forms";
|
|
6
|
-
import * as i3 from "barsa-novin-ray-core";
|
|
7
|
-
import * as i4 from "@fundamental-ngx/core/busy-indicator";
|
|
8
|
-
import * as i5 from "@fundamental-ngx/core/button";
|
|
9
|
-
import * as i6 from "@fundamental-ngx/core/checkbox";
|
|
10
|
-
import * as i7 from "@fundamental-ngx/core/form";
|
|
11
|
-
import * as i8 from "@fundamental-ngx/core/icon";
|
|
12
|
-
import * as i9 from "@fundamental-ngx/core/message-strip";
|
|
13
|
-
import * as i10 from "@fundamental-ngx/core/table";
|
|
14
|
-
import * as i11 from "../mask/mask.component";
|
|
15
|
-
import * as i12 from "../ulv-context-menu/ulv-context-menu.component";
|
|
16
|
-
import * as i13 from "../barsa-table-column/barsa-table-column.component";
|
|
17
|
-
import * as i14 from "../barsa-column-indicator/barsa-column-indicator.component";
|
|
18
|
-
import * as i15 from "../barsa-column-rownumber/barsa-column-rownumber.component";
|
|
19
|
-
import * as i16 from "../barsa-row-inline-actionlist/barsa-row-inline-actionlist.component";
|
|
20
|
-
import * as i17 from "../apply-conditional-formmatings.directive";
|
|
21
|
-
export class BarsaTableRowComponent extends BaseViewItemPropsComponent {
|
|
22
|
-
constructor() {
|
|
23
|
-
super(...arguments);
|
|
24
|
-
this.showDetailsInRow = false;
|
|
25
|
-
this.columnSummary = new EventEmitter();
|
|
26
|
-
this._renderer2 = inject(Renderer2);
|
|
27
|
-
this.activeColumn = signal(undefined);
|
|
28
|
-
}
|
|
29
|
-
ngOnInit() {
|
|
30
|
-
super.ngOnInit();
|
|
31
|
-
this.el = this._el;
|
|
32
|
-
if (this.previewColumn) {
|
|
33
|
-
this._renderer2.addClass(this._el.nativeElement, 'has-preview-column');
|
|
34
|
-
}
|
|
35
|
-
const rowN = Number(this.rowNumber);
|
|
36
|
-
this.isOdd = isNaN(rowN) || !this.coloringRow ? false : rowN % 2 === 0 ? true : false;
|
|
37
|
-
this.detailsComponentSetting = {
|
|
38
|
-
...this.setting,
|
|
39
|
-
$detailsColumns: this.detailsColumns,
|
|
40
|
-
$detailsFormItems: this.detailsFormItems
|
|
41
|
-
};
|
|
42
|
-
this.detailsText ||= 'Details';
|
|
43
|
-
}
|
|
44
|
-
reCalculateColumnSummary(elDom, column) {
|
|
45
|
-
this.columnSummary.emit({
|
|
46
|
-
moArr: this.mo.$Parent.$Children,
|
|
47
|
-
column,
|
|
48
|
-
groupLevel: this.level,
|
|
49
|
-
groupName: this.mo.$Parent?.$Group,
|
|
50
|
-
summaryFn: (val) => {
|
|
51
|
-
elDom.className = val.toString().replace(/‎|\u200E/gi, ' ');
|
|
52
|
-
elDom.innerHTML = val;
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
onColumnClick(column) {
|
|
57
|
-
this._columnChangeToEditMode(column);
|
|
58
|
-
}
|
|
59
|
-
onColumnKeyEnter(column) {
|
|
60
|
-
// if (column === this.activeColumn()) {
|
|
61
|
-
// const colIndex = this.columns.findIndex((c) => column.Name === c.Name);
|
|
62
|
-
// if (colIndex > -1 && colIndex < this.columns.length) {
|
|
63
|
-
// this.activeColumn.set(this.columns[colIndex + 1]);
|
|
64
|
-
// }
|
|
65
|
-
// return;
|
|
66
|
-
// }
|
|
67
|
-
this._columnChangeToEditMode(column);
|
|
68
|
-
}
|
|
69
|
-
onRowDetails() {
|
|
70
|
-
this.detailsCollapsed = !this.detailsCollapsed;
|
|
71
|
-
this._cdr.detectChanges();
|
|
72
|
-
}
|
|
73
|
-
_columnChangeToEditMode(column) {
|
|
74
|
-
if (this.isCheckList && this.isChecked) {
|
|
75
|
-
return;
|
|
76
|
-
}
|
|
77
|
-
this._rowCheck();
|
|
78
|
-
this.activeColumn.set(column);
|
|
79
|
-
}
|
|
80
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaTableRowComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
81
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BarsaTableRowComponent, selector: "bsu-barsa-table-row", inputs: { showDetailsInRow: "showDetailsInRow", previewColumn: "previewColumn", columnComponents: "columnComponents", dirtyColumns: "dirtyColumns", detailsCollapsed: "detailsCollapsed" }, outputs: { columnSummary: "columnSummary" }, providers: [FormPanelService], viewQueries: [{ propertyName: "detailsFormItems", first: true, predicate: ["detailsFormItems"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "@if ((!mo.$Parent || parentExpanded) && visibility !== false) {\r\n<tr\r\n [class.row-error]=\"hasError\"\r\n [class.showdetails-on]=\"!detailsCollapsed && (detailsComponent?.Selector || detailsColumns?.length)\"\r\n [class.hasForm]=\"formSetting\"\r\n [class.hasCartable]=\"!!cartableParams\"\r\n #trEl\r\n fd-table-row\r\n [activable]=\"false\"\r\n [hoverable]=\"true\"\r\n [main]=\"true\"\r\n [focusable]=\"!(inlineEditMode && allowInlineEdit)\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [hostEl]=\"trEl\"\r\n [attr.aria-selected]=\"isChecked\"\r\n [class.has-preview-column]=\"!!previewColumn\"\r\n [class.brule-message]=\"bruleActionMessage() || workflowState()?.error\"\r\n [class.workflow-pending]=\"workflowState()?.state === 'Pending'\"\r\n [style.background-color]=\"isOdd && !isChecked ? 'var(--sapList_Hover_Background)' : null\"\r\n (keydown.enter)=\"onRowCheck(true)\"\r\n>\r\n @if (mo.$Group || mo.$Group === '') {\r\n <td\r\n [style.padding-right]=\"rtl ? 'calc( 1rem + ' + level * 12 + 'px' + ' )' : 'inherit'\"\r\n [style.padding-left]=\"!rtl ? 'calc( 1rem + ' + level * 12 + 'px' + ' )' : 'inherit'\"\r\n fd-table-cell\r\n style=\"font-weight: bold; font-size: 1rem\"\r\n [attr.colspan]=\"\r\n columns.length +\r\n 1 +\r\n (rowIndicator ? -1 : 0) +\r\n (contextMenuItems && contextMenuItems.length > 0 ? 1 : 0) +\r\n (showViewButton ? 1 : 0) +\r\n (showDetailsInRow && !inlineEditMode ? 1 : 0)\r\n \"\r\n class=\"row-group\"\r\n [class.mobile-mode]=\"secondaryColumns?.length\"\r\n [attr.level]=\"level\"\r\n [class.root-group]=\"level === 0\"\r\n >\r\n <button\r\n fd-button\r\n [fdType]=\"'transparent'\"\r\n [glyph]=\"expanded !== false ? 'navigation-down-arrow' : 'navigation-left-arrow'\"\r\n class=\"cell-expand\"\r\n (click)=\"onExpandClick()\"\r\n ></button>\r\n {{ mo.$Group === 'undefined' ? '' : mo.$Group }}\r\n </td>\r\n } @else {\r\n\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n @if (isCheckList) {\r\n <td fd-table-cell [style.width]=\"checkboxComponent ? '60px' : null\">\r\n @if (workflowState()?.state === 'Pending') {\r\n <div style=\"position: absolute; left: 0; right: 0; bottom: 0; top: 0\">\r\n <bsu-mask [top]=\"'20px'\" [size]=\"'s'\"></bsu-mask>\r\n </div>\r\n } @if (checkboxComponent?.Selector) {\r\n <bnrc-dynamic-item-component\r\n [component]=\"checkboxComponent\"\r\n [mo]=\"mo\"\r\n [isChecked]=\"isChecked\"\r\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\r\n [setting]=\"setting\"\r\n [parameters]=\"checkboxComponent.Parameters\"\r\n [editMode]=\"inlineEditMode\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [value]=\"isChecked\"\r\n [deviceSize]=\"deviceSize\"\r\n [index]=\"index\"\r\n [allColumns]=\"allColumns\"\r\n [typeDefId]=\"typeDefId\"\r\n (events)=\"onRowCheck()\"\r\n ></bnrc-dynamic-item-component>\r\n } @else {\r\n <fd-checkbox [name]=\"mo.$Caption\" [ngModel]=\"isChecked\" (ngModelChange)=\"onRowCheck()\"></fd-checkbox>\r\n }\r\n </td>\r\n } @if (!isCheckList && !showRowNumber) {\r\n <td\r\n fd-table-cell\r\n class=\"single-select\"\r\n (click)=\"!isCheckList && onRowCheck()\"\r\n style=\"padding: 0; text-align: center\"\r\n >\r\n @if (inlineEditMode && allowInlineEdit && (hasError || saving || saved)) { @if (hasError) {\r\n <fd-icon class=\"save-error\" glyph=\"error\"></fd-icon>\r\n } @if (saving) {\r\n <fd-busy-indicator [loading]=\"true\" [size]=\"'s'\" title=\"record saving\"></fd-busy-indicator>\r\n } @if (saved) {\r\n <fd-icon class=\"save-success\" glyph=\"accept\"></fd-icon>\r\n } } @else { @if (mo.$State === 'New' && !isChecked) {\r\n <fd-icon glyph=\"favorite\"></fd-icon>\r\n } @if (inlineEditMode && allowInlineEdit && isChecked) {\r\n <fd-icon glyph=\"edit\"></fd-icon>\r\n } }\r\n </td>\r\n }\r\n <ng-container *ngTemplateOutlet=\"rowNumberTemplate\"></ng-container>\r\n @for (column of columns; track column.Name; let columnIndex = $index) {\r\n <td\r\n class=\"rep-column\"\r\n [attr.dbName]=\"column.Name\"\r\n #tdEl\r\n fd-table-cell\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [hostEl]=\"tdEl\"\r\n [styleIndex]=\"styleIndex\"\r\n [dbName]=\"column.Name\"\r\n [focusable]=\"false\"\r\n (click)=\"onColumnClick(column)\"\r\n (keydown.enter)=\"onColumnKeyEnter(column)\"\r\n (dblclick)=\"onRowClick()\"\r\n [hoverable]=\"inlineEditMode && allowInlineEdit\"\r\n [class.control-readonly]=\"column.IsReadonly\"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: column,\r\n mo: mo,\r\n index: columnIndex,\r\n inlineEditMode: inlineEditMode,\r\n layout94: layout$ | async\r\n }\r\n \"\r\n ></ng-container>\r\n </td>\r\n } @if (contextMenuItems.length ) {\r\n <td class=\"col-context-menu\" fd-table-cell>\r\n <bsu-ulv-context-menu\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [mo]=\"mo\"\r\n [index]=\"index\"\r\n (commandClick)=\"onUlvCommand()\"\r\n [deviceName]=\"deviceName\"\r\n [menuItems]=\"contextMenuItems\"\r\n [allColumns]=\"allColumns\"\r\n ></bsu-ulv-context-menu>\r\n </td>\r\n } @if (showDetailsInRow && (!inlineEditMode || !allowInlineEdit)) {\r\n <td class=\"col-details\" fd-table-cell [fitContent]=\"true\">\r\n @if ((detailsComponent?.Selector || detailsColumns?.length || cartableParams?.moId ) && !hideDetailsText) {\r\n <div class=\"tw-flex tw-justify-end tw-w-full\">\r\n <button\r\n fd-button\r\n [label]=\"(detailsCollapsed ? detailsText : 'Hide') | bbbTranslate\"\r\n [fdType]=\"'transparent'\"\r\n (click)=\"onRowDetails()\"\r\n ></button>\r\n </div>\r\n }\r\n </td>\r\n } @if (actionList?.length && !inlineEditMode) {\r\n <td class=\"col-view\" [class.rtl]=\"rtl\" fd-table-cell [fitContent]=\"true\">\r\n <bsu-barsa-row-inline-actionlist\r\n [actionList]=\"actionList\"\r\n (btnClick)=\"actionListClick.emit($event)\"\r\n ></bsu-barsa-row-inline-actionlist>\r\n </td>\r\n } }\r\n</tr>\r\n} @if (secondaryColumns?.length && !mo.$Group && (!mo.$Parent || parentExpanded) && visibility !== false) {\r\n<tr\r\n #trEl\r\n fd-table-row\r\n [secondary]=\"true\"\r\n class=\"secondary-row\"\r\n [class.no-edit-mode]=\"!inlineEditMode\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [hostEl]=\"trEl\"\r\n [attr.aria-selected]=\"isChecked && !inlineEditMode ? true : false\"\r\n [style.background-color]=\"isOdd && !isChecked ? 'var(--sapList_Hover_Background)' : null\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n @if (!isCheckList) {\r\n <td fd-table-cell class=\"single-select\" (click)=\"onRowCheck()\"></td>\r\n }\r\n <td fd-table-cell colspan=\"100%\" (click)=\"onRowCheck()\" class=\"secondary p-wrapper\">\r\n <div style=\"display: flex; flex-direction: column\">\r\n @for (column of secondaryColumns; track _trackByColumn(columnIndex, column); let columnIndex = $index) {\r\n <p\r\n #pEl\r\n fd-table-text\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [hostEl]=\"pEl\"\r\n [styleIndex]=\"styleIndex\"\r\n [dbName]=\"column.Name\"\r\n style=\"font-family: 'B-Font Medium'\"\r\n >\r\n <label fd-form-label>{{ column.Caption }} :</label>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: column,\r\n mo: mo,\r\n index: columnIndex,\r\n inlineEditMode: inlineEditMode,\r\n layout94: layout$ | async\r\n }\r\n \"\r\n ></ng-container>\r\n </p>\r\n }\r\n </div>\r\n </td>\r\n</tr>\r\n} @if (cartableParams?.moId) {\r\n<tr\r\n [class.detailCollapsed]=\"detailsCollapsed\"\r\n fd-table-row\r\n class=\"showdetails cartable\"\r\n [attr.aria-selected]=\"isChecked\"\r\n [class.has-preview-column]=\"!!previewColumn\"\r\n [style.background-color]=\"isOdd && !isChecked ? 'var(--sapList_Hover_Background)' : null\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n <td\r\n (click)=\"onRowCheck()\"\r\n fd-table-cell\r\n [attr.colspan]=\"\r\n columns.length +\r\n 1 +\r\n (rowIndicator ? 1 : 0) +\r\n (contextMenuItems && contextMenuItems.length > 0 ? 1 : 0) +\r\n (showViewButton ? 1 : 0) +\r\n (showDetailsInRow && !inlineEditMode ? 1 : 0)\r\n \"\r\n >\r\n <ng-container>\r\n <bnrc-form\r\n #cartableFormRef\r\n class=\"cartable-template\"\r\n [inlineEditInReport]=\"true\"\r\n [params]=\"cartableParams\"\r\n (beforeTransition)=\"onCartableBeforeTansition()\"\r\n (afterTransition)=\"onCartableAfterTansition($event)\"\r\n (bruleAction)=\"onCartableBruleAction($event)\"\r\n (click)=\"OnCartableFormClick($event)\"\r\n (formClose)=\"onCartableFormClosed()\"\r\n ></bnrc-form>\r\n </ng-container>\r\n </td>\r\n</tr>\r\n} @if (!detailsCollapsed && (detailsComponent?.Selector|| detailsColumns?.length)) {\r\n<tr fd-table-row class=\"showdetails\" [attr.aria-selected]=\"isChecked\" [class.has-preview-column]=\"!!previewColumn\">\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n <td\r\n (click)=\"onRowCheck()\"\r\n fd-table-cell\r\n [attr.colspan]=\"\r\n columns.length +\r\n 1 +\r\n (rowIndicator ? -1 : 0) +\r\n (contextMenuItems && contextMenuItems.length > 0 ? 1 : 0) +\r\n (showViewButton ? 1 : 0) +\r\n (showDetailsInRow && !inlineEditMode ? 1 : 0)\r\n \"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n detailsColumnsTemplate;\r\n context: { mo: mo, inlineEditMode: inlineEditMode, layout94: layout$ | async }\r\n \"\r\n ></ng-container>\r\n @if (detailsComponent && detailsComponent.Selector) {\r\n <bnrc-dynamic-item-component\r\n [component]=\"detailsComponent\"\r\n [mo]=\"mo\"\r\n [isChecked]=\"isChecked\"\r\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\r\n [setting]=\"detailsComponentSetting\"\r\n [parameters]=\"detailsComponent.Settings\"\r\n [editMode]=\"inlineEditMode\"\r\n [formSetting]=\"formSetting\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [index]=\"index\"\r\n [allColumns]=\"allColumns\"\r\n [typeDefId]=\"typeDefId\"\r\n ></bnrc-dynamic-item-component>\r\n }\r\n </td>\r\n</tr>\r\n} @if(previewColumn){\r\n<tr\r\n #trEl\r\n fd-table-row\r\n [secondary]=\"true\"\r\n class=\"preview-column\"\r\n [class.no-edit-mode]=\"!inlineEditMode\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [hostEl]=\"trEl\"\r\n [attr.aria-selected]=\"isChecked && !inlineEditMode ? true : false\"\r\n [style.background-color]=\"isOdd && !isChecked ? 'var(--sapList_Hover_Background)' : null\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n\r\n <td\r\n fd-table-cell\r\n [attr.colspan]=\"\r\n columns.length +\r\n 1 +\r\n (rowIndicator ? -1 : 0) +\r\n (contextMenuItems && contextMenuItems.length > 0 ? 1 : 0) +\r\n (showViewButton ? 1 : 0) +\r\n (showDetailsInRow && !inlineEditMode ? 1 : 0)\r\n \"\r\n (click)=\"onRowCheck()\"\r\n >\r\n <div style=\"display: flex; flex-direction: column\">\r\n <p\r\n #pEl\r\n fd-table-text\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [hostEl]=\"pEl\"\r\n [styleIndex]=\"styleIndex\"\r\n [dbName]=\"previewColumn.Name\"\r\n style=\"color: var(--sapAccentColor6)\"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: previewColumn,\r\n mo: mo,\r\n index: columns.length,\r\n inlineEditMode: inlineEditMode,\r\n layout94: layout$ | async\r\n }\r\n \"\r\n ></ng-container>\r\n </p>\r\n </div>\r\n </td>\r\n</tr>\r\n} @if(isLastChildGroup && groupSummary){\r\n<tr #trEl fd-table-row class=\"group-summary-row\" [class.no-edit-mode]=\"true\" [attr.aria-selected]=\"false\">\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n @if (!isCheckList) {\r\n <td fd-table-cell class=\"single-select\"></td>\r\n } @for (column of columns; track _trackByColumn(columnIndex, column); let columnIndex = $index) {\r\n <td fd-table-cell>\r\n <label #summaryRef>{{ reCalculateColumnSummary(summaryRef, column) }}</label>\r\n </td>\r\n } @if (contextMenuItems.length) {\r\n <td class=\"col-context-menu\" fd-table-cell></td>\r\n } @if (showDetailsInRow && (!inlineEditMode || !allowInlineEdit)) {\r\n <td class=\"col-details\" fd-table-cell [fitContent]=\"true\"></td>\r\n } @if (actionList?.length && !inlineEditMode) {\r\n <td class=\"col-view\" fd-table-cell [fitContent]=\"true\"></td>\r\n }\r\n</tr>\r\n} @if (bruleActionMessage() && inlineEditMode) {\r\n<tr fd-table-row>\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n <td\r\n fd-table-cell\r\n [attr.colspan]=\"\r\n columns.length +\r\n 1 +\r\n (rowIndicator ? -1 : 0) +\r\n (contextMenuItems && contextMenuItems.length > 0 ? 1 : 0) +\r\n (showViewButton ? 1 : 0) +\r\n (showDetailsInRow && !inlineEditMode ? 1 : 0)\r\n \"\r\n >\r\n @if (bruleActionMessage()?.MessageType === 2) {\r\n <fd-message-strip\r\n [type]=\"bruleActionMessage()?.MessageType === 2 ? 'error' : 'information'\"\r\n [dismissible]=\"false\"\r\n >\r\n {{ bruleActionMessage()?.MessageExpression }}\r\n </fd-message-strip>\r\n }\r\n </td>\r\n</tr>\r\n} @if (workflowState()?.state === 'Finish' && workflowState()?.error) {\r\n<tr fd-table-row>\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n <td\r\n fd-table-cell\r\n [attr.colspan]=\"\r\n columns.length +\r\n 1 +\r\n (rowIndicator ? -1 : 0) +\r\n (contextMenuItems && contextMenuItems.length > 0 ? 1 : 0) +\r\n (showViewButton ? 1 : 0) +\r\n (showDetailsInRow && !inlineEditMode ? 1 : 0)\r\n \"\r\n >\r\n <fd-message-strip type=\"error\" [dismissible]=\"true\" (onDismiss)=\"onResetWorkflowState()\">\r\n {{ workflowState()?.error?.Text || workflowState()?.error?.MessageExpression }}\r\n </fd-message-strip>\r\n </td>\r\n</tr>\r\n}\r\n<ng-template #detailsColumnsTemplate let-mo=\"mo\" let-inlineEditMode=\"inlineEditMode\" let-layout94=\"layout94\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n detailsFormItems;\r\n context: {\r\n $implicit: detailsColumns,\r\n mo: this.mo,\r\n inlineEditMode: this.inlineEditMode,\r\n layout94: layout94\r\n }\r\n \"\r\n ></ng-container>\r\n</ng-template>\r\n<ng-template\r\n #detailsFormItems\r\n let-detailsColumns\r\n let-mo=\"mo\"\r\n let-inlineEditMode=\"inlineEditMode\"\r\n let-layout94=\"layout94\"\r\n>\r\n <div class=\"form-items\">\r\n @for (column of detailsColumns; track column; let columnIndex = $index) {\r\n <div fd-form-item>\r\n <label fd-form-label for=\"input-2\">{{ column.Caption }}</label>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: column,\r\n mo: mo,\r\n index: columnIndex,\r\n inlineEditMode: inlineEditMode,\r\n layout94: layout94\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n }\r\n </div>\r\n</ng-template>\r\n<ng-template\r\n #columnTemplate\r\n let-column\r\n let-mo=\"mo\"\r\n let-index=\"index\"\r\n let-inlineEditMode=\"inlineEditMode\"\r\n let-layout94=\"layout94\"\r\n>\r\n <bsu-barsa-table-column\r\n [mo]=\"mo\"\r\n [allColumns]=\"allColumns\"\r\n [column]=\"column\"\r\n [attachmentViewType]=\"attachmentViewType\"\r\n [isdirty]=\"dirtyColumns && dirtyColumns[column.Name]\"\r\n [value]=\"column | columnValue: mo\"\r\n [icon]=\"column | columnIcon: mo\"\r\n [customComponent]=\"column.$CustomComponent\"\r\n [column]=\"column\"\r\n [disableEllapsis]=\"secondaryColumns?.length || disableEllapsis\"\r\n [editMode]=\"(isChecked || inlineEditWithoutSelection) && inlineEditMode && allowInlineEdit\"\r\n [inlineEditMode]=\"inlineEditMode\"\r\n [isChecked]=\"isChecked === true\"\r\n [index]=\"index\"\r\n [formSetting]=\"formSetting\"\r\n [rtl]=\"rtl\"\r\n [isMobile]=\"isMobile\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [layout94]=\"layout94\"\r\n [cellEdit]=\"activeColumn() === column && isChecked\"\r\n (save)=\"onEditFormPanelSave(null)\"\r\n (cancel)=\"onEditFormPanelCancel(null)\"\r\n (tab)=\"onTabKeyDown($event, index)\"\r\n (changeToEditMode)=\"onColumnChangeToEditMode($event, index)\"\r\n >\r\n </bsu-barsa-table-column>\r\n</ng-template>\r\n<ng-template #statusIndicator>\r\n @if (rowIndicator) {\r\n <bsu-barsa-column-indicator [hideBorderBottom]=\"!detailsCollapsed\" [backColor]=\"rowIndicatorColor\">\r\n </bsu-barsa-column-indicator>\r\n }\r\n</ng-template>\r\n<ng-template #rowNumberTemplate>\r\n @if (showRowNumber) {\r\n <td fd-table-cell bsu-barsa-column-rownumber [rowNumber]=\"rowNumber\" (click)=\"!isCheckList && onRowCheck()\"></td>\r\n }\r\n</ng-template>\r\n<tr fd-table-row style=\"pointer-events: none\"></tr>\r\n", styles: [":host{display:contents;width:100%}:host bnrc-form.cartable-template ::ng-deep bsu-ly-layout-container-of-root{padding-bottom:1rem}:host.has-preview-column .secondary-row td{border-bottom:none}:host ::ng-deep .row-group.mobile-mode{border-bottom:var(--sapList_BorderWidth, .0625rem) solid var(--sapList_BorderColor, #e4e4e4)!important}:host ::ng-deep .inlineEditMode bnrc-field-ui{padding:0;margin:0}:host ::ng-deep .inlineEditMode bsu-ui-simple-combo{margin:0!important}:host ::ng-deep .secondary.p-wrapper p{display:flex;align-items:center}bsu-layout-control:not(.hide-form-item){align-items:center;height:100%;min-width:auto;width:auto}tr.group-summary-row td{border:none;background-color:#dde5f0;border-right:none!important;font-weight:700}tr.group-summary-row td label{font-weight:700}tr.group-summary-row td label.NaN{display:none}td{vertical-align:middle}td.control-readonly{background-color:var(--sapList_HeaderBackground)}tr.brule-message td{border:0}.row-group{background-color:var(--sapBackgroundColor, \"#f7f7ff\")}.cell-expand{cursor:pointer;display:inline-flex;justify-content:center;align-items:center;font-size:.75rem;color:#0854a0;color:var(--sapContent_IconColor, #0854a0);min-width:2rem;max-width:2rem}.save-error{color:var(--sapField_InvalidColor)}.save-success{color:var(--sapField_SuccessColor)}.flow{max-width:100%}.flow-item{display:flex}.flow-item fd-micro-process-flow-icon{width:1.375rem;height:1.375rem}.flow-item h5{padding-right:.3rem}.cartable-template{padding:.5rem 0}.workflow-pending{opacity:.5;pointer-events:none;position:relative}.detailCollapsed{height:0;display:none}tr td.rep-column:first-child{position:sticky;right:0}tr:not([aria-selected=true]).preview-column td{border-bottom:var(--sapList_BorderWidth) var(--fdTable_Cell_Horizontal_Border_Style, solid) var(--sapList_BorderColor)}tr[aria-selected=true].has-preview-column td,tr.showdetails-on.hasCartable td,tr.showdetails-on.hasForm td{border-bottom:none}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.FormComponent, selector: "bnrc-form", inputs: ["params", "customFormPanelUi", "formPanelCtrl", "UlvMainCtrlr", "formPanelCtrlId", "saveOnChange", "inlineEditInReport"], outputs: ["titleChanged", "moChanged", "formClose", "uiComponent", "formRendered", "bruleAction", "beforeTransition", "afterTransition"] }, { kind: "component", type: i3.DynamicItemComponent, selector: "bnrc-dynamic-item-component", inputs: ["mo", "allColumns", "moDataList", "columns", "column", "index", "last", "hideOpenIcon", "deviceName", "deviceSize", "rtl", "editMode", "setting", "parameters", "contextMenuItems", "canView", "showRowNumber", "rowNumber", "formSetting", "conditionalFormats", "disableOverflowContextMenu", "navigationArrow", "isCheckList", "fields", "isChecked", "layout94$", "inlineEditMode", "isNewInlineMo", "allowInlineEdit", "typeDefId", "rowIndicator", "rowIndicatorColor", "UlvMainCtrlr"] }, { kind: "directive", type: i3.FormCloseDirective, selector: "[formClose]", inputs: ["isMobile"] }, { kind: "component", type: i4.BusyIndicatorComponent, selector: "fd-busy-indicator", inputs: ["loading", "size", "block", "ariaLabel", "title", "label", "ariaLive"] }, { kind: "component", type: i5.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i6.CheckboxComponent, selector: "fd-checkbox", inputs: ["wrapLabel", "valignLabel", "ariaLabel", "role", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "readonly", "tristate", "tristateSelectable", "labelClass", "required", "displayOnly", "values", "standalone"], outputs: ["focusChange"] }, { kind: "component", type: i7.FormItemComponent, selector: "[fd-form-item]", inputs: ["isInline", "horizontal"] }, { kind: "component", type: i7.FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "alignLabelEnd", "inlineHelpContent", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "allowWrap", "inlineHelpLabel", "id"] }, { kind: "component", type: i8.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: i9.MessageStripComponent, selector: "fd-message-strip", inputs: ["class", "dismissible", "noIcon", "type", "id", "ariaLabelledBy", "ariaLabel", "width", "minWidth", "marginBottom", "indicationColor"], outputs: ["onDismiss"] }, { kind: "directive", type: i10.TableRowDirective, selector: "[fdTableRow], [fd-table-row]", inputs: ["activable", "highlightActive", "hoverable", "focusable", "main", "secondary", "active"] }, { kind: "directive", type: i10.TableCellDirective, selector: "[fdTableCell], [fd-table-cell]", inputs: ["noBorderX", "noBorderY", "activable", "focusable", "hoverable", "fitContent", "noPadding", "noData", "nonInteractive", "key"] }, { kind: "directive", type: i10.TableTextDirective, selector: "[fdTableText], [fd-table-text]", inputs: ["fdTableTextClass", "noWrap", "title", "maxWidth"] }, { kind: "component", type: i11.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: i12.UlvContextMenuComponent, selector: "bsu-ulv-context-menu,[ulvContextMenu]", inputs: ["onlyOverflow", "rightClickEnable", "deviceName", "menuItems", "allColumns", "index", "mo", "styleIndex", "conditionalFormats", "disableOverflowContextMenu", "footerMode", "contextMenuOverflowText", "appendTo"], outputs: ["commandClick"] }, { kind: "component", type: i13.BarsaTableColumnComponent, selector: "bsu-barsa-table-column", inputs: ["disableEllapsis", "fdTextMode"] }, { kind: "component", type: i14.BarsaColumnIndicatorComponent, selector: "bsu-barsa-column-indicator", inputs: ["backColor", "hideBorderBottom"] }, { kind: "component", type: i15.BarsaColumnRowNumberComponent, selector: "td[bsu-barsa-column-rownumber],bsu-barsa-column-rownumber", inputs: ["rowNumber"] }, { kind: "component", type: i16.BarsaRowInlineActionlistComponent, selector: "bsu-barsa-row-inline-actionlist", inputs: ["actionList", "mo", "index"], outputs: ["btnClick"] }, { kind: "directive", type: i17.ApplyConditionalFormatsDirective, selector: "[applyConditionalFormats]", inputs: ["applyConditionalFormats", "styleIndex", "hostEl", "dbName"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: i3.ColumnIconPipe, name: "columnIcon" }, { kind: "pipe", type: i3.ColumnValuePipe, name: "columnValue" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
82
|
-
}
|
|
83
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaTableRowComponent, decorators: [{
|
|
84
|
-
type: Component,
|
|
85
|
-
args: [{ selector: 'bsu-barsa-table-row', providers: [FormPanelService], changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if ((!mo.$Parent || parentExpanded) && visibility !== false) {\r\n<tr\r\n [class.row-error]=\"hasError\"\r\n [class.showdetails-on]=\"!detailsCollapsed && (detailsComponent?.Selector || detailsColumns?.length)\"\r\n [class.hasForm]=\"formSetting\"\r\n [class.hasCartable]=\"!!cartableParams\"\r\n #trEl\r\n fd-table-row\r\n [activable]=\"false\"\r\n [hoverable]=\"true\"\r\n [main]=\"true\"\r\n [focusable]=\"!(inlineEditMode && allowInlineEdit)\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [hostEl]=\"trEl\"\r\n [attr.aria-selected]=\"isChecked\"\r\n [class.has-preview-column]=\"!!previewColumn\"\r\n [class.brule-message]=\"bruleActionMessage() || workflowState()?.error\"\r\n [class.workflow-pending]=\"workflowState()?.state === 'Pending'\"\r\n [style.background-color]=\"isOdd && !isChecked ? 'var(--sapList_Hover_Background)' : null\"\r\n (keydown.enter)=\"onRowCheck(true)\"\r\n>\r\n @if (mo.$Group || mo.$Group === '') {\r\n <td\r\n [style.padding-right]=\"rtl ? 'calc( 1rem + ' + level * 12 + 'px' + ' )' : 'inherit'\"\r\n [style.padding-left]=\"!rtl ? 'calc( 1rem + ' + level * 12 + 'px' + ' )' : 'inherit'\"\r\n fd-table-cell\r\n style=\"font-weight: bold; font-size: 1rem\"\r\n [attr.colspan]=\"\r\n columns.length +\r\n 1 +\r\n (rowIndicator ? -1 : 0) +\r\n (contextMenuItems && contextMenuItems.length > 0 ? 1 : 0) +\r\n (showViewButton ? 1 : 0) +\r\n (showDetailsInRow && !inlineEditMode ? 1 : 0)\r\n \"\r\n class=\"row-group\"\r\n [class.mobile-mode]=\"secondaryColumns?.length\"\r\n [attr.level]=\"level\"\r\n [class.root-group]=\"level === 0\"\r\n >\r\n <button\r\n fd-button\r\n [fdType]=\"'transparent'\"\r\n [glyph]=\"expanded !== false ? 'navigation-down-arrow' : 'navigation-left-arrow'\"\r\n class=\"cell-expand\"\r\n (click)=\"onExpandClick()\"\r\n ></button>\r\n {{ mo.$Group === 'undefined' ? '' : mo.$Group }}\r\n </td>\r\n } @else {\r\n\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n @if (isCheckList) {\r\n <td fd-table-cell [style.width]=\"checkboxComponent ? '60px' : null\">\r\n @if (workflowState()?.state === 'Pending') {\r\n <div style=\"position: absolute; left: 0; right: 0; bottom: 0; top: 0\">\r\n <bsu-mask [top]=\"'20px'\" [size]=\"'s'\"></bsu-mask>\r\n </div>\r\n } @if (checkboxComponent?.Selector) {\r\n <bnrc-dynamic-item-component\r\n [component]=\"checkboxComponent\"\r\n [mo]=\"mo\"\r\n [isChecked]=\"isChecked\"\r\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\r\n [setting]=\"setting\"\r\n [parameters]=\"checkboxComponent.Parameters\"\r\n [editMode]=\"inlineEditMode\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [value]=\"isChecked\"\r\n [deviceSize]=\"deviceSize\"\r\n [index]=\"index\"\r\n [allColumns]=\"allColumns\"\r\n [typeDefId]=\"typeDefId\"\r\n (events)=\"onRowCheck()\"\r\n ></bnrc-dynamic-item-component>\r\n } @else {\r\n <fd-checkbox [name]=\"mo.$Caption\" [ngModel]=\"isChecked\" (ngModelChange)=\"onRowCheck()\"></fd-checkbox>\r\n }\r\n </td>\r\n } @if (!isCheckList && !showRowNumber) {\r\n <td\r\n fd-table-cell\r\n class=\"single-select\"\r\n (click)=\"!isCheckList && onRowCheck()\"\r\n style=\"padding: 0; text-align: center\"\r\n >\r\n @if (inlineEditMode && allowInlineEdit && (hasError || saving || saved)) { @if (hasError) {\r\n <fd-icon class=\"save-error\" glyph=\"error\"></fd-icon>\r\n } @if (saving) {\r\n <fd-busy-indicator [loading]=\"true\" [size]=\"'s'\" title=\"record saving\"></fd-busy-indicator>\r\n } @if (saved) {\r\n <fd-icon class=\"save-success\" glyph=\"accept\"></fd-icon>\r\n } } @else { @if (mo.$State === 'New' && !isChecked) {\r\n <fd-icon glyph=\"favorite\"></fd-icon>\r\n } @if (inlineEditMode && allowInlineEdit && isChecked) {\r\n <fd-icon glyph=\"edit\"></fd-icon>\r\n } }\r\n </td>\r\n }\r\n <ng-container *ngTemplateOutlet=\"rowNumberTemplate\"></ng-container>\r\n @for (column of columns; track column.Name; let columnIndex = $index) {\r\n <td\r\n class=\"rep-column\"\r\n [attr.dbName]=\"column.Name\"\r\n #tdEl\r\n fd-table-cell\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [hostEl]=\"tdEl\"\r\n [styleIndex]=\"styleIndex\"\r\n [dbName]=\"column.Name\"\r\n [focusable]=\"false\"\r\n (click)=\"onColumnClick(column)\"\r\n (keydown.enter)=\"onColumnKeyEnter(column)\"\r\n (dblclick)=\"onRowClick()\"\r\n [hoverable]=\"inlineEditMode && allowInlineEdit\"\r\n [class.control-readonly]=\"column.IsReadonly\"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: column,\r\n mo: mo,\r\n index: columnIndex,\r\n inlineEditMode: inlineEditMode,\r\n layout94: layout$ | async\r\n }\r\n \"\r\n ></ng-container>\r\n </td>\r\n } @if (contextMenuItems.length ) {\r\n <td class=\"col-context-menu\" fd-table-cell>\r\n <bsu-ulv-context-menu\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [mo]=\"mo\"\r\n [index]=\"index\"\r\n (commandClick)=\"onUlvCommand()\"\r\n [deviceName]=\"deviceName\"\r\n [menuItems]=\"contextMenuItems\"\r\n [allColumns]=\"allColumns\"\r\n ></bsu-ulv-context-menu>\r\n </td>\r\n } @if (showDetailsInRow && (!inlineEditMode || !allowInlineEdit)) {\r\n <td class=\"col-details\" fd-table-cell [fitContent]=\"true\">\r\n @if ((detailsComponent?.Selector || detailsColumns?.length || cartableParams?.moId ) && !hideDetailsText) {\r\n <div class=\"tw-flex tw-justify-end tw-w-full\">\r\n <button\r\n fd-button\r\n [label]=\"(detailsCollapsed ? detailsText : 'Hide') | bbbTranslate\"\r\n [fdType]=\"'transparent'\"\r\n (click)=\"onRowDetails()\"\r\n ></button>\r\n </div>\r\n }\r\n </td>\r\n } @if (actionList?.length && !inlineEditMode) {\r\n <td class=\"col-view\" [class.rtl]=\"rtl\" fd-table-cell [fitContent]=\"true\">\r\n <bsu-barsa-row-inline-actionlist\r\n [actionList]=\"actionList\"\r\n (btnClick)=\"actionListClick.emit($event)\"\r\n ></bsu-barsa-row-inline-actionlist>\r\n </td>\r\n } }\r\n</tr>\r\n} @if (secondaryColumns?.length && !mo.$Group && (!mo.$Parent || parentExpanded) && visibility !== false) {\r\n<tr\r\n #trEl\r\n fd-table-row\r\n [secondary]=\"true\"\r\n class=\"secondary-row\"\r\n [class.no-edit-mode]=\"!inlineEditMode\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [hostEl]=\"trEl\"\r\n [attr.aria-selected]=\"isChecked && !inlineEditMode ? true : false\"\r\n [style.background-color]=\"isOdd && !isChecked ? 'var(--sapList_Hover_Background)' : null\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n @if (!isCheckList) {\r\n <td fd-table-cell class=\"single-select\" (click)=\"onRowCheck()\"></td>\r\n }\r\n <td fd-table-cell colspan=\"100%\" (click)=\"onRowCheck()\" class=\"secondary p-wrapper\">\r\n <div style=\"display: flex; flex-direction: column\">\r\n @for (column of secondaryColumns; track _trackByColumn(columnIndex, column); let columnIndex = $index) {\r\n <p\r\n #pEl\r\n fd-table-text\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [hostEl]=\"pEl\"\r\n [styleIndex]=\"styleIndex\"\r\n [dbName]=\"column.Name\"\r\n style=\"font-family: 'B-Font Medium'\"\r\n >\r\n <label fd-form-label>{{ column.Caption }} :</label>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: column,\r\n mo: mo,\r\n index: columnIndex,\r\n inlineEditMode: inlineEditMode,\r\n layout94: layout$ | async\r\n }\r\n \"\r\n ></ng-container>\r\n </p>\r\n }\r\n </div>\r\n </td>\r\n</tr>\r\n} @if (cartableParams?.moId) {\r\n<tr\r\n [class.detailCollapsed]=\"detailsCollapsed\"\r\n fd-table-row\r\n class=\"showdetails cartable\"\r\n [attr.aria-selected]=\"isChecked\"\r\n [class.has-preview-column]=\"!!previewColumn\"\r\n [style.background-color]=\"isOdd && !isChecked ? 'var(--sapList_Hover_Background)' : null\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n <td\r\n (click)=\"onRowCheck()\"\r\n fd-table-cell\r\n [attr.colspan]=\"\r\n columns.length +\r\n 1 +\r\n (rowIndicator ? 1 : 0) +\r\n (contextMenuItems && contextMenuItems.length > 0 ? 1 : 0) +\r\n (showViewButton ? 1 : 0) +\r\n (showDetailsInRow && !inlineEditMode ? 1 : 0)\r\n \"\r\n >\r\n <ng-container>\r\n <bnrc-form\r\n #cartableFormRef\r\n class=\"cartable-template\"\r\n [inlineEditInReport]=\"true\"\r\n [params]=\"cartableParams\"\r\n (beforeTransition)=\"onCartableBeforeTansition()\"\r\n (afterTransition)=\"onCartableAfterTansition($event)\"\r\n (bruleAction)=\"onCartableBruleAction($event)\"\r\n (click)=\"OnCartableFormClick($event)\"\r\n (formClose)=\"onCartableFormClosed()\"\r\n ></bnrc-form>\r\n </ng-container>\r\n </td>\r\n</tr>\r\n} @if (!detailsCollapsed && (detailsComponent?.Selector|| detailsColumns?.length)) {\r\n<tr fd-table-row class=\"showdetails\" [attr.aria-selected]=\"isChecked\" [class.has-preview-column]=\"!!previewColumn\">\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n <td\r\n (click)=\"onRowCheck()\"\r\n fd-table-cell\r\n [attr.colspan]=\"\r\n columns.length +\r\n 1 +\r\n (rowIndicator ? -1 : 0) +\r\n (contextMenuItems && contextMenuItems.length > 0 ? 1 : 0) +\r\n (showViewButton ? 1 : 0) +\r\n (showDetailsInRow && !inlineEditMode ? 1 : 0)\r\n \"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n detailsColumnsTemplate;\r\n context: { mo: mo, inlineEditMode: inlineEditMode, layout94: layout$ | async }\r\n \"\r\n ></ng-container>\r\n @if (detailsComponent && detailsComponent.Selector) {\r\n <bnrc-dynamic-item-component\r\n [component]=\"detailsComponent\"\r\n [mo]=\"mo\"\r\n [isChecked]=\"isChecked\"\r\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\r\n [setting]=\"detailsComponentSetting\"\r\n [parameters]=\"detailsComponent.Settings\"\r\n [editMode]=\"inlineEditMode\"\r\n [formSetting]=\"formSetting\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [index]=\"index\"\r\n [allColumns]=\"allColumns\"\r\n [typeDefId]=\"typeDefId\"\r\n ></bnrc-dynamic-item-component>\r\n }\r\n </td>\r\n</tr>\r\n} @if(previewColumn){\r\n<tr\r\n #trEl\r\n fd-table-row\r\n [secondary]=\"true\"\r\n class=\"preview-column\"\r\n [class.no-edit-mode]=\"!inlineEditMode\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [hostEl]=\"trEl\"\r\n [attr.aria-selected]=\"isChecked && !inlineEditMode ? true : false\"\r\n [style.background-color]=\"isOdd && !isChecked ? 'var(--sapList_Hover_Background)' : null\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n\r\n <td\r\n fd-table-cell\r\n [attr.colspan]=\"\r\n columns.length +\r\n 1 +\r\n (rowIndicator ? -1 : 0) +\r\n (contextMenuItems && contextMenuItems.length > 0 ? 1 : 0) +\r\n (showViewButton ? 1 : 0) +\r\n (showDetailsInRow && !inlineEditMode ? 1 : 0)\r\n \"\r\n (click)=\"onRowCheck()\"\r\n >\r\n <div style=\"display: flex; flex-direction: column\">\r\n <p\r\n #pEl\r\n fd-table-text\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [hostEl]=\"pEl\"\r\n [styleIndex]=\"styleIndex\"\r\n [dbName]=\"previewColumn.Name\"\r\n style=\"color: var(--sapAccentColor6)\"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: previewColumn,\r\n mo: mo,\r\n index: columns.length,\r\n inlineEditMode: inlineEditMode,\r\n layout94: layout$ | async\r\n }\r\n \"\r\n ></ng-container>\r\n </p>\r\n </div>\r\n </td>\r\n</tr>\r\n} @if(isLastChildGroup && groupSummary){\r\n<tr #trEl fd-table-row class=\"group-summary-row\" [class.no-edit-mode]=\"true\" [attr.aria-selected]=\"false\">\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n @if (!isCheckList) {\r\n <td fd-table-cell class=\"single-select\"></td>\r\n } @for (column of columns; track _trackByColumn(columnIndex, column); let columnIndex = $index) {\r\n <td fd-table-cell>\r\n <label #summaryRef>{{ reCalculateColumnSummary(summaryRef, column) }}</label>\r\n </td>\r\n } @if (contextMenuItems.length) {\r\n <td class=\"col-context-menu\" fd-table-cell></td>\r\n } @if (showDetailsInRow && (!inlineEditMode || !allowInlineEdit)) {\r\n <td class=\"col-details\" fd-table-cell [fitContent]=\"true\"></td>\r\n } @if (actionList?.length && !inlineEditMode) {\r\n <td class=\"col-view\" fd-table-cell [fitContent]=\"true\"></td>\r\n }\r\n</tr>\r\n} @if (bruleActionMessage() && inlineEditMode) {\r\n<tr fd-table-row>\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n <td\r\n fd-table-cell\r\n [attr.colspan]=\"\r\n columns.length +\r\n 1 +\r\n (rowIndicator ? -1 : 0) +\r\n (contextMenuItems && contextMenuItems.length > 0 ? 1 : 0) +\r\n (showViewButton ? 1 : 0) +\r\n (showDetailsInRow && !inlineEditMode ? 1 : 0)\r\n \"\r\n >\r\n @if (bruleActionMessage()?.MessageType === 2) {\r\n <fd-message-strip\r\n [type]=\"bruleActionMessage()?.MessageType === 2 ? 'error' : 'information'\"\r\n [dismissible]=\"false\"\r\n >\r\n {{ bruleActionMessage()?.MessageExpression }}\r\n </fd-message-strip>\r\n }\r\n </td>\r\n</tr>\r\n} @if (workflowState()?.state === 'Finish' && workflowState()?.error) {\r\n<tr fd-table-row>\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n <td\r\n fd-table-cell\r\n [attr.colspan]=\"\r\n columns.length +\r\n 1 +\r\n (rowIndicator ? -1 : 0) +\r\n (contextMenuItems && contextMenuItems.length > 0 ? 1 : 0) +\r\n (showViewButton ? 1 : 0) +\r\n (showDetailsInRow && !inlineEditMode ? 1 : 0)\r\n \"\r\n >\r\n <fd-message-strip type=\"error\" [dismissible]=\"true\" (onDismiss)=\"onResetWorkflowState()\">\r\n {{ workflowState()?.error?.Text || workflowState()?.error?.MessageExpression }}\r\n </fd-message-strip>\r\n </td>\r\n</tr>\r\n}\r\n<ng-template #detailsColumnsTemplate let-mo=\"mo\" let-inlineEditMode=\"inlineEditMode\" let-layout94=\"layout94\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n detailsFormItems;\r\n context: {\r\n $implicit: detailsColumns,\r\n mo: this.mo,\r\n inlineEditMode: this.inlineEditMode,\r\n layout94: layout94\r\n }\r\n \"\r\n ></ng-container>\r\n</ng-template>\r\n<ng-template\r\n #detailsFormItems\r\n let-detailsColumns\r\n let-mo=\"mo\"\r\n let-inlineEditMode=\"inlineEditMode\"\r\n let-layout94=\"layout94\"\r\n>\r\n <div class=\"form-items\">\r\n @for (column of detailsColumns; track column; let columnIndex = $index) {\r\n <div fd-form-item>\r\n <label fd-form-label for=\"input-2\">{{ column.Caption }}</label>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: column,\r\n mo: mo,\r\n index: columnIndex,\r\n inlineEditMode: inlineEditMode,\r\n layout94: layout94\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n }\r\n </div>\r\n</ng-template>\r\n<ng-template\r\n #columnTemplate\r\n let-column\r\n let-mo=\"mo\"\r\n let-index=\"index\"\r\n let-inlineEditMode=\"inlineEditMode\"\r\n let-layout94=\"layout94\"\r\n>\r\n <bsu-barsa-table-column\r\n [mo]=\"mo\"\r\n [allColumns]=\"allColumns\"\r\n [column]=\"column\"\r\n [attachmentViewType]=\"attachmentViewType\"\r\n [isdirty]=\"dirtyColumns && dirtyColumns[column.Name]\"\r\n [value]=\"column | columnValue: mo\"\r\n [icon]=\"column | columnIcon: mo\"\r\n [customComponent]=\"column.$CustomComponent\"\r\n [column]=\"column\"\r\n [disableEllapsis]=\"secondaryColumns?.length || disableEllapsis\"\r\n [editMode]=\"(isChecked || inlineEditWithoutSelection) && inlineEditMode && allowInlineEdit\"\r\n [inlineEditMode]=\"inlineEditMode\"\r\n [isChecked]=\"isChecked === true\"\r\n [index]=\"index\"\r\n [formSetting]=\"formSetting\"\r\n [rtl]=\"rtl\"\r\n [isMobile]=\"isMobile\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [layout94]=\"layout94\"\r\n [cellEdit]=\"activeColumn() === column && isChecked\"\r\n (save)=\"onEditFormPanelSave(null)\"\r\n (cancel)=\"onEditFormPanelCancel(null)\"\r\n (tab)=\"onTabKeyDown($event, index)\"\r\n (changeToEditMode)=\"onColumnChangeToEditMode($event, index)\"\r\n >\r\n </bsu-barsa-table-column>\r\n</ng-template>\r\n<ng-template #statusIndicator>\r\n @if (rowIndicator) {\r\n <bsu-barsa-column-indicator [hideBorderBottom]=\"!detailsCollapsed\" [backColor]=\"rowIndicatorColor\">\r\n </bsu-barsa-column-indicator>\r\n }\r\n</ng-template>\r\n<ng-template #rowNumberTemplate>\r\n @if (showRowNumber) {\r\n <td fd-table-cell bsu-barsa-column-rownumber [rowNumber]=\"rowNumber\" (click)=\"!isCheckList && onRowCheck()\"></td>\r\n }\r\n</ng-template>\r\n<tr fd-table-row style=\"pointer-events: none\"></tr>\r\n", styles: [":host{display:contents;width:100%}:host bnrc-form.cartable-template ::ng-deep bsu-ly-layout-container-of-root{padding-bottom:1rem}:host.has-preview-column .secondary-row td{border-bottom:none}:host ::ng-deep .row-group.mobile-mode{border-bottom:var(--sapList_BorderWidth, .0625rem) solid var(--sapList_BorderColor, #e4e4e4)!important}:host ::ng-deep .inlineEditMode bnrc-field-ui{padding:0;margin:0}:host ::ng-deep .inlineEditMode bsu-ui-simple-combo{margin:0!important}:host ::ng-deep .secondary.p-wrapper p{display:flex;align-items:center}bsu-layout-control:not(.hide-form-item){align-items:center;height:100%;min-width:auto;width:auto}tr.group-summary-row td{border:none;background-color:#dde5f0;border-right:none!important;font-weight:700}tr.group-summary-row td label{font-weight:700}tr.group-summary-row td label.NaN{display:none}td{vertical-align:middle}td.control-readonly{background-color:var(--sapList_HeaderBackground)}tr.brule-message td{border:0}.row-group{background-color:var(--sapBackgroundColor, \"#f7f7ff\")}.cell-expand{cursor:pointer;display:inline-flex;justify-content:center;align-items:center;font-size:.75rem;color:#0854a0;color:var(--sapContent_IconColor, #0854a0);min-width:2rem;max-width:2rem}.save-error{color:var(--sapField_InvalidColor)}.save-success{color:var(--sapField_SuccessColor)}.flow{max-width:100%}.flow-item{display:flex}.flow-item fd-micro-process-flow-icon{width:1.375rem;height:1.375rem}.flow-item h5{padding-right:.3rem}.cartable-template{padding:.5rem 0}.workflow-pending{opacity:.5;pointer-events:none;position:relative}.detailCollapsed{height:0;display:none}tr td.rep-column:first-child{position:sticky;right:0}tr:not([aria-selected=true]).preview-column td{border-bottom:var(--sapList_BorderWidth) var(--fdTable_Cell_Horizontal_Border_Style, solid) var(--sapList_BorderColor)}tr[aria-selected=true].has-preview-column td,tr.showdetails-on.hasCartable td,tr.showdetails-on.hasForm td{border-bottom:none}\n"] }]
|
|
86
|
-
}], propDecorators: { showDetailsInRow: [{
|
|
87
|
-
type: Input
|
|
88
|
-
}], previewColumn: [{
|
|
89
|
-
type: Input
|
|
90
|
-
}], columnComponents: [{
|
|
91
|
-
type: Input
|
|
92
|
-
}], dirtyColumns: [{
|
|
93
|
-
type: Input
|
|
94
|
-
}], detailsCollapsed: [{
|
|
95
|
-
type: Input
|
|
96
|
-
}], columnSummary: [{
|
|
97
|
-
type: Output
|
|
98
|
-
}], detailsFormItems: [{
|
|
99
|
-
type: ViewChild,
|
|
100
|
-
args: ['detailsFormItems', { static: true }]
|
|
101
|
-
}] } });
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtdGFibGUtcm93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL2JhcnNhLXRhYmxlLXJvdy9iYXJzYS10YWJsZS1yb3cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtdGFibGUtcm93L2JhcnNhLXRhYmxlLXJvdy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULHVCQUF1QixFQUN2QixLQUFLLEVBR0wsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBQ04sU0FBUyxFQUNULE1BQU0sRUFFTixNQUFNLEVBRVQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVILDBCQUEwQixFQUMxQixnQkFBZ0IsRUFHbkIsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVU5QixNQUFNLE9BQU8sc0JBQXVCLFNBQVEsMEJBQTBCO0lBUnRFOztRQVNhLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUt4QixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFxQixDQUFDO1FBS2hFLGVBQVUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFL0IsaUJBQVksR0FBaUQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0tBcURsRjtJQXBERyxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUNuQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO1FBQzNFLENBQUM7UUFDRCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDdEYsSUFBSSxDQUFDLHVCQUF1QixHQUFHO1lBQzNCLEdBQUcsSUFBSSxDQUFDLE9BQU87WUFDZixlQUFlLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDcEMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtTQUMzQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLFdBQVcsS0FBSyxTQUFTLENBQUM7SUFDbkMsQ0FBQztJQUNELHdCQUF3QixDQUFDLEtBQWtCLEVBQUUsTUFBTTtRQUMvQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztZQUNwQixLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUztZQUNoQyxNQUFNO1lBQ04sVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ3RCLFNBQVMsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxNQUFNO1lBQ2xDLFNBQVMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNmLEtBQUssQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDaEUsS0FBSyxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUM7WUFDMUIsQ0FBQztTQUNKLENBQUMsQ0FBQztJQUNQLENBQUM7SUFDRCxhQUFhLENBQUMsTUFBd0I7UUFDbEMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxNQUF3QjtRQUNyQyx3Q0FBd0M7UUFDeEMsOEVBQThFO1FBQzlFLDZEQUE2RDtRQUM3RCw2REFBNkQ7UUFDN0QsUUFBUTtRQUNSLGNBQWM7UUFDZCxJQUFJO1FBQ0osSUFBSSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxZQUFZO1FBQ1IsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQy9DLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUNPLHVCQUF1QixDQUFDLE1BQXdCO1FBQ3BELElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDckMsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsQ0FBQzsrR0FqRVEsc0JBQXNCO21HQUF0QixzQkFBc0IsdVJBSnBCLENBQUMsZ0JBQWdCLENBQUMscUxDM0JqQywwMW5CQWdmQTs7NEZEamRhLHNCQUFzQjtrQkFSbEMsU0FBUzsrQkFDSSxxQkFBcUIsYUFHcEIsQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFDWix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLEtBQUs7OEJBR1IsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNJLGFBQWE7c0JBQXRCLE1BQU07Z0JBQzBDLGdCQUFnQjtzQkFBaEUsU0FBUzt1QkFBQyxrQkFBa0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgICBJbnB1dCxcclxuICAgIE9uSW5pdCxcclxuICAgIFRlbXBsYXRlUmVmLFxyXG4gICAgVmlld0NoaWxkLFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgT3V0cHV0LFxyXG4gICAgUmVuZGVyZXIyLFxyXG4gICAgaW5qZWN0LFxyXG4gICAgRWxlbWVudFJlZixcclxuICAgIHNpZ25hbCxcclxuICAgIFdyaXRhYmxlU2lnbmFsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgICBNb0ZvclJlcG9ydE1vZGVsLFxyXG4gICAgQmFzZVZpZXdJdGVtUHJvcHNDb21wb25lbnQsXHJcbiAgICBGb3JtUGFuZWxTZXJ2aWNlLFxyXG4gICAgUmVwb3J0Vmlld0NvbHVtbixcclxuICAgIENvbHVtblN1bW1hcnlUeXBlXHJcbn0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JzdS1iYXJzYS10YWJsZS1yb3cnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2JhcnNhLXRhYmxlLXJvdy5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9iYXJzYS10YWJsZS1yb3cuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIHByb3ZpZGVyczogW0Zvcm1QYW5lbFNlcnZpY2VdLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmFyc2FUYWJsZVJvd0NvbXBvbmVudCBleHRlbmRzIEJhc2VWaWV3SXRlbVByb3BzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIEBJbnB1dCgpIHNob3dEZXRhaWxzSW5Sb3cgPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIHByZXZpZXdDb2x1bW46IFJlcG9ydFZpZXdDb2x1bW47XHJcbiAgICBASW5wdXQoKSBjb2x1bW5Db21wb25lbnRzOiBNb0ZvclJlcG9ydE1vZGVsIHwgbnVsbDtcclxuICAgIEBJbnB1dCgpIGRpcnR5Q29sdW1uczogUmVjb3JkPHN0cmluZywgYm9vbGVhbj47XHJcbiAgICBASW5wdXQoKSBkZXRhaWxzQ29sbGFwc2VkOiBib29sZWFuO1xyXG4gICAgQE91dHB1dCgpIGNvbHVtblN1bW1hcnkgPSBuZXcgRXZlbnRFbWl0dGVyPENvbHVtblN1bW1hcnlUeXBlPigpO1xyXG4gICAgQFZpZXdDaGlsZCgnZGV0YWlsc0Zvcm1JdGVtcycsIHsgc3RhdGljOiB0cnVlIH0pIGRldGFpbHNGb3JtSXRlbXM6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gICAgZGV0YWlsc0NvbXBvbmVudFNldHRpbmc6IGFueTtcclxuICAgIGlzT2RkOiBib29sZWFuO1xyXG4gICAgX3JlbmRlcmVyMiA9IGluamVjdChSZW5kZXJlcjIpO1xyXG4gICAgZWw6IEVsZW1lbnRSZWY7XHJcbiAgICBhY3RpdmVDb2x1bW46IFdyaXRhYmxlU2lnbmFsPFJlcG9ydFZpZXdDb2x1bW4gfCB1bmRlZmluZWQ+ID0gc2lnbmFsKHVuZGVmaW5lZCk7XHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMuZWwgPSB0aGlzLl9lbDtcclxuICAgICAgICBpZiAodGhpcy5wcmV2aWV3Q29sdW1uKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyMi5hZGRDbGFzcyh0aGlzLl9lbC5uYXRpdmVFbGVtZW50LCAnaGFzLXByZXZpZXctY29sdW1uJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IHJvd04gPSBOdW1iZXIodGhpcy5yb3dOdW1iZXIpO1xyXG4gICAgICAgIHRoaXMuaXNPZGQgPSBpc05hTihyb3dOKSB8fCAhdGhpcy5jb2xvcmluZ1JvdyA/IGZhbHNlIDogcm93TiAlIDIgPT09IDAgPyB0cnVlIDogZmFsc2U7XHJcbiAgICAgICAgdGhpcy5kZXRhaWxzQ29tcG9uZW50U2V0dGluZyA9IHtcclxuICAgICAgICAgICAgLi4udGhpcy5zZXR0aW5nLFxyXG4gICAgICAgICAgICAkZGV0YWlsc0NvbHVtbnM6IHRoaXMuZGV0YWlsc0NvbHVtbnMsXHJcbiAgICAgICAgICAgICRkZXRhaWxzRm9ybUl0ZW1zOiB0aGlzLmRldGFpbHNGb3JtSXRlbXNcclxuICAgICAgICB9O1xyXG4gICAgICAgIHRoaXMuZGV0YWlsc1RleHQgfHw9ICdEZXRhaWxzJztcclxuICAgIH1cclxuICAgIHJlQ2FsY3VsYXRlQ29sdW1uU3VtbWFyeShlbERvbTogSFRNTEVsZW1lbnQsIGNvbHVtbik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY29sdW1uU3VtbWFyeS5lbWl0KHtcclxuICAgICAgICAgICAgbW9BcnI6IHRoaXMubW8uJFBhcmVudC4kQ2hpbGRyZW4sXHJcbiAgICAgICAgICAgIGNvbHVtbixcclxuICAgICAgICAgICAgZ3JvdXBMZXZlbDogdGhpcy5sZXZlbCxcclxuICAgICAgICAgICAgZ3JvdXBOYW1lOiB0aGlzLm1vLiRQYXJlbnQ/LiRHcm91cCxcclxuICAgICAgICAgICAgc3VtbWFyeUZuOiAodmFsKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBlbERvbS5jbGFzc05hbWUgPSB2YWwudG9TdHJpbmcoKS5yZXBsYWNlKC8mbHJtO3xcXHUyMDBFL2dpLCAnICcpO1xyXG4gICAgICAgICAgICAgICAgZWxEb20uaW5uZXJIVE1MID0gdmFsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBvbkNvbHVtbkNsaWNrKGNvbHVtbjogUmVwb3J0Vmlld0NvbHVtbik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2NvbHVtbkNoYW5nZVRvRWRpdE1vZGUoY29sdW1uKTtcclxuICAgIH1cclxuICAgIG9uQ29sdW1uS2V5RW50ZXIoY29sdW1uOiBSZXBvcnRWaWV3Q29sdW1uKTogdm9pZCB7XHJcbiAgICAgICAgLy8gaWYgKGNvbHVtbiA9PT0gdGhpcy5hY3RpdmVDb2x1bW4oKSkge1xyXG4gICAgICAgIC8vICAgICBjb25zdCBjb2xJbmRleCA9IHRoaXMuY29sdW1ucy5maW5kSW5kZXgoKGMpID0+IGNvbHVtbi5OYW1lID09PSBjLk5hbWUpO1xyXG4gICAgICAgIC8vICAgICBpZiAoY29sSW5kZXggPiAtMSAmJiBjb2xJbmRleCA8IHRoaXMuY29sdW1ucy5sZW5ndGgpIHtcclxuICAgICAgICAvLyAgICAgICAgIHRoaXMuYWN0aXZlQ29sdW1uLnNldCh0aGlzLmNvbHVtbnNbY29sSW5kZXggKyAxXSk7XHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvLyAgICAgcmV0dXJuO1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICB0aGlzLl9jb2x1bW5DaGFuZ2VUb0VkaXRNb2RlKGNvbHVtbik7XHJcbiAgICB9XHJcblxyXG4gICAgb25Sb3dEZXRhaWxzKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZGV0YWlsc0NvbGxhcHNlZCA9ICF0aGlzLmRldGFpbHNDb2xsYXBzZWQ7XHJcbiAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICAgIHByaXZhdGUgX2NvbHVtbkNoYW5nZVRvRWRpdE1vZGUoY29sdW1uOiBSZXBvcnRWaWV3Q29sdW1uKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNDaGVja0xpc3QgJiYgdGhpcy5pc0NoZWNrZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9yb3dDaGVjaygpO1xyXG4gICAgICAgIHRoaXMuYWN0aXZlQ29sdW1uLnNldChjb2x1bW4pO1xyXG4gICAgfVxyXG59XHJcbiIsIkBpZiAoKCFtby4kUGFyZW50IHx8IHBhcmVudEV4cGFuZGVkKSAmJiB2aXNpYmlsaXR5ICE9PSBmYWxzZSkge1xyXG48dHJcclxuICAgIFtjbGFzcy5yb3ctZXJyb3JdPVwiaGFzRXJyb3JcIlxyXG4gICAgW2NsYXNzLnNob3dkZXRhaWxzLW9uXT1cIiFkZXRhaWxzQ29sbGFwc2VkICYmIChkZXRhaWxzQ29tcG9uZW50Py5TZWxlY3RvciB8fCBkZXRhaWxzQ29sdW1ucz8ubGVuZ3RoKVwiXHJcbiAgICBbY2xhc3MuaGFzRm9ybV09XCJmb3JtU2V0dGluZ1wiXHJcbiAgICBbY2xhc3MuaGFzQ2FydGFibGVdPVwiISFjYXJ0YWJsZVBhcmFtc1wiXHJcbiAgICAjdHJFbFxyXG4gICAgZmQtdGFibGUtcm93XHJcbiAgICBbYWN0aXZhYmxlXT1cImZhbHNlXCJcclxuICAgIFtob3ZlcmFibGVdPVwidHJ1ZVwiXHJcbiAgICBbbWFpbl09XCJ0cnVlXCJcclxuICAgIFtmb2N1c2FibGVdPVwiIShpbmxpbmVFZGl0TW9kZSAmJiBhbGxvd0lubGluZUVkaXQpXCJcclxuICAgIFthcHBseUNvbmRpdGlvbmFsRm9ybWF0c109XCJjb25kaXRpb25hbEZvcm1hdHNcIlxyXG4gICAgW3N0eWxlSW5kZXhdPVwic3R5bGVJbmRleFwiXHJcbiAgICBbaG9zdEVsXT1cInRyRWxcIlxyXG4gICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJpc0NoZWNrZWRcIlxyXG4gICAgW2NsYXNzLmhhcy1wcmV2aWV3LWNvbHVtbl09XCIhIXByZXZpZXdDb2x1bW5cIlxyXG4gICAgW2NsYXNzLmJydWxlLW1lc3NhZ2VdPVwiYnJ1bGVBY3Rpb25NZXNzYWdlKCkgfHwgd29ya2Zsb3dTdGF0ZSgpPy5lcnJvclwiXHJcbiAgICBbY2xhc3Mud29ya2Zsb3ctcGVuZGluZ109XCJ3b3JrZmxvd1N0YXRlKCk/LnN0YXRlID09PSAnUGVuZGluZydcIlxyXG4gICAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiaXNPZGQgJiYgIWlzQ2hlY2tlZCA/ICd2YXIoLS1zYXBMaXN0X0hvdmVyX0JhY2tncm91bmQpJyA6IG51bGxcIlxyXG4gICAgKGtleWRvd24uZW50ZXIpPVwib25Sb3dDaGVjayh0cnVlKVwiXHJcbj5cclxuICAgIEBpZiAobW8uJEdyb3VwIHx8IG1vLiRHcm91cCA9PT0gJycpIHtcclxuICAgIDx0ZFxyXG4gICAgICAgIFtzdHlsZS5wYWRkaW5nLXJpZ2h0XT1cInJ0bCA/ICdjYWxjKCAxcmVtICsgJyArIGxldmVsICogMTIgKyAncHgnICsgJyApJyA6ICdpbmhlcml0J1wiXHJcbiAgICAgICAgW3N0eWxlLnBhZGRpbmctbGVmdF09XCIhcnRsID8gJ2NhbGMoIDFyZW0gKyAnICsgbGV2ZWwgKiAxMiArICdweCcgKyAnICknIDogJ2luaGVyaXQnXCJcclxuICAgICAgICBmZC10YWJsZS1jZWxsXHJcbiAgICAgICAgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDsgZm9udC1zaXplOiAxcmVtXCJcclxuICAgICAgICBbYXR0ci5jb2xzcGFuXT1cIlxyXG4gICAgICAgICAgICBjb2x1bW5zLmxlbmd0aCArXHJcbiAgICAgICAgICAgIDEgK1xyXG4gICAgICAgICAgICAocm93SW5kaWNhdG9yID8gLTEgOiAwKSArXHJcbiAgICAgICAgICAgIChjb250ZXh0TWVudUl0ZW1zICYmIGNvbnRleHRNZW51SXRlbXMubGVuZ3RoID4gMCA/IDEgOiAwKSArXHJcbiAgICAgICAgICAgIChzaG93Vmlld0J1dHRvbiA/IDEgOiAwKSArXHJcbiAgICAgICAgICAgIChzaG93RGV0YWlsc0luUm93ICYmICFpbmxpbmVFZGl0TW9kZSA/IDEgOiAwKVxyXG4gICAgICAgIFwiXHJcbiAgICAgICAgY2xhc3M9XCJyb3ctZ3JvdXBcIlxyXG4gICAgICAgIFtjbGFzcy5tb2JpbGUtbW9kZV09XCJzZWNvbmRhcnlDb2x1bW5zPy5sZW5ndGhcIlxyXG4gICAgICAgIFthdHRyLmxldmVsXT1cImxldmVsXCJcclxuICAgICAgICBbY2xhc3Mucm9vdC1ncm91cF09XCJsZXZlbCA9PT0gMFwiXHJcbiAgICA+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBmZC1idXR0b25cclxuICAgICAgICAgICAgW2ZkVHlwZV09XCIndHJhbnNwYXJlbnQnXCJcclxuICAgICAgICAgICAgW2dseXBoXT1cImV4cGFuZGVkICE9PSBmYWxzZSA/ICduYXZpZ2F0aW9uLWRvd24tYXJyb3cnIDogJ25hdmlnYXRpb24tbGVmdC1hcnJvdydcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImNlbGwtZXhwYW5kXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uRXhwYW5kQ2xpY2soKVwiXHJcbiAgICAgICAgPjwvYnV0dG9uPlxyXG4gICAgICAgIHt7IG1vLiRHcm91cCA9PT0gJ3VuZGVmaW5lZCcgPyAnJyA6IG1vLiRHcm91cCB9fVxyXG4gICAgPC90ZD5cclxuICAgIH0gQGVsc2Uge1xyXG5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzdGF0dXNJbmRpY2F0b3JcIj48L25nLWNvbnRhaW5lcj5cclxuICAgIEBpZiAoaXNDaGVja0xpc3QpIHtcclxuICAgIDx0ZCBmZC10YWJsZS1jZWxsIFtzdHlsZS53aWR0aF09XCJjaGVja2JveENvbXBvbmVudCA/ICc2MHB4JyA6IG51bGxcIj5cclxuICAgICAgICBAaWYgKHdvcmtmbG93U3RhdGUoKT8uc3RhdGUgPT09ICdQZW5kaW5nJykge1xyXG4gICAgICAgIDxkaXYgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDA7IHJpZ2h0OiAwOyBib3R0b206IDA7IHRvcDogMFwiPlxyXG4gICAgICAgICAgICA8YnN1LW1hc2sgW3RvcF09XCInMjBweCdcIiBbc2l6ZV09XCIncydcIj48L2JzdS1tYXNrPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIH0gQGlmIChjaGVja2JveENvbXBvbmVudD8uU2VsZWN0b3IpIHtcclxuICAgICAgICA8Ym5yYy1keW5hbWljLWl0ZW0tY29tcG9uZW50XHJcbiAgICAgICAgICAgIFtjb21wb25lbnRdPVwiY2hlY2tib3hDb21wb25lbnRcIlxyXG4gICAgICAgICAgICBbbW9dPVwibW9cIlxyXG4gICAgICAgICAgICBbaXNDaGVja2VkXT1cImlzQ2hlY2tlZFwiXHJcbiAgICAgICAgICAgIFtVbHZNYWluQ3RybHJdPVwiVWx2TWFpbkN0cmxyXCJcclxuICAgICAgICAgICAgW3NldHRpbmddPVwic2V0dGluZ1wiXHJcbiAgICAgICAgICAgIFtwYXJhbWV0ZXJzXT1cImNoZWNrYm94Q29tcG9uZW50LlBhcmFtZXRlcnNcIlxyXG4gICAgICAgICAgICBbZWRpdE1vZGVdPVwiaW5saW5lRWRpdE1vZGVcIlxyXG4gICAgICAgICAgICBbcnRsXT1cInJ0bFwiXHJcbiAgICAgICAgICAgIFtkZXZpY2VOYW1lXT1cImRldmljZU5hbWVcIlxyXG4gICAgICAgICAgICBbdmFsdWVdPVwiaXNDaGVja2VkXCJcclxuICAgICAgICAgICAgW2RldmljZVNpemVdPVwiZGV2aWNlU2l6ZVwiXHJcbiAgICAgICAgICAgIFtpbmRleF09XCJpbmRleFwiXHJcbiAgICAgICAgICAgIFthbGxDb2x1bW5zXT1cImFsbENvbHVtbnNcIlxyXG4gICAgICAgICAgICBbdHlwZURlZklkXT1cInR5cGVEZWZJZFwiXHJcbiAgICAgICAgICAgIChldmVudHMpPVwib25Sb3dDaGVjaygpXCJcclxuICAgICAgICA+PC9ibnJjLWR5bmFtaWMtaXRlbS1jb21wb25lbnQ+XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgPGZkLWNoZWNrYm94IFtuYW1lXT1cIm1vLiRDYXB0aW9uXCIgW25nTW9kZWxdPVwiaXNDaGVja2VkXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25Sb3dDaGVjaygpXCI+PC9mZC1jaGVja2JveD5cclxuICAgICAgICB9XHJcbiAgICA8L3RkPlxyXG4gICAgfSBAaWYgKCFpc0NoZWNrTGlzdCAmJiAhc2hvd1Jvd051bWJlcikge1xyXG4gICAgPHRkXHJcbiAgICAgICAgZmQtdGFibGUtY2VsbFxyXG4gICAgICAgIGNsYXNzPVwic2luZ2xlLXNlbGVjdFwiXHJcbiAgICAgICAgKGNsaWNrKT1cIiFpc0NoZWNrTGlzdCAmJiBvblJvd0NoZWNrKClcIlxyXG4gICAgICAgIHN0eWxlPVwicGFkZGluZzogMDsgdGV4dC1hbGlnbjogY2VudGVyXCJcclxuICAgID5cclxuICAgICAgICBAaWYgKGlubGluZUVkaXRNb2RlICYmIGFsbG93SW5saW5lRWRpdCAmJiAoaGFzRXJyb3IgfHwgc2F2aW5nIHx8IHNhdmVkKSkgeyBAaWYgKGhhc0Vycm9yKSB7XHJcbiAgICAgICAgPGZkLWljb24gY2xhc3M9XCJzYXZlLWVycm9yXCIgZ2x5cGg9XCJlcnJvclwiPjwvZmQtaWNvbj5cclxuICAgICAgICB9IEBpZiAoc2F2aW5nKSB7XHJcbiAgICAgICAgPGZkLWJ1c3ktaW5kaWNhdG9yIFtsb2FkaW5nXT1cInRydWVcIiBbc2l6ZV09XCIncydcIiB0aXRsZT1cInJlY29yZCBzYXZpbmdcIj48L2ZkLWJ1c3ktaW5kaWNhdG9yPlxyXG4gICAgICAgIH0gQGlmIChzYXZlZCkge1xyXG4gICAgICAgIDxmZC1pY29uIGNsYXNzPVwic2F2ZS1zdWNjZXNzXCIgZ2x5cGg9XCJhY2NlcHRcIj48L2ZkLWljb24+XHJcbiAgICAgICAgfSB9IEBlbHNlIHsgQGlmIChtby4kU3RhdGUgPT09ICdOZXcnICYmICFpc0NoZWNrZWQpIHtcclxuICAgICAgICA8ZmQtaWNvbiBnbHlwaD1cImZhdm9yaXRlXCI+PC9mZC1pY29uPlxyXG4gICAgICAgIH0gQGlmIChpbmxpbmVFZGl0TW9kZSAmJiBhbGxvd0lubGluZUVkaXQgJiYgaXNDaGVja2VkKSB7XHJcbiAgICAgICAgPGZkLWljb24gZ2x5cGg9XCJlZGl0XCI+PC9mZC1pY29uPlxyXG4gICAgICAgIH0gfVxyXG4gICAgPC90ZD5cclxuICAgIH1cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyb3dOdW1iZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgQGZvciAoY29sdW1uIG9mIGNvbHVtbnM7IHRyYWNrIGNvbHVtbi5OYW1lOyBsZXQgY29sdW1uSW5kZXggPSAkaW5kZXgpIHtcclxuICAgIDx0ZFxyXG4gICAgICAgIGNsYXNzPVwicmVwLWNvbHVtblwiXHJcbiAgICAgICAgW2F0dHIuZGJOYW1lXT1cImNvbHVtbi5OYW1lXCJcclxuICAgICAgICAjdGRFbFxyXG4gICAgICAgIGZkLXRhYmxlLWNlbGxcclxuICAgICAgICBbYXBwbHlDb25kaXRpb25hbEZvcm1hdHNdPVwiY29uZGl0aW9uYWxGb3JtYXRzXCJcclxuICAgICAgICBbaG9zdEVsXT1cInRkRWxcIlxyXG4gICAgICAgIFtzdHlsZUluZGV4XT1cInN0eWxlSW5kZXhcIlxyXG4gICAgICAgIFtkYk5hbWVdPVwiY29sdW1uLk5hbWVcIlxyXG4gICAgICAgIFtmb2N1c2FibGVdPVwiZmFsc2VcIlxyXG4gICAgICAgIChjbGljayk9XCJvbkNvbHVtbkNsaWNrKGNvbHVtbilcIlxyXG4gICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uQ29sdW1uS2V5RW50ZXIoY29sdW1uKVwiXHJcbiAgICAgICAgKGRibGNsaWNrKT1cIm9uUm93Q2xpY2soKVwiXHJcbiAgICAgICAgW2hvdmVyYWJsZV09XCJpbmxpbmVFZGl0TW9kZSAmJiBhbGxvd0lubGluZUVkaXRcIlxyXG4gICAgICAgIFtjbGFzcy5jb250cm9sLXJlYWRvbmx5XT1cImNvbHVtbi5Jc1JlYWRvbmx5XCJcclxuICAgID5cclxuICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgICAgICAgICBjb2x1bW5UZW1wbGF0ZTtcclxuICAgICAgICAgICAgICAgIGNvbnRleHQ6IHtcclxuICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGNvbHVtbixcclxuICAgICAgICAgICAgICAgICAgICBtbzogbW8sXHJcbiAgICAgICAgICAgICAgICAgICAgaW5kZXg6IGNvbHVtbkluZGV4LFxyXG4gICAgICAgICAgICAgICAgICAgIGlubGluZUVkaXRNb2RlOiBpbmxpbmVFZGl0TW9kZSxcclxuICAgICAgICAgICAgICAgICAgICBsYXlvdXQ5NDogbGF5b3V0JCB8IGFzeW5jXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFwiXHJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC90ZD5cclxuICAgIH0gQGlmIChjb250ZXh0TWVudUl0ZW1zLmxlbmd0aCApIHtcclxuICAgIDx0ZCBjbGFzcz1cImNvbC1jb250ZXh0LW1lbnVcIiBmZC10YWJsZS1jZWxsPlxyXG4gICAgICAgIDxic3UtdWx2LWNvbnRleHQtbWVudVxyXG4gICAgICAgICAgICBbZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnVdPVwiZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnVcIlxyXG4gICAgICAgICAgICBbY29uZGl0aW9uYWxGb3JtYXRzXT1cImNvbmRpdGlvbmFsRm9ybWF0c1wiXHJcbiAgICAgICAgICAgIFtzdHlsZUluZGV4XT1cInN0eWxlSW5kZXhcIlxyXG4gICAgICAgICAgICBbbW9dPVwibW9cIlxyXG4gICAgICAgICAgICBbaW5kZXhdPVwiaW5kZXhcIlxyXG4gICAgICAgICAgICAoY29tbWFuZENsaWNrKT1cIm9uVWx2Q29tbWFuZCgpXCJcclxuICAgICAgICAgICAgW2RldmljZU5hbWVdPVwiZGV2aWNlTmFtZVwiXHJcbiAgICAgICAgICAgIFttZW51SXRlbXNdPVwiY29udGV4dE1lbnVJdGVtc1wiXHJcbiAgICAgICAgICAgIFthbGxDb2x1bW5zXT1cImFsbENvbHVtbnNcIlxyXG4gICAgICAgID48L2JzdS11bHYtY29udGV4dC1tZW51PlxyXG4gICAgPC90ZD5cclxuICAgIH0gQGlmIChzaG93RGV0YWlsc0luUm93ICYmICghaW5saW5lRWRpdE1vZGUgfHwgIWFsbG93SW5saW5lRWRpdCkpIHtcclxuICAgIDx0ZCBjbGFzcz1cImNvbC1kZXRhaWxzXCIgZmQtdGFibGUtY2VsbCBbZml0Q29udGVudF09XCJ0cnVlXCI+XHJcbiAgICAgICAgQGlmICgoZGV0YWlsc0NvbXBvbmVudD8uU2VsZWN0b3IgfHwgZGV0YWlsc0NvbHVtbnM/Lmxlbmd0aCB8fCBjYXJ0YWJsZVBhcmFtcz8ubW9JZCApICYmICFoaWRlRGV0YWlsc1RleHQpIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwidHctZmxleCB0dy1qdXN0aWZ5LWVuZCB0dy13LWZ1bGxcIj5cclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgZmQtYnV0dG9uXHJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiKGRldGFpbHNDb2xsYXBzZWQgPyBkZXRhaWxzVGV4dCA6ICdIaWRlJykgfCBiYmJUcmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgICAgW2ZkVHlwZV09XCIndHJhbnNwYXJlbnQnXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvblJvd0RldGFpbHMoKVwiXHJcbiAgICAgICAgICAgID48L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICA8L3RkPlxyXG4gICAgfSBAaWYgKGFjdGlvbkxpc3Q/Lmxlbmd0aCAmJiAhaW5saW5lRWRpdE1vZGUpIHtcclxuICAgIDx0ZCBjbGFzcz1cImNvbC12aWV3XCIgW2NsYXNzLnJ0bF09XCJydGxcIiBmZC10YWJsZS1jZWxsIFtmaXRDb250ZW50XT1cInRydWVcIj5cclxuICAgICAgICA8YnN1LWJhcnNhLXJvdy1pbmxpbmUtYWN0aW9ubGlzdFxyXG4gICAgICAgICAgICBbYWN0aW9uTGlzdF09XCJhY3Rpb25MaXN0XCJcclxuICAgICAgICAgICAgKGJ0bkNsaWNrKT1cImFjdGlvbkxpc3RDbGljay5lbWl0KCRldmVudClcIlxyXG4gICAgICAgID48L2JzdS1iYXJzYS1yb3ctaW5saW5lLWFjdGlvbmxpc3Q+XHJcbiAgICA8L3RkPlxyXG4gICAgfSB9XHJcbjwvdHI+XHJcbn0gQGlmIChzZWNvbmRhcnlDb2x1bW5zPy5sZW5ndGggJiYgIW1vLiRHcm91cCAmJiAoIW1vLiRQYXJlbnQgfHwgcGFyZW50RXhwYW5kZWQpICYmIHZpc2liaWxpdHkgIT09IGZhbHNlKSB7XHJcbjx0clxyXG4gICAgI3RyRWxcclxuICAgIGZkLXRhYmxlLXJvd1xyXG4gICAgW3NlY29uZGFyeV09XCJ0cnVlXCJcclxuICAgIGNsYXNzPVwic2Vjb25kYXJ5LXJvd1wiXHJcbiAgICBbY2xhc3Mubm8tZWRpdC1tb2RlXT1cIiFpbmxpbmVFZGl0TW9kZVwiXHJcbiAgICBbYXBwbHlDb25kaXRpb25hbEZvcm1hdHNdPVwiY29uZGl0aW9uYWxGb3JtYXRzXCJcclxuICAgIFtzdHlsZUluZGV4XT1cInN0eWxlSW5kZXhcIlxyXG4gICAgW2hvc3RFbF09XCJ0ckVsXCJcclxuICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiaXNDaGVja2VkICYmICFpbmxpbmVFZGl0TW9kZSA/IHRydWUgOiBmYWxzZVwiXHJcbiAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJpc09kZCAmJiAhaXNDaGVja2VkID8gJ3ZhcigtLXNhcExpc3RfSG92ZXJfQmFja2dyb3VuZCknIDogbnVsbFwiXHJcbj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzdGF0dXNJbmRpY2F0b3JcIj48L25nLWNvbnRhaW5lcj5cclxuICAgIEBpZiAoIWlzQ2hlY2tMaXN0KSB7XHJcbiAgICA8dGQgZmQtdGFibGUtY2VsbCBjbGFzcz1cInNpbmdsZS1zZWxlY3RcIiAoY2xpY2spPVwib25Sb3dDaGVjaygpXCI+PC90ZD5cclxuICAgIH1cclxuICAgIDx0ZCBmZC10YWJsZS1jZWxsIGNvbHNwYW49XCIxMDAlXCIgKGNsaWNrKT1cIm9uUm93Q2hlY2soKVwiIGNsYXNzPVwic2Vjb25kYXJ5IHAtd3JhcHBlclwiPlxyXG4gICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uXCI+XHJcbiAgICAgICAgICAgIEBmb3IgKGNvbHVtbiBvZiBzZWNvbmRhcnlDb2x1bW5zOyB0cmFjayBfdHJhY2tCeUNvbHVtbihjb2x1bW5JbmRleCwgY29sdW1uKTsgbGV0IGNvbHVtbkluZGV4ID0gJGluZGV4KSB7XHJcbiAgICAgICAgICAgIDxwXHJcbiAgICAgICAgICAgICAgICAjcEVsXHJcbiAgICAgICAgICAgICAgICBmZC10YWJsZS10ZXh0XHJcbiAgICAgICAgICAgICAgICBbYXBwbHlDb25kaXRpb25hbEZvcm1hdHNdPVwiY29uZGl0aW9uYWxGb3JtYXRzXCJcclxuICAgICAgICAgICAgICAgIFtob3N0RWxdPVwicEVsXCJcclxuICAgICAgICAgICAgICAgIFtzdHlsZUluZGV4XT1cInN0eWxlSW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgW2RiTmFtZV09XCJjb2x1bW4uTmFtZVwiXHJcbiAgICAgICAgICAgICAgICBzdHlsZT1cImZvbnQtZmFtaWx5OiAnQi1Gb250IE1lZGl1bSdcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgZmQtZm9ybS1sYWJlbD57eyBjb2x1bW4uQ2FwdGlvbiB9fSA6PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5UZW1wbGF0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJGltcGxpY2l0OiBjb2x1bW4sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtbzogbW8sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleDogY29sdW1uSW5kZXgsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmxpbmVFZGl0TW9kZTogaW5saW5lRWRpdE1vZGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXlvdXQ5NDogbGF5b3V0JCB8IGFzeW5jXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvdGQ+XHJcbjwvdHI+XHJcbn0gQGlmIChjYXJ0YWJsZVBhcmFtcz8ubW9JZCkge1xyXG48dHJcclxuICAgIFtjbGFzcy5kZXRhaWxDb2xsYXBzZWRdPVwiZGV0YWlsc0NvbGxhcHNlZFwiXHJcbiAgICBmZC10YWJsZS1yb3dcclxuICAgIGNsYXNzPVwic2hvd2RldGFpbHMgY2FydGFibGVcIlxyXG4gICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJpc0NoZWNrZWRcIlxyXG4gICAgW2NsYXNzLmhhcy1wcmV2aWV3LWNvbHVtbl09XCIhIXByZXZpZXdDb2x1bW5cIlxyXG4gICAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiaXNPZGQgJiYgIWlzQ2hlY2tlZCA/ICd2YXIoLS1zYXBMaXN0X0hvdmVyX0JhY2tncm91bmQpJyA6IG51bGxcIlxyXG4+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic3RhdHVzSW5kaWNhdG9yXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8dGRcclxuICAgICAgICAoY2xpY2spPVwib25Sb3dDaGVjaygpXCJcclxuICAgICAgICBmZC10YWJsZS1jZWxsXHJcbiAgICAgICAgW2F0dHIuY29sc3Bhbl09XCJcclxuICAgICAgICAgICAgY29sdW1ucy5sZW5ndGggK1xyXG4gICAgICAgICAgICAxICtcclxuICAgICAgICAgICAgKHJvd0luZGljYXRvciA/IDEgOiAwKSArXHJcbiAgICAgICAgICAgIChjb250ZXh0TWVudUl0ZW1zICYmIGNvbnRleHRNZW51SXRlbXMubGVuZ3RoID4gMCA/IDEgOiAwKSArXHJcbiAgICAgICAgICAgIChzaG93Vmlld0J1dHRvbiA/IDEgOiAwKSArXHJcbiAgICAgICAgICAgIChzaG93RGV0YWlsc0luUm93ICYmICFpbmxpbmVFZGl0TW9kZSA/IDEgOiAwKVxyXG4gICAgICAgIFwiXHJcbiAgICA+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPGJucmMtZm9ybVxyXG4gICAgICAgICAgICAgICAgI2NhcnRhYmxlRm9ybVJlZlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjYXJ0YWJsZS10ZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICBbaW5saW5lRWRpdEluUmVwb3J0XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgW3BhcmFtc109XCJjYXJ0YWJsZVBhcmFtc1wiXHJcbiAgICAgICAgICAgICAgICAoYmVmb3JlVHJhbnNpdGlvbik9XCJvbkNhcnRhYmxlQmVmb3JlVGFuc2l0aW9uKClcIlxyXG4gICAgICAgICAgICAgICAgKGFmdGVyVHJhbnNpdGlvbik9XCJvbkNhcnRhYmxlQWZ0ZXJUYW5zaXRpb24oJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAoYnJ1bGVBY3Rpb24pPVwib25DYXJ0YWJsZUJydWxlQWN0aW9uKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIk9uQ2FydGFibGVGb3JtQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAoZm9ybUNsb3NlKT1cIm9uQ2FydGFibGVGb3JtQ2xvc2VkKClcIlxyXG4gICAgICAgICAgICA+PC9ibnJjLWZvcm0+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L3RkPlxyXG48L3RyPlxyXG59IEBpZiAoIWRldGFpbHNDb2xsYXBzZWQgJiYgKGRldGFpbHNDb21wb25lbnQ/LlNlbGVjdG9yfHwgZGV0YWlsc0NvbHVtbnM/Lmxlbmd0aCkpIHtcclxuPHRyIGZkLXRhYmxlLXJvdyBjbGFzcz1cInNob3dkZXRhaWxzXCIgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJpc0NoZWNrZWRcIiBbY2xhc3MuaGFzLXByZXZpZXctY29sdW1uXT1cIiEhcHJldmlld0NvbHVtblwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInN0YXR1c0luZGljYXRvclwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPHRkXHJcbiAgICAgICAgKGNsaWNrKT1cIm9uUm93Q2hlY2soKVwiXHJcbiAgICAgICAgZmQtdGFibGUtY2VsbFxyXG4gICAgICAgIFthdHRyLmNvbHNwYW5dPVwiXHJcbiAgICAgICAgICAgIGNvbHVtbnMubGVuZ3RoICtcclxuICAgICAgICAgICAgMSArXHJcbiAgICAgICAgICAgIChyb3dJbmRpY2F0b3IgPyAtMSA6IDApICtcclxuICAgICAgICAgICAgKGNvbnRleHRNZW51SXRlbXMgJiYgY29udGV4dE1lbnVJdGVtcy5sZW5ndGggPiAwID8gMSA6IDApICtcclxuICAgICAgICAgICAgKHNob3dWaWV3QnV0dG9uID8gMSA6IDApICtcclxuICAgICAgICAgICAgKHNob3dEZXRhaWxzSW5Sb3cgJiYgIWlubGluZUVkaXRNb2RlID8gMSA6IDApXHJcbiAgICAgICAgXCJcclxuICAgID5cclxuICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgICAgICAgICBkZXRhaWxzQ29sdW1uc1RlbXBsYXRlO1xyXG4gICAgICAgICAgICAgICAgY29udGV4dDogeyBtbzogbW8sIGlubGluZUVkaXRNb2RlOiBpbmxpbmVFZGl0TW9kZSwgbGF5b3V0OTQ6IGxheW91dCQgfCBhc3luYyB9XHJcbiAgICAgICAgICAgIFwiXHJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIEBpZiAoZGV0YWlsc0NvbXBvbmVudCAmJiBkZXRhaWxzQ29tcG9uZW50LlNlbGVjdG9yKSB7XHJcbiAgICAgICAgPGJucmMtZHluYW1pYy1pdGVtLWNvbXBvbmVudFxyXG4gICAgICAgICAgICBbY29tcG9uZW50XT1cImRldGFpbHNDb21wb25lbnRcIlxyXG4gICAgICAgICAgICBbbW9dPVwibW9cIlxyXG4gICAgICAgICAgICBbaXNDaGVja2VkXT1cImlzQ2hlY2tlZFwiXHJcbiAgICAgICAgICAgIFtVbHZNYWluQ3RybHJdPVwiVWx2TWFpbkN0cmxyXCJcclxuICAgICAgICAgICAgW3NldHRpbmddPVwiZGV0YWlsc0NvbXBvbmVudFNldHRpbmdcIlxyXG4gICAgICAgICAgICBbcGFyYW1ldGVyc109XCJkZXRhaWxzQ29tcG9uZW50LlNldHRpbmdzXCJcclxuICAgICAgICAgICAgW2VkaXRNb2RlXT1cImlubGluZUVkaXRNb2RlXCJcclxuICAgICAgICAgICAgW2Zvcm1TZXR0aW5nXT1cImZvcm1TZXR0aW5nXCJcclxuICAgICAgICAgICAgW3J0bF09XCJydGxcIlxyXG4gICAgICAgICAgICBbZGV2aWNlTmFtZV09XCJkZXZpY2VOYW1lXCJcclxuICAgICAgICAgICAgW2RldmljZVNpemVdPVwiZGV2aWNlU2l6ZVwiXHJcbiAgICAgICAgICAgIFtpbmRleF09XCJpbmRleFwiXHJcbiAgICAgICAgICAgIFthbGxDb2x1bW5zXT1cImFsbENvbHVtbnNcIlxyXG4gICAgICAgICAgICBbdHlwZURlZklkXT1cInR5cGVEZWZJZFwiXHJcbiAgICAgICAgPjwvYm5yYy1keW5hbWljLWl0ZW0tY29tcG9uZW50PlxyXG4gICAgICAgIH1cclxuICAgIDwvdGQ+XHJcbjwvdHI+XHJcbn0gQGlmKHByZXZpZXdDb2x1bW4pe1xyXG48dHJcclxuICAgICN0ckVsXHJcbiAgICBmZC10YWJsZS1yb3dcclxuICAgIFtzZWNvbmRhcnldPVwidHJ1ZVwiXHJcbiAgICBjbGFzcz1cInByZXZpZXctY29sdW1uXCJcclxuICAgIFtjbGFzcy5uby1lZGl0LW1vZGVdPVwiIWlubGluZUVkaXRNb2RlXCJcclxuICAgIFthcHBseUNvbmRpdGlvbmFsRm9ybWF0c109XCJjb25kaXRpb25hbEZvcm1hdHNcIlxyXG4gICAgW3N0eWxlSW5kZXhdPVwic3R5bGVJbmRleFwiXHJcbiAgICBbaG9zdEVsXT1cInRyRWxcIlxyXG4gICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJpc0NoZWNrZWQgJiYgIWlubGluZUVkaXRNb2RlID8gdHJ1ZSA6IGZhbHNlXCJcclxuICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cImlzT2RkICYmICFpc0NoZWNrZWQgPyAndmFyKC0tc2FwTGlzdF9Ib3Zlcl9CYWNrZ3JvdW5kKScgOiBudWxsXCJcclxuPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInN0YXR1c0luZGljYXRvclwiPjwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDx0ZFxyXG4gICAgICAgIGZkLXRhYmxlLWNlbGxcclxuICAgICAgICBbYXR0ci5jb2xzcGFuXT1cIlxyXG4gICAgICAgICAgICBjb2x1bW5zLmxlbmd0aCArXHJcbiAgICAgICAgICAgIDEgK1xyXG4gICAgICAgICAgICAocm93SW5kaWNhdG9yID8gLTEgOiAwKSArXHJcbiAgICAgICAgICAgIChjb250ZXh0TWVudUl0ZW1zICYmIGNvbnRleHRNZW51SXRlbXMubGVuZ3RoID4gMCA/IDEgOiAwKSArXHJcbiAgICAgICAgICAgIChzaG93Vmlld0J1dHRvbiA/IDEgOiAwKSArXHJcbiAgICAgICAgICAgIChzaG93RGV0YWlsc0luUm93ICYmICFpbmxpbmVFZGl0TW9kZSA/IDEgOiAwKVxyXG4gICAgICAgIFwiXHJcbiAgICAgICAgKGNsaWNrKT1cIm9uUm93Q2hlY2soKVwiXHJcbiAgICA+XHJcbiAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW5cIj5cclxuICAgICAgICAgICAgPHBcclxuICAgICAgICAgICAgICAgICNwRWxcclxuICAgICAgICAgICAgICAgIGZkLXRhYmxlLXRleHRcclxuICAgICAgICAgICAgICAgIFthcHBseUNvbmRpdGlvbmFsRm9ybWF0c109XCJjb25kaXRpb25hbEZvcm1hdHNcIlxyXG4gICAgICAgICAgICAgICAgW2hvc3RFbF09XCJwRWxcIlxyXG4gICAgICAgICAgICAgICAgW3N0eWxlSW5kZXhdPVwic3R5bGVJbmRleFwiXHJcbiAgICAgICAgICAgICAgICBbZGJOYW1lXT1cInByZXZpZXdDb2x1bW4uTmFtZVwiXHJcbiAgICAgICAgICAgICAgICBzdHlsZT1cImNvbG9yOiB2YXIoLS1zYXBBY2NlbnRDb2xvcjYpXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtblRlbXBsYXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IHByZXZpZXdDb2x1bW4sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtbzogbW8sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleDogY29sdW1ucy5sZW5ndGgsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmxpbmVFZGl0TW9kZTogaW5saW5lRWRpdE1vZGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXlvdXQ5NDogbGF5b3V0JCB8IGFzeW5jXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L3RkPlxyXG48L3RyPlxyXG59IEBpZihpc0xhc3RDaGlsZEdyb3VwICYmIGdyb3VwU3VtbWFyeSl7XHJcbjx0ciAjdHJFbCBmZC10YWJsZS1yb3cgY2xhc3M9XCJncm91cC1zdW1tYXJ5LXJvd1wiIFtjbGFzcy5uby1lZGl0LW1vZGVdPVwidHJ1ZVwiIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiZmFsc2VcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzdGF0dXNJbmRpY2F0b3JcIj48L25nLWNvbnRhaW5lcj5cclxuICAgIEBpZiAoIWlzQ2hlY2tMaXN0KSB7XHJcbiAgICA8dGQgZmQtdGFibGUtY2VsbCBjbGFzcz1cInNpbmdsZS1zZWxlY3RcIj48L3RkPlxyXG4gICAgfSBAZm9yIChjb2x1bW4gb2YgY29sdW1uczsgdHJhY2sgX3RyYWNrQnlDb2x1bW4oY29sdW1uSW5kZXgsIGNvbHVtbik7IGxldCBjb2x1bW5JbmRleCA9ICRpbmRleCkge1xyXG4gICAgPHRkIGZkLXRhYmxlLWNlbGw+XHJcbiAgICAgICAgPGxhYmVsICNzdW1tYXJ5UmVmPnt7IHJlQ2FsY3VsYXRlQ29sdW1uU3VtbWFyeShzdW1tYXJ5UmVmLCBjb2x1bW4pIH19PC9sYWJlbD5cclxuICAgIDwvdGQ+XHJcbiAgICB9IEBpZiAoY29udGV4dE1lbnVJdGVtcy5sZW5ndGgpIHtcclxuICAgIDx0ZCBjbGFzcz1cImNvbC1jb250ZXh0LW1lbnVcIiBmZC10YWJsZS1jZWxsPjwvdGQ+XHJcbiAgICB9IEBpZiAoc2hvd0RldGFpbHNJblJvdyAmJiAoIWlubGluZUVkaXRNb2RlIHx8ICFhbGxvd0lubGluZUVkaXQpKSB7XHJcbiAgICA8dGQgY2xhc3M9XCJjb2wtZGV0YWlsc1wiIGZkLXRhYmxlLWNlbGwgW2ZpdENvbnRlbnRdPVwidHJ1ZVwiPjwvdGQ+XHJcbiAgICB9IEBpZiAoYWN0aW9uTGlzdD8ubGVuZ3RoICYmICFpbmxpbmVFZGl0TW9kZSkge1xyXG4gICAgPHRkIGNsYXNzPVwiY29sLXZpZXdcIiBmZC10YWJsZS1jZWxsIFtmaXRDb250ZW50XT1cInRydWVcIj48L3RkPlxyXG4gICAgfVxyXG48L3RyPlxyXG59IEBpZiAoYnJ1bGVBY3Rpb25NZXNzYWdlKCkgJiYgaW5saW5lRWRpdE1vZGUpIHtcclxuPHRyIGZkLXRhYmxlLXJvdz5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzdGF0dXNJbmRpY2F0b3JcIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDx0ZFxyXG4gICAgICAgIGZkLXRhYmxlLWNlbGxcclxuICAgICAgICBbYXR0ci5jb2xzcGFuXT1cIlxyXG4gICAgICAgICAgICBjb2x1bW5zLmxlbmd0aCArXHJcbiAgICAgICAgICAgIDEgK1xyXG4gICAgICAgICAgICAocm93SW5kaWNhdG9yID8gLTEgOiAwKSArXHJcbiAgICAgICAgICAgIChjb250ZXh0TWVudUl0ZW1zICYmIGNvbnRleHRNZW51SXRlbXMubGVuZ3RoID4gMCA/IDEgOiAwKSArXHJcbiAgICAgICAgICAgIChzaG93Vmlld0J1dHRvbiA/IDEgOiAwKSArXHJcbiAgICAgICAgICAgIChzaG93RGV0YWlsc0luUm93ICYmICFpbmxpbmVFZGl0TW9kZSA/IDEgOiAwKVxyXG4gICAgICAgIFwiXHJcbiAgICA+XHJcbiAgICAgICAgQGlmIChicnVsZUFjdGlvbk1lc3NhZ2UoKT8uTWVzc2FnZVR5cGUgPT09IDIpIHtcclxuICAgICAgICA8ZmQtbWVzc2FnZS1zdHJpcFxyXG4gICAgICAgICAgICBbdHlwZV09XCJicnVsZUFjdGlvbk1lc3NhZ2UoKT8uTWVzc2FnZVR5cGUgPT09IDIgPyAnZXJyb3InIDogJ2luZm9ybWF0aW9uJ1wiXHJcbiAgICAgICAgICAgIFtkaXNtaXNzaWJsZV09XCJmYWxzZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICB7eyBicnVsZUFjdGlvbk1lc3NhZ2UoKT8uTWVzc2FnZUV4cHJlc3Npb24gfX1cclxuICAgICAgICA8L2ZkLW1lc3NhZ2Utc3RyaXA+XHJcbiAgICAgICAgfVxyXG4gICAgPC90ZD5cclxuPC90cj5cclxufSBAaWYgKHdvcmtmbG93U3RhdGUoKT8uc3RhdGUgPT09ICdGaW5pc2gnICYmIHdvcmtmbG93U3RhdGUoKT8uZXJyb3IpIHtcclxuPHRyIGZkLXRhYmxlLXJvdz5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzdGF0dXNJbmRpY2F0b3JcIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDx0ZFxyXG4gICAgICAgIGZkLXRhYmxlLWNlbGxcclxuICAgICAgICBbYXR0ci5jb2xzcGFuXT1cIlxyXG4gICAgICAgICAgICBjb2x1bW5zLmxlbmd0aCArXHJcbiAgICAgICAgICAgIDEgK1xyXG4gICAgICAgICAgICAocm93SW5kaWNhdG9yID8gLTEgOiAwKSArXHJcbiAgICAgICAgICAgIChjb250ZXh0TWVudUl0ZW1zICYmIGNvbnRleHRNZW51SXRlbXMubGVuZ3RoID4gMCA/IDEgOiAwKSArXHJcbiAgICAgICAgICAgIChzaG93Vmlld0J1dHRvbiA/IDEgOiAwKSArXHJcbiAgICAgICAgICAgIChzaG93RGV0YWlsc0luUm93ICYmICFpbmxpbmVFZGl0TW9kZSA/IDEgOiAwKVxyXG4gICAgICAgIFwiXHJcbiAgICA+XHJcbiAgICAgICAgPGZkLW1lc3NhZ2Utc3RyaXAgdHlwZT1cImVycm9yXCIgW2Rpc21pc3NpYmxlXT1cInRydWVcIiAob25EaXNtaXNzKT1cIm9uUmVzZXRXb3JrZmxvd1N0YXRlKClcIj5cclxuICAgICAgICAgICAge3sgd29ya2Zsb3dTdGF0ZSgpPy5lcnJvcj8uVGV4dCB8fCB3b3JrZmxvd1N0YXRlKCk/LmVycm9yPy5NZXNzYWdlRXhwcmVzc2lvbiB9fVxyXG4gICAgICAgIDwvZmQtbWVzc2FnZS1zdHJpcD5cclxuICAgIDwvdGQ+XHJcbjwvdHI+XHJcbn1cclxuPG5nLXRlbXBsYXRlICNkZXRhaWxzQ29sdW1uc1RlbXBsYXRlIGxldC1tbz1cIm1vXCIgbGV0LWlubGluZUVkaXRNb2RlPVwiaW5saW5lRWRpdE1vZGVcIiBsZXQtbGF5b3V0OTQ9XCJsYXlvdXQ5NFwiPlxyXG4gICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgICAgIGRldGFpbHNGb3JtSXRlbXM7XHJcbiAgICAgICAgICAgIGNvbnRleHQ6IHtcclxuICAgICAgICAgICAgICAgICRpbXBsaWNpdDogZGV0YWlsc0NvbHVtbnMsXHJcbiAgICAgICAgICAgICAgICBtbzogdGhpcy5tbyxcclxuICAgICAgICAgICAgICAgIGlubGluZUVkaXRNb2RlOiB0aGlzLmlubGluZUVkaXRNb2RlLFxyXG4gICAgICAgICAgICAgICAgbGF5b3V0OTQ6IGxheW91dDk0XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICBcIlxyXG4gICAgPjwvbmctY29udGFpbmVyPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGVcclxuICAgICNkZXRhaWxzRm9ybUl0ZW1zXHJcbiAgICBsZXQtZGV0YWlsc0NvbHVtbnNcclxuICAgIGxldC1tbz1cIm1vXCJcclxuICAgIGxldC1pbmxpbmVFZGl0TW9kZT1cImlubGluZUVkaXRNb2RlXCJcclxuICAgIGxldC1sYXlvdXQ5ND1cImxheW91dDk0XCJcclxuPlxyXG4gICAgPGRpdiBjbGFzcz1cImZvcm0taXRlbXNcIj5cclxuICAgICAgICBAZm9yIChjb2x1bW4gb2YgZGV0YWlsc0NvbHVtbnM7IHRyYWNrIGNvbHVtbjsgbGV0IGNvbHVtbkluZGV4ID0gJGluZGV4KSB7XHJcbiAgICAgICAgPGRpdiBmZC1mb3JtLWl0ZW0+XHJcbiAgICAgICAgICAgIDxsYWJlbCBmZC1mb3JtLWxhYmVsIGZvcj1cImlucHV0LTJcIj57eyBjb2x1bW4uQ2FwdGlvbiB9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uVGVtcGxhdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGV4dDoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGNvbHVtbixcclxuICAgICAgICAgICAgICAgICAgICAgICAgbW86IG1vLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpbmRleDogY29sdW1uSW5kZXgsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlubGluZUVkaXRNb2RlOiBpbmxpbmVFZGl0TW9kZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGF5b3V0OTQ6IGxheW91dDk0XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGVcclxuICAgICNjb2x1bW5UZW1wbGF0ZVxyXG4gICAgbGV0LWNvbHVtblxyXG4gICAgbGV0LW1vPVwibW9cIlxyXG4gICAgbGV0LWluZGV4PVwiaW5kZXhcIlxyXG4gICAgbGV0LWlubGluZUVkaXRNb2RlPVwiaW5saW5lRWRpdE1vZGVcIlxyXG4gICAgbGV0LWxheW91dDk0PVwibGF5b3V0OTRcIlxyXG4+XHJcbiAgICA8YnN1LWJhcnNhLXRhYmxlLWNvbHVtblxyXG4gICAgICAgIFttb109XCJtb1wiXHJcbiAgICAgICAgW2FsbENvbHVtbnNdPVwiYWxsQ29sdW1uc1wiXHJcbiAgICAgICAgW2NvbHVtbl09XCJjb2x1bW5cIlxyXG4gICAgICAgIFthdHRhY2htZW50Vmlld1R5cGVdPVwiYXR0YWNobWVudFZpZXdUeXBlXCJcclxuICAgICAgICBbaXNkaXJ0eV09XCJkaXJ0eUNvbHVtbnMgJiYgZGlydHlDb2x1bW5zW2NvbHVtbi5OYW1lXVwiXHJcbiAgICAgICAgW3ZhbHVlXT1cImNvbHVtbiB8IGNvbHVtblZhbHVlOiBtb1wiXHJcbiAgICAgICAgW2ljb25dPVwiY29sdW1uIHwgY29sdW1uSWNvbjogbW9cIlxyXG4gICAgICAgIFtjdXN0b21Db21wb25lbnRdPVwiY29sdW1uLiRDdXN0b21Db21wb25lbnRcIlxyXG4gICAgICAgIFtjb2x1bW5dPVwiY29sdW1uXCJcclxuICAgICAgICBbZGlzYWJsZUVsbGFwc2lzXT1cInNlY29uZGFyeUNvbHVtbnM/Lmxlbmd0aCB8fCBkaXNhYmxlRWxsYXBzaXNcIlxyXG4gICAgICAgIFtlZGl0TW9kZV09XCIoaXNDaGVja2VkIHx8IGlubGluZUVkaXRXaXRob3V0U2VsZWN0aW9uKSAmJiBpbmxpbmVFZGl0TW9kZSAmJiBhbGxvd0lubGluZUVkaXRcIlxyXG4gICAgICAgIFtpbmxpbmVFZGl0TW9kZV09XCJpbmxpbmVFZGl0TW9kZVwiXHJcbiAgICAgICAgW2lzQ2hlY2tlZF09XCJpc0NoZWNrZWQgPT09IHRydWVcIlxyXG4gICAgICAgIFtpbmRleF09XCJpbmRleFwiXHJcbiAgICAgICAgW2Zvcm1TZXR0aW5nXT1cImZvcm1TZXR0aW5nXCJcclxuICAgICAgICBbcnRsXT1cInJ0bFwiXHJcbiAgICAgICAgW2lzTW9iaWxlXT1cImlzTW9iaWxlXCJcclxuICAgICAgICBbZGV2aWNlTmFtZV09XCJkZXZpY2VOYW1lXCJcclxuICAgICAgICBbZGV2aWNlU2l6ZV09XCJkZXZpY2VTaXplXCJcclxuICAgICAgICBbbGF5b3V0OTRdPVwibGF5b3V0OTRcIlxyXG4gICAgICAgIFtjZWxsRWRpdF09XCJhY3RpdmVDb2x1bW4oKSA9PT0gY29sdW1uICYmIGlzQ2hlY2tlZFwiXHJcbiAgICAgICAgKHNhdmUpPVwib25FZGl0Rm9ybVBhbmVsU2F2ZShudWxsKVwiXHJcbiAgICAgICAgKGNhbmNlbCk9XCJvbkVkaXRGb3JtUGFuZWxDYW5jZWwobnVsbClcIlxyXG4gICAgICAgICh0YWIpPVwib25UYWJLZXlEb3duKCRldmVudCwgaW5kZXgpXCJcclxuICAgICAgICAoY2hhbmdlVG9FZGl0TW9kZSk9XCJvbkNvbHVtbkNoYW5nZVRvRWRpdE1vZGUoJGV2ZW50LCBpbmRleClcIlxyXG4gICAgPlxyXG4gICAgPC9ic3UtYmFyc2EtdGFibGUtY29sdW1uPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI3N0YXR1c0luZGljYXRvcj5cclxuICAgIEBpZiAocm93SW5kaWNhdG9yKSB7XHJcbiAgICA8YnN1LWJhcnNhLWNvbHVtbi1pbmRpY2F0b3IgW2hpZGVCb3JkZXJCb3R0b21dPVwiIWRldGFpbHNDb2xsYXBzZWRcIiBbYmFja0NvbG9yXT1cInJvd0luZGljYXRvckNvbG9yXCI+XHJcbiAgICA8L2JzdS1iYXJzYS1jb2x1bW4taW5kaWNhdG9yPlxyXG4gICAgfVxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI3Jvd051bWJlclRlbXBsYXRlPlxyXG4gICAgQGlmIChzaG93Um93TnVtYmVyKSB7XHJcbiAgICA8dGQgZmQtdGFibGUtY2VsbCBic3UtYmFyc2EtY29sdW1uLXJvd251bWJlciBbcm93TnVtYmVyXT1cInJvd051bWJlclwiIChjbGljayk9XCIhaXNDaGVja0xpc3QgJiYgb25Sb3dDaGVjaygpXCI+PC90ZD5cclxuICAgIH1cclxuPC9uZy10ZW1wbGF0ZT5cclxuPHRyIGZkLXRhYmxlLXJvdyBzdHlsZT1cInBvaW50ZXItZXZlbnRzOiBub25lXCI+PC90cj5cclxuIl19
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { ReportViewBaseComponent } from 'barsa-novin-ray-core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "barsa-novin-ray-core";
|
|
5
|
-
import * as i2 from "../barsa-chip/barsa-chip.component";
|
|
6
|
-
import * as i3 from "@angular/common";
|
|
7
|
-
export class BarsaTagCategoriesComponent extends ReportViewBaseComponent {
|
|
8
|
-
ngOnInit() {
|
|
9
|
-
super.ngOnInit();
|
|
10
|
-
this.groupTags(this.moDataList);
|
|
11
|
-
}
|
|
12
|
-
ngOnChanges(changes) {
|
|
13
|
-
super.ngOnChanges(changes);
|
|
14
|
-
const { moDataList } = changes;
|
|
15
|
-
if (!moDataList?.firstChange && moDataList?.currentValue) {
|
|
16
|
-
this.groupTags(moDataList.currentValue);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
groupTags(moDataList) {
|
|
20
|
-
if (!moDataList.length) {
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
this.groupedTags = moDataList
|
|
24
|
-
.map((i, index) => {
|
|
25
|
-
i.index = index;
|
|
26
|
-
return i;
|
|
27
|
-
})
|
|
28
|
-
.reduce((a, b) => {
|
|
29
|
-
const foundCellIndex = a.findIndex((i) => i.Id === b.F2?.Id);
|
|
30
|
-
if (foundCellIndex !== -1) {
|
|
31
|
-
a[foundCellIndex].items.push(b);
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
if (b.F2?.Id) {
|
|
35
|
-
a.push({
|
|
36
|
-
Id: b.F2.Id,
|
|
37
|
-
title: b.F2.$Caption,
|
|
38
|
-
items: [b],
|
|
39
|
-
order: b.A_F2_OrderNumber
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
return a;
|
|
44
|
-
}, [])
|
|
45
|
-
.sort((a, b) => +a.order - +b.order)
|
|
46
|
-
.map((i) => {
|
|
47
|
-
i.items = i.items.sort((a, b) => +b.QuestionsCount - +a.QuestionsCount);
|
|
48
|
-
return i;
|
|
49
|
-
});
|
|
50
|
-
console.log(this.groupedTags);
|
|
51
|
-
this._cdr.detectChanges();
|
|
52
|
-
}
|
|
53
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaTagCategoriesComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
54
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BarsaTagCategoriesComponent, selector: "bsu-barsa-tag-categories", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@for (category of groupedTags; track category) {\r\n<p class=\"tw-w-full tw-border-b tw-border-gray-300 tw-py-2 tw-text-xl\">{{ category.title }}</p>\r\n<div class=\"tw-grid tw-grid-cols-4 tw-gap-4 tw-items-stretch tw-py-4\">\r\n @for (mo of category.items; track mo) {\r\n <div\r\n class=\"tw-col-span-1 tw-flex tw-flex-col tw-gap-2 tw-p-2 tw-bg-white tw-border tw-border-transparent hover:tw-border-gray-200 tw-transition-all tw-rounded-md\"\r\n >\r\n @if (viewSetting.RowOlgo.Selector) {\r\n <bnrc-dynamic-item-component\r\n [component]=\"viewSetting.RowOlgo\"\r\n [mo]=\"mo\"\r\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\r\n [moDataList]=\"moDataList\"\r\n [showRowNumber]=\"contextView?.Grid_ShowRowNumber\"\r\n [isChecked]=\"mo.$IsChecked\"\r\n [typeDefId]=\"typeDefId\"\r\n [formSetting]=\"formSetting\"\r\n [index]=\"mo.index\"\r\n [setting]=\"viewSetting\"\r\n [columns]=\"columns\"\r\n [isNewInlineMo]=\"mo.$NewInlineMo\"\r\n [inlineEditMode]=\"inlineEditMode\"\r\n [allowInlineEdit]=\"allowInlineEdit\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [allColumns]=\"allColumns\"\r\n [canView]=\"canView\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [navigationArrow]=\"navigationArrow\"\r\n [isCheckList]=\"isCheckList\"\r\n (events)=\"onOlgoEvents($event)\"\r\n >\r\n </bnrc-dynamic-item-component>\r\n } @else {\r\n <div class=\"tw-flex tw-justify-between tw-items-center\">\r\n <bsu-barsa-chip\r\n #Chip\r\n [title]=\"mo.$Caption\"\r\n [canCheck]=\"true\"\r\n (checkedChange)=\"rowCheck.emit({ mo: mo, index: mo.index })\"\r\n (mouseenter)=\"Chip.isChecked = true\"\r\n (mouseleave)=\"Chip.isChecked = false\"\r\n ></bsu-barsa-chip>\r\n <span class=\"tw-text-gray-400\">\r\n {{ mo.QuestionsCount | number: '1.0-0' }}\r\n \u0633\u0648\u0627\u0644\r\n </span>\r\n </div>\r\n <p class=\"tw-line-clamp-3 tw-text-xs\">{{ mo.Description }}</p>\r\n }\r\n </div>\r\n }\r\n</div>\r\n}\r\n", styles: [":root{--sapBackgroundColor: #fdfdfd}\n"], dependencies: [{ kind: "component", type: i1.DynamicItemComponent, selector: "bnrc-dynamic-item-component", inputs: ["mo", "allColumns", "moDataList", "columns", "column", "index", "last", "hideOpenIcon", "deviceName", "deviceSize", "rtl", "editMode", "setting", "parameters", "contextMenuItems", "canView", "showRowNumber", "rowNumber", "formSetting", "conditionalFormats", "disableOverflowContextMenu", "navigationArrow", "isCheckList", "fields", "isChecked", "layout94$", "inlineEditMode", "isNewInlineMo", "allowInlineEdit", "typeDefId", "rowIndicator", "rowIndicatorColor", "UlvMainCtrlr"] }, { kind: "component", type: i2.BarsaChipComponent, selector: "bsu-barsa-chip", inputs: ["title", "moreInfo", "canCheck", "isChecked"], outputs: ["checkedChange"] }, { kind: "pipe", type: i3.DecimalPipe, name: "number" }] }); }
|
|
55
|
-
}
|
|
56
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaTagCategoriesComponent, decorators: [{
|
|
57
|
-
type: Component,
|
|
58
|
-
args: [{ selector: 'bsu-barsa-tag-categories', standalone: false, template: "@for (category of groupedTags; track category) {\r\n<p class=\"tw-w-full tw-border-b tw-border-gray-300 tw-py-2 tw-text-xl\">{{ category.title }}</p>\r\n<div class=\"tw-grid tw-grid-cols-4 tw-gap-4 tw-items-stretch tw-py-4\">\r\n @for (mo of category.items; track mo) {\r\n <div\r\n class=\"tw-col-span-1 tw-flex tw-flex-col tw-gap-2 tw-p-2 tw-bg-white tw-border tw-border-transparent hover:tw-border-gray-200 tw-transition-all tw-rounded-md\"\r\n >\r\n @if (viewSetting.RowOlgo.Selector) {\r\n <bnrc-dynamic-item-component\r\n [component]=\"viewSetting.RowOlgo\"\r\n [mo]=\"mo\"\r\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\r\n [moDataList]=\"moDataList\"\r\n [showRowNumber]=\"contextView?.Grid_ShowRowNumber\"\r\n [isChecked]=\"mo.$IsChecked\"\r\n [typeDefId]=\"typeDefId\"\r\n [formSetting]=\"formSetting\"\r\n [index]=\"mo.index\"\r\n [setting]=\"viewSetting\"\r\n [columns]=\"columns\"\r\n [isNewInlineMo]=\"mo.$NewInlineMo\"\r\n [inlineEditMode]=\"inlineEditMode\"\r\n [allowInlineEdit]=\"allowInlineEdit\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [allColumns]=\"allColumns\"\r\n [canView]=\"canView\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [navigationArrow]=\"navigationArrow\"\r\n [isCheckList]=\"isCheckList\"\r\n (events)=\"onOlgoEvents($event)\"\r\n >\r\n </bnrc-dynamic-item-component>\r\n } @else {\r\n <div class=\"tw-flex tw-justify-between tw-items-center\">\r\n <bsu-barsa-chip\r\n #Chip\r\n [title]=\"mo.$Caption\"\r\n [canCheck]=\"true\"\r\n (checkedChange)=\"rowCheck.emit({ mo: mo, index: mo.index })\"\r\n (mouseenter)=\"Chip.isChecked = true\"\r\n (mouseleave)=\"Chip.isChecked = false\"\r\n ></bsu-barsa-chip>\r\n <span class=\"tw-text-gray-400\">\r\n {{ mo.QuestionsCount | number: '1.0-0' }}\r\n \u0633\u0648\u0627\u0644\r\n </span>\r\n </div>\r\n <p class=\"tw-line-clamp-3 tw-text-xs\">{{ mo.Description }}</p>\r\n }\r\n </div>\r\n }\r\n</div>\r\n}\r\n", styles: [":root{--sapBackgroundColor: #fdfdfd}\n"] }]
|
|
59
|
-
}] });
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtdGFnLWNhdGVnb3JpZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtdGFnLWNhdGVnb3JpZXMvYmFyc2EtdGFnLWNhdGVnb3JpZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtdGFnLWNhdGVnb3JpZXMvYmFyc2EtdGFnLWNhdGVnb3JpZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUF1Qix1QkFBdUIsRUFBMkIsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7QUFRN0csTUFBTSxPQUFPLDJCQUE0QixTQUFRLHVCQUFnRDtJQUU3RixRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQixNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQy9CLElBQUksQ0FBQyxVQUFVLEVBQUUsV0FBVyxJQUFJLFVBQVUsRUFBRSxZQUFZLEVBQUUsQ0FBQztZQUN2RCxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM1QyxDQUFDO0lBQ0wsQ0FBQztJQUNELFNBQVMsQ0FBQyxVQUFpQztRQUN2QyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3JCLE9BQU87UUFDWCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVO2FBQ3hCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUNkLENBQUMsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ2hCLE9BQU8sQ0FBQyxDQUFDO1FBQ2IsQ0FBQyxDQUFDO2FBQ0QsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ2IsTUFBTSxjQUFjLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzdELElBQUksY0FBYyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3hCLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BDLENBQUM7aUJBQU0sQ0FBQztnQkFDSixJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7b0JBQ1gsQ0FBQyxDQUFDLElBQUksQ0FBQzt3QkFDSCxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFO3dCQUNYLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVE7d0JBQ3BCLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQzt3QkFDVixLQUFLLEVBQUUsQ0FBQyxDQUFDLGdCQUFnQjtxQkFDTSxDQUFDLENBQUM7Z0JBQ3pDLENBQUM7WUFDTCxDQUFDO1lBQ0QsT0FBTyxDQUFDLENBQUM7UUFDYixDQUFDLEVBQUUsRUFBMkIsQ0FBQzthQUM5QixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO2FBQ25DLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ1AsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUN4RSxPQUFPLENBQUMsQ0FBQztRQUNiLENBQUMsQ0FBQyxDQUFDO1FBQ1AsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM5QixDQUFDOytHQTdDUSwyQkFBMkI7bUdBQTNCLDJCQUEyQiw0R0NUeEMsNjhFQXdEQTs7NEZEL0NhLDJCQUEyQjtrQkFOdkMsU0FBUzsrQkFDSSwwQkFBMEIsY0FHeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNZXRhb2JqZWN0RGF0YU1vZGVsLCBSZXBvcnRWaWV3QmFzZUNvbXBvbmVudCwgVWlSZXBvcnRWaWV3QmFzZVNldHRpbmcgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnN1LWJhcnNhLXRhZy1jYXRlZ29yaWVzJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9iYXJzYS10YWctY2F0ZWdvcmllcy5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9iYXJzYS10YWctY2F0ZWdvcmllcy5jb21wb25lbnQuY3NzJ10sXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmFyc2FUYWdDYXRlZ29yaWVzQ29tcG9uZW50IGV4dGVuZHMgUmVwb3J0Vmlld0Jhc2VDb21wb25lbnQ8VWlSZXBvcnRWaWV3QmFzZVNldHRpbmc+IHtcclxuICAgIGdyb3VwZWRUYWdzOiBhbnlbXTtcclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgdGhpcy5ncm91cFRhZ3ModGhpcy5tb0RhdGFMaXN0KTtcclxuICAgIH1cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcclxuICAgICAgICBjb25zdCB7IG1vRGF0YUxpc3QgfSA9IGNoYW5nZXM7XHJcbiAgICAgICAgaWYgKCFtb0RhdGFMaXN0Py5maXJzdENoYW5nZSAmJiBtb0RhdGFMaXN0Py5jdXJyZW50VmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5ncm91cFRhZ3MobW9EYXRhTGlzdC5jdXJyZW50VmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGdyb3VwVGFncyhtb0RhdGFMaXN0OiBNZXRhb2JqZWN0RGF0YU1vZGVsW10pOiB2b2lkIHtcclxuICAgICAgICBpZiAoIW1vRGF0YUxpc3QubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5ncm91cGVkVGFncyA9IG1vRGF0YUxpc3RcclxuICAgICAgICAgICAgLm1hcCgoaSwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgICAgIGkuaW5kZXggPSBpbmRleDtcclxuICAgICAgICAgICAgICAgIHJldHVybiBpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAucmVkdWNlKChhLCBiKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBmb3VuZENlbGxJbmRleCA9IGEuZmluZEluZGV4KChpKSA9PiBpLklkID09PSBiLkYyPy5JZCk7XHJcbiAgICAgICAgICAgICAgICBpZiAoZm91bmRDZWxsSW5kZXggIT09IC0xKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYVtmb3VuZENlbGxJbmRleF0uaXRlbXMucHVzaChiKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGIuRjI/LklkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGEucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZDogYi5GMi5JZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBiLkYyLiRDYXB0aW9uLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IFtiXSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVyOiBiLkFfRjJfT3JkZXJOdW1iZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSBhcyB1bmtub3duIGFzIE1ldGFvYmplY3REYXRhTW9kZWwpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJldHVybiBhO1xyXG4gICAgICAgICAgICB9LCBbXSBhcyBNZXRhb2JqZWN0RGF0YU1vZGVsW10pXHJcbiAgICAgICAgICAgIC5zb3J0KChhLCBiKSA9PiArYS5vcmRlciAtICtiLm9yZGVyKVxyXG4gICAgICAgICAgICAubWFwKChpKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpLml0ZW1zID0gaS5pdGVtcy5zb3J0KChhLCBiKSA9PiArYi5RdWVzdGlvbnNDb3VudCAtICthLlF1ZXN0aW9uc0NvdW50KTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICBjb25zb2xlLmxvZyh0aGlzLmdyb3VwZWRUYWdzKTtcclxuICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG59XHJcbiIsIkBmb3IgKGNhdGVnb3J5IG9mIGdyb3VwZWRUYWdzOyB0cmFjayBjYXRlZ29yeSkge1xyXG48cCBjbGFzcz1cInR3LXctZnVsbCB0dy1ib3JkZXItYiB0dy1ib3JkZXItZ3JheS0zMDAgdHctcHktMiB0dy10ZXh0LXhsXCI+e3sgY2F0ZWdvcnkudGl0bGUgfX08L3A+XHJcbjxkaXYgY2xhc3M9XCJ0dy1ncmlkIHR3LWdyaWQtY29scy00IHR3LWdhcC00IHR3LWl0ZW1zLXN0cmV0Y2ggdHctcHktNFwiPlxyXG4gICAgQGZvciAobW8gb2YgY2F0ZWdvcnkuaXRlbXM7IHRyYWNrIG1vKSB7XHJcbiAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJ0dy1jb2wtc3Bhbi0xIHR3LWZsZXggdHctZmxleC1jb2wgdHctZ2FwLTIgdHctcC0yIHR3LWJnLXdoaXRlIHR3LWJvcmRlciB0dy1ib3JkZXItdHJhbnNwYXJlbnQgaG92ZXI6dHctYm9yZGVyLWdyYXktMjAwIHR3LXRyYW5zaXRpb24tYWxsIHR3LXJvdW5kZWQtbWRcIlxyXG4gICAgPlxyXG4gICAgICAgIEBpZiAodmlld1NldHRpbmcuUm93T2xnby5TZWxlY3Rvcikge1xyXG4gICAgICAgIDxibnJjLWR5bmFtaWMtaXRlbS1jb21wb25lbnRcclxuICAgICAgICAgICAgW2NvbXBvbmVudF09XCJ2aWV3U2V0dGluZy5Sb3dPbGdvXCJcclxuICAgICAgICAgICAgW21vXT1cIm1vXCJcclxuICAgICAgICAgICAgW1Vsdk1haW5DdHJscl09XCJVbHZNYWluQ3RybHJcIlxyXG4gICAgICAgICAgICBbbW9EYXRhTGlzdF09XCJtb0RhdGFMaXN0XCJcclxuICAgICAgICAgICAgW3Nob3dSb3dOdW1iZXJdPVwiY29udGV4dFZpZXc/LkdyaWRfU2hvd1Jvd051bWJlclwiXHJcbiAgICAgICAgICAgIFtpc0NoZWNrZWRdPVwibW8uJElzQ2hlY2tlZFwiXHJcbiAgICAgICAgICAgIFt0eXBlRGVmSWRdPVwidHlwZURlZklkXCJcclxuICAgICAgICAgICAgW2Zvcm1TZXR0aW5nXT1cImZvcm1TZXR0aW5nXCJcclxuICAgICAgICAgICAgW2luZGV4XT1cIm1vLmluZGV4XCJcclxuICAgICAgICAgICAgW3NldHRpbmddPVwidmlld1NldHRpbmdcIlxyXG4gICAgICAgICAgICBbY29sdW1uc109XCJjb2x1bW5zXCJcclxuICAgICAgICAgICAgW2lzTmV3SW5saW5lTW9dPVwibW8uJE5ld0lubGluZU1vXCJcclxuICAgICAgICAgICAgW2lubGluZUVkaXRNb2RlXT1cImlubGluZUVkaXRNb2RlXCJcclxuICAgICAgICAgICAgW2FsbG93SW5saW5lRWRpdF09XCJhbGxvd0lubGluZUVkaXRcIlxyXG4gICAgICAgICAgICBbcnRsXT1cInJ0bFwiXHJcbiAgICAgICAgICAgIFtkZXZpY2VOYW1lXT1cImRldmljZU5hbWVcIlxyXG4gICAgICAgICAgICBbZGV2aWNlU2l6ZV09XCJkZXZpY2VTaXplXCJcclxuICAgICAgICAgICAgW2FsbENvbHVtbnNdPVwiYWxsQ29sdW1uc1wiXHJcbiAgICAgICAgICAgIFtjYW5WaWV3XT1cImNhblZpZXdcIlxyXG4gICAgICAgICAgICBbY29uZGl0aW9uYWxGb3JtYXRzXT1cImNvbmRpdGlvbmFsRm9ybWF0c1wiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudV09XCJkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudVwiXHJcbiAgICAgICAgICAgIFtuYXZpZ2F0aW9uQXJyb3ddPVwibmF2aWdhdGlvbkFycm93XCJcclxuICAgICAgICAgICAgW2lzQ2hlY2tMaXN0XT1cImlzQ2hlY2tMaXN0XCJcclxuICAgICAgICAgICAgKGV2ZW50cyk9XCJvbk9sZ29FdmVudHMoJGV2ZW50KVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvYm5yYy1keW5hbWljLWl0ZW0tY29tcG9uZW50PlxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0dy1mbGV4IHR3LWp1c3RpZnktYmV0d2VlbiB0dy1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPGJzdS1iYXJzYS1jaGlwXHJcbiAgICAgICAgICAgICAgICAjQ2hpcFxyXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cIm1vLiRDYXB0aW9uXCJcclxuICAgICAgICAgICAgICAgIFtjYW5DaGVja109XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgIChjaGVja2VkQ2hhbmdlKT1cInJvd0NoZWNrLmVtaXQoeyBtbzogbW8sIGluZGV4OiBtby5pbmRleCB9KVwiXHJcbiAgICAgICAgICAgICAgICAobW91c2VlbnRlcik9XCJDaGlwLmlzQ2hlY2tlZCA9IHRydWVcIlxyXG4gICAgICAgICAgICAgICAgKG1vdXNlbGVhdmUpPVwiQ2hpcC5pc0NoZWNrZWQgPSBmYWxzZVwiXHJcbiAgICAgICAgICAgID48L2JzdS1iYXJzYS1jaGlwPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInR3LXRleHQtZ3JheS00MDBcIj5cclxuICAgICAgICAgICAgICAgIHt7IG1vLlF1ZXN0aW9uc0NvdW50IHwgbnVtYmVyOiAnMS4wLTAnIH19XHJcbiAgICAgICAgICAgICAgICDYs9mI2KfZhFxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPHAgY2xhc3M9XCJ0dy1saW5lLWNsYW1wLTMgdHctdGV4dC14c1wiPnt7IG1vLkRlc2NyaXB0aW9uIH19PC9wPlxyXG4gICAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gICAgfVxyXG48L2Rpdj5cclxufVxyXG4iXX0=
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
-
import { BaseViewItemPropsComponent } from 'barsa-novin-ray-core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "../barsa-chip/barsa-chip.component";
|
|
5
|
-
export class BarsaTagChipComponent extends BaseViewItemPropsComponent {
|
|
6
|
-
constructor() {
|
|
7
|
-
super(...arguments);
|
|
8
|
-
this.isChecked = false;
|
|
9
|
-
}
|
|
10
|
-
ngOnChanges(changes) {
|
|
11
|
-
super.ngOnChanges(changes);
|
|
12
|
-
const { isChecked } = changes;
|
|
13
|
-
this.isChecked = isChecked?.currentValue;
|
|
14
|
-
this._cdr.detectChanges();
|
|
15
|
-
}
|
|
16
|
-
rowChecked() {
|
|
17
|
-
this.events.emit({ title: 'rowCheck', data: { mo: this.mo, index: this.index } });
|
|
18
|
-
}
|
|
19
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaTagChipComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
20
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BarsaTagChipComponent, selector: "bsu-barsa-tag-chip", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<bsu-barsa-chip\n [title]=\"mo.Title\"\n [moreInfo]=\"mo.QuestionsCount\"\n (checkedChange)=\"rowChecked()\"\n [canCheck]=\"true\"\n [isChecked]=\"isChecked\"\n></bsu-barsa-chip>\n", styles: [""], dependencies: [{ kind: "component", type: i1.BarsaChipComponent, selector: "bsu-barsa-chip", inputs: ["title", "moreInfo", "canCheck", "isChecked"], outputs: ["checkedChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
21
|
-
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaTagChipComponent, decorators: [{
|
|
23
|
-
type: Component,
|
|
24
|
-
args: [{ selector: 'bsu-barsa-tag-chip', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bsu-barsa-chip\n [title]=\"mo.Title\"\n [moreInfo]=\"mo.QuestionsCount\"\n (checkedChange)=\"rowChecked()\"\n [canCheck]=\"true\"\n [isChecked]=\"isChecked\"\n></bsu-barsa-chip>\n" }]
|
|
25
|
-
}] });
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtdGFnLWNoaXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtdGFnLWNoaXAvYmFyc2EtdGFnLWNoaXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtdGFnLWNoaXAvYmFyc2EtdGFnLWNoaXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQVNsRSxNQUFNLE9BQU8scUJBQXNCLFNBQVEsMEJBQTBCO0lBUHJFOztRQVFJLGNBQVMsR0FBRyxLQUFLLENBQUM7S0FVckI7SUFURyxXQUFXLENBQUMsT0FBc0I7UUFDOUIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQixNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxFQUFFLFlBQVksQ0FBQztRQUN6QyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFDRCxVQUFVO1FBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7K0dBVlEscUJBQXFCO21HQUFyQixxQkFBcUIsc0dDVmxDLHFNQU9BOzs0RkRHYSxxQkFBcUI7a0JBUGpDLFNBQVM7K0JBQ0ksb0JBQW9CLG1CQUdiLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmFzZVZpZXdJdGVtUHJvcHNDb21wb25lbnQgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnN1LWJhcnNhLXRhZy1jaGlwJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9iYXJzYS10YWctY2hpcC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9iYXJzYS10YWctY2hpcC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmFyc2FUYWdDaGlwQ29tcG9uZW50IGV4dGVuZHMgQmFzZVZpZXdJdGVtUHJvcHNDb21wb25lbnQge1xyXG4gICAgaXNDaGVja2VkID0gZmFsc2U7XHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkNoYW5nZXMoY2hhbmdlcyk7XHJcbiAgICAgICAgY29uc3QgeyBpc0NoZWNrZWQgfSA9IGNoYW5nZXM7XHJcbiAgICAgICAgdGhpcy5pc0NoZWNrZWQgPSBpc0NoZWNrZWQ/LmN1cnJlbnRWYWx1ZTtcclxuICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gICAgcm93Q2hlY2tlZCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmV2ZW50cy5lbWl0KHsgdGl0bGU6ICdyb3dDaGVjaycsIGRhdGE6IHsgbW86IHRoaXMubW8sIGluZGV4OiB0aGlzLmluZGV4IH0gfSk7XHJcbiAgICB9XHJcbn1cclxuIiwiPGJzdS1iYXJzYS1jaGlwXG4gICAgW3RpdGxlXT1cIm1vLlRpdGxlXCJcbiAgICBbbW9yZUluZm9dPVwibW8uUXVlc3Rpb25zQ291bnRcIlxuICAgIChjaGVja2VkQ2hhbmdlKT1cInJvd0NoZWNrZWQoKVwiXG4gICAgW2NhbkNoZWNrXT1cInRydWVcIlxuICAgIFtpc0NoZWNrZWRdPVwiaXNDaGVja2VkXCJcbj48L2JzdS1iYXJzYS1jaGlwPlxuIl19
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "../barsa-chip/barsa-chip.component";
|
|
4
|
-
import * as i2 from "@angular/common";
|
|
5
|
-
export class BarsaTagsCategoryRowComponent {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.rowCheck = new EventEmitter();
|
|
8
|
-
}
|
|
9
|
-
ngOnInit() {
|
|
10
|
-
// super.ngOnInit();
|
|
11
|
-
}
|
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaTagsCategoryRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
13
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BarsaTagsCategoryRowComponent, selector: "bsu-barsa-tags-category-row", inputs: { category: "category" }, outputs: { rowCheck: "rowCheck" }, ngImport: i0, template: "<p class=\"tw-w-full tw-border-b tw-border-gray-300 tw-py-2 tw-text-xl\">{{ category.title }}</p>\r\n<div class=\"tw-grid tw-grid-cols-4 tw-gap-4 tw-items-stretch tw-py-4\">\r\n @for (i of category.items; track i) {\r\n <div\r\n class=\"tw-col-span-1 tw-flex tw-flex-col tw-gap-2 tw-p-2 tw-bg-white tw-border tw-border-transparent hover:tw-border-gray-200 tw-transition-all tw-rounded-md\"\r\n >\r\n <div class=\"tw-flex tw-justify-between tw-items-center\">\r\n <bsu-barsa-chip\r\n #Chip\r\n [title]=\"i.$Caption\"\r\n [canCheck]=\"true\"\r\n (click)=\"rowCheck.emit({ mo: i, index: i.index })\"\r\n (mouseenter)=\"Chip.isChecked = true\"\r\n (mouseleave)=\"Chip.isChecked = false\"\r\n ></bsu-barsa-chip>\r\n <span class=\"tw-text-gray-400\">\r\n {{ i.QuestionsCount | number: '1.0-0' }}\r\n \u0633\u0648\u0627\u0644\r\n </span>\r\n </div>\r\n <p class=\"tw-line-clamp-3 tw-text-xs\">{{ i.Description }}</p>\r\n </div>\r\n }\r\n</div>\r\n", styles: [":root{--sapBackgroundColor: #fdfdfd}\n"], dependencies: [{ kind: "component", type: i1.BarsaChipComponent, selector: "bsu-barsa-chip", inputs: ["title", "moreInfo", "canCheck", "isChecked"], outputs: ["checkedChange"] }, { kind: "pipe", type: i2.DecimalPipe, name: "number" }] }); }
|
|
14
|
-
}
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaTagsCategoryRowComponent, decorators: [{
|
|
16
|
-
type: Component,
|
|
17
|
-
args: [{ selector: 'bsu-barsa-tags-category-row', standalone: false, template: "<p class=\"tw-w-full tw-border-b tw-border-gray-300 tw-py-2 tw-text-xl\">{{ category.title }}</p>\r\n<div class=\"tw-grid tw-grid-cols-4 tw-gap-4 tw-items-stretch tw-py-4\">\r\n @for (i of category.items; track i) {\r\n <div\r\n class=\"tw-col-span-1 tw-flex tw-flex-col tw-gap-2 tw-p-2 tw-bg-white tw-border tw-border-transparent hover:tw-border-gray-200 tw-transition-all tw-rounded-md\"\r\n >\r\n <div class=\"tw-flex tw-justify-between tw-items-center\">\r\n <bsu-barsa-chip\r\n #Chip\r\n [title]=\"i.$Caption\"\r\n [canCheck]=\"true\"\r\n (click)=\"rowCheck.emit({ mo: i, index: i.index })\"\r\n (mouseenter)=\"Chip.isChecked = true\"\r\n (mouseleave)=\"Chip.isChecked = false\"\r\n ></bsu-barsa-chip>\r\n <span class=\"tw-text-gray-400\">\r\n {{ i.QuestionsCount | number: '1.0-0' }}\r\n \u0633\u0648\u0627\u0644\r\n </span>\r\n </div>\r\n <p class=\"tw-line-clamp-3 tw-text-xs\">{{ i.Description }}</p>\r\n </div>\r\n }\r\n</div>\r\n", styles: [":root{--sapBackgroundColor: #fdfdfd}\n"] }]
|
|
18
|
-
}], propDecorators: { rowCheck: [{
|
|
19
|
-
type: Output
|
|
20
|
-
}], category: [{
|
|
21
|
-
type: Input
|
|
22
|
-
}] } });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtdGFncy1jYXRlZ29yeS1yb3cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtdGFncy1jYXRlZ29yeS1yb3cvYmFyc2EtdGFncy1jYXRlZ29yeS1yb3cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtdGFncy1jYXRlZ29yeS1yb3cvYmFyc2EtdGFncy1jYXRlZ29yeS1yb3cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVF2RSxNQUFNLE9BQU8sNkJBQTZCO0lBTjFDO1FBT2MsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7S0FLaEQ7SUFIRyxRQUFRO1FBQ0osc0JBQXNCO0lBQzFCLENBQUM7K0dBTFEsNkJBQTZCO21HQUE3Qiw2QkFBNkIsd0lDUjFDLDZuQ0F3QkE7OzRGRGhCYSw2QkFBNkI7a0JBTnpDLFNBQVM7K0JBQ0ksNkJBQTZCLGNBRzNCLEtBQUs7OEJBR1AsUUFBUTtzQkFBakIsTUFBTTtnQkFDRSxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdic3UtYmFyc2EtdGFncy1jYXRlZ29yeS1yb3cnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2JhcnNhLXRhZ3MtY2F0ZWdvcnktcm93LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2JhcnNhLXRhZ3MtY2F0ZWdvcnktcm93LmNvbXBvbmVudC5jc3MnXSxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCYXJzYVRhZ3NDYXRlZ29yeVJvd0NvbXBvbmVudCB7XHJcbiAgICBAT3V0cHV0KCkgcm93Q2hlY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIEBJbnB1dCgpIGNhdGVnb3J5OiBhbnk7XHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICAvLyAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICB9XHJcbn1cclxuIiwiPHAgY2xhc3M9XCJ0dy13LWZ1bGwgdHctYm9yZGVyLWIgdHctYm9yZGVyLWdyYXktMzAwIHR3LXB5LTIgdHctdGV4dC14bFwiPnt7IGNhdGVnb3J5LnRpdGxlIH19PC9wPlxyXG48ZGl2IGNsYXNzPVwidHctZ3JpZCB0dy1ncmlkLWNvbHMtNCB0dy1nYXAtNCB0dy1pdGVtcy1zdHJldGNoIHR3LXB5LTRcIj5cclxuICAgIEBmb3IgKGkgb2YgY2F0ZWdvcnkuaXRlbXM7IHRyYWNrIGkpIHtcclxuICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cInR3LWNvbC1zcGFuLTEgdHctZmxleCB0dy1mbGV4LWNvbCB0dy1nYXAtMiB0dy1wLTIgdHctYmctd2hpdGUgdHctYm9yZGVyIHR3LWJvcmRlci10cmFuc3BhcmVudCBob3Zlcjp0dy1ib3JkZXItZ3JheS0yMDAgdHctdHJhbnNpdGlvbi1hbGwgdHctcm91bmRlZC1tZFwiXHJcbiAgICA+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInR3LWZsZXggdHctanVzdGlmeS1iZXR3ZWVuIHR3LWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8YnN1LWJhcnNhLWNoaXBcclxuICAgICAgICAgICAgICAgICNDaGlwXHJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiaS4kQ2FwdGlvblwiXHJcbiAgICAgICAgICAgICAgICBbY2FuQ2hlY2tdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwicm93Q2hlY2suZW1pdCh7IG1vOiBpLCBpbmRleDogaS5pbmRleCB9KVwiXHJcbiAgICAgICAgICAgICAgICAobW91c2VlbnRlcik9XCJDaGlwLmlzQ2hlY2tlZCA9IHRydWVcIlxyXG4gICAgICAgICAgICAgICAgKG1vdXNlbGVhdmUpPVwiQ2hpcC5pc0NoZWNrZWQgPSBmYWxzZVwiXHJcbiAgICAgICAgICAgID48L2JzdS1iYXJzYS1jaGlwPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInR3LXRleHQtZ3JheS00MDBcIj5cclxuICAgICAgICAgICAgICAgIHt7IGkuUXVlc3Rpb25zQ291bnQgfCBudW1iZXI6ICcxLjAtMCcgfX1cclxuICAgICAgICAgICAgICAgINiz2YjYp9mEXHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8cCBjbGFzcz1cInR3LWxpbmUtY2xhbXAtMyB0dy10ZXh0LXhzXCI+e3sgaS5EZXNjcmlwdGlvbiB9fTwvcD5cclxuICAgIDwvZGl2PlxyXG4gICAgfVxyXG48L2Rpdj5cclxuIl19
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
-
import { BaseComponent } from 'barsa-novin-ray-core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "barsa-novin-ray-core";
|
|
5
|
-
import * as i2 from "@fundamental-ngx/core/content-density";
|
|
6
|
-
import * as i3 from "@fundamental-ngx/core/button";
|
|
7
|
-
import * as i4 from "@fundamental-ngx/core/popover";
|
|
8
|
-
import * as i5 from "@fundamental-ngx/core/text";
|
|
9
|
-
export class BarsaTextEllipsisComponent extends BaseComponent {
|
|
10
|
-
constructor(_el, _renderer2, _cdr) {
|
|
11
|
-
super();
|
|
12
|
-
this._el = _el;
|
|
13
|
-
this._renderer2 = _renderer2;
|
|
14
|
-
this._cdr = _cdr;
|
|
15
|
-
this.ellipsised = false;
|
|
16
|
-
}
|
|
17
|
-
ngAfterViewInit() {
|
|
18
|
-
super.ngAfterViewInit();
|
|
19
|
-
}
|
|
20
|
-
onEllapsised(val) {
|
|
21
|
-
this.ellipsised = val;
|
|
22
|
-
this._cdr.detectChanges();
|
|
23
|
-
}
|
|
24
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaTextEllipsisComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
25
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BarsaTextEllipsisComponent, selector: "bsu-barsa-text-ellipsis,[textEllipsis]", inputs: { text: "text", fontSize: "fontSize", deviceSize: "deviceSize" }, usesInheritance: true, ngImport: i0, template: "<div (ellapsised)=\"onEllapsised($event)\" ellapsisText [ellapsisText]=\"text | bbbTranslate\">\r\n {{ text | bbbTranslate }}\r\n</div>\r\n@if (ellipsised) {\r\n<fd-popover>\r\n <fd-popover-control>\r\n <button style=\"position: absolute; left: 0\" fd-button glyph=\"overflow\" fdType=\"transparent\" fdCompact></button>\r\n </fd-popover-control>\r\n <fd-popover-body style=\"max-width: 320px\">\r\n <fd-text [text]=\"text | bbbTranslate\" [whitespaces]=\"true\"></fd-text>\r\n </fd-popover-body>\r\n</fd-popover>\r\n}\r\n", styles: [":host{display:block;position:relative}\n"], dependencies: [{ kind: "directive", type: i1.EllapsisTextDirective, selector: "[ellapsisText]", inputs: ["ellapsisText", "fontSize", "disableEllapsis"], outputs: ["ellapsised"] }, { kind: "directive", type: i2.ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "component", type: i3.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i4.PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: i4.PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "component", type: i4.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }, { kind: "component", type: i5.TextComponent, selector: "fd-text", inputs: ["text", "maxLines", "whitespaces", "hyphenation", "expandable", "isCollapsed"], outputs: ["isCollapsedChange"] }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
26
|
-
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaTextEllipsisComponent, decorators: [{
|
|
28
|
-
type: Component,
|
|
29
|
-
args: [{ selector: 'bsu-barsa-text-ellipsis,[textEllipsis]', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<div (ellapsised)=\"onEllapsised($event)\" ellapsisText [ellapsisText]=\"text | bbbTranslate\">\r\n {{ text | bbbTranslate }}\r\n</div>\r\n@if (ellipsised) {\r\n<fd-popover>\r\n <fd-popover-control>\r\n <button style=\"position: absolute; left: 0\" fd-button glyph=\"overflow\" fdType=\"transparent\" fdCompact></button>\r\n </fd-popover-control>\r\n <fd-popover-body style=\"max-width: 320px\">\r\n <fd-text [text]=\"text | bbbTranslate\" [whitespaces]=\"true\"></fd-text>\r\n </fd-popover-body>\r\n</fd-popover>\r\n}\r\n", styles: [":host{display:block;position:relative}\n"] }]
|
|
30
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }], propDecorators: { text: [{
|
|
31
|
-
type: Input
|
|
32
|
-
}], fontSize: [{
|
|
33
|
-
type: Input
|
|
34
|
-
}], deviceSize: [{
|
|
35
|
-
type: Input
|
|
36
|
-
}] } });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtdGV4dC1lbGxpcHNpcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi9iYXJzYS10ZXh0LWVsbGlwc2lzL2JhcnNhLXRleHQtZWxsaXBzaXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtdGV4dC1lbGxpcHNpcy9iYXJzYS10ZXh0LWVsbGlwc2lzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULEtBQUssRUFLUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXlCLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7O0FBUzVFLE1BQU0sT0FBTywwQkFBMkIsU0FBUSxhQUFhO0lBT3pELFlBQXNCLEdBQWUsRUFBWSxVQUFxQixFQUFZLElBQXVCO1FBQ3JHLEtBQUssRUFBRSxDQUFDO1FBRFUsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQUFZLGVBQVUsR0FBVixVQUFVLENBQVc7UUFBWSxTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUZ6RyxlQUFVLEdBQUcsS0FBSyxDQUFDO0lBSW5CLENBQUM7SUFDRCxlQUFlO1FBQ1gsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFDRCxZQUFZLENBQUMsR0FBWTtRQUNyQixJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQztRQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzlCLENBQUM7K0dBaEJRLDBCQUEwQjttR0FBMUIsMEJBQTBCLCtLQ25CdkMseWlCQWFBOzs0RkRNYSwwQkFBMEI7a0JBUHRDLFNBQVM7K0JBQ0ksd0NBQXdDLG1CQUdqQyx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLEtBQUs7dUlBR1IsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgSW5wdXQsXHJcbiAgICBBZnRlclZpZXdJbml0LFxyXG4gICAgT25Jbml0LFxyXG4gICAgUmVuZGVyZXIyLFxyXG4gICAgRWxlbWVudFJlZlxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYmJyZXZhdGlvbkRldmljZVNpemUsIEJhc2VDb21wb25lbnQgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnN1LWJhcnNhLXRleHQtZWxsaXBzaXMsW3RleHRFbGxpcHNpc10nLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2JhcnNhLXRleHQtZWxsaXBzaXMuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vYmFyc2EtdGV4dC1lbGxpcHNpcy5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmFyc2FUZXh0RWxsaXBzaXNDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuICAgIEBJbnB1dCgpIHRleHQ6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGZvbnRTaXplOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBkZXZpY2VTaXplOiBBYmJyZXZhdGlvbkRldmljZVNpemU7XHJcblxyXG4gICAgZWxsaXBzaXNlZCA9IGZhbHNlO1xyXG4gICAgd2lkdGg6IG51bWJlcjtcclxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfZWw6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCBfcmVuZGVyZXIyOiBSZW5kZXJlcjIsIHByb3RlY3RlZCBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICB9XHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XHJcbiAgICB9XHJcbiAgICBvbkVsbGFwc2lzZWQodmFsOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5lbGxpcHNpc2VkID0gdmFsO1xyXG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdiAoZWxsYXBzaXNlZCk9XCJvbkVsbGFwc2lzZWQoJGV2ZW50KVwiIGVsbGFwc2lzVGV4dCBbZWxsYXBzaXNUZXh0XT1cInRleHQgfCBiYmJUcmFuc2xhdGVcIj5cclxuICAgIHt7IHRleHQgfCBiYmJUcmFuc2xhdGUgfX1cclxuPC9kaXY+XHJcbkBpZiAoZWxsaXBzaXNlZCkge1xyXG48ZmQtcG9wb3Zlcj5cclxuICAgIDxmZC1wb3BvdmVyLWNvbnRyb2w+XHJcbiAgICAgICAgPGJ1dHRvbiBzdHlsZT1cInBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMFwiIGZkLWJ1dHRvbiBnbHlwaD1cIm92ZXJmbG93XCIgZmRUeXBlPVwidHJhbnNwYXJlbnRcIiBmZENvbXBhY3Q+PC9idXR0b24+XHJcbiAgICA8L2ZkLXBvcG92ZXItY29udHJvbD5cclxuICAgIDxmZC1wb3BvdmVyLWJvZHkgc3R5bGU9XCJtYXgtd2lkdGg6IDMyMHB4XCI+XHJcbiAgICAgICAgPGZkLXRleHQgW3RleHRdPVwidGV4dCB8IGJiYlRyYW5zbGF0ZVwiIFt3aGl0ZXNwYWNlc109XCJ0cnVlXCI+PC9mZC10ZXh0PlxyXG4gICAgPC9mZC1wb3BvdmVyLWJvZHk+XHJcbjwvZmQtcG9wb3Zlcj5cclxufVxyXG4iXX0=
|