barsa-sap-ui 1.0.455 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{esm2020 → esm2022}/barsa-sap-ui.mjs +4 -4
- package/esm2022/lib/apply-conditional-formmatings.directive.mjs +89 -0
- package/esm2022/lib/barsa-answer-card/barsa-answer-card.component.mjs +41 -0
- package/esm2022/lib/barsa-asp-viewer/barsa-asp-viewer.component.mjs +127 -0
- package/{esm2020 → esm2022}/lib/barsa-bar-panel/barsa-bar-panel.component.mjs +23 -23
- package/esm2022/lib/barsa-base-panel/barsa-base-layout-panel.component.mjs +29 -0
- package/esm2022/lib/barsa-card-layout-panel/barsa-card-layout-panel.component.mjs +24 -0
- package/esm2022/lib/barsa-card-row-payam/barsa-card-row-payam.component.mjs +30 -0
- package/esm2022/lib/barsa-cartable-form/barsa-cartable-form.component.mjs +41 -0
- package/{esm2020 → esm2022}/lib/barsa-cartable-template/barsa-cartable-template.component.mjs +24 -24
- package/esm2022/lib/barsa-chat/barsa-chat.component.mjs +260 -0
- package/esm2022/lib/barsa-chat/chat.model.mjs +8 -0
- package/esm2022/lib/barsa-chat-content/barsa-chat-content.component.mjs +13 -0
- package/esm2022/lib/barsa-chat-content-toolbar/barsa-chat-content-toolbar.component.mjs +22 -0
- package/esm2022/lib/barsa-chat-list/barsa-chat-list.component.mjs +56 -0
- package/esm2022/lib/barsa-chat-message/barsa-chat-message.component.mjs +77 -0
- package/esm2022/lib/barsa-chat-thread/barsa-chat-thread.component.mjs +22 -0
- package/esm2022/lib/barsa-chat-threads-list/barsa-chat-threads-list.component.mjs +13 -0
- package/esm2022/lib/barsa-chat-threads-list-toolbar/barsa-chat-threads-list-toolbar.component.mjs +15 -0
- package/esm2022/lib/barsa-chip/barsa-chip.component.mjs +72 -0
- package/{esm2020 → esm2022}/lib/barsa-column-indicator/barsa-column-indicator.component.mjs +23 -23
- package/{esm2020 → esm2022}/lib/barsa-column-rownumber/barsa-column-rownumber.component.mjs +15 -15
- package/esm2022/lib/barsa-custom-inline-edit/barsa-custom-inline-edit.component.mjs +14 -0
- package/esm2022/lib/barsa-custom-inline-edit-row/barsa-custom-inline-edit-row.component.mjs +26 -0
- package/esm2022/lib/barsa-date-time-picker/barsa-date-time-picker.component.mjs +71 -0
- package/esm2022/lib/barsa-dynamic-field/barsa-dynamic-field.component.mjs +41 -0
- package/esm2022/lib/barsa-enum-menu-button/barsa-enum-menu-button.component.mjs +61 -0
- package/esm2022/lib/barsa-field-key-value/barsa-field-key-value.component.mjs +45 -0
- package/esm2022/lib/barsa-form-side-content/barsa-form-side-content.component.mjs +37 -0
- package/esm2022/lib/barsa-grid-layout-panel/barsa-grid-layout-panel.component.mjs +27 -0
- package/esm2022/lib/barsa-group-cartable/barsa-cartable-group.component.mjs +94 -0
- package/esm2022/lib/barsa-horizontal-flex-panel/barsa-horizontal-flex-panel.component.mjs +22 -0
- package/esm2022/lib/barsa-linkable-items-panel/barsa-linkable-items-panel.component.mjs +37 -0
- package/esm2022/lib/barsa-list-file-linear/barsa-list-file-linear.component.mjs +41 -0
- package/esm2022/lib/barsa-list-file-linear-gmail/barsa-list-file-linear-gmail.component.mjs +29 -0
- package/esm2022/lib/barsa-list-layout-panel/barsa-list-layout-panel.component.mjs +23 -0
- package/esm2022/lib/barsa-monaco-editor/barsa-monaco-editor.component.mjs +83 -0
- package/esm2022/lib/barsa-network-offline/barsa-network-offline.component.mjs +53 -0
- package/esm2022/lib/barsa-pishnamayesh-payam/barsa-pishnamayesh-payam.component.mjs +159 -0
- package/esm2022/lib/barsa-question-answer-comments-section/barsa-question-answer-comments-section.component.mjs +17 -0
- package/esm2022/lib/barsa-question-answer-content-actions-section/barsa-question-answer-content-actions-section.component.mjs +30 -0
- package/esm2022/lib/barsa-question-answer-creator-time-section/barsa-question-answer-creator-time-section.component.mjs +14 -0
- package/esm2022/lib/barsa-question-answer-form/barsa-question-answer-form.component.mjs +34 -0
- package/esm2022/lib/barsa-question-answer-form-add-comment/barsa-question-answer-form-add-comment.component.mjs +46 -0
- package/esm2022/lib/barsa-question-answer-vote-section/barsa-question-answer-vote-section.component.mjs +79 -0
- package/esm2022/lib/barsa-question-post/barsa-question-post.component.mjs +30 -0
- package/esm2022/lib/barsa-report-card-flex-view/barsa-report-card-flex-view.component.mjs +31 -0
- package/{esm2020 → esm2022}/lib/barsa-report-checkbox-switch-button/barsa-report-checkbox-switch-button.component.mjs +28 -28
- package/esm2022/lib/barsa-report-one-of-list/barsa-report-one-of-list.component.mjs +98 -0
- package/{esm2020 → esm2022}/lib/barsa-sap-ui-routing.module.mjs +18 -18
- package/esm2022/lib/barsa-sap-ui.module.mjs +360 -0
- package/esm2022/lib/barsa-search-form/barsa-search-form.component.mjs +29 -0
- package/esm2022/lib/barsa-simple-form/barsa-simple-form.component.mjs +168 -0
- package/esm2022/lib/barsa-table-column/barsa-table-column.component.mjs +27 -0
- package/esm2022/lib/barsa-table-header/barsa-table-header.component.mjs +198 -0
- package/esm2022/lib/barsa-table-row/barsa-table-row.component.mjs +61 -0
- package/esm2022/lib/barsa-tag-categories/barsa-tag-categories.component.mjs +60 -0
- package/esm2022/lib/barsa-tag-chip/barsa-tag-chip.component.mjs +26 -0
- package/esm2022/lib/barsa-tags-category-row/barsa-tags-category-row.component.mjs +23 -0
- package/esm2022/lib/barsa-text-ellipsis/barsa-text-ellipsis.component.mjs +37 -0
- package/esm2022/lib/barsa-tinyemce/barsa-tinyemce.component.mjs +417 -0
- package/esm2022/lib/barsa-toolbaritem-search/barsa-toolbaritem-search.component.mjs +36 -0
- package/esm2022/lib/barsa-tree-item/barsa-tree-item.component.mjs +129 -0
- package/{esm2020 → esm2022}/lib/barsa-tree-item/node-has-one-depth-level.pipe.mjs +19 -19
- package/esm2022/lib/barsa-ulv-main/barsa-ulv-main.component.mjs +208 -0
- package/esm2022/lib/blob-viewer/blob-viewer.component.mjs +78 -0
- package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +44 -0
- package/{esm2020 → esm2022}/lib/captcha-field/captcha-field.component.mjs +28 -28
- package/esm2022/lib/card-item/card-item.component.mjs +76 -0
- package/esm2022/lib/card-view-content/card-view-content.component.mjs +46 -0
- package/esm2022/lib/col-renderer.directive.mjs +46 -0
- package/esm2022/lib/column-matrix-renderer/column-matrix-renderer.component.mjs +56 -0
- package/esm2022/lib/column-matrix-renderer/matrix-value.pipe.mjs +60 -0
- package/esm2022/lib/column-renderer/column-renderer.component.mjs +85 -0
- package/esm2022/lib/constants.mjs +421 -0
- package/esm2022/lib/custom-date-time/custom-date-time.component.mjs +41 -0
- package/{esm2020 → esm2022}/lib/device-info-field-base.mjs +23 -23
- package/{esm2020 → esm2022}/lib/dialog-handler.directive.mjs +28 -28
- package/esm2022/lib/download-files.directive.mjs +33 -0
- package/esm2022/lib/dynamic-page-size.pipe.mjs +26 -0
- package/{esm2020 → esm2022}/lib/file-in-dialog/file-in-dialog.component.mjs +44 -44
- package/esm2022/lib/file-viewer/file-viewer.component.mjs +39 -0
- package/{esm2020 → esm2022}/lib/file-viewer-content/file-viewer-content.component.mjs +53 -53
- package/esm2022/lib/file-viewer-popover/file-viewer-popover.component.mjs +41 -0
- package/esm2022/lib/form-dialog/form-dialog.component.mjs +142 -0
- package/esm2022/lib/form-dialog-less/form-dialog-less.component.mjs +44 -0
- package/esm2022/lib/form-toolbar/form-toolbar.component.mjs +43 -0
- package/esm2022/lib/form-toolbar-button/form-toolbar-button.component.mjs +45 -0
- package/esm2022/lib/form-wizard/form-wizard.component.mjs +21 -0
- package/esm2022/lib/fullscreen-dialog.directive.mjs +59 -0
- package/esm2022/lib/fullscreen-files.directive.mjs +42 -0
- package/esm2022/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.mjs +188 -0
- package/esm2022/lib/gantt-dhtml-chart-view/gantt-dhtml-chart-view.component.mjs +203 -0
- package/{esm2020 → esm2022}/lib/global-search/global-search.component.mjs +27 -27
- package/esm2022/lib/global-search-module/global-search-module.component.mjs +29 -0
- package/esm2022/lib/global-search-panel/global-search-panel.component.mjs +25 -0
- package/esm2022/lib/header-avatar/header-avatar.component.mjs +18 -0
- package/{esm2020 → esm2022}/lib/header-facet-form/header-facet-form.component.mjs +22 -22
- package/{esm2020 → esm2022}/lib/header-facet-key-value/header-facet-key-value.component.mjs +31 -31
- package/{esm2020 → esm2022}/lib/header-facet-microchart/header-facet-microchart.component.mjs +21 -21
- package/{esm2020 → esm2022}/lib/header-facet-plain-text/header-facet-plain-text.component.mjs +28 -28
- package/esm2022/lib/header-facet-progress/header-facet-progress.component.mjs +25 -0
- package/esm2022/lib/header-facet-rate/header-facet-rate.component.mjs +25 -0
- package/esm2022/lib/htree-create-new/htree-create-new.component.mjs +48 -0
- package/esm2022/lib/hyperlink/hyperlink.component.mjs +23 -0
- package/esm2022/lib/index.mjs +564 -0
- package/{esm2020 → esm2022}/lib/inline-save-and-cancel/inline-save-and-cancel.component.mjs +32 -32
- package/esm2022/lib/layout-actions/layout-actions.component.mjs +68 -0
- package/esm2022/lib/layout-control/layout-control.component.mjs +234 -0
- package/esm2022/lib/layout-wizard/layout-wizard.component.mjs +154 -0
- package/esm2022/lib/list-item/list-item.component.mjs +34 -0
- package/esm2022/lib/ly-empty-space/ly-empty-space.component.mjs +42 -0
- package/esm2022/lib/ly-horizontal-layout/ly-horizontal-layout.component.mjs +71 -0
- package/esm2022/lib/ly-label/ly-label.component.mjs +34 -0
- package/esm2022/lib/ly-layout-container/ly-layout-container.component.mjs +83 -0
- package/esm2022/lib/ly-layout-container-of-root/ly-layout-container-of-root.component.mjs +17 -0
- package/{esm2020 → esm2022}/lib/ly-layout-field-label/ly-layout-field-label.component.mjs +24 -24
- package/esm2022/lib/ly-layout-panel/ly-layout-panel.component.mjs +73 -0
- package/esm2022/lib/ly-line/ly-line.component.mjs +56 -0
- package/esm2022/lib/ly-simple-label/ly-simple-label.component.mjs +22 -0
- package/esm2022/lib/ly-tab-container/ly-tab-container.component.mjs +52 -0
- package/esm2022/lib/ly-tab-page/ly-tab-page.component.mjs +44 -0
- package/esm2022/lib/ly-vertical-layout/ly-vertical-layout.component.mjs +50 -0
- package/esm2022/lib/manage-filters-report/manage-filters-report.component.mjs +43 -0
- package/{esm2020 → esm2022}/lib/mask/mask.component.mjs +22 -22
- package/esm2022/lib/message-strip/message-strip.component.mjs +28 -0
- package/esm2022/lib/models/grid-data-provider.mjs +83 -0
- package/esm2022/lib/models/grid-view.mjs +2 -0
- package/{esm2020 → esm2022}/lib/models/index.mjs +1 -1
- package/esm2022/lib/no-data/no-data.component.mjs +31 -0
- package/esm2022/lib/notification-item/notification-item.component.mjs +57 -0
- package/esm2022/lib/notification-popup.service.mjs +92 -0
- package/{esm2020 → esm2022}/lib/progress-indicator/progress-indicator.component.mjs +18 -18
- package/esm2022/lib/report-navigator/report-navigator.component.mjs +63 -0
- package/esm2022/lib/report-new-top-form/report-new-top-form.component.mjs +60 -0
- package/esm2022/lib/report-search-fields-hidden-settings/report-search-fields-hidden-settings.component.mjs +35 -0
- package/esm2022/lib/report-search-fields-manage/report-search-fields-manage.component.mjs +97 -0
- package/esm2022/lib/report-search-panel-save/report-search-panel-save.component.mjs +88 -0
- package/esm2022/lib/report-tree-base.mjs +408 -0
- package/esm2022/lib/report-view-renderer.directive.mjs +366 -0
- package/esm2022/lib/responsive-toolbar/responsive-toolbar.component.mjs +50 -0
- package/esm2022/lib/responsive-toolbar-renderer/responsive-toolbar-renderer.component.mjs +84 -0
- package/esm2022/lib/rich-text-static/rich-text-static.component.mjs +72 -0
- package/esm2022/lib/sap-font-class.pipe.mjs +29 -0
- package/esm2022/lib/sap-font.pipe.mjs +29 -0
- package/esm2022/lib/sap-size.pipe.mjs +27 -0
- package/esm2022/lib/sap-ui-report-base.component.mjs +765 -0
- package/esm2022/lib/search-panel/search-panel.component.mjs +42 -0
- package/{esm2020 → esm2022}/lib/static-text/static-text.component.mjs +15 -15
- package/{esm2020 → esm2022}/lib/title/title.component.mjs +15 -15
- package/{esm2020 → esm2022}/lib/ui-asp-report-viewer/ui-asp-report-viewer.component.mjs +18 -18
- package/esm2022/lib/ui-button/ui-button.component.mjs +31 -0
- package/esm2022/lib/ui-calendar/ui-calendar.component.mjs +53 -0
- package/esm2022/lib/ui-card-view/ui-card-view.component.mjs +59 -0
- package/esm2022/lib/ui-card-view-horizontal-group/ui-card-view-horizontal-group.component.mjs +42 -0
- package/esm2022/lib/ui-check-box/ui-check-box.component.mjs +34 -0
- package/esm2022/lib/ui-color-ui/ui-color-ui.component.mjs +50 -0
- package/esm2022/lib/ui-container-with-button/ui-container-with-button.component.mjs +34 -0
- package/esm2022/lib/ui-date-range-ex/ui-date-range-ex.component.mjs +191 -0
- package/esm2022/lib/ui-date-time/ui-date-time.component.mjs +149 -0
- package/esm2022/lib/ui-editable-grid/ui-editable-grid.component.mjs +110 -0
- package/esm2022/lib/ui-exception-form/ui-exception-form.component.mjs +53 -0
- package/esm2022/lib/ui-file-linear-list-box/ui-file-linear-list-box.component.mjs +121 -0
- package/esm2022/lib/ui-form-panel/ui-form-panel.component.mjs +92 -0
- package/{esm2020 → esm2022}/lib/ui-gantt-chart/ui-gantt-chart.component.mjs +32 -32
- package/{esm2020 → esm2022}/lib/ui-graph/ui-graph.component.mjs +17 -17
- package/{esm2020 → esm2022}/lib/ui-grid/ui-grid.component.mjs +25 -25
- package/esm2022/lib/ui-grid-columns/ui-grid-columns.component.mjs +43 -0
- package/esm2022/lib/ui-grid-filter-item/ui-grid-filter-item.component.mjs +66 -0
- package/esm2022/lib/ui-grid-filter-settings/ui-grid-filter-settings.component.mjs +75 -0
- package/esm2022/lib/ui-grid-sort-item/ui-grid-sort-item.component.mjs +58 -0
- package/esm2022/lib/ui-grid-sort-setting/ui-grid-sort-setting.component.mjs +155 -0
- package/{esm2020 → esm2022}/lib/ui-html-viewer/ui-html-viewer.component.mjs +16 -16
- package/{esm2020 → esm2022}/lib/ui-info-bar-panel/ui-info-bar-panel.component.mjs +11 -11
- package/{esm2020 → esm2022}/lib/ui-label/ui-label.component.mjs +12 -12
- package/esm2022/lib/ui-linear-list-container-with-button/ui-linear-list-container-with-button.component.mjs +349 -0
- package/esm2022/lib/ui-list-view/ui-list-view.component.mjs +75 -0
- package/esm2022/lib/ui-matrix-view/ui-matrix-view.component.mjs +124 -0
- package/esm2022/lib/ui-mo-info-combo-viewer/ui-mo-info-combo-viewer.component.mjs +19 -0
- package/{esm2020 → esm2022}/lib/ui-mo-info-general-object-ui/ui-mo-info-general-object-ui.component.mjs +14 -14
- package/esm2022/lib/ui-mo-info-sub-form-ui/ui-mo-info-sub-form-ui.component.mjs +55 -0
- package/esm2022/lib/ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component.mjs +430 -0
- package/esm2022/lib/ui-monaco-editor/ui-monaco-editor.component.mjs +28 -0
- package/esm2022/lib/ui-multi-select-card/ui-multi-select-card.component.mjs +37 -0
- package/esm2022/lib/ui-multi-select-checkbox/ui-multi-select-checkbox.component.mjs +59 -0
- package/esm2022/lib/ui-multi-select-combo/ui-multi-select-combo.component.mjs +93 -0
- package/esm2022/lib/ui-multi-select-radio/ui-multi-select-radio.component.mjs +36 -0
- package/esm2022/lib/ui-multi-select-slider/ui-multi-select-slider.component.mjs +56 -0
- package/esm2022/lib/ui-multi-select-smile/ui-multi-select-smile.component.mjs +28 -0
- package/esm2022/lib/ui-num-decimal-ui/ui-num-decimal-ui.component.mjs +24 -0
- package/esm2022/lib/ui-num-int-slider/ui-num-int-slider.component.mjs +27 -0
- package/{esm2020 → esm2022}/lib/ui-num-int-ui/ui-num-int-ui.component.mjs +21 -21
- package/esm2022/lib/ui-pdf-viewer/ui-pdf-viewer.component.mjs +261 -0
- package/esm2022/lib/ui-picture-file/ui-picture-file.component.mjs +98 -0
- package/esm2022/lib/ui-pictures-info/ui-pictures-info.component.mjs +223 -0
- package/esm2022/lib/ui-radio-group/ui-radio-group.component.mjs +48 -0
- package/esm2022/lib/ui-read-only-field/ui-read-only-field.component.mjs +36 -0
- package/esm2022/lib/ui-report-container/ui-report-container.component.mjs +46 -0
- package/{esm2020 → esm2022}/lib/ui-search-command-info-ui/ui-search-command-info-ui.component.mjs +24 -24
- package/esm2022/lib/ui-simple-combo/ui-simple-combo.component.mjs +37 -0
- package/{esm2020 → esm2022}/lib/ui-single-picture/ui-single-picture.component.mjs +36 -36
- package/esm2022/lib/ui-switch-button/ui-switch-button.component.mjs +20 -0
- package/esm2022/lib/ui-table-view/ui-table-view.component.mjs +155 -0
- package/esm2022/lib/ui-text-area/ui-text-area.component.mjs +49 -0
- package/esm2022/lib/ui-text-field/ui-text-field.component.mjs +52 -0
- package/{esm2020 → esm2022}/lib/ui-text-field-auto-complete/ui-text-field-auto-complete.component.mjs +47 -47
- package/{esm2020 → esm2022}/lib/ui-time-span/ui-time-span.component.mjs +24 -24
- package/esm2022/lib/ui-tinymce/ui-tinymce.component.mjs +53 -0
- package/esm2022/lib/ui-tree/ui-tree.component.mjs +92 -0
- package/esm2022/lib/ui-tree-view/ui-tree-view.component.mjs +80 -0
- package/esm2022/lib/ui-ulv-form-multi-select-ui/ui-ulv-form-multi-select-ui.component.mjs +23 -0
- package/esm2022/lib/ui-ulv-main-ui/ui-ulv-main-ui.component.mjs +289 -0
- package/esm2022/lib/ui-workflow-panel-ui/ui-workflow-panel-ui.component.mjs +25 -0
- package/esm2022/lib/ul-loading-mask-ui/ul-loading-mask-ui.component.mjs +93 -0
- package/esm2022/lib/ul-msg-box-adapter/ul-msg-box-adapter.component.mjs +117 -0
- package/esm2022/lib/ul-notify-popup/ul-notify-popup.component.mjs +32 -0
- package/esm2022/lib/ul-toast-adapter/ul-toast-adapter.component.mjs +48 -0
- package/esm2022/lib/ulv-column-settings/ulv-column-settings.component.mjs +60 -0
- package/esm2022/lib/ulv-context-menu/ulv-context-menu.component.mjs +87 -0
- package/esm2022/lib/ulv-filter-settings/ulv-filter-settings.component.mjs +43 -0
- package/esm2022/lib/ulv-form-multi-select/ulv-form-multi-select.component.mjs +184 -0
- package/esm2022/lib/ulv-groupby-settings/ulv-groupby-settings.component.mjs +44 -0
- package/esm2022/lib/ulv-paging/ulv-paging.component.mjs +84 -0
- package/esm2022/lib/ulv-selection/ulv-selection.component.mjs +65 -0
- package/esm2022/lib/ulv-settings/ulv-settings.component.mjs +116 -0
- package/esm2022/lib/ulv-sort-settings/ulv-sort-settings.component.mjs +44 -0
- package/esm2022/lib/ulv-toolbar/ulv-toolbar.component.mjs +115 -0
- package/esm2022/lib/upload-file-status.pipe.mjs +28 -0
- package/esm2022/lib/util-chat-time-badge.pipe.mjs +18 -0
- package/esm2022/lib/util-date-to-hh-mm.pipe.mjs +23 -0
- package/{esm2020 → esm2022}/lib/wizard-layout.directive.mjs +103 -103
- package/{esm2020 → esm2022}/public-api.mjs +230 -222
- package/fesm2022/barsa-sap-ui.mjs +14745 -0
- package/fesm2022/barsa-sap-ui.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/apply-conditional-formmatings.directive.d.ts +25 -25
- package/lib/barsa-answer-card/barsa-answer-card.component.d.ts +12 -12
- package/lib/barsa-asp-viewer/barsa-asp-viewer.component.d.ts +29 -29
- package/lib/barsa-bar-panel/barsa-bar-panel.component.d.ts +9 -9
- package/lib/barsa-base-panel/barsa-base-layout-panel.component.d.ts +12 -12
- package/lib/barsa-card-layout-panel/barsa-card-layout-panel.component.d.ts +15 -15
- package/lib/barsa-card-row-payam/barsa-card-row-payam.component.d.ts +20 -20
- package/lib/barsa-cartable-form/barsa-cartable-form.component.d.ts +10 -10
- package/lib/barsa-cartable-template/barsa-cartable-template.component.d.ts +14 -14
- package/lib/barsa-chat/barsa-chat.component.d.ts +48 -0
- package/lib/barsa-chat/chat.model.d.ts +43 -0
- package/lib/barsa-chat-content/barsa-chat-content.component.d.ts +5 -0
- package/lib/barsa-chat-content-toolbar/barsa-chat-content-toolbar.component.d.ts +9 -0
- package/lib/barsa-chat-list/barsa-chat-list.component.d.ts +16 -0
- package/lib/barsa-chat-message/barsa-chat-message.component.d.ts +16 -0
- package/lib/barsa-chat-thread/barsa-chat-thread.component.d.ts +6 -0
- package/lib/barsa-chat-threads-list/barsa-chat-threads-list.component.d.ts +5 -0
- package/lib/barsa-chat-threads-list-toolbar/barsa-chat-threads-list-toolbar.component.d.ts +5 -0
- package/lib/barsa-chip/barsa-chip.component.d.ts +20 -20
- package/lib/barsa-column-indicator/barsa-column-indicator.component.d.ts +11 -11
- package/lib/barsa-column-rownumber/barsa-column-rownumber.component.d.ts +8 -8
- package/lib/barsa-custom-inline-edit/barsa-custom-inline-edit.component.d.ts +6 -6
- package/lib/barsa-custom-inline-edit-row/barsa-custom-inline-edit-row.component.d.ts +10 -10
- package/lib/barsa-date-time-picker/barsa-date-time-picker.component.d.ts +18 -18
- package/lib/barsa-dynamic-field/barsa-dynamic-field.component.d.ts +16 -16
- package/lib/barsa-enum-menu-button/barsa-enum-menu-button.component.d.ts +23 -23
- package/lib/barsa-field-key-value/barsa-field-key-value.component.d.ts +26 -26
- package/lib/barsa-form-side-content/barsa-form-side-content.component.d.ts +25 -23
- package/lib/barsa-grid-layout-panel/barsa-grid-layout-panel.component.d.ts +16 -16
- package/lib/barsa-group-cartable/barsa-cartable-group.component.d.ts +26 -26
- package/lib/barsa-horizontal-flex-panel/barsa-horizontal-flex-panel.component.d.ts +14 -14
- package/lib/barsa-linkable-items-panel/barsa-linkable-items-panel.component.d.ts +12 -12
- package/lib/barsa-list-file-linear/barsa-list-file-linear.component.d.ts +17 -17
- package/lib/barsa-list-file-linear-gmail/barsa-list-file-linear-gmail.component.d.ts +8 -8
- package/lib/barsa-list-layout-panel/barsa-list-layout-panel.component.d.ts +9 -9
- package/lib/barsa-monaco-editor/barsa-monaco-editor.component.d.ts +23 -23
- package/lib/barsa-network-offline/barsa-network-offline.component.d.ts +14 -14
- package/lib/barsa-pishnamayesh-payam/barsa-pishnamayesh-payam.component.d.ts +79 -79
- package/lib/barsa-question-answer-comments-section/barsa-question-answer-comments-section.component.d.ts +7 -7
- package/lib/barsa-question-answer-content-actions-section/barsa-question-answer-content-actions-section.component.d.ts +13 -13
- package/lib/barsa-question-answer-creator-time-section/barsa-question-answer-creator-time-section.component.d.ts +7 -7
- package/lib/barsa-question-answer-form/barsa-question-answer-form.component.d.ts +10 -10
- package/lib/barsa-question-answer-form-add-comment/barsa-question-answer-form-add-comment.component.d.ts +13 -13
- package/lib/barsa-question-answer-vote-section/barsa-question-answer-vote-section.component.d.ts +14 -14
- package/lib/barsa-question-post/barsa-question-post.component.d.ts +10 -10
- package/lib/barsa-report-card-flex-view/barsa-report-card-flex-view.component.d.ts +9 -9
- package/lib/barsa-report-checkbox-switch-button/barsa-report-checkbox-switch-button.component.d.ts +15 -15
- package/lib/barsa-report-one-of-list/barsa-report-one-of-list.component.d.ts +31 -31
- package/lib/barsa-sap-ui-routing.module.d.ts +7 -7
- package/lib/barsa-sap-ui.module.d.ts +245 -234
- package/lib/barsa-search-form/barsa-search-form.component.d.ts +8 -8
- package/lib/barsa-simple-form/barsa-simple-form.component.d.ts +73 -73
- package/lib/barsa-table-column/barsa-table-column.component.d.ts +8 -8
- package/lib/barsa-table-header/barsa-table-header.component.d.ts +59 -59
- package/lib/barsa-table-row/barsa-table-row.component.d.ts +18 -18
- package/lib/barsa-tag-categories/barsa-tag-categories.component.d.ts +11 -11
- package/lib/barsa-tag-chip/barsa-tag-chip.component.d.ts +10 -10
- package/lib/barsa-tags-category-row/barsa-tags-category-row.component.d.ts +9 -9
- package/lib/barsa-text-ellipsis/barsa-text-ellipsis.component.d.ts +18 -18
- package/lib/barsa-tinyemce/barsa-tinyemce.component.d.ts +54 -54
- package/lib/barsa-toolbaritem-search/barsa-toolbaritem-search.component.d.ts +12 -12
- package/lib/barsa-tree-item/barsa-tree-item.component.d.ts +54 -54
- package/lib/barsa-tree-item/node-has-one-depth-level.pipe.d.ts +8 -8
- package/lib/barsa-ulv-main/barsa-ulv-main.component.d.ts +72 -72
- package/lib/blob-viewer/blob-viewer.component.d.ts +24 -24
- package/lib/breadcrumb/breadcrumb.component.d.ts +17 -17
- package/lib/captcha-field/captcha-field.component.d.ts +10 -10
- package/lib/card-item/card-item.component.d.ts +20 -20
- package/lib/card-view-content/card-view-content.component.d.ts +14 -14
- package/lib/col-renderer.directive.d.ts +10 -10
- package/lib/column-matrix-renderer/column-matrix-renderer.component.d.ts +23 -23
- package/lib/column-matrix-renderer/matrix-value.pipe.d.ts +8 -8
- package/lib/column-renderer/column-renderer.component.d.ts +33 -33
- package/lib/constants.d.ts +12 -12
- package/lib/custom-date-time/custom-date-time.component.d.ts +26 -26
- package/lib/device-info-field-base.d.ts +12 -12
- package/lib/dialog-handler.directive.d.ts +12 -12
- package/lib/download-files.directive.d.ts +9 -9
- package/lib/dynamic-page-size.pipe.d.ts +8 -8
- package/lib/file-in-dialog/file-in-dialog.component.d.ts +16 -16
- package/lib/file-viewer/file-viewer.component.d.ts +21 -21
- package/lib/file-viewer-content/file-viewer-content.component.d.ts +20 -20
- package/lib/file-viewer-popover/file-viewer-popover.component.d.ts +17 -17
- package/lib/form-dialog/form-dialog.component.d.ts +45 -45
- package/lib/form-dialog-less/form-dialog-less.component.d.ts +29 -29
- package/lib/form-toolbar/form-toolbar.component.d.ts +14 -14
- package/lib/form-toolbar-button/form-toolbar-button.component.d.ts +20 -20
- package/lib/form-wizard/form-wizard.component.d.ts +8 -8
- package/lib/fullscreen-dialog.directive.d.ts +20 -20
- package/lib/fullscreen-files.directive.d.ts +16 -16
- package/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.d.ts +76 -76
- package/lib/gantt-dhtml-chart-view/gantt-dhtml-chart-view.component.d.ts +18 -18
- package/lib/global-search/global-search.component.d.ts +11 -11
- package/lib/global-search-module/global-search-module.component.d.ts +18 -18
- package/lib/global-search-panel/global-search-panel.component.d.ts +9 -9
- package/lib/header-avatar/header-avatar.component.d.ts +8 -8
- package/lib/header-facet-form/header-facet-form.component.d.ts +9 -9
- package/lib/header-facet-key-value/header-facet-key-value.component.d.ts +11 -11
- package/lib/header-facet-microchart/header-facet-microchart.component.d.ts +8 -8
- package/lib/header-facet-plain-text/header-facet-plain-text.component.d.ts +11 -11
- package/lib/header-facet-progress/header-facet-progress.component.d.ts +11 -11
- package/lib/header-facet-rate/header-facet-rate.component.d.ts +11 -11
- package/lib/htree-create-new/htree-create-new.component.d.ts +13 -13
- package/lib/hyperlink/hyperlink.component.d.ts +7 -7
- package/lib/index.d.ts +102 -100
- package/lib/inline-save-and-cancel/inline-save-and-cancel.component.d.ts +11 -11
- package/lib/layout-actions/layout-actions.component.d.ts +25 -25
- package/lib/layout-control/layout-control.component.d.ts +67 -67
- package/lib/layout-wizard/layout-wizard.component.d.ts +28 -28
- package/lib/list-item/list-item.component.d.ts +14 -14
- package/lib/ly-empty-space/ly-empty-space.component.d.ts +13 -13
- package/lib/ly-horizontal-layout/ly-horizontal-layout.component.d.ts +23 -23
- package/lib/ly-label/ly-label.component.d.ts +16 -16
- package/lib/ly-layout-container/ly-layout-container.component.d.ts +26 -26
- package/lib/ly-layout-container-of-root/ly-layout-container-of-root.component.d.ts +8 -8
- package/lib/ly-layout-field-label/ly-layout-field-label.component.d.ts +13 -13
- package/lib/ly-layout-panel/ly-layout-panel.component.d.ts +26 -26
- package/lib/ly-line/ly-line.component.d.ts +17 -17
- package/lib/ly-simple-label/ly-simple-label.component.d.ts +9 -9
- package/lib/ly-tab-container/ly-tab-container.component.d.ts +19 -19
- package/lib/ly-tab-page/ly-tab-page.component.d.ts +20 -20
- package/lib/ly-vertical-layout/ly-vertical-layout.component.d.ts +19 -19
- package/lib/manage-filters-report/manage-filters-report.component.d.ts +24 -24
- package/lib/mask/mask.component.d.ts +9 -9
- package/lib/message-strip/message-strip.component.d.ts +11 -11
- package/lib/models/grid-data-provider.d.ts +22 -22
- package/lib/models/grid-view.d.ts +61 -61
- package/lib/models/index.d.ts +1 -1
- package/lib/no-data/no-data.component.d.ts +11 -9
- package/lib/notification-item/notification-item.component.d.ts +43 -43
- package/lib/notification-popup.service.d.ts +17 -17
- package/lib/progress-indicator/progress-indicator.component.d.ts +8 -8
- package/lib/report-navigator/report-navigator.component.d.ts +21 -21
- package/lib/report-new-top-form/report-new-top-form.component.d.ts +18 -18
- package/lib/report-search-fields-hidden-settings/report-search-fields-hidden-settings.component.d.ts +14 -14
- package/lib/report-search-fields-manage/report-search-fields-manage.component.d.ts +20 -20
- package/lib/report-search-panel-save/report-search-panel-save.component.d.ts +27 -27
- package/lib/report-tree-base.d.ts +62 -62
- package/lib/report-view-renderer.directive.d.ts +117 -117
- package/lib/responsive-toolbar/responsive-toolbar.component.d.ts +19 -19
- package/lib/responsive-toolbar-renderer/responsive-toolbar-renderer.component.d.ts +24 -24
- package/lib/rich-text-static/rich-text-static.component.d.ts +28 -28
- package/lib/sap-font-class.pipe.d.ts +8 -8
- package/lib/sap-font.pipe.d.ts +9 -9
- package/lib/sap-size.pipe.d.ts +8 -8
- package/lib/sap-ui-report-base.component.d.ts +154 -154
- package/lib/search-panel/search-panel.component.d.ts +14 -14
- package/lib/static-text/static-text.component.d.ts +7 -7
- package/lib/title/title.component.d.ts +7 -7
- package/lib/ui-asp-report-viewer/ui-asp-report-viewer.component.d.ts +9 -9
- package/lib/ui-button/ui-button.component.d.ts +11 -11
- package/lib/ui-calendar/ui-calendar.component.d.ts +19 -19
- package/lib/ui-card-view/ui-card-view.component.d.ts +16 -16
- package/lib/ui-card-view-horizontal-group/ui-card-view-horizontal-group.component.d.ts +12 -12
- package/lib/ui-check-box/ui-check-box.component.d.ts +14 -14
- package/lib/ui-color-ui/ui-color-ui.component.d.ts +16 -16
- package/lib/ui-container-with-button/ui-container-with-button.component.d.ts +11 -11
- package/lib/ui-date-range-ex/ui-date-range-ex.component.d.ts +35 -36
- package/lib/ui-date-time/ui-date-time.component.d.ts +39 -40
- package/lib/ui-editable-grid/ui-editable-grid.component.d.ts +43 -43
- package/lib/ui-exception-form/ui-exception-form.component.d.ts +15 -15
- package/lib/ui-file-linear-list-box/ui-file-linear-list-box.component.d.ts +50 -50
- package/lib/ui-form-panel/ui-form-panel.component.d.ts +53 -53
- package/lib/ui-gantt-chart/ui-gantt-chart.component.d.ts +15 -15
- package/lib/ui-graph/ui-graph.component.d.ts +9 -9
- package/lib/ui-grid/ui-grid.component.d.ts +12 -12
- package/lib/ui-grid-columns/ui-grid-columns.component.d.ts +14 -14
- package/lib/ui-grid-filter-item/ui-grid-filter-item.component.d.ts +19 -19
- package/lib/ui-grid-filter-settings/ui-grid-filter-settings.component.d.ts +24 -24
- package/lib/ui-grid-sort-item/ui-grid-sort-item.component.d.ts +25 -25
- package/lib/ui-grid-sort-setting/ui-grid-sort-setting.component.d.ts +28 -28
- package/lib/ui-html-viewer/ui-html-viewer.component.d.ts +9 -9
- package/lib/ui-info-bar-panel/ui-info-bar-panel.component.d.ts +5 -5
- package/lib/ui-label/ui-label.component.d.ts +6 -6
- package/lib/ui-linear-list-container-with-button/ui-linear-list-container-with-button.component.d.ts +73 -73
- package/lib/ui-list-view/ui-list-view.component.d.ts +29 -29
- package/lib/ui-matrix-view/ui-matrix-view.component.d.ts +45 -45
- package/lib/ui-mo-info-combo-viewer/ui-mo-info-combo-viewer.component.d.ts +7 -7
- package/lib/ui-mo-info-general-object-ui/ui-mo-info-general-object-ui.component.d.ts +6 -6
- package/lib/ui-mo-info-sub-form-ui/ui-mo-info-sub-form-ui.component.d.ts +15 -15
- package/lib/ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component.d.ts +90 -89
- package/lib/ui-monaco-editor/ui-monaco-editor.component.d.ts +10 -7
- package/lib/ui-multi-select-card/ui-multi-select-card.component.d.ts +17 -17
- package/lib/ui-multi-select-checkbox/ui-multi-select-checkbox.component.d.ts +19 -19
- package/lib/ui-multi-select-combo/ui-multi-select-combo.component.d.ts +27 -27
- package/lib/ui-multi-select-radio/ui-multi-select-radio.component.d.ts +17 -17
- package/lib/ui-multi-select-slider/ui-multi-select-slider.component.d.ts +24 -24
- package/lib/ui-multi-select-smile/ui-multi-select-smile.component.d.ts +23 -23
- package/lib/ui-num-decimal-ui/ui-num-decimal-ui.component.d.ts +11 -11
- package/lib/ui-num-int-slider/ui-num-int-slider.component.d.ts +18 -18
- package/lib/ui-num-int-ui/ui-num-int-ui.component.d.ts +10 -10
- package/lib/ui-pdf-viewer/ui-pdf-viewer.component.d.ts +79 -79
- package/lib/ui-picture-file/ui-picture-file.component.d.ts +26 -25
- package/lib/ui-pictures-info/ui-pictures-info.component.d.ts +80 -69
- package/lib/ui-radio-group/ui-radio-group.component.d.ts +20 -20
- package/lib/ui-read-only-field/ui-read-only-field.component.d.ts +21 -21
- package/lib/ui-report-container/ui-report-container.component.d.ts +17 -17
- package/lib/ui-search-command-info-ui/ui-search-command-info-ui.component.d.ts +9 -9
- package/lib/ui-simple-combo/ui-simple-combo.component.d.ts +16 -16
- package/lib/ui-single-picture/ui-single-picture.component.d.ts +13 -13
- package/lib/ui-switch-button/ui-switch-button.component.d.ts +11 -11
- package/lib/ui-table-view/ui-table-view.component.d.ts +39 -39
- package/lib/ui-text-area/ui-text-area.component.d.ts +23 -23
- package/lib/ui-text-field/ui-text-field.component.d.ts +23 -23
- package/lib/ui-text-field-auto-complete/ui-text-field-auto-complete.component.d.ts +13 -13
- package/lib/ui-time-span/ui-time-span.component.d.ts +10 -10
- package/lib/ui-tinymce/ui-tinymce.component.d.ts +22 -22
- package/lib/ui-tree/ui-tree.component.d.ts +37 -37
- package/lib/ui-tree-view/ui-tree-view.component.d.ts +47 -47
- package/lib/ui-ulv-form-multi-select-ui/ui-ulv-form-multi-select-ui.component.d.ts +9 -9
- package/lib/ui-ulv-main-ui/ui-ulv-main-ui.component.d.ts +74 -74
- package/lib/ui-workflow-panel-ui/ui-workflow-panel-ui.component.d.ts +16 -16
- package/lib/ul-loading-mask-ui/ul-loading-mask-ui.component.d.ts +21 -21
- package/lib/ul-msg-box-adapter/ul-msg-box-adapter.component.d.ts +48 -48
- package/lib/ul-notify-popup/ul-notify-popup.component.d.ts +21 -21
- package/lib/ul-toast-adapter/ul-toast-adapter.component.d.ts +13 -13
- package/lib/ulv-column-settings/ulv-column-settings.component.d.ts +20 -20
- package/lib/ulv-context-menu/ulv-context-menu.component.d.ts +31 -31
- package/lib/ulv-filter-settings/ulv-filter-settings.component.d.ts +19 -19
- package/lib/ulv-form-multi-select/ulv-form-multi-select.component.d.ts +26 -26
- package/lib/ulv-groupby-settings/ulv-groupby-settings.component.d.ts +16 -16
- package/lib/ulv-paging/ulv-paging.component.d.ts +28 -28
- package/lib/ulv-selection/ulv-selection.component.d.ts +43 -43
- package/lib/ulv-settings/ulv-settings.component.d.ts +43 -43
- package/lib/ulv-sort-settings/ulv-sort-settings.component.d.ts +16 -16
- package/lib/ulv-toolbar/ulv-toolbar.component.d.ts +49 -49
- package/lib/upload-file-status.pipe.d.ts +9 -9
- package/lib/util-chat-time-badge.pipe.d.ts +7 -0
- package/lib/util-date-to-hh-mm.pipe.d.ts +7 -0
- package/lib/wizard-layout.directive.d.ts +40 -40
- package/package.json +7 -13
- package/public-api.d.ts +226 -218
- package/esm2020/lib/apply-conditional-formmatings.directive.mjs +0 -89
- package/esm2020/lib/barsa-answer-card/barsa-answer-card.component.mjs +0 -41
- package/esm2020/lib/barsa-asp-viewer/barsa-asp-viewer.component.mjs +0 -127
- package/esm2020/lib/barsa-base-panel/barsa-base-layout-panel.component.mjs +0 -29
- package/esm2020/lib/barsa-card-layout-panel/barsa-card-layout-panel.component.mjs +0 -25
- package/esm2020/lib/barsa-card-row-payam/barsa-card-row-payam.component.mjs +0 -30
- package/esm2020/lib/barsa-cartable-form/barsa-cartable-form.component.mjs +0 -41
- package/esm2020/lib/barsa-chip/barsa-chip.component.mjs +0 -72
- package/esm2020/lib/barsa-custom-inline-edit/barsa-custom-inline-edit.component.mjs +0 -15
- package/esm2020/lib/barsa-custom-inline-edit-row/barsa-custom-inline-edit-row.component.mjs +0 -26
- package/esm2020/lib/barsa-date-time-picker/barsa-date-time-picker.component.mjs +0 -71
- package/esm2020/lib/barsa-dynamic-field/barsa-dynamic-field.component.mjs +0 -42
- package/esm2020/lib/barsa-enum-menu-button/barsa-enum-menu-button.component.mjs +0 -61
- package/esm2020/lib/barsa-field-key-value/barsa-field-key-value.component.mjs +0 -45
- package/esm2020/lib/barsa-form-side-content/barsa-form-side-content.component.mjs +0 -37
- package/esm2020/lib/barsa-grid-layout-panel/barsa-grid-layout-panel.component.mjs +0 -27
- package/esm2020/lib/barsa-group-cartable/barsa-cartable-group.component.mjs +0 -94
- package/esm2020/lib/barsa-horizontal-flex-panel/barsa-horizontal-flex-panel.component.mjs +0 -22
- package/esm2020/lib/barsa-linkable-items-panel/barsa-linkable-items-panel.component.mjs +0 -37
- package/esm2020/lib/barsa-list-file-linear/barsa-list-file-linear.component.mjs +0 -41
- package/esm2020/lib/barsa-list-file-linear-gmail/barsa-list-file-linear-gmail.component.mjs +0 -29
- package/esm2020/lib/barsa-list-layout-panel/barsa-list-layout-panel.component.mjs +0 -23
- package/esm2020/lib/barsa-monaco-editor/barsa-monaco-editor.component.mjs +0 -83
- package/esm2020/lib/barsa-network-offline/barsa-network-offline.component.mjs +0 -53
- package/esm2020/lib/barsa-pishnamayesh-payam/barsa-pishnamayesh-payam.component.mjs +0 -159
- package/esm2020/lib/barsa-question-answer-comments-section/barsa-question-answer-comments-section.component.mjs +0 -17
- package/esm2020/lib/barsa-question-answer-content-actions-section/barsa-question-answer-content-actions-section.component.mjs +0 -31
- package/esm2020/lib/barsa-question-answer-creator-time-section/barsa-question-answer-creator-time-section.component.mjs +0 -14
- package/esm2020/lib/barsa-question-answer-form/barsa-question-answer-form.component.mjs +0 -35
- package/esm2020/lib/barsa-question-answer-form-add-comment/barsa-question-answer-form-add-comment.component.mjs +0 -47
- package/esm2020/lib/barsa-question-answer-vote-section/barsa-question-answer-vote-section.component.mjs +0 -78
- package/esm2020/lib/barsa-question-post/barsa-question-post.component.mjs +0 -30
- package/esm2020/lib/barsa-report-card-flex-view/barsa-report-card-flex-view.component.mjs +0 -31
- package/esm2020/lib/barsa-report-one-of-list/barsa-report-one-of-list.component.mjs +0 -98
- package/esm2020/lib/barsa-sap-ui.module.mjs +0 -332
- package/esm2020/lib/barsa-search-form/barsa-search-form.component.mjs +0 -29
- package/esm2020/lib/barsa-simple-form/barsa-simple-form.component.mjs +0 -168
- package/esm2020/lib/barsa-table-column/barsa-table-column.component.mjs +0 -28
- package/esm2020/lib/barsa-table-header/barsa-table-header.component.mjs +0 -198
- package/esm2020/lib/barsa-table-row/barsa-table-row.component.mjs +0 -61
- package/esm2020/lib/barsa-tag-categories/barsa-tag-categories.component.mjs +0 -60
- package/esm2020/lib/barsa-tag-chip/barsa-tag-chip.component.mjs +0 -26
- package/esm2020/lib/barsa-tags-category-row/barsa-tags-category-row.component.mjs +0 -23
- package/esm2020/lib/barsa-text-ellipsis/barsa-text-ellipsis.component.mjs +0 -38
- package/esm2020/lib/barsa-tinyemce/barsa-tinyemce.component.mjs +0 -417
- package/esm2020/lib/barsa-toolbaritem-search/barsa-toolbaritem-search.component.mjs +0 -36
- package/esm2020/lib/barsa-tree-item/barsa-tree-item.component.mjs +0 -130
- package/esm2020/lib/barsa-ulv-main/barsa-ulv-main.component.mjs +0 -209
- package/esm2020/lib/blob-viewer/blob-viewer.component.mjs +0 -78
- package/esm2020/lib/breadcrumb/breadcrumb.component.mjs +0 -45
- package/esm2020/lib/card-item/card-item.component.mjs +0 -76
- package/esm2020/lib/card-view-content/card-view-content.component.mjs +0 -46
- package/esm2020/lib/col-renderer.directive.mjs +0 -46
- package/esm2020/lib/column-matrix-renderer/column-matrix-renderer.component.mjs +0 -56
- package/esm2020/lib/column-matrix-renderer/matrix-value.pipe.mjs +0 -60
- package/esm2020/lib/column-renderer/column-renderer.component.mjs +0 -85
- package/esm2020/lib/constants.mjs +0 -421
- package/esm2020/lib/custom-date-time/custom-date-time.component.mjs +0 -41
- package/esm2020/lib/download-files.directive.mjs +0 -33
- package/esm2020/lib/dynamic-page-size.pipe.mjs +0 -26
- package/esm2020/lib/file-viewer/file-viewer.component.mjs +0 -47
- package/esm2020/lib/file-viewer-popover/file-viewer-popover.component.mjs +0 -41
- package/esm2020/lib/form-dialog/form-dialog.component.mjs +0 -143
- package/esm2020/lib/form-dialog-less/form-dialog-less.component.mjs +0 -45
- package/esm2020/lib/form-toolbar/form-toolbar.component.mjs +0 -42
- package/esm2020/lib/form-toolbar-button/form-toolbar-button.component.mjs +0 -46
- package/esm2020/lib/form-wizard/form-wizard.component.mjs +0 -21
- package/esm2020/lib/fullscreen-dialog.directive.mjs +0 -59
- package/esm2020/lib/fullscreen-files.directive.mjs +0 -42
- package/esm2020/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.mjs +0 -188
- package/esm2020/lib/gantt-dhtml-chart-view/gantt-dhtml-chart-view.component.mjs +0 -203
- package/esm2020/lib/global-search-module/global-search-module.component.mjs +0 -30
- package/esm2020/lib/global-search-panel/global-search-panel.component.mjs +0 -25
- package/esm2020/lib/header-avatar/header-avatar.component.mjs +0 -19
- package/esm2020/lib/header-facet-progress/header-facet-progress.component.mjs +0 -26
- package/esm2020/lib/header-facet-rate/header-facet-rate.component.mjs +0 -26
- package/esm2020/lib/htree-create-new/htree-create-new.component.mjs +0 -49
- package/esm2020/lib/hyperlink/hyperlink.component.mjs +0 -23
- package/esm2020/lib/index.mjs +0 -529
- package/esm2020/lib/layout-actions/layout-actions.component.mjs +0 -68
- package/esm2020/lib/layout-control/layout-control.component.mjs +0 -234
- package/esm2020/lib/layout-wizard/layout-wizard.component.mjs +0 -155
- package/esm2020/lib/list-item/list-item.component.mjs +0 -33
- package/esm2020/lib/ly-empty-space/ly-empty-space.component.mjs +0 -42
- package/esm2020/lib/ly-horizontal-layout/ly-horizontal-layout.component.mjs +0 -71
- package/esm2020/lib/ly-label/ly-label.component.mjs +0 -35
- package/esm2020/lib/ly-layout-container/ly-layout-container.component.mjs +0 -83
- package/esm2020/lib/ly-layout-container-of-root/ly-layout-container-of-root.component.mjs +0 -17
- package/esm2020/lib/ly-layout-panel/ly-layout-panel.component.mjs +0 -73
- package/esm2020/lib/ly-line/ly-line.component.mjs +0 -56
- package/esm2020/lib/ly-simple-label/ly-simple-label.component.mjs +0 -23
- package/esm2020/lib/ly-tab-container/ly-tab-container.component.mjs +0 -52
- package/esm2020/lib/ly-tab-page/ly-tab-page.component.mjs +0 -44
- package/esm2020/lib/ly-vertical-layout/ly-vertical-layout.component.mjs +0 -50
- package/esm2020/lib/manage-filters-report/manage-filters-report.component.mjs +0 -45
- package/esm2020/lib/message-strip/message-strip.component.mjs +0 -28
- package/esm2020/lib/models/grid-data-provider.mjs +0 -83
- package/esm2020/lib/models/grid-view.mjs +0 -2
- package/esm2020/lib/no-data/no-data.component.mjs +0 -23
- package/esm2020/lib/notification-item/notification-item.component.mjs +0 -57
- package/esm2020/lib/notification-popup.service.mjs +0 -88
- package/esm2020/lib/report-navigator/report-navigator.component.mjs +0 -63
- package/esm2020/lib/report-new-top-form/report-new-top-form.component.mjs +0 -60
- package/esm2020/lib/report-search-fields-hidden-settings/report-search-fields-hidden-settings.component.mjs +0 -35
- package/esm2020/lib/report-search-fields-manage/report-search-fields-manage.component.mjs +0 -98
- package/esm2020/lib/report-search-panel-save/report-search-panel-save.component.mjs +0 -90
- package/esm2020/lib/report-tree-base.mjs +0 -408
- package/esm2020/lib/report-view-renderer.directive.mjs +0 -366
- package/esm2020/lib/responsive-toolbar/responsive-toolbar.component.mjs +0 -50
- package/esm2020/lib/responsive-toolbar-renderer/responsive-toolbar-renderer.component.mjs +0 -84
- package/esm2020/lib/rich-text-static/rich-text-static.component.mjs +0 -72
- package/esm2020/lib/sap-font-class.pipe.mjs +0 -29
- package/esm2020/lib/sap-font.pipe.mjs +0 -29
- package/esm2020/lib/sap-size.pipe.mjs +0 -27
- package/esm2020/lib/sap-ui-report-base.component.mjs +0 -766
- package/esm2020/lib/search-panel/search-panel.component.mjs +0 -43
- package/esm2020/lib/ui-button/ui-button.component.mjs +0 -31
- package/esm2020/lib/ui-calendar/ui-calendar.component.mjs +0 -53
- package/esm2020/lib/ui-card-view/ui-card-view.component.mjs +0 -60
- package/esm2020/lib/ui-card-view-horizontal-group/ui-card-view-horizontal-group.component.mjs +0 -43
- package/esm2020/lib/ui-check-box/ui-check-box.component.mjs +0 -34
- package/esm2020/lib/ui-color-ui/ui-color-ui.component.mjs +0 -50
- package/esm2020/lib/ui-container-with-button/ui-container-with-button.component.mjs +0 -34
- package/esm2020/lib/ui-date-range-ex/ui-date-range-ex.component.mjs +0 -194
- package/esm2020/lib/ui-date-time/ui-date-time.component.mjs +0 -150
- package/esm2020/lib/ui-editable-grid/ui-editable-grid.component.mjs +0 -110
- package/esm2020/lib/ui-exception-form/ui-exception-form.component.mjs +0 -53
- package/esm2020/lib/ui-file-linear-list-box/ui-file-linear-list-box.component.mjs +0 -121
- package/esm2020/lib/ui-form-panel/ui-form-panel.component.mjs +0 -92
- package/esm2020/lib/ui-grid-columns/ui-grid-columns.component.mjs +0 -44
- package/esm2020/lib/ui-grid-filter-item/ui-grid-filter-item.component.mjs +0 -67
- package/esm2020/lib/ui-grid-filter-settings/ui-grid-filter-settings.component.mjs +0 -76
- package/esm2020/lib/ui-grid-sort-item/ui-grid-sort-item.component.mjs +0 -59
- package/esm2020/lib/ui-grid-sort-setting/ui-grid-sort-setting.component.mjs +0 -156
- package/esm2020/lib/ui-linear-list-container-with-button/ui-linear-list-container-with-button.component.mjs +0 -349
- package/esm2020/lib/ui-list-view/ui-list-view.component.mjs +0 -75
- package/esm2020/lib/ui-matrix-view/ui-matrix-view.component.mjs +0 -125
- package/esm2020/lib/ui-mo-info-combo-viewer/ui-mo-info-combo-viewer.component.mjs +0 -19
- package/esm2020/lib/ui-mo-info-sub-form-ui/ui-mo-info-sub-form-ui.component.mjs +0 -56
- package/esm2020/lib/ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component.mjs +0 -409
- package/esm2020/lib/ui-monaco-editor/ui-monaco-editor.component.mjs +0 -18
- package/esm2020/lib/ui-multi-select-card/ui-multi-select-card.component.mjs +0 -37
- package/esm2020/lib/ui-multi-select-checkbox/ui-multi-select-checkbox.component.mjs +0 -59
- package/esm2020/lib/ui-multi-select-combo/ui-multi-select-combo.component.mjs +0 -93
- package/esm2020/lib/ui-multi-select-radio/ui-multi-select-radio.component.mjs +0 -36
- package/esm2020/lib/ui-multi-select-slider/ui-multi-select-slider.component.mjs +0 -56
- package/esm2020/lib/ui-multi-select-smile/ui-multi-select-smile.component.mjs +0 -28
- package/esm2020/lib/ui-num-decimal-ui/ui-num-decimal-ui.component.mjs +0 -24
- package/esm2020/lib/ui-num-int-slider/ui-num-int-slider.component.mjs +0 -27
- package/esm2020/lib/ui-pdf-viewer/ui-pdf-viewer.component.mjs +0 -262
- package/esm2020/lib/ui-picture-file/ui-picture-file.component.mjs +0 -91
- package/esm2020/lib/ui-pictures-info/ui-pictures-info.component.mjs +0 -223
- package/esm2020/lib/ui-radio-group/ui-radio-group.component.mjs +0 -48
- package/esm2020/lib/ui-read-only-field/ui-read-only-field.component.mjs +0 -36
- package/esm2020/lib/ui-report-container/ui-report-container.component.mjs +0 -46
- package/esm2020/lib/ui-simple-combo/ui-simple-combo.component.mjs +0 -37
- package/esm2020/lib/ui-switch-button/ui-switch-button.component.mjs +0 -20
- package/esm2020/lib/ui-table-view/ui-table-view.component.mjs +0 -151
- package/esm2020/lib/ui-text-area/ui-text-area.component.mjs +0 -49
- package/esm2020/lib/ui-text-field/ui-text-field.component.mjs +0 -52
- package/esm2020/lib/ui-tinymce/ui-tinymce.component.mjs +0 -53
- package/esm2020/lib/ui-tree/ui-tree.component.mjs +0 -92
- package/esm2020/lib/ui-tree-view/ui-tree-view.component.mjs +0 -81
- package/esm2020/lib/ui-ulv-form-multi-select-ui/ui-ulv-form-multi-select-ui.component.mjs +0 -24
- package/esm2020/lib/ui-ulv-main-ui/ui-ulv-main-ui.component.mjs +0 -289
- package/esm2020/lib/ui-workflow-panel-ui/ui-workflow-panel-ui.component.mjs +0 -26
- package/esm2020/lib/ul-loading-mask-ui/ul-loading-mask-ui.component.mjs +0 -91
- package/esm2020/lib/ul-msg-box-adapter/ul-msg-box-adapter.component.mjs +0 -117
- package/esm2020/lib/ul-notify-popup/ul-notify-popup.component.mjs +0 -32
- package/esm2020/lib/ul-toast-adapter/ul-toast-adapter.component.mjs +0 -44
- package/esm2020/lib/ulv-column-settings/ulv-column-settings.component.mjs +0 -60
- package/esm2020/lib/ulv-context-menu/ulv-context-menu.component.mjs +0 -87
- package/esm2020/lib/ulv-filter-settings/ulv-filter-settings.component.mjs +0 -43
- package/esm2020/lib/ulv-form-multi-select/ulv-form-multi-select.component.mjs +0 -185
- package/esm2020/lib/ulv-groupby-settings/ulv-groupby-settings.component.mjs +0 -44
- package/esm2020/lib/ulv-paging/ulv-paging.component.mjs +0 -84
- package/esm2020/lib/ulv-selection/ulv-selection.component.mjs +0 -66
- package/esm2020/lib/ulv-settings/ulv-settings.component.mjs +0 -117
- package/esm2020/lib/ulv-sort-settings/ulv-sort-settings.component.mjs +0 -44
- package/esm2020/lib/ulv-toolbar/ulv-toolbar.component.mjs +0 -115
- package/esm2020/lib/upload-file-status.pipe.mjs +0 -28
- package/fesm2015/barsa-sap-ui.mjs +0 -14213
- package/fesm2015/barsa-sap-ui.mjs.map +0 -1
- package/fesm2020/barsa-sap-ui.mjs +0 -14183
- package/fesm2020/barsa-sap-ui.mjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"barsa-sap-ui.mjs","sources":["../../../projects/barsa-sap-ui/src/lib/progress-indicator/progress-indicator.component.ts","../../../projects/barsa-sap-ui/src/lib/progress-indicator/progress-indicator.component.html","../../../projects/barsa-sap-ui/src/lib/gantt-dhtml-chart-view/gantt-dhtml-chart-view.component.ts","../../../projects/barsa-sap-ui/src/lib/gantt-dhtml-chart-view/gantt-dhtml-chart-view.component.html","../../../projects/barsa-sap-ui/src/lib/constants.ts","../../../projects/barsa-sap-ui/src/lib/sap-font.pipe.ts","../../../projects/barsa-sap-ui/src/lib/ly-label/ly-label.component.ts","../../../projects/barsa-sap-ui/src/lib/ly-label/ly-label.component.html","../../../projects/barsa-sap-ui/src/lib/layout-control/layout-control.component.ts","../../../projects/barsa-sap-ui/src/lib/layout-control/layout-control.component.html","../../../projects/barsa-sap-ui/src/lib/models/grid-data-provider.ts","../../../projects/barsa-sap-ui/src/lib/ui-grid-columns/ui-grid-columns.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-grid-columns/ui-grid-columns.component.html","../../../projects/barsa-sap-ui/src/lib/ulv-column-settings/ulv-column-settings.component.ts","../../../projects/barsa-sap-ui/src/lib/ulv-column-settings/ulv-column-settings.component.html","../../../projects/barsa-sap-ui/src/lib/ui-grid-sort-item/ui-grid-sort-item.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-grid-sort-item/ui-grid-sort-item.component.html","../../../projects/barsa-sap-ui/src/lib/ui-grid-sort-setting/ui-grid-sort-setting.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-grid-sort-setting/ui-grid-sort-setting.component.html","../../../projects/barsa-sap-ui/src/lib/ulv-sort-settings/ulv-sort-settings.component.ts","../../../projects/barsa-sap-ui/src/lib/ulv-sort-settings/ulv-sort-settings.component.html","../../../projects/barsa-sap-ui/src/lib/ulv-groupby-settings/ulv-groupby-settings.component.ts","../../../projects/barsa-sap-ui/src/lib/ulv-groupby-settings/ulv-groupby-settings.component.html","../../../projects/barsa-sap-ui/src/lib/ui-grid-filter-item/ui-grid-filter-item.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-grid-filter-item/ui-grid-filter-item.component.html","../../../projects/barsa-sap-ui/src/lib/mask/mask.component.ts","../../../projects/barsa-sap-ui/src/lib/mask/mask.component.html","../../../projects/barsa-sap-ui/src/lib/ui-grid-filter-settings/ui-grid-filter-settings.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-grid-filter-settings/ui-grid-filter-settings.component.html","../../../projects/barsa-sap-ui/src/lib/ulv-filter-settings/ulv-filter-settings.component.ts","../../../projects/barsa-sap-ui/src/lib/ulv-filter-settings/ulv-filter-settings.component.html","../../../projects/barsa-sap-ui/src/lib/sap-ui-report-base.component.ts","../../../projects/barsa-sap-ui/src/lib/ulv-toolbar/ulv-toolbar.component.ts","../../../projects/barsa-sap-ui/src/lib/ulv-toolbar/ulv-toolbar.component.html","../../../projects/barsa-sap-ui/src/lib/ui-gantt-chart/ui-gantt-chart.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-gantt-chart/ui-gantt-chart.component.html","../../../projects/barsa-sap-ui/src/lib/ui-mo-info-general-object-ui/ui-mo-info-general-object-ui.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-mo-info-general-object-ui/ui-mo-info-general-object-ui.component.html","../../../projects/barsa-sap-ui/src/lib/file-in-dialog/file-in-dialog.component.ts","../../../projects/barsa-sap-ui/src/lib/file-in-dialog/file-in-dialog.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-asp-viewer/barsa-asp-viewer.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-asp-viewer/barsa-asp-viewer.component.html","../../../projects/barsa-sap-ui/src/lib/custom-date-time/custom-date-time.component.ts","../../../projects/barsa-sap-ui/src/lib/custom-date-time/custom-date-time.component.html","../../../projects/barsa-sap-ui/src/lib/ui-exception-form/ui-exception-form.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-exception-form/ui-exception-form.component.html","../../../projects/barsa-sap-ui/src/lib/column-matrix-renderer/matrix-value.pipe.ts","../../../projects/barsa-sap-ui/src/lib/column-matrix-renderer/column-matrix-renderer.component.ts","../../../projects/barsa-sap-ui/src/lib/column-matrix-renderer/column-matrix-renderer.component.html","../../../projects/barsa-sap-ui/src/lib/apply-conditional-formmatings.directive.ts","../../../projects/barsa-sap-ui/src/lib/ui-matrix-view/ui-matrix-view.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-matrix-view/ui-matrix-view.component.html","../../../projects/barsa-sap-ui/src/lib/dynamic-page-size.pipe.ts","../../../projects/barsa-sap-ui/src/lib/ui-editable-grid/ui-editable-grid.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-editable-grid/ui-editable-grid.component.html","../../../projects/barsa-sap-ui/src/lib/ui-graph/ui-graph.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-graph/ui-graph.component.html","../../../projects/barsa-sap-ui/src/lib/ui-asp-report-viewer/ui-asp-report-viewer.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-asp-report-viewer/ui-asp-report-viewer.component.html","../../../projects/barsa-sap-ui/src/lib/ui-calendar/ui-calendar.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-calendar/ui-calendar.component.html","../../../projects/barsa-sap-ui/src/lib/report-tree-base.ts","../../../projects/barsa-sap-ui/src/lib/ulv-context-menu/ulv-context-menu.component.ts","../../../projects/barsa-sap-ui/src/lib/ulv-context-menu/ulv-context-menu.component.html","../../../projects/barsa-sap-ui/src/lib/htree-create-new/htree-create-new.component.ts","../../../projects/barsa-sap-ui/src/lib/htree-create-new/htree-create-new.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-tree-item/barsa-tree-item.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-tree-item/barsa-tree-item.component.html","../../../projects/barsa-sap-ui/src/lib/no-data/no-data.component.ts","../../../projects/barsa-sap-ui/src/lib/no-data/no-data.component.html","../../../projects/barsa-sap-ui/src/lib/ui-tree-view/ui-tree-view.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-tree-view/ui-tree-view.component.html","../../../projects/barsa-sap-ui/src/lib/ui-tree/ui-tree.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-tree/ui-tree.component.html","../../../projects/barsa-sap-ui/src/lib/inline-save-and-cancel/inline-save-and-cancel.component.ts","../../../projects/barsa-sap-ui/src/lib/inline-save-and-cancel/inline-save-and-cancel.component.html","../../../projects/barsa-sap-ui/src/lib/blob-viewer/blob-viewer.component.ts","../../../projects/barsa-sap-ui/src/lib/blob-viewer/blob-viewer.component.html","../../../projects/barsa-sap-ui/src/lib/file-viewer-content/file-viewer-content.component.ts","../../../projects/barsa-sap-ui/src/lib/file-viewer-content/file-viewer-content.component.html","../../../projects/barsa-sap-ui/src/lib/file-viewer/file-viewer.component.ts","../../../projects/barsa-sap-ui/src/lib/file-viewer/file-viewer.component.html","../../../projects/barsa-sap-ui/src/lib/fullscreen-files.directive.ts","../../../projects/barsa-sap-ui/src/lib/download-files.directive.ts","../../../projects/barsa-sap-ui/src/lib/file-viewer-popover/file-viewer-popover.component.ts","../../../projects/barsa-sap-ui/src/lib/file-viewer-popover/file-viewer-popover.component.html","../../../projects/barsa-sap-ui/src/lib/column-renderer/column-renderer.component.ts","../../../projects/barsa-sap-ui/src/lib/column-renderer/column-renderer.component.html","../../../projects/barsa-sap-ui/src/lib/ly-layout-container-of-root/ly-layout-container-of-root.component.ts","../../../projects/barsa-sap-ui/src/lib/ly-layout-container-of-root/ly-layout-container-of-root.component.html","../../../projects/barsa-sap-ui/src/lib/report-new-top-form/report-new-top-form.component.ts","../../../projects/barsa-sap-ui/src/lib/report-new-top-form/report-new-top-form.component.html","../../../projects/barsa-sap-ui/src/lib/report-view-renderer.directive.ts","../../../projects/barsa-sap-ui/src/lib/ui-report-container/ui-report-container.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-report-container/ui-report-container.component.html","../../../projects/barsa-sap-ui/src/lib/card-item/card-item.component.ts","../../../projects/barsa-sap-ui/src/lib/card-item/card-item.component.html","../../../projects/barsa-sap-ui/src/lib/card-view-content/card-view-content.component.ts","../../../projects/barsa-sap-ui/src/lib/card-view-content/card-view-content.component.html","../../../projects/barsa-sap-ui/src/lib/ui-card-view/ui-card-view.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-card-view/ui-card-view.component.html","../../../projects/barsa-sap-ui/src/lib/list-item/list-item.component.ts","../../../projects/barsa-sap-ui/src/lib/list-item/list-item.component.html","../../../projects/barsa-sap-ui/src/lib/ui-list-view/ui-list-view.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-list-view/ui-list-view.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-table-header/barsa-table-header.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-table-header/barsa-table-header.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-table-column/barsa-table-column.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-table-column/barsa-table-column.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-column-indicator/barsa-column-indicator.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-column-indicator/barsa-column-indicator.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-column-rownumber/barsa-column-rownumber.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-column-rownumber/barsa-column-rownumber.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-table-row/barsa-table-row.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-table-row/barsa-table-row.component.html","../../../projects/barsa-sap-ui/src/lib/ui-table-view/ui-table-view.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-table-view/ui-table-view.component.html","../../../projects/barsa-sap-ui/src/lib/notification-item/notification-item.component.ts","../../../projects/barsa-sap-ui/src/lib/notification-item/notification-item.component.html","../../../projects/barsa-sap-ui/src/lib/ul-notify-popup/ul-notify-popup.component.ts","../../../projects/barsa-sap-ui/src/lib/ul-notify-popup/ul-notify-popup.component.html","../../../projects/barsa-sap-ui/src/lib/ui-date-range-ex/ui-date-range-ex.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-date-range-ex/ui-date-range-ex.component.html","../../../projects/barsa-sap-ui/src/lib/report-search-panel-save/report-search-panel-save.component.ts","../../../projects/barsa-sap-ui/src/lib/report-search-panel-save/report-search-panel-save.component.html","../../../projects/barsa-sap-ui/src/lib/search-panel/search-panel.component.ts","../../../projects/barsa-sap-ui/src/lib/search-panel/search-panel.component.html","../../../projects/barsa-sap-ui/src/lib/report-search-fields-hidden-settings/report-search-fields-hidden-settings.component.ts","../../../projects/barsa-sap-ui/src/lib/report-search-fields-hidden-settings/report-search-fields-hidden-settings.component.html","../../../projects/barsa-sap-ui/src/lib/report-search-fields-manage/report-search-fields-manage.component.ts","../../../projects/barsa-sap-ui/src/lib/report-search-fields-manage/report-search-fields-manage.component.html","../../../projects/barsa-sap-ui/src/lib/manage-filters-report/manage-filters-report.component.ts","../../../projects/barsa-sap-ui/src/lib/manage-filters-report/manage-filters-report.component.html","../../../projects/barsa-sap-ui/src/lib/report-navigator/report-navigator.component.ts","../../../projects/barsa-sap-ui/src/lib/ly-line/ly-line.component.ts","../../../projects/barsa-sap-ui/src/lib/ly-line/ly-line.component.html","../../../projects/barsa-sap-ui/src/lib/breadcrumb/breadcrumb.component.ts","../../../projects/barsa-sap-ui/src/lib/breadcrumb/breadcrumb.component.html","../../../projects/barsa-sap-ui/src/lib/sap-size.pipe.ts","../../../projects/barsa-sap-ui/src/lib/barsa-ulv-main/barsa-ulv-main.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-ulv-main/barsa-ulv-main.component.html","../../../projects/barsa-sap-ui/src/lib/ui-ulv-main-ui/ui-ulv-main-ui.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-ulv-main-ui/ui-ulv-main-ui.component.html","../../../projects/barsa-sap-ui/src/lib/ui-color-ui/ui-color-ui.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-color-ui/ui-color-ui.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-date-time-picker/barsa-date-time-picker.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-date-time-picker/barsa-date-time-picker.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-monaco-editor/barsa-monaco-editor.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-monaco-editor/barsa-monaco-editor.component.html","../../../projects/barsa-sap-ui/src/lib/device-info-field-base.ts","../../../projects/barsa-sap-ui/src/lib/ui-monaco-editor/ui-monaco-editor.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-monaco-editor/ui-monaco-editor.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-tinyemce/barsa-tinyemce.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-tinyemce/barsa-tinyemce.component.html","../../../projects/barsa-sap-ui/src/lib/ui-pdf-viewer/ui-pdf-viewer.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-pdf-viewer/ui-pdf-viewer.component.html","../../../projects/barsa-sap-ui/src/lib/upload-file-status.pipe.ts","../../../projects/barsa-sap-ui/src/lib/ui-file-linear-list-box/ui-file-linear-list-box.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-file-linear-list-box/ui-file-linear-list-box.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-list-file-linear/barsa-list-file-linear.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-list-file-linear/barsa-list-file-linear.component.html","../../../projects/barsa-sap-ui/src/lib/fullscreen-dialog.directive.ts","../../../projects/barsa-sap-ui/src/lib/ulv-form-multi-select/ulv-form-multi-select.component.ts","../../../projects/barsa-sap-ui/src/lib/ulv-form-multi-select/ulv-form-multi-select.component.html","../../../projects/barsa-sap-ui/src/lib/ui-ulv-form-multi-select-ui/ui-ulv-form-multi-select-ui.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-ulv-form-multi-select-ui/ui-ulv-form-multi-select-ui.component.html","../../../projects/barsa-sap-ui/src/lib/ly-layout-container/ly-layout-container.component.ts","../../../projects/barsa-sap-ui/src/lib/ly-layout-container/ly-layout-container.component.html","../../../projects/barsa-sap-ui/src/lib/layout-actions/layout-actions.component.ts","../../../projects/barsa-sap-ui/src/lib/layout-actions/layout-actions.component.html","../../../projects/barsa-sap-ui/src/lib/ly-tab-page/ly-tab-page.component.ts","../../../projects/barsa-sap-ui/src/lib/ly-tab-page/ly-tab-page.component.html","../../../projects/barsa-sap-ui/src/lib/form-toolbar/form-toolbar.component.ts","../../../projects/barsa-sap-ui/src/lib/form-toolbar/form-toolbar.component.html","../../../projects/barsa-sap-ui/src/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.ts","../../../projects/barsa-sap-ui/src/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.html","../../../projects/barsa-sap-ui/src/lib/ui-linear-list-container-with-button/ui-linear-list-container-with-button.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-linear-list-container-with-button/ui-linear-list-container-with-button.component.html","../../../projects/barsa-sap-ui/src/lib/message-strip/message-strip.component.ts","../../../projects/barsa-sap-ui/src/lib/message-strip/message-strip.component.html","../../../projects/barsa-sap-ui/src/lib/ul-toast-adapter/ul-toast-adapter.component.ts","../../../projects/barsa-sap-ui/src/lib/ul-toast-adapter/ul-toast-adapter.component.html","../../../projects/barsa-sap-ui/src/lib/static-text/static-text.component.ts","../../../projects/barsa-sap-ui/src/lib/static-text/static-text.component.html","../../../projects/barsa-sap-ui/src/lib/hyperlink/hyperlink.component.ts","../../../projects/barsa-sap-ui/src/lib/hyperlink/hyperlink.component.html","../../../projects/barsa-sap-ui/src/lib/global-search/global-search.component.ts","../../../projects/barsa-sap-ui/src/lib/global-search/global-search.component.html","../../../projects/barsa-sap-ui/src/lib/global-search-module/global-search-module.component.ts","../../../projects/barsa-sap-ui/src/lib/global-search-module/global-search-module.component.html","../../../projects/barsa-sap-ui/src/lib/global-search-panel/global-search-panel.component.ts","../../../projects/barsa-sap-ui/src/lib/global-search-panel/global-search-panel.component.html","../../../projects/barsa-sap-ui/src/lib/ly-simple-label/ly-simple-label.component.ts","../../../projects/barsa-sap-ui/src/lib/ly-simple-label/ly-simple-label.component.html","../../../projects/barsa-sap-ui/src/lib/captcha-field/captcha-field.component.ts","../../../projects/barsa-sap-ui/src/lib/captcha-field/captcha-field.component.html","../../../projects/barsa-sap-ui/src/lib/ui-text-field-auto-complete/ui-text-field-auto-complete.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-text-field-auto-complete/ui-text-field-auto-complete.component.html","../../../projects/barsa-sap-ui/src/lib/ul-loading-mask-ui/ul-loading-mask-ui.component.ts","../../../projects/barsa-sap-ui/src/lib/ul-loading-mask-ui/ul-loading-mask-ui.component.html","../../../projects/barsa-sap-ui/src/lib/ui-workflow-panel-ui/ui-workflow-panel-ui.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-workflow-panel-ui/ui-workflow-panel-ui.component.html","../../../projects/barsa-sap-ui/src/lib/header-avatar/header-avatar.component.ts","../../../projects/barsa-sap-ui/src/lib/header-avatar/header-avatar.component.html","../../../projects/barsa-sap-ui/src/lib/ul-msg-box-adapter/ul-msg-box-adapter.component.ts","../../../projects/barsa-sap-ui/src/lib/ul-msg-box-adapter/ul-msg-box-adapter.component.html","../../../projects/barsa-sap-ui/src/lib/ui-mo-info-combo-viewer/ui-mo-info-combo-viewer.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-mo-info-combo-viewer/ui-mo-info-combo-viewer.component.html","../../../projects/barsa-sap-ui/src/lib/ly-tab-container/ly-tab-container.component.ts","../../../projects/barsa-sap-ui/src/lib/ly-tab-container/ly-tab-container.component.html","../../../projects/barsa-sap-ui/src/lib/ly-vertical-layout/ly-vertical-layout.component.ts","../../../projects/barsa-sap-ui/src/lib/ly-vertical-layout/ly-vertical-layout.component.html","../../../projects/barsa-sap-ui/src/lib/ly-horizontal-layout/ly-horizontal-layout.component.ts","../../../projects/barsa-sap-ui/src/lib/ly-horizontal-layout/ly-horizontal-layout.component.html","../../../projects/barsa-sap-ui/src/lib/ui-pictures-info/ui-pictures-info.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-pictures-info/ui-pictures-info.component.html","../../../projects/barsa-sap-ui/src/lib/rich-text-static/rich-text-static.component.ts","../../../projects/barsa-sap-ui/src/lib/rich-text-static/rich-text-static.component.html","../../../projects/barsa-sap-ui/src/lib/form-dialog-less/form-dialog-less.component.ts","../../../projects/barsa-sap-ui/src/lib/form-dialog-less/form-dialog-less.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-simple-form/barsa-simple-form.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-simple-form/barsa-simple-form.component.html","../../../projects/barsa-sap-ui/src/lib/ui-form-panel/ui-form-panel.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-form-panel/ui-form-panel.component.html","../../../projects/barsa-sap-ui/src/lib/layout-wizard/layout-wizard.component.ts","../../../projects/barsa-sap-ui/src/lib/layout-wizard/layout-wizard.component.html","../../../projects/barsa-sap-ui/src/lib/wizard-layout.directive.ts","../../../projects/barsa-sap-ui/src/lib/form-wizard/form-wizard.component.ts","../../../projects/barsa-sap-ui/src/lib/form-wizard/form-wizard.component.html","../../../projects/barsa-sap-ui/src/lib/ui-text-area/ui-text-area.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-text-area/ui-text-area.component.html","../../../projects/barsa-sap-ui/src/lib/responsive-toolbar-renderer/responsive-toolbar-renderer.component.ts","../../../projects/barsa-sap-ui/src/lib/responsive-toolbar-renderer/responsive-toolbar-renderer.component.html","../../../projects/barsa-sap-ui/src/lib/responsive-toolbar/responsive-toolbar.component.ts","../../../projects/barsa-sap-ui/src/lib/responsive-toolbar/responsive-toolbar.component.html","../../../projects/barsa-sap-ui/src/lib/ui-mo-info-sub-form-ui/ui-mo-info-sub-form-ui.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-mo-info-sub-form-ui/ui-mo-info-sub-form-ui.component.html","../../../projects/barsa-sap-ui/src/lib/header-facet-plain-text/header-facet-plain-text.component.ts","../../../projects/barsa-sap-ui/src/lib/header-facet-plain-text/header-facet-plain-text.component.html","../../../projects/barsa-sap-ui/src/lib/header-facet-microchart/header-facet-microchart.component.ts","../../../projects/barsa-sap-ui/src/lib/header-facet-microchart/header-facet-microchart.component.html","../../../projects/barsa-sap-ui/src/lib/header-facet-progress/header-facet-progress.component.ts","../../../projects/barsa-sap-ui/src/lib/header-facet-progress/header-facet-progress.component.html","../../../projects/barsa-sap-ui/src/lib/header-facet-rate/header-facet-rate.component.ts","../../../projects/barsa-sap-ui/src/lib/header-facet-rate/header-facet-rate.component.html","../../../projects/barsa-sap-ui/src/lib/header-facet-form/header-facet-form.component.ts","../../../projects/barsa-sap-ui/src/lib/header-facet-form/header-facet-form.component.html","../../../projects/barsa-sap-ui/src/lib/header-facet-key-value/header-facet-key-value.component.ts","../../../projects/barsa-sap-ui/src/lib/header-facet-key-value/header-facet-key-value.component.html","../../../projects/barsa-sap-ui/src/lib/form-dialog/form-dialog.component.ts","../../../projects/barsa-sap-ui/src/lib/form-dialog/form-dialog.component.html","../../../projects/barsa-sap-ui/src/lib/ui-date-time/ui-date-time.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-date-time/ui-date-time.component.html","../../../projects/barsa-sap-ui/src/lib/ui-button/ui-button.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-button/ui-button.component.html","../../../projects/barsa-sap-ui/src/lib/ui-tinymce/ui-tinymce.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-tinymce/ui-tinymce.component.html","../../../projects/barsa-sap-ui/src/lib/ulv-settings/ulv-settings.component.ts","../../../projects/barsa-sap-ui/src/lib/ulv-settings/ulv-settings.component.html","../../../projects/barsa-sap-ui/src/lib/ui-search-command-info-ui/ui-search-command-info-ui.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-search-command-info-ui/ui-search-command-info-ui.component.html","../../../projects/barsa-sap-ui/src/lib/ui-info-bar-panel/ui-info-bar-panel.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-info-bar-panel/ui-info-bar-panel.component.html","../../../projects/barsa-sap-ui/src/lib/ulv-paging/ulv-paging.component.ts","../../../projects/barsa-sap-ui/src/lib/ulv-paging/ulv-paging.component.html","../../../projects/barsa-sap-ui/src/lib/ulv-selection/ulv-selection.component.ts","../../../projects/barsa-sap-ui/src/lib/ulv-selection/ulv-selection.component.html","../../../projects/barsa-sap-ui/src/lib/ui-single-picture/ui-single-picture.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-single-picture/ui-single-picture.component.html","../../../projects/barsa-sap-ui/src/lib/ly-empty-space/ly-empty-space.component.ts","../../../projects/barsa-sap-ui/src/lib/ly-empty-space/ly-empty-space.component.html","../../../projects/barsa-sap-ui/src/lib/ui-time-span/ui-time-span.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-time-span/ui-time-span.component.html","../../../projects/barsa-sap-ui/src/lib/ui-num-int-ui/ui-num-int-ui.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-num-int-ui/ui-num-int-ui.component.html","../../../projects/barsa-sap-ui/src/lib/ui-num-decimal-ui/ui-num-decimal-ui.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-num-decimal-ui/ui-num-decimal-ui.component.html","../../../projects/barsa-sap-ui/src/lib/ui-multi-select-combo/ui-multi-select-combo.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-multi-select-combo/ui-multi-select-combo.component.html","../../../projects/barsa-sap-ui/src/lib/ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component.html","../../../projects/barsa-sap-ui/src/lib/ui-picture-file/ui-picture-file.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-picture-file/ui-picture-file.component.html","../../../projects/barsa-sap-ui/src/lib/ui-container-with-button/ui-container-with-button.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-container-with-button/ui-container-with-button.component.html","../../../projects/barsa-sap-ui/src/lib/ui-read-only-field/ui-read-only-field.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-read-only-field/ui-read-only-field.component.html","../../../projects/barsa-sap-ui/src/lib/ly-layout-panel/ly-layout-panel.component.ts","../../../projects/barsa-sap-ui/src/lib/ly-layout-panel/ly-layout-panel.component.html","../../../projects/barsa-sap-ui/src/lib/ui-grid/ui-grid.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-grid/ui-grid.component.html","../../../projects/barsa-sap-ui/src/lib/ui-radio-group/ui-radio-group.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-radio-group/ui-radio-group.component.html","../../../projects/barsa-sap-ui/src/lib/ui-label/ui-label.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-label/ui-label.component.html","../../../projects/barsa-sap-ui/src/lib/ui-simple-combo/ui-simple-combo.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-simple-combo/ui-simple-combo.component.html","../../../projects/barsa-sap-ui/src/lib/ui-check-box/ui-check-box.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-check-box/ui-check-box.component.html","../../../projects/barsa-sap-ui/src/lib/ui-switch-button/ui-switch-button.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-switch-button/ui-switch-button.component.html","../../../projects/barsa-sap-ui/src/lib/ly-layout-field-label/ly-layout-field-label.component.ts","../../../projects/barsa-sap-ui/src/lib/ly-layout-field-label/ly-layout-field-label.component.html","../../../projects/barsa-sap-ui/src/lib/ui-text-field/ui-text-field.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-text-field/ui-text-field.component.html","../../../projects/barsa-sap-ui/src/lib/col-renderer.directive.ts","../../../projects/barsa-sap-ui/src/lib/sap-font-class.pipe.ts","../../../projects/barsa-sap-ui/src/lib/barsa-tree-item/node-has-one-depth-level.pipe.ts","../../../projects/barsa-sap-ui/src/lib/ui-card-view-horizontal-group/ui-card-view-horizontal-group.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-card-view-horizontal-group/ui-card-view-horizontal-group.component.html","../../../projects/barsa-sap-ui/src/lib/title/title.component.ts","../../../projects/barsa-sap-ui/src/lib/title/title.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-sap-ui-routing.module.ts","../../../projects/barsa-sap-ui/src/lib/form-toolbar-button/form-toolbar-button.component.ts","../../../projects/barsa-sap-ui/src/lib/form-toolbar-button/form-toolbar-button.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-search-form/barsa-search-form.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-search-form/barsa-search-form.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-network-offline/barsa-network-offline.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-network-offline/barsa-network-offline.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-cartable-template/barsa-cartable-template.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-cartable-template/barsa-cartable-template.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-cartable-form/barsa-cartable-form.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-cartable-form/barsa-cartable-form.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-group-cartable/barsa-cartable-group.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-group-cartable/barsa-cartable-group.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-field-key-value/barsa-field-key-value.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-field-key-value/barsa-field-key-value.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-toolbaritem-search/barsa-toolbaritem-search.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-toolbaritem-search/barsa-toolbaritem-search.component.html","../../../projects/barsa-sap-ui/src/lib/ui-html-viewer/ui-html-viewer.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-html-viewer/ui-html-viewer.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-pishnamayesh-payam/barsa-pishnamayesh-payam.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-pishnamayesh-payam/barsa-pishnamayesh-payam.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-text-ellipsis/barsa-text-ellipsis.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-text-ellipsis/barsa-text-ellipsis.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-list-file-linear-gmail/barsa-list-file-linear-gmail.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-list-file-linear-gmail/barsa-list-file-linear-gmail.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-linkable-items-panel/barsa-linkable-items-panel.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-linkable-items-panel/barsa-linkable-items-panel.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-enum-menu-button/barsa-enum-menu-button.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-enum-menu-button/barsa-enum-menu-button.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-card-layout-panel/barsa-card-layout-panel.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-card-layout-panel/barsa-card-layout-panel.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-base-panel/barsa-base-layout-panel.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-base-panel/barsa-base-layout-panel.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-horizontal-flex-panel/barsa-horizontal-flex-panel.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-horizontal-flex-panel/barsa-horizontal-flex-panel.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-bar-panel/barsa-bar-panel.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-bar-panel/barsa-bar-panel.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-form-side-content/barsa-form-side-content.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-form-side-content/barsa-form-side-content.component.html","../../../projects/barsa-sap-ui/src/lib/dialog-handler.directive.ts","../../../projects/barsa-sap-ui/src/lib/barsa-list-layout-panel/barsa-list-layout-panel.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-list-layout-panel/barsa-list-layout-panel.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-grid-layout-panel/barsa-grid-layout-panel.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-grid-layout-panel/barsa-grid-layout-panel.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-dynamic-field/barsa-dynamic-field.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-dynamic-field/barsa-dynamic-field.component.html","../../../projects/barsa-sap-ui/src/lib/ui-multi-select-radio/ui-multi-select-radio.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-multi-select-radio/ui-multi-select-radio.component.html","../../../projects/barsa-sap-ui/src/lib/ui-multi-select-checkbox/ui-multi-select-checkbox.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-multi-select-checkbox/ui-multi-select-checkbox.component.html","../../../projects/barsa-sap-ui/src/lib/ui-multi-select-slider/ui-multi-select-slider.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-multi-select-slider/ui-multi-select-slider.component.html","../../../projects/barsa-sap-ui/src/lib/ui-multi-select-card/ui-multi-select-card.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-multi-select-card/ui-multi-select-card.component.html","../../../projects/barsa-sap-ui/src/lib/ui-multi-select-smile/ui-multi-select-smile.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-multi-select-smile/ui-multi-select-smile.component.html","../../../projects/barsa-sap-ui/src/lib/ui-num-int-slider/ui-num-int-slider.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-num-int-slider/ui-num-int-slider.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-report-checkbox-switch-button/barsa-report-checkbox-switch-button.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-report-checkbox-switch-button/barsa-report-checkbox-switch-button.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-report-one-of-list/barsa-report-one-of-list.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-report-one-of-list/barsa-report-one-of-list.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-card-row-payam/barsa-card-row-payam.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-card-row-payam/barsa-card-row-payam.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-question-post/barsa-question-post.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-question-post/barsa-question-post.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-chip/barsa-chip.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-chip/barsa-chip.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-question-answer-content-actions-section/barsa-question-answer-content-actions-section.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-question-answer-content-actions-section/barsa-question-answer-content-actions-section.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-question-answer-vote-section/barsa-question-answer-vote-section.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-question-answer-vote-section/barsa-question-answer-vote-section.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-question-answer-creator-time-section/barsa-question-answer-creator-time-section.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-question-answer-creator-time-section/barsa-question-answer-creator-time-section.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-question-answer-form-add-comment/barsa-question-answer-form-add-comment.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-question-answer-form-add-comment/barsa-question-answer-form-add-comment.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-question-answer-comments-section/barsa-question-answer-comments-section.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-question-answer-comments-section/barsa-question-answer-comments-section.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-question-answer-form/barsa-question-answer-form.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-question-answer-form/barsa-question-answer-form.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-answer-card/barsa-answer-card.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-answer-card/barsa-answer-card.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-tag-chip/barsa-tag-chip.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-tag-chip/barsa-tag-chip.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-report-card-flex-view/barsa-report-card-flex-view.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-report-card-flex-view/barsa-report-card-flex-view.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-tags-category-row/barsa-tags-category-row.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-tags-category-row/barsa-tags-category-row.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-tag-categories/barsa-tag-categories.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-tag-categories/barsa-tag-categories.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-custom-inline-edit-row/barsa-custom-inline-edit-row.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-custom-inline-edit-row/barsa-custom-inline-edit-row.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-custom-inline-edit/barsa-custom-inline-edit.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-custom-inline-edit/barsa-custom-inline-edit.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-chat-content/barsa-chat-content.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-chat-content/barsa-chat-content.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-chat-thread/barsa-chat-thread.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-chat-thread/barsa-chat-thread.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-chat-threads-list/barsa-chat-threads-list.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-chat-threads-list/barsa-chat-threads-list.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-chat-threads-list-toolbar/barsa-chat-threads-list-toolbar.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-chat-threads-list-toolbar/barsa-chat-threads-list-toolbar.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-chat-content-toolbar/barsa-chat-content-toolbar.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-chat-content-toolbar/barsa-chat-content-toolbar.component.html","../../../projects/barsa-sap-ui/src/lib/barsa-chat/barsa-chat.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-chat/barsa-chat.component.html","../../../projects/barsa-sap-ui/src/lib/util-date-to-hh-mm.pipe.ts","../../../projects/barsa-sap-ui/src/lib/barsa-chat-message/barsa-chat-message.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-chat-message/barsa-chat-message.component.html","../../../projects/barsa-sap-ui/src/lib/util-chat-time-badge.pipe.ts","../../../projects/barsa-sap-ui/src/lib/barsa-chat-list/barsa-chat-list.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-chat-list/barsa-chat-list.component.html","../../../projects/barsa-sap-ui/src/lib/index.ts","../../../projects/barsa-sap-ui/src/lib/notification-popup.service.ts","../../../projects/barsa-sap-ui/src/lib/barsa-sap-ui.module.ts","../../../projects/barsa-sap-ui/src/barsa-sap-ui.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\nimport { BaseComponent } from 'barsa-novin-ray-core';\r\n@Component({\r\n selector: 'bsu-progress-indicator',\r\n templateUrl: './progress-indicator.component.html',\r\n styleUrls: ['./progress-indicator.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ProgressIndicatorComponent extends BaseComponent {\r\n constructor() {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n }\r\n}\r\n","<p>progress-indicator works!</p>\r\n","import { ChangeDetectionStrategy, Component, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\r\n\r\nimport {\r\n BarsaApi,\r\n getUniqueId,\r\n MetaobjectDataModel,\r\n ReportViewBaseComponent,\r\n UiReportViewBaseSetting\r\n} from 'barsa-novin-ray-core';\r\nimport moment from 'moment';\r\n\r\nimport jmoment from 'moment-jalaali';\r\ndeclare const head: any;\r\n@Component({\r\n selector: 'bsu-gantt-dhtml-chart-view',\r\n templateUrl: './gantt-dhtml-chart-view.component.html',\r\n styleUrls: ['./gantt-dhtml-chart-view.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class GanttDhtmlChartViewComponent\r\n extends ReportViewBaseComponent<UiReportViewBaseSetting>\r\n implements OnInit, OnChanges\r\n{\r\n @Input() mode: string;\r\n @Input() ganttFields: any;\r\n @Input() ganttChartHelper: any;\r\n ganttId: string;\r\n _rowcheck = false;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._prepareDate();\r\n const elDom = this._el.nativeElement;\r\n elDom.id = this.ganttId = getUniqueId(4);\r\n elDom.style.height = 'calc(100vh - ' + (elDom.offsetTop + 40) + 'px)';\r\n\r\n this.ganttChartHelper.on({\r\n rowselect: this._onRowCheck.bind(this),\r\n rowdblclick: this._onRowClick.bind(this)\r\n });\r\n this.ganttChartHelper.init(this.moDataList, elDom.id);\r\n head.load(\r\n ['Lib/gantt-master/codebase/dhtmlxgantt_FixedForShamsi.js'],\r\n // head.load(['lib/gantt-master/codebase/sources/dhtmlxgantt_FixedForShamsi.js']\r\n () => this.ganttChartHelper.renderGantt()\r\n );\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (this.ganttChartHelper === null) {\r\n return;\r\n }\r\n const { mode, moDataList } = changes;\r\n if (mode && !mode.firstChange) {\r\n switch (mode.currentValue) {\r\n case 'day':\r\n this.ganttChartHelper.changeToDay();\r\n break;\r\n case 'month':\r\n this.ganttChartHelper.changeToMonth();\r\n\r\n break;\r\n case 'year':\r\n this.ganttChartHelper.changeToYear();\r\n break;\r\n }\r\n }\r\n if (moDataList && !moDataList.firstChange) {\r\n if (this._rowcheck) {\r\n this._rowcheck = false;\r\n return;\r\n }\r\n const currentMoList = moDataList.currentValue;\r\n this.ganttChartHelper.setData(moDataList.currentValue);\r\n const selected = currentMoList.find((c) => c.$IsChecked);\r\n if (selected) {\r\n this.ganttChartHelper.selectRecords([selected]);\r\n }\r\n }\r\n }\r\n private _getSelected(): { mo: MetaobjectDataModel; index: number } | null {\r\n const selectedId = this.ganttChartHelper.getSelectedId();\r\n if (selectedId === null) {\r\n return null;\r\n }\r\n const indexMo = this.moDataList.findIndex((mo) => selectedId === mo.Id);\r\n return {\r\n mo: this.moDataList[indexMo],\r\n index: indexMo\r\n };\r\n }\r\n private _onRowCheck(): void {\r\n this._rowcheck = true;\r\n const result = this._getSelected();\r\n if (!result) {\r\n return;\r\n }\r\n this.onRowCheck({ mo: result.mo, index: result.index });\r\n }\r\n private _onRowClick(): void {\r\n this._rowcheck = true;\r\n const result = this._getSelected();\r\n if (!result) {\r\n return;\r\n }\r\n this.onRowClick({ mo: result.mo, index: result.index });\r\n }\r\n\r\n private _prepareDate(): void {\r\n let thisIsMiladi = BarsaApi.LoginFormData.Culture !== 'fa-IR';\r\n const moment_ = thisIsMiladi ? moment : jmoment;\r\n Object.defineProperty(Date.prototype, 'getFullYear_Old', {\r\n value: Date.prototype.getFullYear,\r\n configurable: true\r\n });\r\n Object.defineProperty(Date.prototype, 'getFullYear2', {\r\n /* eslint-disable */\r\n value: function () {\r\n if (thisIsMiladi) {\r\n return this.getFullYear_Old();\r\n }\r\n thisIsMiladi = true;\r\n const year = moment_(this).jYear();\r\n thisIsMiladi = false;\r\n return year;\r\n },\r\n configurable: true\r\n });\r\n\r\n Object.defineProperty(Date.prototype, 'getMonth_Old', {\r\n value: Date.prototype.getMonth,\r\n configurable: true\r\n });\r\n Object.defineProperty(Date.prototype, 'getMonth2', {\r\n /* eslint-disable */\r\n value: function () {\r\n if (thisIsMiladi) {\r\n return this.getMonth_Old();\r\n }\r\n thisIsMiladi = true;\r\n const month = moment_(this).jMonth();\r\n thisIsMiladi = false;\r\n return month;\r\n },\r\n configurable: true\r\n });\r\n\r\n Object.defineProperty(Date.prototype, 'getDate_Old', {\r\n value: Date.prototype.getDate,\r\n configurable: true\r\n });\r\n Object.defineProperty(Date.prototype, 'getDate2', {\r\n /* eslint-disable */\r\n value: function () {\r\n if (thisIsMiladi) {\r\n return this.getDate_Old();\r\n }\r\n thisIsMiladi = true;\r\n const day = moment_(this).jDate();\r\n thisIsMiladi = false;\r\n return day;\r\n },\r\n configurable: true\r\n });\r\n\r\n Object.defineProperty(Date.prototype, 'setFullYear_Old', {\r\n value: Date.prototype.setFullYear,\r\n configurable: true\r\n });\r\n Object.defineProperty(Date.prototype, 'setFullYear2', {\r\n /* eslint-disable */\r\n value: function (year, month, day) {\r\n month = month > -1 ? month : this.getMonth();\r\n day = day > -1 ? day : this.getDate();\r\n month += 1;\r\n const formatted = `${year}/${month}/${day}`;\r\n const m = moment_(formatted, 'jYYYY/jMM/jDD');\r\n const date = m.toDate();\r\n this.setFullYear_Old(date.getFullYear_Old(), date.getMonth_Old(), date.getDate_Old());\r\n },\r\n configurable: true\r\n });\r\n\r\n Object.defineProperty(Date.prototype, 'setMonth_Old', {\r\n value: Date.prototype.setMonth,\r\n configurable: true\r\n });\r\n Object.defineProperty(Date.prototype, 'setMonth2', {\r\n /* eslint-disable */\r\n value: function (month) {\r\n const m = moment_(this);\r\n thisIsMiladi = true;\r\n m.jMonth(month);\r\n const date = m.toDate();\r\n this.setFullYear_Old(date.getFullYear_Old(), date.getMonth_Old(), date.getDate_Old());\r\n thisIsMiladi = false;\r\n },\r\n configurable: true\r\n });\r\n\r\n Object.defineProperty(Date.prototype, 'setDate_Old', {\r\n /* eslint-disable */\r\n value: Date.prototype.setDate,\r\n configurable: true\r\n });\r\n Object.defineProperty(Date.prototype, 'setDate2', {\r\n /* eslint-disable */\r\n value: function (day) {\r\n const m = moment_(this);\r\n thisIsMiladi = true;\r\n m.jDate(day);\r\n const date = m.toDate();\r\n this.setFullYear_Old(date.getFullYear_Old(), date.getMonth_Old(), date.getDate_Old());\r\n // this.setDate_Old(date.getDate_Old);\r\n thisIsMiladi = false;\r\n },\r\n configurable: true\r\n });\r\n }\r\n}\r\n","","export interface FormLayoutCol {\n colXl: number;\n colLg: number;\n colMd: number;\n}\n\nexport function insertAvatar(elementRef, headerAvatarRef, titleRef, avatar): void {\n if (avatar) {\n const isNullImage = typeof avatar === 'object' && avatar.IsNullImage;\n const avatarViewRef = headerAvatarRef.createEmbeddedView({\n $implicit: avatar,\n isIcon: typeof avatar === 'string',\n isNullImage\n });\n titleRef.clear();\n titleRef.insert(avatarViewRef);\n const el = elementRef.nativeElement as HTMLElement;\n const titleEl = el.querySelector('.fd-dynamic-page__title') as HTMLElement;\n\n const titleContainerEl = el.querySelector('.fd-dynamic-page__title-container') as HTMLElement;\n const avatarEl = el.querySelector('.fd-dynamic-page__avatar') as HTMLElement;\n titleContainerEl.insertBefore(avatarEl, titleEl);\n const subTitleEl = el.querySelector('.fd-dynamic-page__subtitle') as HTMLElement;\n if (subTitleEl) {\n // const inMobile = getDeviceIsMobile();\n subTitleEl.style.paddingRight = `calc(${1.5}rem + 10px)`;\n }\n }\n}\nexport function GetFormLayoutGrid(ceil: boolean, colXl: number, colLg: number, colMd: number): FormLayoutCol {\n const x = ceil ? Math.ceil : Math.round;\n return {\n colXl: colXl === 0 ? 0 : x((12 - colXl) / 2),\n colLg: colLg === 0 ? 0 : x((12 - colLg) / 2),\n colMd: colMd === 0 ? 0 : x((12 - colMd) / 2)\n };\n}\n\nexport const sort = <T extends object>(a: T, b: T, key: string | null, isNumber?: boolean): number => {\n if (key) {\n a = getNestedValue(key, a);\n b = getNestedValue(key, b);\n }\n if (key === 'Rownumber' || isNumber) {\n return Number(a) > Number(b) ? 1 : -1;\n } else if (typeof a === 'string' && typeof b === 'string') {\n return _trimEnd(a as string).localeCompare(_trimEnd(b as string));\n }\n return a > b ? 1 : a === b ? 0 : -1;\n};\nexport function _trimEnd(value: string): string {\n const cache = new Set(String(value));\n let end = value.length;\n for (let i = value.length - 1; i >= 0; i--) {\n if (!cache.has(value[i])) {\n break;\n }\n end--;\n }\n return value.slice(0, end);\n}\nexport function getNestedValue<T extends Record<string, any>>(key: string, object: T): any {\n return key.split('.').reduce((a, b) => a[b], object);\n}\n\nexport const IconTNT = [\n 'technicalsystem',\n 'systemjava',\n 'systemabap',\n 'systemrecommendations',\n 'system',\n 'systemtrex',\n 'systemtracks',\n 'technicalscenario',\n 'technicalinstance',\n 'throughput-backlog',\n 'batch-processing',\n 'database-consistency',\n 'intermediate-message',\n 'exceptions',\n 'system-HANA',\n 'python',\n 'raise-fault',\n 'code1',\n 'code2',\n 'spike-arrest',\n 'verify-API',\n 'user',\n 'note',\n 'throwing-message',\n 'catching-message',\n 'start-event',\n 'end-event',\n 'gateway',\n 'sub-process-marker',\n 'ad-hoc-marker',\n 'manual-task',\n 'send-task',\n 'receive-task',\n 'script-task',\n 'marquee',\n 'data-input-arrow',\n 'data-output-arrow',\n 'more',\n 'pattern',\n 'task',\n 'arrow',\n 'data',\n 'data-store',\n 'pool',\n 'swimlane',\n 'select',\n 'cursor',\n 'api',\n 'o-data',\n 'javascript',\n 'value-mapping',\n 'terminate-end-event',\n 'parallel-gateway',\n 'exclusive-gateway',\n 'service-task',\n 'workflow-editor',\n 'boundary-interrupting',\n 'boundary-non-interrupting',\n 'block',\n 'constrain-block',\n 'actor',\n 'instance-specification',\n 'value-type',\n 'interface-block',\n 'unit',\n 'signal',\n 'quantity-kind',\n 'item-flow',\n 'dependency',\n 'generalization',\n 'aggregation',\n 'composition',\n 'association',\n 'port',\n 'proxy-port',\n 'full-port',\n 'operations',\n 'constrains',\n 'receptions',\n 'references',\n 'parts',\n 'flow',\n 'values',\n 'bill-of-material',\n 'document-info-recording',\n 'use-case-diagram',\n 'bdd-diagram',\n 'requirement-diagram',\n 'package-diagram',\n 'internal-block-diagram',\n 'requirement-containment-relationship',\n 'use-case',\n 'use-case-extension-point',\n 'communication-path',\n 'note-connection',\n 'subject',\n 'auto-layout',\n 'required-interface',\n 'provided-interface',\n 'sub-content',\n 'connector',\n 'local-process-call',\n 'aggregator',\n 'splitter',\n 'converter',\n 'content-modifier',\n 'message-start-event',\n 'message-end-event',\n 'escalation-end-event',\n 'start-timer-event',\n 'error-start-event',\n 'error-end-event',\n 'content-enricher',\n 'realization',\n 'interface',\n 'usiness-capability',\n 'progress-group',\n 'value-stream',\n 'value-flow',\n 'application',\n 'etl-job',\n 'business-service',\n 'application-service',\n 'network-node',\n 'network',\n 'deployment-instance',\n 'intranet',\n 'mobile-network',\n 'private-cloud',\n 'antenna',\n 'firewall',\n 'hub',\n 'modem',\n 'repeater',\n 'router',\n 'switch',\n 'satellite',\n 'system-2',\n 'status-activating',\n 'status-suspended',\n 'status-suspending',\n 'status-terminated',\n 'status-terminating',\n 'solution-not-licensed',\n 'clear-all-mapping',\n 'map-all-fields'\n];\nexport const IconBusinessSuite = [\n 'heart',\n 'quarter',\n 'year',\n 'equalizer',\n 'component',\n 'component-private',\n 'raw-material',\n 'sms',\n 'add-note',\n 'change-time-horizon',\n 'table-chart-customization',\n 'delegated-important-task',\n 'forklift',\n 'coins',\n 'filter-menu',\n 'target-to-date',\n 'program',\n 'phase',\n 'checklist',\n 'mirrored-task',\n 'sub-project',\n 'checklist-item',\n 'adhoc-analysis',\n 'change-analysis',\n 'review-demands',\n 'project-definition',\n 'data-access',\n 'define-shortage',\n 'review-supplies',\n 'change-log',\n 'priority-1',\n 'priority-2',\n 'jam',\n 'milestone',\n 'bulleting-with-numbers',\n 'decrease-indent',\n 'increase-indent',\n 'bold',\n 'italic',\n 'strike-through',\n 'underline',\n 'save-as',\n 'segmentation',\n 'context-menu',\n 'snapshot',\n 'subtraction-b-a',\n 'subtraction-a-b',\n 'intersection',\n 'union',\n 'top',\n 'bottom',\n 'page-up',\n 'page-down',\n 'create-dashboard',\n 'xcelsius-file',\n 'open-folder',\n 'neutral',\n 'split-segmentation',\n 'manage-budget',\n 'blocked',\n 'pipette',\n 'top-recipe',\n 'recipe',\n 'ingredients',\n 'multiple-charts',\n 'descending-bars',\n 'descending-stacked-bars',\n 'scatter-plot',\n 'spill',\n 'fire',\n 'stratification',\n 'relationship',\n 'margin-decomposition',\n 'control-group',\n 'comparison-chart',\n 'responsible-area',\n 'increase',\n 'decrease',\n 'current-stock',\n 'expedite',\n 'postpone',\n 'approved',\n 'partially-delivered',\n 'line-bar-chart',\n 'expand-all',\n 'submission',\n 'change-request',\n 'column-unselected',\n 'column-selected',\n 'row-unselected',\n 'row-selected',\n 'stock-requirements',\n 'gender-male-and-female',\n 'marital-status',\n 'birthday',\n 'classification',\n 'marked-for-deletion',\n 'bullet-chart',\n 'remove-filter',\n 'bank-account',\n 'savings-account',\n 'debit-card',\n 'vip-customer',\n 'undesirable-customer',\n 'answered-change-request',\n 'collected-change-request',\n 'draw-freehand',\n 'draw-circle',\n 'completed',\n 'answered',\n 'traffic-cone',\n 'traffic-lights',\n 'container',\n 'container-loading',\n 'traffic-jam',\n 'products',\n 'sidepanel',\n 'split-screen',\n 'truck-driver',\n 'keep-segment',\n 'exclude-segment',\n 'separate-segments',\n 'distribute-segments',\n 'next-open-item',\n 'where-used',\n 'outbound-delivery',\n 'outbound-delivery-inactive',\n 'outbound-delivery-active',\n 'target',\n 'source',\n 'material',\n 'due-date',\n 'overdue',\n 'set-as-default',\n 'face-very-bad',\n 'face-bad',\n 'face-skeptical',\n 'face-neutral',\n 'face-astonished',\n 'face-happy',\n 'face-very-happy',\n 'face-awful',\n 'face-devastated',\n 'face-okey-dokey',\n 'alarm',\n 'activate',\n 'segment-preview-reference-objects',\n 'radius',\n 'polygone-black',\n 'polygone-white',\n 'ploygone',\n 'no-filter',\n 'grip',\n 'water',\n 'gas',\n 'liquid',\n 'time-deposit',\n 'early-widthdrawal-for-time-deposits',\n 'truck-load',\n 'truck-unload',\n 'truck-load-unload',\n 'pharmacy',\n 'medicine-syrup',\n 'reminder',\n 'medicine-pill',\n 'medicine-ointment',\n 'medicine-drops',\n 'blood-test',\n 'temperature',\n 'medicine-inhaler',\n 'foot-steps',\n 'weight',\n 'health-tracking',\n 'blood-pressure',\n 'immunization',\n 'allergies',\n 'rescheduling2',\n 'resequencing2',\n 'no-time-change',\n 'time-change',\n 'smart-matcher',\n 'legal-section',\n 'causes',\n 'effects',\n 'shared-by-me',\n 'shared-with-me',\n 'alert-groups',\n 'function-alert',\n 'function-hierarchy',\n 'rfid',\n 'input',\n 'software-item',\n 'product-view',\n 'software-item-variant',\n 'lighthouse',\n 'demand-unit',\n 'fma-management',\n 'fma-validation',\n 'fma-analytics',\n 'class',\n 'overview',\n 'production',\n 'subclass',\n 'variant-configuration',\n 'sum',\n 'empty-trailer',\n 'door',\n 'loading-point',\n 'stock-warehouse',\n 'gate',\n 'timeseries-waterfall-chart',\n 'stages-warning',\n 'empty-warning'\n];\n","import { PipeTransform, Pipe } from '@angular/core';\r\nimport { IconFont } from '@fundamental-ngx/core';\r\nimport { IconTNT, IconBusinessSuite } from './constants';\r\n\r\n@Pipe({\r\n name: 'sapFont'\r\n})\r\nexport class SapFontPipe implements PipeTransform {\r\n transform(iconName: string): IconFont {\r\n const fontName = this._getFontName(iconName);\r\n return fontName;\r\n }\r\n protected _getFontName(iconName): IconFont {\r\n const saptnt = 'SAP-icons-TNT';\r\n const sapbusiness = 'BusinessSuiteInAppSymbols';\r\n if (IconTNT.indexOf(iconName) > -1) {\r\n return saptnt;\r\n }\r\n if (IconBusinessSuite.indexOf(iconName) > -1) {\r\n return sapbusiness;\r\n }\r\n return 'SAP-icons';\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { SafeHtml } from '@angular/platform-browser';\n\nimport { LayoutItemBaseComponent } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-ly-label',\n templateUrl: './ly-label.component.html',\n styleUrls: ['./ly-label.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LyLabelComponent extends LayoutItemBaseComponent {\n @Input() originalWidth: number;\n @Input() minWidth: string;\n @Input() caption: string | SafeHtml;\n @Input() captionIcon: string;\n @Input() isColumn: boolean;\n @Input() isMandatory: boolean;\n @Input() fieldIcon: string;\n @Input() originalXtype: string;\n @Input() textVisible: boolean | undefined;\n}\n","@if (config.FontIcon) {\n<fd-icon\n [style.color]=\"config.CaptionAppearance?.FColor ? config.CaptionAppearance?.FColor : null\"\n [font]=\"config.FontIcon | sapFont\"\n [glyph]=\"config.FontIcon\"\n></fd-icon>\n} @if (textVisible && fieldIcon) {\n<img [attrRtl] [src]=\"fieldIcon\" height=\"16px\" />\n} @if (textVisible) {\n<label\n fd-form-label\n [defaultClass]=\"false\"\n class=\"bsu-label-control\"\n [attr.required]=\"isMandatory ? true : null\"\n [attr.column-mode]=\"isColumn\"\n [attrRtl]=\"true\"\n [innerHTML]=\"originalXtype === 'Ui.Button' ? '‌' : caption\"\n [style.background-color]=\"config.CaptionAppearance?.BColor ? config.CaptionAppearance?.BColor : null\"\n [style.color]=\"config.CaptionAppearance?.FColor ? config.CaptionAppearance?.FColor : null\"\n>\n</label>\n}\n","import {\n Component,\n ElementRef,\n HostBinding,\n Input,\n ViewChild,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n NgZone,\n Renderer2,\n OnInit,\n SimpleChanges\n} from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { Observable, Subscription } from 'rxjs';\nimport { ContentDensity, ContentDensityService } from '@fundamental-ngx/core';\n\nimport {\n BarsaApi,\n LayoutItemBaseComponent,\n LayoutService,\n FormPanelService,\n getDeviceIsMobile,\n BbbTranslatePipe\n} from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-layout-control',\n templateUrl: './layout-control.component.html',\n styleUrls: ['./layout-control.component.scss'],\n providers: [LayoutService],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LayoutControlComponent extends LayoutItemBaseComponent implements OnInit {\n @ViewChild('tempLabelRef', { read: ElementRef, static: true })\n tempLabelRef: ElementRef;\n\n @HostBinding('class.layout-control') layoutControlClass = true;\n @HostBinding('class.row-direction') isRowDirection;\n @HostBinding('class.row-reverse-direction') isRowReverseDirection;\n @HostBinding('class.column-direction') isColumnDirection;\n @HostBinding('class.column-reverse-direction') isColumnReverseDirection;\n @HostBinding('class.container-field') isContainer = true;\n // @HostBinding('style.visibility') visibility: string;\n @HostBinding('style.max-width') maxWidth;\n @HostBinding('style.min-width') minWidth;\n @HostBinding('style.min-height') minHeight = '2.25rem';\n @HostBinding('style.height') height;\n @HostBinding('attr.isChekbox') isCheckbox;\n @HostBinding('attr.isButton') isButton;\n @HostBinding('attr.isButton') isSinglePicture;\n @HostBinding('attr.minWidth') attrMinWidth;\n @HostBinding('attr.controlId') attrControlId;\n @HostBinding('attr.caption') attrCaption;\n @Input() inlineEdit: boolean;\n @Input() caption: string;\n @Input() focusControl: boolean;\n @Input() showLabel: boolean;\n @Input() maxLabelWidth: number;\n @Input() hasHorizontalText: boolean;\n @Input() contentDensity: ContentDensity;\n @Input() flex: string;\n hide = true;\n layoutSubscription: Subscription;\n wrapContent: boolean;\n labelWidth: number;\n labelCaption: string | SafeHtml;\n labelVisible?: boolean;\n layoutSetSize: boolean;\n rtl$: Observable<boolean>;\n isUlv: boolean;\n isMandatory: boolean;\n fieldIcon: string;\n originalXtype: string;\n textVisible: boolean | undefined;\n emptyText = this.domSanitizer.bypassSecurityTrustHtml('​');\n layoutControlWidth: number;\n formHeight$: Observable<number>;\n constructor(\n protected formPanelService: FormPanelService,\n public el: ElementRef,\n _contentDensityService: ContentDensityService,\n protected domSanitizer: DomSanitizer,\n protected _cdr: ChangeDetectorRef,\n protected _ngZone: NgZone,\n protected _renderer2: Renderer2,\n protected _bbbTranslate: BbbTranslatePipe\n ) {\n super(formPanelService, _cdr);\n if (this.contentDensity === 'compact') {\n this.minHeight = '2rem';\n }\n }\n ngOnChanges(changes: SimpleChanges): void {\n super.ngOnChanges(changes);\n const { flex } = changes;\n if (flex) {\n this._setFlex(flex.currentValue);\n }\n }\n ngOnInit(): void {\n super.ngOnInit();\n this.formHeight$ = this.formPanelService.formHeight$;\n this._setFlex(this.flex);\n\n this.layoutControlWidth = (this.el.nativeElement as HTMLElement).clientWidth;\n const config = this.config;\n const minHeightAuto = BarsaApi.Common.Util.TryGetValue(\n config,\n 'FieldUi.Setting.CustomUi.Parameters.MinHeightAuto',\n false\n );\n if (this.inlineEdit || minHeightAuto) {\n this.minHeight = 'auto';\n }\n if (config.FieldUi.originalXtype === 'Ui.UlvMainUi') {\n this.isUlv = true;\n }\n this.attrCaption = config.Caption.replace(':', '');\n this.attrControlId = config.ControlId;\n this.isButton = config.FieldUi.originalXtype === 'Ui.Button';\n let labelCaption = config.Caption;\n if (config.FieldUi.Setting?.IsMandatory) {\n if (labelCaption.indexOf('*') < 0) {\n labelCaption = labelCaption + ' *';\n }\n } else {\n labelCaption = labelCaption.replace('*', '');\n }\n\n this.isCheckbox = config.FieldUi.originalXtype === 'Ui.CheckBox';\n\n this.isSinglePicture = config.FieldUi.originalXtype === 'Ui.SinglePicture';\n const colonLabel = this.formPanelService.ColonInLabel ? ':' : '';\n const translateCaption = `${this._bbbTranslate.transform(labelCaption)}${\n this.isSearchPanel || labelCaption === '‌' ? '' : colonLabel\n }`;\n this.labelCaption = this.domSanitizer.bypassSecurityTrustHtml(translateCaption);\n this.labelVisible = config.TextVisible && this.showLabel !== false;\n\n this.isRowDirection = config.TextLocation === 'Right' || config.TextLocation === 'Default';\n this.isRowReverseDirection = config.TextLocation === 'Left';\n this.isColumnDirection = config.TextLocation === 'Top' || this.isSearchPanel;\n this.isColumnReverseDirection = config.TextLocation === 'Bottom';\n\n config.FieldUi.LayoutControl = this;\n\n this._setHide(config.FieldUi.Setting.IsVisible === false ? true : false);\n this.isMandatory = config.FieldUi.Setting?.IsMandatory;\n this.fieldIcon = config.FieldUi.Setting.FieldIcon;\n this.originalXtype = config.FieldUi.originalXtype;\n this.textVisible = config.TextVisible;\n if (config.FieldUi.originalXtype === 'Ui.SearchCommandInfoUi') {\n this.labelCaption = '​';\n this.labelVisible = true;\n this.textVisible = true;\n }\n this.prepareMinAndMaxSize();\n }\n _resizeUlvByDevice(device): void {\n if (!this.isUlv) {\n return;\n }\n let deviceHeight = 'DesktopHeight';\n switch (device) {\n case 's':\n deviceHeight = 'MobileHeight';\n break;\n case 'm':\n deviceHeight = 'TabletHeight';\n break;\n }\n this.height = BarsaApi.Common.Util.TryGetValue(\n this.config,\n 'FieldUi.Setting.ClassNames.CustomUi.Parameters.' + deviceHeight,\n 'auto'\n );\n this._cdr.detectChanges();\n }\n prepareMinAndMaxSize(): void {\n const config = this.config;\n const layoutInfo = config;\n const isButton = this.isButton;\n const isSinglePicture = this.isSinglePicture;\n const isCheckbox = this.isCheckbox;\n if (!this.inlineEdit && layoutInfo && (isButton || isCheckbox || isSinglePicture)) {\n this.attrMinWidth = config.Bounds.width;\n let extraVal = 0;\n if (\n ((isButton || isCheckbox) && layoutInfo.FieldUi.Setting?.FieldIcon) ||\n layoutInfo.FieldUi.Setting.JsonExtraProp?.Glyph\n ) {\n extraVal = 18;\n }\n const { MaxSize, MinSize } = layoutInfo;\n if (MaxSize?.width > 0 && !this.isCheckbox) {\n this.maxWidth = MaxSize.width + extraVal + 'px';\n }\n if (MinSize?.width > 0) {\n this.minWidth = MinSize.width + extraVal + 'px';\n }\n }\n if (this.isSearchPanel) {\n this.attrMinWidth = this.maxLabelWidth + 200;\n\n if (!this.isSearcPanelInSideContent) {\n this.maxWidth = '320px';\n }\n }\n if (getDeviceIsMobile()) {\n this.minWidth = null;\n }\n }\n /* eslint-disable */\n @Input() RefreshLabel = () => {};\n /* eslint-disable */\n @Input() SetVisible = (visible, refresh) => {\n this._ngZone.run(() => {\n this.config.FieldUi.Setting.IsVisible = visible;\n this._setHide(!visible);\n // this.config.FieldUi.Setting.$BRuleHide = !visible;\n this._cdr.detectChanges();\n });\n };\n private _setHide(hide: boolean): void {\n hide = this.config.FieldUi.Setting.HideSearchCommandInfoUi === true ? true : hide; // hide default buttons of search panel\n this.hide = hide;\n if (hide) {\n this._renderer2.addClass(this.el.nativeElement, 'hide-form-item');\n } else {\n this._renderer2.removeClass(this.el.nativeElement, 'hide-form-item');\n }\n }\n private _setFlex(flex: string): void {\n if (typeof flex !== 'undefined') {\n this._renderer2.setStyle(this.el.nativeElement, 'flex', flex);\n }\n }\n}\n","@if (!hide) { @if (labelVisible) {\n<bsu-ly-label\n [attr.labelWidth]=\"labelWidth\"\n [attrRtl]\n [class.no-padding]=\"config.Padding[0] === 0\"\n [config]=\"config\"\n [caption]=\"labelCaption\"\n [originalWidth]=\"labelWidth\"\n [style.min-width]=\"\n config.CaptionSetting?.AlignMode === 'AutoSize'\n ? 'auto'\n : isColumnDirection || isColumnReverseDirection\n ? '100%'\n : maxLabelWidth + 'px'\n \"\n [style.width]=\"\n config.CaptionSetting?.AlignMode === 'AutoSize'\n ? 'auto'\n : isColumnDirection || isColumnReverseDirection\n ? '100%'\n : maxLabelWidth + 'px'\n \"\n [isMandatory]=\"isMandatory\"\n [fieldIcon]=\"fieldIcon\"\n [originalXtype]=\"originalXtype\"\n [textVisible]=\"textVisible\"\n [isColumn]=\"isColumnDirection || isColumnReverseDirection\"\n></bsu-ly-label>\n}\n<label [attr.visible]=\"labelVisible\" class=\"horizontal-label\" [innerHtml]=\"emptyText\"></label>\n<bnrc-field-ui\n [attr.xtype]=\"config.FieldUi.originalXtype\"\n [attr.fieldWidth]=\"layoutControlWidth\"\n [attr.isCheckbox]=\"isCheckbox\"\n [style.flex-grow]=\"isCheckbox ? 1 : 0\"\n [class.no-padding]=\"config.Padding[0] === 0\"\n [customField]=\"config.FieldUi\"\n [layoutInfo]=\"config\"\n [inlineEdit]=\"inlineEdit\"\n [formHeight]=\"(formHeight$ | async)!!\"\n [focusControl]=\"focusControl\"\n [isSearchPanel]=\"isSearchPanel\"\n [style.height]=\"isUlv ? '100%' : 'auto'\"\n [attr.isulv]=\"isUlv\"\n></bnrc-field-ui>\n}\n","import { merge, Observable, of } from 'rxjs';\nimport { filter, map, tap } from 'rxjs/operators';\n\nimport {\n CollectionSort,\n TableState,\n GridSetting,\n MetaobjectDataModel,\n ReportViewColumn,\n SortDirection\n} from 'barsa-novin-ray-core';\nimport * as Constants from '../constants';\n\nexport class GridMoDataList {\n items: MetaobjectDataModel[];\n resultItems: MetaobjectDataModel[];\n gridSetting: GridSetting;\n visibleColumns: ReportViewColumn[];\n searchTerm: string;\n data$: Observable<MetaobjectDataModel[]>;\n constructor(\n moDataList$: Observable<MetaobjectDataModel[]>,\n gridSetting$: Observable<GridSetting>,\n visibleColumns$: Observable<ReportViewColumn[]>,\n searchTerm$: Observable<string>\n ) {\n this.data$ = merge(\n moDataList$.pipe(tap((items) => (this.items = items))),\n gridSetting$.pipe(tap((gridSetting) => (this.gridSetting = gridSetting))),\n searchTerm$.pipe(tap((searchTerm) => (this.searchTerm = searchTerm))),\n visibleColumns$.pipe(tap((visibleColumns) => (this.visibleColumns = visibleColumns)))\n ).pipe(\n filter(() => !!this.items),\n map(() =>\n this.searchTerm\n ? searchEx(\n this.searchTerm,\n this.visibleColumns.map((c) => c.Name),\n this.items\n )\n : this.items\n ),\n map(() => (this.gridSetting?.SortSettingList ? sortEx(this.getSortby(), this.items) : this.items)),\n // map((items) => {\n // items.forEach((item) => (item.$Visibility = true));\n // return items;\n // }),\n tap((items) => (this.resultItems = items))\n // tap((items) => console.log(items))\n );\n }\n getSortby(): CollectionSort[] {\n return this.gridSetting.SortSettingList.map((c) => ({\n field: c.Name,\n direction: this.getSortDirection(c.SortDirection),\n isNumber: this.visibleColumns?.find((d) => d.Name === c.Name)?.FieldType === 'عدد'\n })).concat({ field: '$NewInlineMo', direction: SortDirection.DESC, isNumber: false });\n }\n getSortDirection(direction): SortDirection {\n switch (direction) {\n case 'ASC':\n return SortDirection.ASC;\n case 'DESC':\n return SortDirection.DESC;\n }\n return SortDirection.NONE;\n }\n}\n\nexport class GridDataProvider {\n items: MetaobjectDataModel[] = [];\n moDataList$: Observable<MetaobjectDataModel[]>;\n totalItems = 0;\n lastState: TableState;\n constructor(moDataList: MetaobjectDataModel[]) {\n this.items = moDataList;\n }\n fetch(tableState: TableState): Observable<MetaobjectDataModel[]> {\n this.lastState = tableState;\n return this.getMoDataList(tableState);\n }\n private getMoDataList(tableState: TableState): Observable<any[]> {\n this.totalItems = this.items.length;\n return of(this.items).pipe(\n map((items) => (tableState.searchInput ? search(tableState, items) : items)),\n map((items) => (tableState.sortBy ? sort(tableState, items) : items))\n );\n }\n}\nconst sort = ({ sortBy }: TableState, moDataList: MetaobjectDataModel[]): MetaobjectDataModel[] =>\n sortEx(sortBy, moDataList);\n\nconst sortEx = (\n sortBy: { field: string | null; direction: string; isNumber?: boolean }[],\n moDataList: MetaobjectDataModel[]\n): MetaobjectDataModel[] => {\n const items = moDataList.slice();\n\n const newSortBy = sortBy.filter(({ field }) => !!field);\n\n if (newSortBy.length === 0) {\n return items;\n }\n\n return items.sort(\n (a, b) =>\n /* eslint-disable */\n newSortBy\n .map(({ field, direction, isNumber }) => {\n const ascModifier = direction === SortDirection.ASC ? 1 : -1;\n return Constants.sort(a, b, field, isNumber) * ascModifier;\n })\n .find((result, index, list) => result !== 0 || index === list.length - 1)!\n );\n};\nconst search = ({ searchInput, columns }: TableState, items: MetaobjectDataModel[]): MetaobjectDataModel[] => {\n return searchEx(searchInput?.text, columns, items);\n};\nconst searchEx = (searchTerm, columns: string[], items: MetaobjectDataModel[]): MetaobjectDataModel[] => {\n const searchText = searchTerm || '';\n const keysToSearchBy = columns;\n\n if (searchText.trim() === '' || keysToSearchBy.length === 0) {\n return items;\n }\n return items.filter((item) => {\n const valuesForSearch = keysToSearchBy.map((key) => Constants.getNestedValue(key, item));\n return valuesForSearch\n .filter((value) => !!value)\n .map((value): string => value.toString())\n .some((value) => value.toLocaleLowerCase().includes(searchText.toLocaleLowerCase()));\n });\n};\n","import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\r\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, OnInit, Output } from '@angular/core';\r\nimport { BaseComponent, ColumnInfoType } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bsu-ui-grid-columns',\r\n templateUrl: './ui-grid-columns.component.html',\r\n styleUrls: ['./ui-grid-columns.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class UiGridColumnsComponent extends BaseComponent implements OnInit, OnChanges {\r\n @Input() columns: ColumnInfoType[];\r\n @Output() columnsChange = new EventEmitter<ColumnInfoType[]>();\r\n @Input() selectedColumns = 0;\r\n\r\n onDropColumn(columns: ColumnInfoType[], event: CdkDragDrop<ColumnInfoType[]>): void {\r\n moveItemInArray(columns, event.previousIndex, event.currentIndex);\r\n this.columnsChange.emit(columns);\r\n }\r\n\r\n onChangeColumnHidden(column): void {\r\n const selectedColIndex = this.columns.findIndex((c) => c.Name === column.Name);\r\n if (selectedColIndex > -1) {\r\n const existColumn = this.columns[selectedColIndex];\r\n this.columns[selectedColIndex] = { ...existColumn, Hidden: !existColumn.Hidden };\r\n }\r\n this.columnsChange.emit(this.columns);\r\n }\r\n trackByMethod(index: number, column): string {\r\n return column.Name;\r\n }\r\n}\r\n","<h3>{{ 'Select All (' + selectedColumns + '/' + columns.length + ')' }}</h3>\n<ul\n fd-list\n [selection]=\"true\"\n cdkDropList\n cdkDropListOrientation=\"vertical\"\n (cdkDropListDropped)=\"onDropColumn(columns, $event)\"\n >\n @for (column of columns; track trackByMethod($index, column)) {\n <li\n cdkDrag\n fd-list-item\n [selected]=\"!column.Hidden\"\n (click)=\"onChangeColumnHidden(column)\"\n >\n <fd-checkbox [ngModel]=\"!column.Hidden\"></fd-checkbox>\n <span fd-list-title>\n {{ column.Caption }}\n @if (column.IsMandatory) {\n <strong>*</strong>\n }\n </span>\n </li>\n }\n</ul>\n","import { ChangeDetectionStrategy, Component, OnInit, ViewChild } from '@angular/core';\r\nimport { DialogRef } from '@fundamental-ngx/core';\r\n\r\nimport { BaseUlvSettingComponent, GridSetting, ReportViewColumn } from 'barsa-novin-ray-core';\r\nimport { UiGridColumnsComponent } from '../ui-grid-columns/ui-grid-columns.component';\r\n@Component({\r\n selector: 'bsu-ulv-column-settings',\r\n templateUrl: './ulv-column-settings.component.html',\r\n styleUrls: ['./ulv-column-settings.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class UlvColumnSettingsComponent extends BaseUlvSettingComponent implements OnInit {\r\n @ViewChild(UiGridColumnsComponent)\r\n gridColumnsComponent: UiGridColumnsComponent;\r\n columns: ReportViewColumn[];\r\n searchTerm = '';\r\n constructor(private dialogRef: DialogRef) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.context = this.dialogRef.data.context;\r\n super.ngOnInit();\r\n this.columns = this.allColumns;\r\n }\r\n onColumnsChange(columns): void {\r\n this.columns = [...columns];\r\n }\r\n onSearchSubmit(): void {\r\n const filterText = this.searchTerm;\r\n this.columns = this.allColumns.filter((c) => c.Caption.indexOf(filterText) > -1);\r\n }\r\n onReset(): void {\r\n this.columns = this.allColumns.map((c) => ({ ...c, Hidden: false, Width: 0 }));\r\n }\r\n getSettings(): GridSetting {\r\n const colList = this.columns;\r\n const settings = super.getSettings();\r\n settings.ColSettingList = colList.map((c) => ({\r\n IsHidden: c.Hidden,\r\n Name: c.Name,\r\n Width: c.Width,\r\n Caption: c.Caption\r\n }));\r\n return settings;\r\n }\r\n close(setting: any = null): void {\r\n this.dialogRef.close(setting);\r\n }\r\n}\r\n","<!--this commit is for test some github ability not more-->\r\n\r\n<fd-dialog>\r\n <fd-dialog-header>\r\n <ng-template fdkTemplate=\"header\">\r\n <div fd-bar-left>\r\n <fd-bar-element>\r\n <h4 fd-title [headerSize]=\"4\">\r\n {{ 'Columns' | bbbTranslate }}\r\n </h4>\r\n </fd-bar-element>\r\n </div>\r\n <div fd-bar-right>\r\n <fd-bar-element>\r\n <button\r\n fd-button\r\n [label]=\"'Reset' | bbbTranslate\"\r\n [fdType]=\"'transparent'\"\r\n (click)=\"onReset()\"\r\n ></button>\r\n </fd-bar-element>\r\n </div>\r\n </ng-template>\r\n </fd-dialog-header>\r\n <fd-dialog-body class=\"setting-wrapper\">\r\n <fd-input-group\r\n type=\"search\"\r\n glyph=\"search\"\r\n [glyphAriaLabel]=\"'EnterSearchCriteria' | bbbTranslate\"\r\n [placeholder]=\"'EnterSearchCriteria' | bbbTranslate\"\r\n [button]=\"true\"\r\n [disabled]=\"false\"\r\n [(ngModel)]=\"searchTerm\"\r\n (addOnButtonClicked)=\"onSearchSubmit()\"\r\n >\r\n </fd-input-group>\r\n\r\n <bsu-ui-grid-columns\r\n [selectedColumns]=\"columns | filter: { Hidden: false } | listCount\"\r\n [columns]=\"columns\"\r\n (columnsChange)=\"onColumnsChange($event)\"\r\n #gridColumnsRef\r\n ></bsu-ui-grid-columns>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <fd-dialog-footer-button>\r\n <button fd-button fdType=\"emphasized\" (click)=\"onOkClick()\" [label]=\"'OK' | bbbTranslate\"></button>\r\n </fd-dialog-footer-button>\r\n <fd-dialog-footer-button>\r\n <button fd-button (click)=\"onCancelSettings()\" [label]=\"'Cancel' | bbbTranslate\"></button>\r\n </fd-dialog-footer-button>\r\n </fd-dialog-footer>\r\n</fd-dialog>\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n HostBinding,\r\n Input,\r\n OnInit,\r\n Output,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport { BaseComponent, ReportViewColumn, SortSetting } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bsu-ui-grid-sort-item',\r\n templateUrl: './ui-grid-sort-item.component.html',\r\n styleUrls: ['./ui-grid-sort-item.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class UiGridSortItemComponent extends BaseComponent implements OnInit {\r\n @Output() add = new EventEmitter();\r\n @Output() remove = new EventEmitter();\r\n @Output() changeSetting = new EventEmitter();\r\n @Input() showGroups: boolean;\r\n @Input() sortItem: SortSetting;\r\n @Input() sortDirections: { text: string; value: string }[];\r\n @Input() columns: ReportViewColumn[];\r\n @Input() isFirst: boolean;\r\n @HostBinding('class.ulv-sort-item-settings') sortItemClass = true;\r\n caption: string | undefined;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.caption = this.columns.find((c) => c.Name === this.sortItem.Name)?.Caption;\r\n }\r\n onColumnChange(name): void {\r\n this.sortItem.Name = name;\r\n this.changeSetting.emit();\r\n }\r\n onDirectionChange(direction): void {\r\n this.sortItem.SortDirection = direction;\r\n this.changeSetting.emit();\r\n }\r\n setSelectedColumn(name: string): void {\r\n this.sortItem.Name = name;\r\n }\r\n setSelectedDirection(direction: string): void {\r\n this.sortItem.SortDirection = direction;\r\n }\r\n}\r\n","<div class=\"sort-select\">\n <fd-select (valueChange)=\"onColumnChange($event)\" [value]=\"sortItem.Name\">\n @for (column of columns; track column) {\n <fd-option [value]=\"column.Name\">{{ column.Caption }}</fd-option>\n }\n </fd-select>\n\n @if (!showGroups) {\n <fd-select (valueChange)=\"onDirectionChange($event)\" [value]=\"sortItem.SortDirection\">\n @for (item of sortDirections; track item) {\n <fd-option [value]=\"item.value\">{{ item.text }}</fd-option>\n }\n </fd-select>\n }\n</div>\n<div class=\"sort-buttons\">\n <button fd-button glyph=\"sys-cancel\" fdType=\"transparent\" (click)=\"this.remove.emit()\"></button>\n <button fd-button glyph=\"add\" fdType=\"transparent\" (click)=\"this.add.emit()\"></button>\n</div>\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n QueryList,\r\n SimpleChanges,\r\n ViewChildren\r\n} from '@angular/core';\r\n\r\nimport { BaseComponent, SortSetting, BbbTranslatePipe, ReportViewColumn } from 'barsa-novin-ray-core';\r\nimport { UiGridSortItemComponent } from '../ui-grid-sort-item/ui-grid-sort-item.component';\r\n\r\n@Component({\r\n selector: 'bsu-ui-grid-sort-setting',\r\n templateUrl: './ui-grid-sort-setting.component.html',\r\n styleUrls: ['./ui-grid-sort-setting.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class UiGridSortSettingComponent extends BaseComponent implements OnInit {\r\n @Input() showGroups: boolean;\r\n @Input() columns: ReportViewColumn[];\r\n @Input() sortSettings: SortSetting[];\r\n\r\n @Output() changeSetting = new EventEmitter();\r\n @ViewChildren(UiGridSortItemComponent)\r\n sortItemsRef: QueryList<UiGridSortItemComponent>;\r\n\r\n sortDirections: any = [];\r\n NONE = 'NONE';\r\n originalSortSettings: SortSetting[];\r\n\r\n constructor(private _cdr: ChangeDetectorRef, private bbbPipe: BbbTranslatePipe) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._initSortSettings(this.sortSettings);\r\n this._initColumns();\r\n this._initSortDirections();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n super.ngOnChanges(changes);\r\n const { sortSettings } = changes;\r\n if (sortSettings && !sortSettings.firstChange) {\r\n this._initSortSettings(sortSettings.currentValue);\r\n this._cdr.detectChanges();\r\n }\r\n }\r\n\r\n onAdd(): void {\r\n this.addNewSortItem();\r\n this.changeSetting.emit();\r\n }\r\n\r\n onRemove(index): void {\r\n const sortItemComponent = this.sortItemsRef.toArray()[index];\r\n if (this.originalSortSettings.length > 1) {\r\n this.originalSortSettings = this.originalSortSettings.filter((item, i) => index !== i);\r\n } else {\r\n sortItemComponent.setSelectedColumn(this.NONE);\r\n sortItemComponent.setSelectedDirection('');\r\n }\r\n this.changeSetting.emit();\r\n }\r\n\r\n addNewSortItem(): void {\r\n this.originalSortSettings = [\r\n ...this.originalSortSettings,\r\n {\r\n Name: this.NONE,\r\n SortDirection: '',\r\n IsGrouped: this.showGroups\r\n }\r\n ];\r\n }\r\n\r\n public getSettings(): SortSetting[] {\r\n const sortItems = this.sortItemsRef\r\n .toArray()\r\n .filter((c) => c.sortItem.Name !== this.NONE)\r\n .map((c) => c.sortItem);\r\n if (!this.showGroups) {\r\n sortItems.forEach((c) => {\r\n const existsItem = this.sortSettings.find((d) => d.Name === c.Name);\r\n if (existsItem) {\r\n existsItem.SortDirection = c.SortDirection;\r\n } else {\r\n this.sortSettings.push(c);\r\n }\r\n });\r\n this.sortSettings = this.sortSettings.filter((c) => {\r\n const existsItem = sortItems.find((d) => d.Name === c.Name);\r\n return existsItem || c.IsGrouped;\r\n });\r\n } else {\r\n sortItems.forEach((c) => {\r\n const existsItem = this.sortSettings.find((d) => d.Name === c.Name);\r\n if (existsItem) {\r\n existsItem.IsGrouped = true;\r\n } else {\r\n this.sortSettings.push(c);\r\n }\r\n });\r\n this.sortSettings.forEach((c) => {\r\n const existsItem = sortItems.find((d) => d.Name === c.Name);\r\n if (!existsItem) {\r\n c.IsGrouped = false;\r\n }\r\n });\r\n }\r\n return this.sortSettings;\r\n }\r\n private _initColumns(): void {\r\n const noneText = this.bbbPipe.transform('None');\r\n this.columns = [\r\n {\r\n Name: this.NONE,\r\n Caption: noneText,\r\n Alias: '',\r\n FieldDefId: '',\r\n FieldType: '',\r\n FieldTypeId: -1,\r\n HasSummary: false,\r\n Hidden: false,\r\n IsLtr: false,\r\n IsPreview: false,\r\n MetaFieldTypeId: '',\r\n Width: 0,\r\n $Width: '0',\r\n Icon: ''\r\n },\r\n ...this.columns\r\n ];\r\n }\r\n private _initSortSettings(sortSettings: SortSetting[]): void {\r\n this.originalSortSettings = sortSettings.map((c) => ({ ...c }));\r\n if (this.showGroups) {\r\n this.originalSortSettings = this.originalSortSettings.filter((c) => c.IsGrouped);\r\n } else {\r\n this.originalSortSettings = this.originalSortSettings.filter((c) => c.SortDirection !== '');\r\n }\r\n\r\n if (this.originalSortSettings.length === 0) {\r\n this.addNewSortItem();\r\n }\r\n }\r\n\r\n private _initSortDirections(): void {\r\n const ascendingText = this.bbbPipe.transform('Ascending');\r\n const descendingText = this.bbbPipe.transform('Descending');\r\n this.sortDirections = [\r\n { text: '', value: '' },\r\n { text: ascendingText, value: 'ASC' },\r\n { text: descendingText, value: 'DESC' }\r\n ];\r\n }\r\n}\r\n","@for (sortItem of originalSortSettings; track sortItem; let i = $index) {\n <bsu-ui-grid-sort-item\n #sortItemsRef\n [isFirst]=\"i === 0\"\n (add)=\"onAdd()\"\n (remove)=\"onRemove(i)\"\n [columns]=\"columns\"\n [sortDirections]=\"sortDirections\"\n [sortItem]=\"sortItem\"\n [style.margin-top.px]=\"i > 0 ? 5 : 0\"\n [showGroups]=\"showGroups\"\n (changeSetting)=\"this.changeSetting.emit()\"\n >\n </bsu-ui-grid-sort-item>\n}\n","import { ChangeDetectionStrategy, Component, OnInit, ViewChild } from '@angular/core';\r\nimport { DialogRef } from '@fundamental-ngx/core';\r\n\r\nimport { BaseUlvSettingComponent, GridSetting } from 'barsa-novin-ray-core';\r\nimport { UiGridSortSettingComponent } from '../ui-grid-sort-setting/ui-grid-sort-setting.component';\r\n@Component({\r\n selector: 'bsu-ulv-sort-settings',\r\n templateUrl: './ulv-sort-settings.component.html',\r\n styleUrls: ['./ulv-sort-settings.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class UlvSortSettingsComponent extends BaseUlvSettingComponent implements OnInit {\r\n @ViewChild(UiGridSortSettingComponent)\r\n ulvSortSetting: UiGridSortSettingComponent;\r\n constructor(private dialogRef: DialogRef) {\r\n super();\r\n }\r\n ngOnInit(): void {\r\n this.context = this.dialogRef.data.context;\r\n super.ngOnInit();\r\n }\r\n onReset(): void {\r\n this.sortSettings = this.sortSettings.filter((c) => c.IsGrouped);\r\n }\r\n getSettings(): GridSetting {\r\n const sortSetting = this.ulvSortSetting.getSettings();\r\n const settings = super.getSettings();\r\n settings.SortSettingList = sortSetting;\r\n return settings;\r\n }\r\n close(setting: any = null): void {\r\n this.dialogRef.close(setting);\r\n }\r\n}\r\n","<fd-dialog>\r\n <fd-dialog-header>\r\n <ng-template fdkTemplate=\"header\">\r\n <div fd-bar-left>\r\n <fd-bar-element>\r\n <h4 fd-title [headerSize]=\"4\">\r\n {{ 'Columns' | bbbTranslate }}\r\n </h4>\r\n </fd-bar-element>\r\n </div>\r\n <div fd-bar-right>\r\n <fd-bar-element>\r\n <button\r\n fd-button\r\n [label]=\"'Reset' | bbbTranslate\"\r\n [fdType]=\"'transparent'\"\r\n (click)=\"onReset()\"\r\n ></button>\r\n </fd-bar-element>\r\n </div>\r\n </ng-template>\r\n </fd-dialog-header>\r\n <fd-dialog-body class=\"setting-wrapper\">\r\n <bsu-ui-grid-sort-setting [columns]=\"allColumns\" [sortSettings]=\"sortSettings\"></bsu-ui-grid-sort-setting>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <fd-dialog-footer-button>\r\n <button fd-button fdType=\"emphasized\" (click)=\"onOkClick()\" [label]=\"'OK' | bbbTranslate\"></button>\r\n </fd-dialog-footer-button>\r\n <fd-dialog-footer-button>\r\n <button fd-button (click)=\"onCancelSettings()\" [label]=\"'Cancel' | bbbTranslate\"></button>\r\n </fd-dialog-footer-button>\r\n </fd-dialog-footer>\r\n</fd-dialog>\r\n","import { ChangeDetectionStrategy, Component, OnInit, ViewChild } from '@angular/core';\r\nimport { DialogRef } from '@fundamental-ngx/core';\r\n\r\nimport { BaseUlvSettingComponent, GridSetting } from 'barsa-novin-ray-core';\r\nimport { UiGridSortSettingComponent } from '../ui-grid-sort-setting/ui-grid-sort-setting.component';\r\n@Component({\r\n selector: 'bsu-ulv-groupby-settings',\r\n templateUrl: './ulv-groupby-settings.component.html',\r\n styleUrls: ['./ulv-groupby-settings.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class UlvGroupbySettingsComponent extends BaseUlvSettingComponent implements OnInit {\r\n @ViewChild(UiGridSortSettingComponent)\r\n ulvSortSetting: UiGridSortSettingComponent;\r\n constructor(private dialogRef: DialogRef) {\r\n super();\r\n }\r\n ngOnInit(): void {\r\n this.context = this.dialogRef.data.context;\r\n super.ngOnInit();\r\n }\r\n onReset(): void {\r\n this.sortSettings = this.sortSettings.map((c) => ({ ...c, IsGrouped: false }));\r\n }\r\n getSettings(): GridSetting {\r\n const sortSetting = this.ulvSortSetting.getSettings();\r\n const settings = super.getSettings();\r\n settings.SortSettingList = sortSetting;\r\n return settings;\r\n }\r\n close(setting: any = null): void {\r\n this.dialogRef.close(setting);\r\n }\r\n}\r\n","<fd-dialog>\r\n <fd-dialog-header>\r\n <ng-template fdkTemplate=\"header\">\r\n <div fd-bar-left>\r\n <fd-bar-element>\r\n <h4 fd-title [headerSize]=\"4\">\r\n {{ 'Columns' | bbbTranslate }}\r\n </h4>\r\n </fd-bar-element>\r\n </div>\r\n <div fd-bar-right>\r\n <fd-bar-element>\r\n <button\r\n fd-button\r\n [label]=\"'Reset' | bbbTranslate\"\r\n [fdType]=\"'transparent'\"\r\n (click)=\"onReset()\"\r\n ></button>\r\n </fd-bar-element>\r\n </div>\r\n </ng-template>\r\n </fd-dialog-header>\r\n <fd-dialog-body class=\"setting-wrapper\">\r\n <bsu-ui-grid-sort-setting\r\n [columns]=\"allColumns\"\r\n [sortSettings]=\"sortSettings\"\r\n [showGroups]=\"true\"\r\n ></bsu-ui-grid-sort-setting>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <fd-dialog-footer-button>\r\n <button fd-button fdType=\"emphasized\" (click)=\"onOkClick()\" [label]=\"'OK' | bbbTranslate\"></button>\r\n </fd-dialog-footer-button>\r\n <fd-dialog-footer-button>\r\n <button fd-button (click)=\"onCancelSettings()\" [label]=\"'Cancel' | bbbTranslate\"></button>\r\n </fd-dialog-footer-button>\r\n </fd-dialog-footer>\r\n</fd-dialog>\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\n\r\nimport { BaseComponent, ReportViewColumn, FormSetting, FormComponent } from 'barsa-novin-ray-core';\r\n@Component({\r\n selector: 'bsu-ui-grid-filter-item',\r\n templateUrl: './ui-grid-filter-item.component.html',\r\n styleUrls: ['./ui-grid-filter-item.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class UiGridFilterItemComponent extends BaseComponent implements OnInit {\r\n @ViewChild(FormComponent) formComponent: FormComponent;\r\n @Output() add = new EventEmitter();\r\n @Output() remove = new EventEmitter();\r\n @Input() formPanelCtrlr: FormSetting;\r\n @Input() columns: ReportViewColumn[];\r\n @Input() selectedColumnName: string;\r\n @Input() selectedColumn: ReportViewColumn | undefined;\r\n allConditions = [\r\n 'contains',\r\n 'equal to',\r\n 'between',\r\n 'starts with',\r\n 'ends with',\r\n 'less than',\r\n 'less than or equal to',\r\n 'greater than or equal to',\r\n 'empty'\r\n ];\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n const fieldCtrlr = this.formPanelCtrlr.GetControlByName(this.selectedColumnName);\r\n fieldCtrlr.SetVisible(true);\r\n this._setSelectedColumn();\r\n }\r\n onColumnChange(name): void {\r\n this.selectedColumnName = name;\r\n this._setSelectedColumn();\r\n this.columns.forEach((c) => {\r\n const columnFieldCtrlr = this.formPanelCtrlr.GetControlByName(c.Name);\r\n columnFieldCtrlr.SetVisible(false);\r\n });\r\n\r\n const fieldCtrlr = this.formPanelCtrlr.GetControlByName(name);\r\n fieldCtrlr.SetVisible(true);\r\n }\r\n onConditionChange(): void {}\r\n protected _setSelectedColumn(): void {\r\n this.selectedColumn = this.columns.find((c) => c.Name === this.selectedColumnName);\r\n }\r\n}\r\n","<div class=\"sort-select\">\n <fd-select (valueChange)=\"onColumnChange($event)\" [value]=\"selectedColumn?.Name\">\n @for (column of columns; track column) {\n <fd-option [value]=\"column.Name\">{{ column.Caption }}</fd-option>\n }\n </fd-select>\n <div class=\"spacer\"></div>\n <fd-select (valueChange)=\"onConditionChange()\">\n @for (item of allConditions; track item) {\n <fd-option [value]=\"item\">{{ item }}</fd-option>\n }\n </fd-select>\n <button fd-button glyph=\"decline\" fdType=\"transparent\" style=\"visibility: hidden\"></button>\n</div>\n<div class=\"sort-buttons\">\n <bnrc-form [formPanelCtrl]=\"formPanelCtrlr\"></bnrc-form>\n <button fd-button glyph=\"decline\" fdType=\"transparent\" (click)=\"this.remove.emit()\"></button>\n</div>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BaseComponent } from 'barsa-novin-ray-core';\nimport { BusyIndicatorSize } from '@fundamental-ngx/core';\n@Component({\n selector: 'bsu-mask',\n templateUrl: './mask.component.html',\n styleUrls: ['./mask.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class MaskComponent extends BaseComponent {\n // ['s', 'm', 'l']\n @Input() size: BusyIndicatorSize = 'm';\n @Input() top: string | undefined;\n}\n","<!-- <ui5-busyindicator active size=\"Medium\" ></ui5-busyindicator> -->\n\n<fd-busy-indicator [style.top]=\"top ?? '20%'\" [loading]=\"true\" [size]=\"size\"></fd-busy-indicator>\n","import { ChangeDetectionStrategy, Component, Input, OnInit, QueryList, ViewChildren } from '@angular/core';\r\n\r\nimport {\r\n BaseComponent,\r\n ReportViewColumn,\r\n GeneralControlInfoModel,\r\n createFormPanelMetaConditions\r\n} from 'barsa-novin-ray-core';\r\nimport { UiGridFilterItemComponent } from '../ui-grid-filter-item/ui-grid-filter-item.component';\r\n\r\n@Component({\r\n selector: 'bsu-ui-grid-filter-settings',\r\n templateUrl: './ui-grid-filter-settings.component.html',\r\n styleUrls: ['./ui-grid-filter-settings.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class UiGridFilterSettingsComponent extends BaseComponent implements OnInit {\r\n @ViewChildren(UiGridFilterItemComponent)\r\n filterItemList: QueryList<UiGridFilterItemComponent>;\r\n @Input() sortDirections;\r\n @Input() typeDefId: string;\r\n @Input() selectedColumnName: string;\r\n @Input() filters: { [key: string]: any }[] = [];\r\n @Input() columns: ReportViewColumn[];\r\n @Input() controlsInfo: GeneralControlInfoModel[];\r\n listOfFormPanelCtrlr: any = [];\r\n addingForm: boolean;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.filters.forEach((filter) => {\r\n const key = Object.keys(filter)[0];\r\n const fmc = createFormPanelMetaConditions(this.typeDefId, this.controlsInfo, key, filter[key]);\r\n this.listOfFormPanelCtrlr.push(fmc);\r\n });\r\n if (this.listOfFormPanelCtrlr.length === 0) {\r\n this._createNewForm();\r\n }\r\n }\r\n\r\n onAdd(): void {\r\n this._createNewForm();\r\n }\r\n onRemove(index): void {\r\n const filterItem = this.filterItemList.get(index);\r\n filterItem?.formPanelCtrlr.Destroy();\r\n this.listOfFormPanelCtrlr.splice(index, 1);\r\n }\r\n\r\n public getFilters(): void {\r\n const filters: any = {};\r\n this.filterItemList.toArray().forEach((filterItem) => {\r\n const columnName = filterItem.selectedColumnName;\r\n filters[columnName] = filterItem.formPanelCtrlr.Mo[columnName];\r\n });\r\n return filters;\r\n }\r\n private _createNewForm(): void {\r\n this.addingForm = true;\r\n const fmc = createFormPanelMetaConditions(this.typeDefId, this.controlsInfo, this.selectedColumnName, null);\r\n fmc.LoadAndCreate(null, false, false, () => {\r\n this.columns.forEach((c) => {\r\n const fieldCtrlr = fmc.GetControlByName(c.Name);\r\n fieldCtrlr.SetVisible(false);\r\n });\r\n\r\n this.listOfFormPanelCtrlr.push(fmc);\r\n this.addingForm = false;\r\n });\r\n }\r\n}\r\n","@for (formPanelCtrlr of listOfFormPanelCtrlr; track formPanelCtrlr; let i = $index) {\n <bsu-ui-grid-filter-item\n #sortItemsRef\n [isFirst]=\"i === 0\"\n (remove)=\"onRemove(i)\"\n [columns]=\"columns\"\n [selectedColumnName]=\"selectedColumnName\"\n [formPanelCtrlr]=\"formPanelCtrlr\"\n [style.margin-top.px]=\"i > 0 ? 5 : 0\"\n >\n </bsu-ui-grid-filter-item>\n}\n<div style=\"display: flex\">\n <div class=\"spacer\"></div>\n <button fd-button label=\"Add\" fdType=\"standard\" (click)=\"onAdd()\" [disabled]=\"addingForm\">\n @if (addingForm) {\n <bsu-mask size=\"s\"></bsu-mask>\n }\n </button>\n <button\n style=\"visibility: hidden; pointer-events: none; margin: 0 3px\"\n fd-button\n label=\"Add\"\n fdType=\"standard\"\n ></button>\n</div>\n","import { ChangeDetectionStrategy, Component, OnInit, ViewChild } from '@angular/core';\r\nimport { DialogRef } from '@fundamental-ngx/core';\r\n\r\nimport { BaseUlvSettingComponent, GeneralControlInfoModel } from 'barsa-novin-ray-core';\r\nimport { Observable } from 'rxjs';\r\nimport { UiGridFilterSettingsComponent } from '../ui-grid-filter-settings/ui-grid-filter-settings.component';\r\n@Component({\r\n selector: 'bsu-ulv-filter-settings',\r\n templateUrl: './ulv-filter-settings.component.html',\r\n styleUrls: ['./ulv-filter-settings.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class UlvFilterSettingsComponent extends BaseUlvSettingComponent implements OnInit {\r\n @ViewChild(UiGridFilterSettingsComponent)\r\n gridFilterSettings: UiGridFilterSettingsComponent;\r\n controlsInfo$: Observable<GeneralControlInfoModel[]>;\r\n typeDefId: string;\r\n selectedColumnName: string;\r\n constructor(private dialogRef: DialogRef) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.context = this.dialogRef.data.context;\r\n this.controlsInfo$ = this.dialogRef.data.controlsInfo$;\r\n this.typeDefId = this.dialogRef.data.typeDefId;\r\n this.selectedColumnName = this.dialogRef.data.selectedColumnName;\r\n super.ngOnInit();\r\n }\r\n close(setting: any = null): void {\r\n this.dialogRef.close(setting);\r\n }\r\n onOkClick(): void {\r\n const filters = this.gridFilterSettings.getFilters();\r\n this.close(filters);\r\n }\r\n}\r\n","<fd-dialog>\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h4 fd-title [headerSize]=\"4\">{{ 'Filter' | bbbTranslate }}</h4>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <button fd-button [label]=\"'Reset' | bbbTranslate\" [fdType]=\"'transparent'\"></button>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n <fd-dialog-body class=\"setting-wrapper\">\n @if (controlsInfo$ | async; as controlsInfo) {\n <bsu-ui-grid-filter-settings\n [columns]=\"allColumns\"\n [sortSettings]=\"sortSettings\"\n [controlsInfo]=\"controlsInfo\"\n [typeDefId]=\"typeDefId\"\n [selectedColumnName]=\"selectedColumnName\"\n ></bsu-ui-grid-filter-settings>\n }\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-dialog-footer-button>\n <button fd-button fdType=\"emphasized\" (click)=\"onOkClick()\" [label]=\"'OK' | bbbTranslate\"></button>\n </fd-dialog-footer-button>\n <fd-dialog-footer-button>\n <button fd-button (click)=\"onCancelSettings()\" [label]=\"'Cancel' | bbbTranslate\"></button>\n </fd-dialog-footer-button>\n </fd-dialog-footer>\n</fd-dialog>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n QueryList,\n Renderer2,\n Self,\n ViewChild,\n ViewChildren\n} from '@angular/core';\nimport { ComponentType, Overlay, ScrollStrategy } from '@angular/cdk/overlay';\nimport { BehaviorSubject, combineLatest, Observable, Subject } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, filter, map, takeUntil, tap, withLatestFrom } from 'rxjs/operators';\nimport {\n ContentDensity,\n ContentDensityService,\n DialogConfig,\n DialogService,\n TableComponent,\n ToolbarComponent\n} from '@fundamental-ngx/core';\n\nimport {\n BarsaApi,\n columnsResizedEventArgs,\n DefaultCommandsAccess,\n DeviceSize,\n FormPanelService,\n GetAllColumnsSorted,\n getControlSizeMode,\n getGridSettings,\n LayoutService,\n MetaobjectDataModel,\n PortalService,\n ReportBaseComponent,\n ReportViewColumn,\n UiReportViewBaseSetting,\n UlvMainService,\n ShareButtonsChoiceDef,\n getParentHeight,\n measureText,\n getUniqueId,\n SelectionMode\n} from 'barsa-novin-ray-core';\nimport { LayoutControlComponent } from './layout-control/layout-control.component';\nimport { GridMoDataList } from './models';\nimport { UlvColumnSettingsComponent } from './ulv-column-settings/ulv-column-settings.component';\nimport { UlvSortSettingsComponent } from './ulv-sort-settings/ulv-sort-settings.component';\nimport { UlvGroupbySettingsComponent } from './ulv-groupby-settings/ulv-groupby-settings.component';\nimport { UlvFilterSettingsComponent } from './ulv-filter-settings/ulv-filter-settings.component';\nimport { DOCUMENT } from '@angular/common';\n\n@Component({\n selector: 'bsu-sap-ui-report-base',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SapUiReportBaseComponent<T extends UiReportViewBaseSetting>\n extends ReportBaseComponent\n implements OnInit, OnDestroy\n{\n @ViewChild(TableComponent) tableComponent: TableComponent;\n @ViewChild(ToolbarComponent) toolbarComponent: ToolbarComponent;\n @ViewChildren('tableRows') tableRowsRef: QueryList<ElementRef>;\n @ViewChildren(LayoutControlComponent)\n layoutControlsRef: QueryList<LayoutControlComponent>;\n useLayoutItemTextForControl = false;\n hasSelected$: Observable<boolean>;\n showOkCancelButtons: any;\n parentHeight = 0;\n dialogConfig: DialogConfig = {\n responsivePadding: true,\n verticalPadding: true,\n minWidth: '40rem',\n minHeight: '90vh',\n maxWidth: '100vw',\n maxHeight: '100vh',\n resizable: true\n };\n id = `Report_${getUniqueId(3)}`;\n selectedRowsNumber = {};\n selectAll = false;\n selectionAdapterHandler: {\n scope: any;\n rowselect: any;\n rowdeselect: any;\n beforerowselect: any;\n };\n navigationArrow$: Observable<string>;\n customRowHeight: any;\n rowClick = true;\n cellClick = false;\n deviceName$: Observable<DeviceSize>;\n mobileOrTablet$: Observable<boolean>;\n\n secondaryColumnsSource = new BehaviorSubject<ReportViewColumn[]>([]);\n secondaryColumns$ = this.secondaryColumnsSource.asObservable();\n popin$: Observable<boolean>;\n contentDensity$: Observable<ContentDensity>;\n hasDetailsInRow = false;\n rowActivable = true;\n openOverflowCommands: boolean[] = [];\n containerWidthSource$ = new Subject<number>();\n closeScrollStrategy: ScrollStrategy;\n rowHoverable: boolean;\n selectionMode: SelectionMode;\n columnsCount$: Observable<number>;\n secondaryColumnsCount$: Observable<number>;\n containerWidth$: Observable<number>;\n columns$: Observable<ReportViewColumn[]>;\n gridDataSource: GridMoDataList;\n singleSelection = SelectionMode.SINGLE;\n multipleSelection = SelectionMode.MULTIPLE;\n allowInlineEdit$: Observable<boolean>;\n inlineEditMode$: Observable<boolean>;\n onlyInlineEdit$: Observable<boolean>;\n formPanelCtrlr: any;\n layout$: Observable<any>;\n rtl$: Observable<boolean>;\n reportId: string;\n viewSetting: T;\n disableResponsive$: Observable<boolean>;\n protected _deviceNameSource = new BehaviorSubject<DeviceSize>('desktop');\n private _oldContainer: any;\n private _openOnClick: boolean;\n constructor(\n public el: ElementRef,\n protected _cdr: ChangeDetectorRef,\n protected _overlay: Overlay,\n protected _contentDensityService: ContentDensityService,\n protected _portalService: PortalService,\n protected _dialogService: DialogService,\n protected _ulvMainService: UlvMainService,\n protected _layoutService: LayoutService,\n protected _renderer: Renderer2,\n @Inject(DOCUMENT) protected document,\n @Optional() @Self() protected _formpanelService: FormPanelService\n ) {\n super(_portalService, _ulvMainService);\n this.containerWidth$ = this.containerWidthSource$\n .asObservable()\n .pipe(debounceTime(200), distinctUntilChanged());\n this.deviceName$ = this._deviceNameSource.asObservable();\n this.disableResponsive$ = this.deviceName$.pipe(map((c) => c === 'desktop'));\n this.mobileOrTablet$ = this.deviceName$.pipe(map((device) => device === 'mobile' || device === 'tablet'));\n this._oldContainer = BarsaApi.Ul.ApplicationCtrlr.CurrentSystemAdapter;\n this.closeScrollStrategy = this._overlay.scrollStrategies.close();\n this.contentDensity$ = this._contentDensityService.contentDensity;\n this.secondaryColumnsCount$ = this.secondaryColumns$.pipe(map((columns) => columns.length));\n this.columnsCount$ = this.visibleColumns$.pipe(\n map((columns) => columns.length),\n map((count: number) => {\n const access = BarsaApi.Common.Util.TryGetValue(this.context, 'Setting.Extra.DefaultCommandsAccess');\n if (access?.View) {\n count++;\n }\n return count;\n }),\n map((count: number) => {\n if (this.selectionMode !== 'none') {\n count++;\n }\n return count;\n })\n );\n }\n onResetWorkflowState(mo: MetaobjectDataModel): void {\n mo.$WorkflowState = null;\n this._resetMoDataList();\n }\n\n get _typeDefId(): string {\n return this.context.Setting.Extra.Report.TypeDefId;\n }\n get _inlineEditMode(): boolean {\n return this._ulvMainService.getValueInlineEdit();\n }\n get _allowInlineEdit(): boolean {\n return this._ulvMainService.getAllowInlineEdit();\n }\n get _access(): DefaultCommandsAccess {\n return this.context.Setting?.Extra?.DefaultCommandsAccess;\n }\n set _access(val: DefaultCommandsAccess) {\n if (this.context.Setting.Extra) {\n this.context.Setting.Extra.DefaultCommandsAccess = val;\n } else {\n this.context.Setting.Extra = { DefaultCommandsAccess: val };\n }\n }\n get isCheckList(): boolean {\n return this.context.ViewSetting?.IsCheckList;\n }\n ngOnInit(): void {\n this._setParentHeight();\n this._readViewSetting();\n if (!this._access) {\n this._setDefaultAccess();\n }\n super.ngOnInit();\n this.showOkCancelButtons = this.context.ShowOkCancelButtons;\n this._ulvMainService.layoutInfo$.subscribe((layoutInfo) => {\n if (layoutInfo && layoutInfo.UseLayoutItemTextForControl) {\n this.useLayoutItemTextForControl = true;\n }\n });\n const title = this.viewSetting?.Title;\n if (title) {\n this._ulvMainService.setTitle(title);\n }\n this._ulvMainService.reportId$.subscribe((reportId) => (this.reportId = reportId));\n this._layoutService.setRendered(true);\n this.selectionMode = this.context.ViewSetting?.IsCheckList ? this.multipleSelection : this.singleSelection;\n this._openOnClick = this.viewSetting?.OpenOnClick;\n this.customRowHeight = BarsaApi.Common.Util.TryGetValue(\n this.context.Setting,\n 'Extra.ExtraJsonPropReport.GridRowHeight'\n );\n this.rtl$ = this._portalService.rtl$;\n this.navigationArrow$ = this._portalService.rtl$.pipe(\n map((isRtl) => (isRtl ? 'navigation-left-arrow' : 'navigation-right-arrow'))\n );\n this.allowInlineEdit$ = this._ulvMainService.allowInlineEdit$;\n this.inlineEditMode$ = this._ulvMainService.inlineEditMode$;\n this.onlyInlineEdit$ = this._ulvMainService.onlyInlineEdit$;\n this._ulvMainService.setCanSaveGridSettings(this.viewSetting?.CanSaveGridSetting);\n this.hasSelected$ = this.moDataList$.pipe(map((moList) => moList.some((c) => c.$IsChecked)));\n this.moDataList$ = this.moDataList$.pipe(map((items) => this._mapCartableMo(items)));\n const gridDataSource = new GridMoDataList(\n this.moDataList$,\n this.gridSetting$,\n this.visibleColumns$,\n this.searchTerm$\n );\n\n this.gridDataSource = gridDataSource;\n this.columns$ = combineLatest([this.gridSetting$, this.secondaryColumns$]).pipe(\n map(([_, secondaryColumns]) => {\n const secondaries = secondaryColumns.map((c) => c.Name);\n let columns = GetAllColumnsSorted(this.context).filter((c) => !c.Hidden);\n const groupedColumns = _?.SortSettingList?.filter((c) => c.IsGrouped).map((c) => c.Name);\n if (groupedColumns?.length) {\n columns = columns.filter((c) => groupedColumns.indexOf(c.Name) === -1);\n }\n return columns.filter((c) => secondaries.indexOf(c.Name) === -1);\n }),\n tap((columns) => {\n columns.forEach((c: ReportViewColumn) => {\n c.$CSSClassName = 'column__FieldType' + c.FieldTypeId;\n if (c.FieldTypeId === 38) {\n c.$Width = 'auto';\n }\n if (c.Extra?.IconDisplayTypeEnum === 'Image') {\n c.$Width = '38px';\n } else {\n c.$Width = !BarsaApi.LoginFormData.IsUserLoggedIn // if user is anonymous all column width equals to 100%\n ? '100%'\n : c.Width > 0\n ? c.Width + 'px'\n : '100%';\n }\n });\n })\n );\n this._ulvMainService.inlineEditMode$.pipe(\n withLatestFrom(this.hasSelected$),\n filter(() => this._access.Add !== false)\n );\n this._setContainerWidth();\n }\n ngOnDestroy(): void {\n super.ngOnDestroy();\n if (this._formpanelService) {\n this._formpanelService.destroy();\n }\n }\n onExecuteToolbarButton(e: { itemId: string; options?: any }): void {\n const { itemId, options } = e;\n this._ulvMainService.executeToolbarButton(itemId, options);\n }\n onEditMode(): void {\n this._setInlineEdit(!this._inlineEditMode);\n }\n onSelectNextInlineRecord(mo): void {\n this._selectNextInlineRecord(mo);\n }\n\n onEditFormPanelSave(mo: MetaobjectDataModel): void {\n this._inlineEditSaveFormPanel(mo);\n }\n\n onEditFormPanelCancel(mo: MetaobjectDataModel): void {\n const moDataList = this.moDataList;\n const hasSelected = moDataList.some((c) => c.$IsChecked);\n if (hasSelected) {\n this._inlineEditSaveFormPanel(mo);\n this._setInlineEdit(false);\n }\n }\n onEditFormPanelValueChange(mo: MetaobjectDataModel): void {\n this._inlineFormPanelValueChange(mo);\n }\n onColumnResized(columns: columnsResizedEventArgs): void {\n this._handleColumnsResized(columns);\n }\n onWorkflowShareButtons(e: ShareButtonsChoiceDef): void {\n this._ulvMainService.addWorkflowButtonsInToolbar(e);\n }\n onRowClick($event): void {\n const { mo } = $event;\n if (mo.group || this._inlineEditMode) {\n return;\n }\n const moIndex = this._getIndex(mo);\n this._removeCheckedAll();\n if (!mo.$IsChecked) {\n this._rowCheck(mo, moIndex, true);\n }\n if (this.viewSetting?.DisableShowFormOnDoubleClick) {\n return;\n }\n this._openMo(mo, moIndex);\n }\n\n onUlvCommand($event): void {\n const { mo } = $event;\n const moIndex = this._getIndex(mo);\n this._ulvCommandClicked(mo, moIndex);\n }\n onDeselectAll(): void {\n this._doCheckedAll(false);\n // this.context.fireEvent('rowselect', this.context); // باعث میشود دوبار selectionchange گزارش فراخوانی شود\n }\n onRowCheck($event): void {\n const { mo } = $event;\n const moIndex = this._getIndex(mo);\n if (this._openOnClick) {\n this.onRowClick($event);\n } else {\n this._rowCheck(mo, moIndex);\n }\n }\n onCartableFormClosed({ mo }): void {\n const newMoDataList = this.moDataList;\n const newMoDataList2 = newMoDataList.filter((c) => c.Id !== mo.Id);\n this._resetMoDataList(newMoDataList2);\n this.refreshContextMoDataList(newMoDataList2);\n }\n onExpandClick(mo: MetaobjectDataModel): void {\n mo.$Expanded = !mo.$Expanded;\n this._setVisibility(mo.$Expanded, mo);\n this._resetMoDataList();\n }\n\n onAllCheckbox(checked): void {\n this._doCheckedAll(checked);\n // if (checked) {\n // this.gridDataSource.resultItems.forEach((mo, index) => {\n // this._select(mo, index);\n // });\n // } else {\n // this.gridDataSource.resultItems.forEach((mo, index) => {\n // this._deselect(mo, index);\n // });\n // }\n }\n\n onSortAscending(column): void {\n this._addSortColumn(column.Name, 'ASC');\n }\n\n onSortDescending(column): void {\n this._addSortColumn(column.Name, 'DESC');\n }\n onFilter(selectedColumn): void {\n this._showFilterSetting(selectedColumn);\n }\n\n onColumnSettings(device): void {\n this._openSettings('columns', device);\n }\n\n onSortSettings(device): void {\n this._openSettings('sort', device);\n }\n\n onGroupbySettings(device): void {\n this._openSettings('groupby', device);\n }\n\n onListCheckboxClick($event): void {\n const { mo, index, e } = $event;\n this.onRowCheck({ mo, index, cause: 'singleSelect' });\n e.stopPropagation();\n e.preventDefault();\n }\n\n onListNavigationClick($event): void {\n const { mo, index, e } = $event;\n this.onRowClick({ mo, index });\n e.stopPropagation();\n e.preventDefault();\n }\n onSaveTopForm(mo: MetaobjectDataModel): void {\n const newMoDataList = this.moDataList;\n const existsIndex = newMoDataList.findIndex((c) => c.Id === mo.Id);\n if (existsIndex > -1) {\n newMoDataList[existsIndex] = mo;\n }\n newMoDataList.map((c) => {\n c.$NewInlineMo = undefined;\n c.$IsChecked = false;\n });\n this._resetMoDataList(newMoDataList);\n this.refreshContextMoDataList(newMoDataList);\n }\n onNewTopFormAdd(mo: MetaobjectDataModel): void {\n this._addInlineMoToModataList(mo);\n }\n /* eslint-disable */\n @Input() ShowFormPanelControl = (formpanelCtrlr) => {};\n /* eslint-disable */\n @Input() ForceCloseChild = () => {};\n /* eslint-disable */\n @Input() RefreshFormPanelControl = (formpanelCtrlr) => {};\n\n // protected _inlineEditModeChanged(editMode): void {\n // if (editMode) {\n // const canAdd: boolean = this._access?.Add !== false;\n\n // let selectedMo = this._getSelected();\n // let newMo;\n // if (canAdd !== false && !selectedMo) {\n // this._createNewInlineRecord();\n // return;\n // }\n // // if (!selectedMo && !newMo && this.moDataList.length > 0) {\n // // selectedMo = this.moDataList[0];\n // // }\n // // if (selectedMo) {\n // // const idOfSelectedMo = this._indexOfMo(selectedMo);\n // // selectedMo.$IsChecked = false;\n // // this._createNewInlineRecord(selectedMo);\n // // this._rowCheck(selectedMo, idOfSelectedMo);\n // // }\n // } else {\n // BarsaApi.Ul.ApplicationCtrlr.CurrentSystemAdapter = this._oldContainer;\n // this._setNewInlineMo(null);\n // }\n // }\n // protected _createNewInlineRecord(selectedMo?: MetaobjectDataModel) {\n // const mo = this._inlineEditPrepareNewMo();\n // const formMo = BarsaApi.Common.Merger.FastMerge(mo, selectedMo, { extendedFields: ['Id,$Caption'] });\n // this._setNewInlineMo(formMo);\n // this._select(formMo, -1);\n // }\n protected _resetMoDataList(newMoDataList?: MetaobjectDataModel[]) {\n this._ulvMainService.reSetMoDataList(newMoDataList);\n }\n protected _getWidth(label: string): number {\n const labelWithPadding = measureText(label);\n if (labelWithPadding < 1) {\n return 0;\n }\n return Math.ceil(labelWithPadding);\n }\n protected _setParentHeight() {\n this.parentHeight = getParentHeight(this.el.nativeElement as HTMLElement);\n }\n protected _mapCartableMo(items: MetaobjectDataModel[]) {\n if (!this.viewSetting) {\n return items;\n }\n const { NameSerializeMo, CartableObjectName } = this.viewSetting;\n if (!NameSerializeMo || !CartableObjectName || !items?.length) {\n return items;\n }\n items.forEach((c) => (c[CartableObjectName] = BarsaApi.Ext.decode('{' + c[NameSerializeMo] + '}')));\n return items;\n }\n\n onToolbarCreateNewInlineMo(): void {\n this._createNewInlineMo();\n }\n onCreateNewMo() {\n this._createNewInlineMo(true);\n }\n onMandatory(isMandator: boolean): void {\n this.context.fireEvent('Mandatory', isMandator);\n }\n onUpdateMo(mo: MetaobjectDataModel): void {\n const moDataList = this.moDataList;\n const moIndex = moDataList.findIndex((c) => c.Id === mo.Id);\n if (moIndex > -1) {\n moDataList[moIndex] = mo;\n this._resetMoDataList(moDataList);\n this.refreshContextMoDataList(moDataList);\n }\n }\n onHasDetailsInRow(value: boolean, deviceSize): void {\n this.hasDetailsInRow = value;\n this._deviceSizeChanged(deviceSize);\n }\n onEscapeKey(mo: MetaobjectDataModel): void {\n this._handleCancelInlineEdit(mo);\n }\n private _handleCancelInlineEdit(mo: MetaobjectDataModel): void {\n const moDataList = this.moDataList;\n const moIndex = moDataList.findIndex((c) => c.Id === mo.Id);\n if (moIndex < 0 || !mo.$NewInlineMo) {\n this._doCheckedAll(false);\n return;\n }\n const newMoDataList = moDataList.filter((c) => c.Id !== mo.Id);\n this._resetMoDataList(newMoDataList);\n this.refreshContextMoDataList(newMoDataList);\n }\n private _createNewInlineMo(setChanged = false): void {\n const moDataList = this.moDataList;\n const existInlineMo = moDataList.find((c) => c.$NewInlineMo);\n if (existInlineMo) {\n this._inlineEditSaveFormPanel(existInlineMo);\n }\n const mo = this._inlineReportCreateNewMo(true);\n if (setChanged) {\n mo.$InlineMoChanged = true;\n }\n this.moDataList.forEach((c) => (c.$IsChecked = false));\n this._addInlineMoToModataList(mo, true);\n }\n private _inlineReportCreateNewMo(isChecked: boolean): MetaobjectDataModel {\n return this._ulvMainService.createNewInlineMo(isChecked);\n }\n\n protected _inlineFormPanelValueChange(mo: MetaobjectDataModel): void {\n const newMoDataList = this.moDataList;\n const existMoIndex = newMoDataList.findIndex((c) => c.Id === mo.Id);\n if (existMoIndex > -1) {\n newMoDataList[existMoIndex] = BarsaApi.Common.MetaObjectWeb.CreateMo(mo);\n this._resetMoDataList(newMoDataList);\n this.refreshContextMoDataList(newMoDataList);\n }\n }\n protected _selectNextInlineRecord(mo: MetaobjectDataModel): void {\n const newMoDataList = this.moDataList;\n if (!mo.$NewInlineMo) {\n // select next record\n const existsIndex = newMoDataList.findIndex((c) => c.Id === mo.Id);\n if (existsIndex > -1 && existsIndex + 1 < newMoDataList.length) {\n newMoDataList[existsIndex + 1].$IsChecked = false;\n this._rowCheck(newMoDataList[existsIndex + 1], existsIndex + 1);\n } else {\n newMoDataList.map((c) => {\n c.$NewInlineMo = undefined;\n c.$IsChecked = false;\n });\n this._addInlineMoToModataList(this._inlineReportCreateNewMo(true), true);\n }\n return;\n } else {\n this._createNewInlineMo();\n }\n }\n protected _inlineEditSaveFormPanel(mo: MetaobjectDataModel): void {\n const newMoDataList = this.moDataList;\n if (!mo.$NewInlineMo) {\n return;\n }\n const existsIndex = newMoDataList.findIndex((c) => c.Id === mo.Id);\n if (existsIndex > -1) {\n newMoDataList[existsIndex] = mo;\n }\n newMoDataList.map((c) => {\n c.$NewInlineMo = undefined;\n c.$IsChecked = false;\n });\n\n // this._ulvMainService.createNewInlineMo();\n }\n protected _setDefaultAccess(): void {\n this._access = {\n Add: false,\n AddToList: false,\n Delete: false,\n Edit: false,\n Export: false,\n Print: false,\n Refresh: false,\n RemoveFromList: false,\n View: false\n };\n }\n protected _expandMo(selectedMo: MetaobjectDataModel, expand): void {\n selectedMo.$Expanded = expand;\n selectedMo.$Children?.forEach((child) => {\n this._expandMo(child, expand);\n });\n }\n protected _indexOfId(id): number {\n return this.gridDataSource.resultItems.findIndex((c) => c.Id === id);\n }\n protected _indexOfMo(mo: MetaobjectDataModel): number {\n return this.gridDataSource.resultItems.findIndex((c) => c.Id === mo.Id);\n }\n protected _indexOfSelected(): number {\n return this.gridDataSource.resultItems.findIndex((c) => c.$IsChecked);\n }\n protected _getIndex(mo: MetaobjectDataModel): number {\n return this.moDataList.findIndex((c) => c.Id === mo.Id);\n }\n protected _setInlineEdit(value: boolean): void {\n this._ulvMainService.setInlineEdit(value);\n }\n protected _readViewSetting(): void {\n this.viewSetting = this.context.Setting.ClassNames.CustomUi?.Parameters;\n }\n // protected _moDataListChanged(moDataList: MetaobjectDataModel[]): void {\n // super._moDataListChanged(moDataList);\n // if (this._inlineEditMode) {\n // const checkedMoIndex = moDataList.findIndex((c) => c.$IsChecked);\n\n // if (checkedMoIndex > -1) {\n // const checkedMo = moDataList[checkedMoIndex];\n // if (checkedMo.Id !== this.formPanelCtrlr.Mo.Id) {\n // this._inlineEditorDestroyFormPanelCtrlr();\n // this._inlineEditCreateFormPanelCtrlr(checkedMo, checkedMoIndex);\n // }\n // }\n // }\n // }\n\n protected _setVisibility(\n expand: boolean,\n mo: any //MetaobjectDataModel\n ): void {\n mo.$Children?.forEach((child) => {\n child.$Visibility = expand;\n if (child.$Children) {\n this._setVisibility(expand, child);\n }\n });\n }\n\n // protected _setNewInlineMo(mo: MetaobjectDataModel | null): void {\n // this._ulvMainService.setNewInlineMo(mo);\n // }\n // protected _inlineEditPrepareNewMo(): MetaobjectDataModel {\n // const newMo = getNewMoGridEditor(this.formSetting, this._typeDefId);\n // newMo.Id = getUniqueId(3);\n // if (this._isComposite()) {\n // const relation = BarsaApi.Common.Util.TryGetValue(this.context.Setting, 'Extra.Relation');\n // newMo[relation.ParentFdName] = relation.ParentMoId;\n // }\n // const newMoDataList = [...this.moDataList, newMo as MetaobjectDataModel];\n // this._ulvMainService.reSetMoDataList(newMoDataList);\n // BarsaApi.Ul.ApplicationCtrlr.fireEvent(\n // BarsaApi.Ul.ApplicationCtrlr.EventEnum.GlobalReportMoAdd,\n // this.context,\n // reportEventMoAdd\n // );\n // this.context.fireEvent('RefreshContextMoDataList', newMoDataList);\n // return newMo as MetaobjectDataModel;\n // }\n protected _addInlineMoToModataList(newInlineMo: MetaobjectDataModel, select: boolean = false): void {\n const newMoDataList = [...this.moDataList, { ...newInlineMo, $IsChecked: select }];\n this._resetMoDataList(newMoDataList);\n this.refreshContextMoDataList(newMoDataList);\n }\n\n protected _rowCheck(mo: MetaobjectDataModel, index: number, selected = false): void {\n const editMode = this._inlineEditMode && this._allowInlineEdit;\n if (mo.$IsChecked && !this.isCheckList) {\n return;\n }\n let selectionMode = this.selectionMode;\n if (editMode) {\n selectionMode = SelectionMode.SINGLE;\n }\n const checked = !mo.$IsChecked || selected;\n this.rowHoverable = false;\n if (selectionMode === 'none') {\n return;\n }\n if (checked) {\n if (selectionMode === 'single' && checked) {\n this._doCheckedAll(false);\n }\n if (editMode) {\n if (index !== -1) {\n // this._setNewInlineMo(null);\n this._select(mo, index);\n }\n // TODO\n // this._setValueInlineMo(mo);\n } else {\n this._select(mo, index);\n }\n } else this._deselect(mo, index);\n }\n // protected _setValueInlineMo(mo: MetaobjectDataModel): void {\n // // this.formPanelCtrlr.SetValue({ ...mo, $TypeDefId: this._typeDefId });\n // }\n\n protected _inlineEditorDestroyFormPanelCtrlr(): void {\n // if (this.formPanelCtrlr) {\n // this._formPanelService.destroy();\n // this.formPanelCtrlr.Destroy();\n // this.formPanelCtrlr = null;\n // }\n }\n protected _windowResized(): void {\n this._setContainerWidth();\n this._setParentHeight();\n this._cdr.detectChanges();\n }\n protected _setContainerWidth(): void {\n const el = this.el.nativeElement as HTMLElement;\n this.containerWidthSource$.next(el.offsetWidth);\n }\n\n protected _deviceSizeChanged(deviceSize): void {\n const elNativeElement = this.el.nativeElement as HTMLElement;\n if (this._inlineEditMode) {\n this.secondaryColumnsSource.next([]);\n return;\n }\n\n const gridSize = getControlSizeMode(elNativeElement, deviceSize);\n let deviceName: DeviceSize = 'desktop';\n this.allColumns\n ?.filter((c) => !c.Hidden)\n .forEach((c) => (c.$TextWidth = c.$TextWidth ? c.$TextWidth : this._getWidth(c.Alias) + 10));\n\n const allColumnsWidth = this.allColumns.map((column) =>\n column.$TextWidth && column.Width > column.$TextWidth ? column.Width : column.$TextWidth || column.Width\n );\n const visibleColumns: ReportViewColumn[] = this._visibleColumnsSource.getValue();\n let columnsCount = visibleColumns.length;\n const colWidthSettings = this.gridSettingSource.getValue()?.ColSettingList?.map((c) => c.Width);\n const columnsWidth: number[] = colWidthSettings?.length ? colWidthSettings : allColumnsWidth;\n let sumColWidth = 0;\n if (this.context.ViewSetting?.IsCheckList) {\n sumColWidth += 15;\n }\n if (this.context.Setting?.Extra?.DefaultCommandsAccess?.View) {\n sumColWidth += 32;\n }\n if (this.hasDetailsInRow) {\n sumColWidth += 210;\n }\n const containerWidth = elNativeElement.clientWidth;\n switch (gridSize) {\n case 'l':\n case 'xl':\n deviceName = 'desktop';\n break;\n case 's':\n deviceName = 'mobile';\n columnsCount = 2;\n break;\n case 'm':\n deviceName = 'tablet';\n columnsCount = 4;\n break;\n }\n this._deviceNameSource.next(deviceName);\n\n if (columnsWidth.length > 0 && containerWidth > 0 && deviceSize !== 's') {\n columnsCount = visibleColumns.length;\n columnsWidth.forEach((width: number, index) => {\n if (sumColWidth + width > containerWidth && columnsCount === visibleColumns.length) {\n columnsCount = index;\n }\n sumColWidth += width;\n });\n }\n\n if (visibleColumns.length > 2) {\n if (this.viewSetting?.DisableResponsive || this._deviceNameSource.getValue() === 'desktop') {\n const secColumns = this.secondaryColumnsSource.getValue();\n if (secColumns.length) {\n this.secondaryColumnsSource.next([]);\n }\n return;\n }\n this.secondaryColumnsSource.next(visibleColumns.slice(columnsCount, visibleColumns.length));\n }\n }\n\n protected _openSettings(name, device: DeviceSize): void {\n let component: ComponentType<any> | null = null;\n switch (name) {\n case 'columns':\n component = UlvColumnSettingsComponent;\n break;\n case 'sort':\n component = UlvSortSettingsComponent;\n break;\n case 'groupby':\n component = UlvGroupbySettingsComponent;\n break;\n }\n const config: DialogConfig = {\n ...this.dialogConfig,\n data: { context: this.context },\n mobile: device === 'mobile',\n minWidth: device === 'mobile' ? 'auto' : this.dialogConfig.minWidth,\n minHeight: device === 'mobile' ? 'auto' : this.dialogConfig.minHeight,\n maxHeight: device === 'mobile' ? '100%' : this.dialogConfig.maxHeight,\n maxWidth: device === 'mobile' ? '100%' : this.dialogConfig.maxWidth\n };\n if (component !== null) {\n const dialogRef = this._dialogService.open(component, config);\n dialogRef.afterClosed.pipe(takeUntil(this._onDestroy$)).subscribe((setting) => {\n if (setting) {\n const isSortChanged = name === 'sort' || name === 'groupby';\n this.updateGridSetting(setting, isSortChanged);\n this.context.moDataList = this.gridDataSource.resultItems;\n this._setVisibleColumns();\n }\n });\n }\n }\n protected _showFilterSetting(selectedColumn: ReportViewColumn): void {\n const typeDefId = this._typeDefId;\n const controlsInfo$ = this._ulvMainService.loadMetaConditionsControlInfos(\n typeDefId,\n this.allColumns.map((c) => c.Name)\n );\n const config = {\n ...this.dialogConfig,\n data: {\n controlsInfo$,\n typeDefId,\n selectedColumnName: selectedColumn.Name,\n context: this.context\n }\n };\n const dialogRef = this._dialogService.open(UlvFilterSettingsComponent, config);\n dialogRef.afterClosed.pipe(takeUntil(this._onDestroy$)).subscribe((setting) => {\n if (setting) {\n }\n });\n }\n protected _addSortColumn(name: any, sortDirection: string, isGrouped = false): void {\n const sortItem = {\n Name: name,\n SortDirection: sortDirection,\n IsGrouped: isGrouped\n };\n const settings = getGridSettings(this.context);\n const existSortItemIndex = settings.SortSettingList.findIndex((c) => c.Name === name);\n if (existSortItemIndex > -1) {\n settings.SortSettingList[existSortItemIndex] = sortItem;\n } else {\n settings.SortSettingList.push(sortItem);\n }\n this.updateGridSetting(settings, true);\n }\n}\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n Output,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport { ContentDensity } from '@fundamental-ngx/core';\r\n\r\nimport {\r\n BaseComponent,\r\n DefaultCommandsAccess,\r\n AbbrevationDeviceSize,\r\n DeviceSize,\r\n UiReportViewBase\r\n} from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bsu-ulv-toolbar',\r\n templateUrl: './ulv-toolbar.component.html',\r\n styleUrls: ['./ulv-toolbar.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class UlvToolbarComponent extends BaseComponent implements OnChanges {\r\n @Input() allowGridColumnSort: boolean;\r\n @Input() useLayoutItemTextForControl: boolean;\r\n @Input() enableSearch: boolean;\r\n @Input() hideTitle = false;\r\n @Input() title: string;\r\n @Input() deviceName: DeviceSize;\r\n @Input() deviceSize: AbbrevationDeviceSize;\r\n @Input() access: DefaultCommandsAccess;\r\n @Input() hideToolbar: boolean;\r\n @Input() toolbarButtons: any[];\r\n @Input() contentDensity: ContentDensity;\r\n @Input() inlineEditMode: boolean;\r\n @Input() allowInlineEdit: boolean;\r\n @Input() gridSetting: any;\r\n @Input() viewCollection: any[];\r\n @Input() reportView: UiReportViewBase;\r\n @Input() inDialog: boolean;\r\n @Input() isMultiSelect: boolean;\r\n\r\n @Input() hasSelected: boolean;\r\n @Input() config: any;\r\n @Input() hidden: boolean;\r\n @Input() buttons: any[];\r\n @Input() moDataListCount: number;\r\n @Output() search = new EventEmitter<string>();\r\n @Output() groupbyClick = new EventEmitter<string>();\r\n @Output() sortClick = new EventEmitter<string>();\r\n @Output() columnClick = new EventEmitter<string>();\r\n @Output() editModeClick = new EventEmitter();\r\n @Output() viewClick = new EventEmitter<UiReportViewBase>();\r\n @Output() createNewInlineMo = new EventEmitter<void>();\r\n enable: boolean;\r\n constructor(public el: ElementRef) {\r\n super();\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n super.ngOnChanges(changes);\r\n }\r\n\r\n onGroupbySettings(): void {\r\n this.groupbyClick.emit(this.deviceName);\r\n }\r\n onSortSettings(): void {\r\n this.sortClick.emit(this.deviceName);\r\n }\r\n onColumnSettings(): void {\r\n this.columnClick.emit(this.deviceName);\r\n }\r\n onEditMode(): void {\r\n this.editModeClick.emit();\r\n }\r\n onChangeView(view: UiReportViewBase): void {\r\n this.viewClick.emit(view);\r\n }\r\n _trackBy(index, item): string {\r\n return item?.itemId;\r\n }\r\n public identify(index, item): string {\r\n return item.text;\r\n }\r\n}\r\n","@if (!useLayoutItemTextForControl && !hideToolbar) {\n <fd-toolbar\n #toolbar\n [shouldOverflow]=\"deviceSize === 's'\"\n [ngClass]=\"deviceSize\"\n [hasTitle]=\"!hideTitle\"\n [forceOverflow]=\"false\"\n [title]=\"!hideTitle && deviceSize !== 's' ? (title | bbbTranslate) : ''\"\n >\n @if (deviceSize !== 's') {\n <fd-toolbar-spacer fd-toolbar-item></fd-toolbar-spacer>\n }\n @if (!hideToolbar) {\n @for (btn of toolbarButtons; track _trackBy(i, btn); let i = $index) {\n @if (btn !== '-' && btn.Command && !btn.Command.CustomUi && !btn.menu) {\n <button\n fd-button\n fd-toolbar-item\n [attr.fdOverflowPriority]=\"btn.itemId === 'Edit' ? 'always' : btn.Command?.IsBuiltin ? 'low' : 'high'\"\n [ulvCommandHandler]=\"btn\"\n [disable]=\"inlineEditMode && btn.itemId === 'New'\"\n [disabled]=\"btn.Command._isEnable === false ? true : false\"\n [fdType]=\"!btn.Command._isEnable ? 'transparent' : btn.Command.JsonExtraProp?.Design || 'transparent'\"\n [glyph]=\"deviceSize === 's' ? null : btn.Command.JsonExtraProp?.Icon\"\n [title]=\"(btn.Command?.IsBuiltin ? btn.text : '') | bbbTranslate\"\n (click)=\"inlineEditMode && btn.itemId === 'New' && createNewInlineMo.emit()\"\n bodyClick\n >\n @if (!btn.Command.JsonExtraProp?.Icon && !btn.Command?.IsBuiltin && btn.icon) {\n <img\n width=\"16\"\n [src]=\"btn.icon\"\n />\n }\n @if (!btn.hideText || deviceSize === 's') {\n <span>{{ btn.text | bbbTranslate }}</span>\n }\n </button>\n }\n @if ((btn === '-' || btn.type === 'seperator') && deviceName !== 'mobile') {\n <fd-toolbar-separator\n fd-toolbar-item\n ></fd-toolbar-separator>\n }\n @if (btn.menu) {\n <button\n fd-button\n fd-toolbar-item\n [fdMenu]=\"true\"\n [fdType]=\"btn.Command?.IsBuiltin ? 'standard' : 'transparent'\"\n [label]=\"btn.text | bbbTranslate\"\n [ariaLabel]=\"btn.text | bbbTranslate\"\n [fdMenuTrigger]=\"menu\"\n bodyClick\n >\n <fd-menu #menu>\n @for (btnCommand of btn.menu.items; track btnCommand) {\n <li\n fd-menu-item\n [ulvCommandHandler]=\"btnCommand\"\n (click)=\"menu.close()\"\n >\n <div fd-menu-interactive>\n <span fd-menu-title>{{ btnCommand.text | bbbTranslate }}</span>\n </div>\n </li>\n }\n </fd-menu>\n </button>\n }\n @if (btn !== '-' && btn.Command && btn.Command.CustomUi) {\n <bnrc-dynamic-form-toolbaritem\n fd-toolbar-item\n [ulvCommandHandler]=\"btn\"\n [component]=\"btn.Command?.CustomUi\"\n [context]=\"btn\"\n [isEnable]=\"btn.Command?._isEnable\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n bodyClick\n ></bnrc-dynamic-form-toolbaritem>\n }\n }\n <ng-content select=\"[fd-toolbar-item]\"></ng-content>\n @if (allowInlineEdit && access?.Edit) {\n <button\n fd-button\n fd-toolbar-item\n [fdType]=\"inlineEditMode ? 'emphasized' : 'transparent'\"\n [glyph]=\"'edit'\"\n [label]=\"deviceSize === 's' ? ('Inline Edit In List' | bbbTranslate) : ''\"\n (click)=\"onEditMode()\"\n [attr.fdOverflowPriority]=\"'always'\"\n [title]=\"'Inline Edit In List' | bbbTranslate\"\n bodyClick\n ></button>\n }\n @if (gridSetting && gridSetting.Hidden !== true && allowGridColumnSort) {\n @if (deviceSize === 's') {\n <button\n fd-toolbar-item\n fd-button\n [contentDensity]=\"contentDensity\"\n fdType=\"transparent\"\n [attr.fdOverflowPriority]=\"'always'\"\n (click)=\"onGroupbySettings()\"\n [label]=\"'Groups' | bbbTranslate\"\n bodyClick\n ></button>\n <button\n fd-toolbar-item\n fd-button\n [contentDensity]=\"contentDensity\"\n fdType=\"transparent\"\n [attr.fdOverflowPriority]=\"'always'\"\n (click)=\"onSortSettings()\"\n [label]=\"'Sort' | bbbTranslate\"\n bodyClick\n ></button>\n <button\n fd-toolbar-item\n fd-button\n [contentDensity]=\"contentDensity\"\n fdType=\"transparent\"\n [attr.fdOverflowPriority]=\"'always'\"\n (click)=\"onColumnSettings()\"\n [label]=\"'Columns' | bbbTranslate\"\n bodyClick\n ></button>\n }\n @if (deviceSize !== 's') {\n <button\n fd-button\n fd-toolbar-item\n [attr.fdOverflowPriority]=\"'never'\"\n [fdMenu]=\"true\"\n fdType=\"transparent\"\n glyph=\"action-settings\"\n [title]=\"'Settings' | bbbTranslate\"\n [fdMenuTrigger]=\"tableMenuSettings\"\n bodyClick\n ></button>\n }\n <fd-menu #tableMenuSettings>\n <li fd-menu-item>\n <div fd-menu-interactive (click)=\"tableMenuSettings.close(); onColumnSettings()\" bodyClick>\n <fd-menu-addon position=\"before\" glyph=\"action-settings\"></fd-menu-addon>\n <span fd-menu-title>\n {{ 'Columns' | bbbTranslate }}\n </span>\n </div>\n </li>\n <li fd-menu-item>\n <div fd-menu-interactive (click)=\"tableMenuSettings.close(); onSortSettings()\" bodyClick>\n <fd-menu-addon position=\"before\" glyph=\"sort\"></fd-menu-addon>\n <span fd-menu-title>\n {{ 'Sort' | bbbTranslate }}\n </span>\n </div>\n </li>\n <li fd-menu-item>\n <div fd-menu-interactive (click)=\"tableMenuSettings.close(); onGroupbySettings()\" bodyClick>\n <fd-menu-addon position=\"before\" glyph=\"group-2\"></fd-menu-addon>\n <span fd-menu-title>\n {{ 'Groups' | bbbTranslate }}\n </span>\n </div>\n </li>\n </fd-menu>\n }\n @if (viewCollection && viewCollection.length > 1) {\n <fd-split-button\n fd-toolbar-item\n [attr.fdOverflowPriority]=\"deviceSize === 's' ? 'always' : 'low'\"\n [fdType]=\"'transparent'\"\n [mainAction]=\"{\r\n keepMainAction: true,\r\n mainActionTitle: splitBtnTitle\r\n }\"\r\n >\n <fd-menu>\n @for (viewObject of viewCollection; track viewObject) {\n <li fd-menu-item>\n <div fd-menu-interactive (click)=\"onChangeView(viewObject)\">\n <span fd-menu-title>\n <fd-icon [glyph]=\"viewObject.UiComponent.Settings?.Icon\"> </fd-icon>\n </span>\n </div>\n </li>\n }\n </fd-menu>\n </fd-split-button>\n }\n <ng-template #splitBtnTitle>\n <fd-icon [glyph]=\"reportView.UiComponent.Settings?.Icon\"></fd-icon>\n </ng-template>\n <ng-template #splitBtnSettings>\n <fd-icon [glyph]=\"'action-settings'\"></fd-icon>\n </ng-template>\n }\n </fd-toolbar>\n}\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\nimport { UiReportViewBaseSetting } from 'barsa-novin-ray-core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { distinctUntilChanged, takeUntil } from 'rxjs/operators';\r\nimport { SapUiReportBaseComponent } from '../sap-ui-report-base.component';\r\ndeclare type GanttMode = 'day' | 'month' | 'year';\r\n@Component({\r\n selector: 'bsu-ui-gantt-chart',\r\n templateUrl: './ui-gantt-chart.component.html',\r\n styleUrls: ['./ui-gantt-chart.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class UiGanttChartComponent extends SapUiReportBaseComponent<UiReportViewBaseSetting> implements OnInit {\r\n mode$: Observable<GanttMode>;\r\n private _modeSource = new BehaviorSubject<GanttMode>('day');\r\n\r\n ngOnInit(): void {\r\n this.mode$ = this._modeSource.asObservable().pipe(takeUntil(this._onDestroy$), distinctUntilChanged());\r\n super.ngOnInit();\r\n this.context.on({\r\n ModeChange: this._modeChanged.bind(this)\r\n });\r\n }\r\n protected _modeChanged(mode: GanttMode): void {\r\n this._modeSource.next(mode);\r\n }\r\n}\r\n","<ng-container\n *ngTemplateOutlet=\"\n renderContainer;\n context: {\n $implicit: moDataList$ | async,\n allChecked: allChecked$ | async,\n groupby: groupby$ | async,\n isCheckList: context.Setting.View?.IsCheckList,\n columns: columns$ | async,\n columnsCount: columnsCount$ | async,\n allowInlineEdit: allowInlineEdit$ | async,\n inlineEditMode: inlineEditMode$ | async,\n onlyInlineEdit: onlyInlineEdit$ | async,\n secondaryColumns: secondaryColumns$ | async,\n toolbarButtons: (toolbarButtons$ | async)!! | seperatorFix,\n popin: (mobileOrTablet$ | async) || (secondaryColumnsCount$ | async) ? true : false,\n contextMenuItems: menuItems$ | async | contextMenu: context.Setting.View?.IsCheckList,\n conditionalFormats: conditionalFormats$ | async,\n deviceName: deviceName$ | async,\n deviceSize: deviceSize$ | async,\n mobileOrTablet: mobileOrTablet$ | async,\n access: context.Setting.Extra?.DefaultCommandsAccess,\n title: title$ | async,\n rtl: rtl$ | async,\n hideToolbar: hideToolbar$ | async,\n allColumns: allColumns,\n gridSetting: gridSetting$ | async,\n contentDensity: contentDensity$ | async,\n formLayout: layout$ | async,\n hasSelected: hasSelected$ | async,\n showOkCancelButtons: showOkCancelButtons,\n disableOverflowContextMenu: viewSetting?.DisableOverflowContextMenu,\n navigationArrow: navigationArrow$ | async,\n mode: mode$ | async,\n ganttFields: context.Setting.View.GanttFields,\n ganttChartHelper: context._ganttChartHelper\n }\n \"\n></ng-container>\n<ng-template\n #renderContainer\n let-moDataList\n let-allChecked=\"allChecked\"\n let-isCheckList=\"isCheckList\"\n let-columns=\"columns\"\n let-columnsCount=\"columnsCount\"\n let-groupby=\"groupby\"\n let-secondaryColumns=\"secondaryColumns\"\n let-contextMenuItems=\"contextMenuItems\"\n let-conditionalFormats=\"conditionalFormats\"\n let-deviceName=\"deviceName\"\n let-deviceSize=\"deviceSize\"\n let-access=\"access\"\n let-toolbarButtons=\"toolbarButtons\"\n let-popin=\"popin\"\n let-mobileOrTablet=\"mobileOrTablet\"\n let-title=\"title\"\n let-inlineEditMode=\"inlineEditMode\"\n let-allowInlineEdit=\"allowInlineEdit\"\n let-hideToolbar=\"hideToolbar\"\n let-gridSetting=\"gridSetting\"\n let-contentDensity=\"contentDensity\"\n let-formLayout=\"formLayout\"\n let-hasSelected=\"hasSelected\"\n let-showOkCancelButtons=\"showOkCancelButtons\"\n let-disableOverflowContextMenu=\"disableOverflowContextMenu\"\n let-navigationArrow=\"navigationArrow\"\n let-mode=\"mode\"\n let-ganttFields=\"ganttFields\"\n let-ganttChartHelper=\"ganttChartHelper\"\n>\n <bsu-ulv-toolbar\n [hideToolbar]=\"hideToolbar\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [toolbarButtons]=\"toolbarButtons\"\n [gridSetting]=\"gridSetting\"\n [title]=\"title\"\n [hasSelected]=\"hasSelected\"\n [access]=\"access\"\n [contentDensity]=\"contentDensity\"\n [inlineEditMode]=\"false\"\n [allowInlineEdit]=\"false\"\n [moDataListCount]=\"moDataList.length\"\n ></bsu-ulv-toolbar>\n <bsu-gantt-dhtml-chart-view\n [isCheckList]=\"isCheckList\"\n [allChecked]=\"allChecked\"\n [moDataList]=\"moDataList\"\n [access]=\"access\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [navigationArrow]=\"navigationArrow\"\n [title]=\"title\"\n [mobileOrTablet]=\"mobileOrTablet\"\n [contextMenuItems]=\"contextMenuItems\"\n [inlineEditMode]=\"false\"\n [allowInlineEdit]=\"false\"\n [mode]=\"mode\"\n [showOkCancelButtons]=\"showOkCancelButtons\"\n [ganttFields]=\"ganttFields\"\n [ganttChartHelper]=\"ganttChartHelper\"\n (ulvCommandClick)=\"onUlvCommand($event)\"\n (filter)=\"onFilter($event)\"\n (rowClick)=\"onRowClick($event)\"\n (rowCheck)=\"onRowCheck($event)\"\n >\n </bsu-gantt-dhtml-chart-view>\n</ng-template>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\nimport { FieldBaseComponent } from 'barsa-novin-ray-core';\r\n@Component({\r\n selector: 'bsu-ui-mo-info-general-object-ui',\r\n templateUrl: './ui-mo-info-general-object-ui.component.html',\r\n styleUrls: ['./ui-mo-info-general-object-ui.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class UiMoInfoGeneralObjectUiComponent extends FieldBaseComponent {}\r\n","<bnrc-field-ui\n [class.control-disabled]=\"(disableOrReadonly$ | async) === true\"\n class=\"inner-control\"\n [customField]=\"context?._typeComboControl\"\n></bnrc-field-ui>\n<bnrc-field-ui\n [class.control-disabled]=\"(disableOrReadonly$ | async) === true\"\n class=\"inner-control\"\n [customField]=\"context?._objectComboControl\"\n></bnrc-field-ui>\n","import { ChangeDetectionStrategy, Component, OnInit, TemplateRef, ViewChild } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { DialogService } from '@fundamental-ngx/core';\nimport { BaseComponent, BarsaApi, PortalService } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-file-in-dialog',\n templateUrl: './file-in-dialog.component.html',\n styleUrls: ['./file-in-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FileInDialogComponent extends BaseComponent implements OnInit {\n @ViewChild(TemplateRef, { static: true }) dialogTemplate: TemplateRef<any>;\n deviceSize: string;\n constructor(\n private _portalService: PortalService,\n private _domSanitize: DomSanitizer,\n private _dialogService: DialogService\n ) {\n super();\n this._portalService.deviceSize$.subscribe((deviceSize) => {\n this.deviceSize = deviceSize;\n });\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n BarsaApi.Common.File.OpenInDialog = (link, closeCallBack, scope) => {\n const dialogConfig = {\n data: { link: this._domSanitize.bypassSecurityTrustResourceUrl(link) },\n fullscreen: true,\n mobile: this.deviceSize === 's',\n width: this.deviceSize === 's' ? '100%' : '100vw',\n height: this.deviceSize === 's' ? '100%' : '100vh',\n resizable: false\n };\n this._dialogService.open(this.dialogTemplate, dialogConfig).afterClosed.subscribe(() => {\n closeCallBack.call(scope);\n });\n };\n }\n}\n","<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #dialogTemplate>\r\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\r\n <fd-dialog-header>\r\n <button fd-dialog-close-button (click)=\"dialog.dismiss('Close button')\"></button>\r\n </fd-dialog-header>\r\n\r\n <fd-dialog-body>\r\n <iframe [src]=\"dialogConfig.link\" style=\"width: 100%; height: 100%; background-color: white\"></iframe>\r\n </fd-dialog-body>\r\n </fd-dialog>\r\n</ng-template>\r\n","import {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n HostListener,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Renderer2,\r\n SimpleChanges,\r\n ViewChild\r\n} from '@angular/core';\r\n\r\nimport { BaseComponent, BarsaApi } from 'barsa-novin-ray-core';\r\n@Component({\r\n selector: 'bsu-barsa-asp-viewer',\r\n templateUrl: './barsa-asp-viewer.component.html',\r\n styleUrls: ['./barsa-asp-viewer.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class BarsaAspViewerComponent extends BaseComponent implements OnInit, AfterViewInit, OnChanges {\r\n @Input() context: any;\r\n @Input() parentHeight: number;\r\n @Input() isReportPage: boolean;\r\n @ViewChild('form') form: ElementRef<HTMLFormElement>;\r\n @ViewChild('iframe') iframe: ElementRef<HTMLIFrameElement>;\r\n @ViewChild('hidden') hidden: ElementRef<HTMLInputElement>;\r\n\r\n ctrlIsPressed: boolean;\r\n _frameId;\r\n unload: boolean;\r\n\r\n constructor(public el: ElementRef, private renderer: Renderer2, private _cdr: ChangeDetectorRef) {\r\n super();\r\n }\r\n @HostListener('window:keypress', ['event'])\r\n handleKeyDown(event: KeyboardEvent): void {\r\n event && (this.ctrlIsPressed = event.ctrlKey);\r\n }\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.context.on({\r\n Reload: this._reload.bind(this)\r\n });\r\n this._frameId = this.context._frameId;\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n super.ngOnChanges(changes);\r\n const { parentHeight } = changes;\r\n if (parentHeight && !parentHeight.firstChange) {\r\n this._reload();\r\n this._loadIFrame(false);\r\n this._cdr.detectChanges();\r\n }\r\n }\r\n ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n this._reload();\r\n this._loadIFrame();\r\n }\r\n\r\n private _reload(): void {\r\n const basket: any = {};\r\n this.context.fireEvent('RequestForParams', this, basket);\r\n if (!basket.UlvParams) {\r\n return;\r\n }\r\n basket.UlvParams.Height = this.el.nativeElement.offsetHeight;\r\n basket.UlvParams.Width = this.el.nativeElement.offsetWidth;\r\n this._submitForm(basket.UlvParams);\r\n }\r\n private _loadIFrame(handleEvent = true): void {\r\n const iframEl: HTMLIFrameElement = this.iframe.nativeElement;\r\n\r\n if (handleEvent) {\r\n iframEl.addEventListener('load', this._onLoadIfram.bind(this));\r\n }\r\n }\r\n private _unLoadIfram(): void {\r\n this.unload = true;\r\n }\r\n\r\n private _onLoadIfram(): void {\r\n const iframEl: HTMLIFrameElement = this.iframe.nativeElement;\r\n if (this.unload) {\r\n iframEl.removeEventListener('load', this._onLoadIfram);\r\n iframEl.removeEventListener('unload', this._unLoadIfram);\r\n this.unload = false;\r\n this._reload();\r\n return;\r\n }\r\n if (iframEl.contentWindow) {\r\n iframEl.contentWindow.addEventListener('unload', this._unLoadIfram.bind(this));\r\n // console.log('outerHeight',iframEl.contentWindow.outerHeight);\r\n // this.renderer.setStyle(iframEl, 'min-height', `${iframEl.contentWindow.outerHeight}px`);\r\n setTimeout(() => {\r\n this.renderer.setStyle(iframEl, 'min-height', this.el.nativeElement.offsetHeight + 'px');\r\n }, 0);\r\n }\r\n const head = iframEl.contentDocument?.getElementsByTagName('head')[0];\r\n const link1: HTMLLinkElement = this.renderer.createElement('link');\r\n link1.setAttribute('rel', 'stylesheet');\r\n link1.setAttribute('href', '/assets/Resources/fonts/defaultFontFaces.css');\r\n link1.setAttribute('type', 'text/css');\r\n head?.appendChild(link1);\r\n\r\n const link2: HTMLLinkElement = this.renderer.createElement('link');\r\n link2.setAttribute('rel', 'stylesheet');\r\n link2.setAttribute('href', '/Customization/Usercss.css');\r\n link2.setAttribute('type', 'text/css');\r\n head?.appendChild(link2);\r\n }\r\n private _submitForm(params): void {\r\n const form = this.form.nativeElement;\r\n const aspUrl = this.context._aspUrl;\r\n const frameId = this.context._frameId;\r\n form.action =\r\n aspUrl +\r\n '?ReportId=' +\r\n params.FolderId +\r\n '&FrameId=' +\r\n frameId +\r\n '&Language=' +\r\n BarsaApi.BBB.CurrentCulture +\r\n '&CtrlIsPressed=' +\r\n this.ctrlIsPressed;\r\n const value = BarsaApi.Ext.util.JSON.encode(params);\r\n this.hidden.nativeElement.value = escape(value);\r\n form.submit();\r\n }\r\n}\r\n","<form #form method=\"post\" target=\"ppppp\" [name]=\"'frm_' + _frameId\" [id]=\"'frm_' + _frameId\">\n <input #hidden [name]=\"'hidden_' + _frameId\" [id]=\"'hidden_' + _frameId\" type=\"hidden\" />\n</form>\n<iframe #iframe name=\"ppppp\" id=\"ppppp\" class=\"iframe\" src=\"about:blank\"></iframe>\n","import { ChangeDetectionStrategy, Component, Self } from '@angular/core';\r\n\r\nimport { Day, CalendarMonthInfo, CalendarService } from 'barsa-calendar';\r\n\r\nimport { BaseComponent, DateService, getDateService, PortalService } from 'barsa-novin-ray-core';\r\nimport { Observable } from 'rxjs';\r\n@Component({\r\n selector: 'bsu-custom-date-time',\r\n templateUrl: './custom-date-time.component.html',\r\n styleUrls: ['./custom-date-time.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: DateService,\r\n useFactory: getDateService\r\n },\r\n CalendarService\r\n ]\r\n})\r\nexport class CustomDateTimeComponent extends BaseComponent {\r\n selectedDay: Day;\r\n todayIndex = -1;\r\n selectedIndex: any;\r\n calendars: CalendarMonthInfo[];\r\n showEvents: boolean;\r\n width: number;\r\n height: number;\r\n selectedMonth$: Observable<CalendarMonthInfo>;\r\n rtl$: Observable<boolean>;\r\n today: Date;\r\n weekDaysMin: string[];\r\n weekDays: string[];\r\n deviceSize$: Observable<string>;\r\n mode$: Observable<'month' | 'week' | 'day' | 'year' | 'list'>;\r\n selectedWeek$: Observable<number>;\r\n weekModeDays$: Observable<Day[]>;\r\n constructor(@Self() private _calendarService: CalendarService, _portalService: PortalService) {\r\n super();\r\n this.rtl$ = _portalService.rtl$;\r\n this.deviceSize$ = _portalService.deviceSize$;\r\n this.weekDaysMin = this._calendarService.weekDaysMin();\r\n this.weekDays = this._calendarService.weekDays();\r\n this.selectedMonth$ = this._calendarService.selected$;\r\n this.today = this._calendarService.today;\r\n }\r\n}\r\n","<ng-container\r\n *ngTemplateOutlet=\"\r\n month;\r\n context: {\r\n $implicit: selectedMonth$ | async,\r\n width: width,\r\n height: height,\r\n rtl: rtl$ | async,\r\n weekDays: weekDays,\r\n weekDaysMin: weekDaysMin,\r\n today: today,\r\n deviceSize: deviceSize$ | async\r\n }\r\n \"\r\n>\r\n</ng-container>\r\n<ng-template\r\n #month\r\n let-selectedMonth\r\n let-width=\"width\"\r\n let-height=\"height\"\r\n let-rtl=\"rtl\"\r\n let-today=\"today\"\r\n let-showEvents=\"showEvents\"\r\n let-deviceSize=\"deviceSize\"\r\n>\r\n <bc-calendar-month\r\n [style.width]=\"width\"\r\n [containerHeight]=\"height\"\r\n [containerWidth]=\"width\"\r\n [rtl]=\"rtl\"\r\n [weekDays]=\"weekDays\"\r\n [weekDaysMin]=\"weekDaysMin\"\r\n [today]=\"today\"\r\n [datePicker]=\"true\"\r\n [dateRange]=\"false\"\r\n [monthInfo]=\"selectedMonth\"\r\n [deviceSize]=\"deviceSize\"\r\n ></bc-calendar-month>\r\n</ng-template>\r\n","import { ChangeDetectionStrategy, Component, OnInit, TemplateRef, ViewChild } from '@angular/core';\nimport { DialogService } from '@fundamental-ngx/core';\n\nimport { BaseComponent, BarsaApi } from 'barsa-novin-ray-core';\n@Component({\n selector: 'bsu-ui-exception-form',\n templateUrl: './ui-exception-form.component.html',\n styleUrls: ['./ui-exception-form.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiExceptionFormComponent extends BaseComponent implements OnInit {\n @ViewChild('templateRef') templateRef: TemplateRef<any>;\n constructor(private _dialogService: DialogService) {\n super();\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n BarsaApi.Ui.ExceptionForm.IsHandled = true;\n BarsaApi.Ui.ExceptionForm.Show = (text, detail, callback) => {\n this._dialogService.open(this.templateRef, {\n ...{ text, detail, callback },\n responsivePadding: true\n });\n };\n }\n onClose(dialog, dialogConfig): void {\n dialog.close();\n if (dialogConfig.callback) {\n dialogConfig.callback();\n }\n }\n onContinue(dialog, dialogConfig): void {\n dialog.close();\n if (dialogConfig.callback) {\n dialogConfig.callback();\n }\n }\n onLogout(dialog, dialogConfig): void {\n dialog.close();\n if (dialogConfig.callback) {\n dialogConfig.callback();\n }\n BarsaApi.Bw.Logout();\n }\n}\n","<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #templateRef>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\n <fd-dialog-header>\n <h1 fd-title>\n {{ dialogConfig.text }}\n </h1>\n\n <button fd-dialog-close-button (click)=\"onClose(dialog, dialogConfig)\"></button>\n </fd-dialog-header>\n\n <fd-dialog-body style=\"padding: 15px\">\n <div style=\"min-height: 125px\">\n <label fd-label [innerHtml]=\"dialogConfig.detail\"> </label>\n </div>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-dialog-footer-button>\n <button\n fd-button\n fd-dialog-decisive-button\n [fdType]=\"'emphasized'\"\n [label]=\"'Continue' | bbbTranslate\"\n (click)=\"onContinue(dialog, dialogConfig)\"\n ></button>\n </fd-dialog-footer-button>\n <fd-dialog-footer-button>\n <button\n fd-button\n fd-dialog-decisive-button\n [fdType]=\"'standard'\"\n [label]=\"'Copy' | bbbTranslate\"\n [copy]=\"dialogConfig.detail\"\n ></button>\n </fd-dialog-footer-button>\n <fd-dialog-footer-button>\n <button\n fd-button\n fd-dialog-decisive-button\n [fdType]=\"'negative'\"\n [label]=\"'Logout' | bbbTranslate\"\n (click)=\"onLogout(dialog, dialogConfig)\"\n ></button>\n </fd-dialog-footer-button>\n </fd-dialog-footer>\n </fd-dialog>\n</ng-template>\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { BarsaApi, DateHijriService, DateMiladiService, DateService, DateShamsiService } from 'barsa-novin-ray-core';\r\n\r\nconst dateService = (logService): DateService => {\r\n const culture = BarsaApi.LoginFormData.Culture;\r\n switch (culture) {\r\n case 'fa-IR':\r\n return new DateShamsiService(logService);\r\n case 'ar-AE':\r\n return new DateHijriService(logService);\r\n default:\r\n return new DateMiladiService(logService);\r\n }\r\n};\r\n\r\n@Pipe({\r\n name: 'matrixValue'\r\n})\r\nexport class MatrixValuePipe implements PipeTransform {\r\n transform(value: any, valueType: string, uiControl: any): any {\r\n // this.value = (typeof this.value === 'object' && this.value)?this.value?.$Caption : this.value;\r\n // $Caption\r\n if (typeof value === 'undefined' || value === null) {\r\n return '';\r\n }\r\n let newValue;\r\n switch (valueType) {\r\n case 'DateInfo':\r\n newValue = !value ? '' : dateService(null).getDateString(value, true, false);\r\n break;\r\n case 'EnumInfo':\r\n newValue = this.getEnumInfoValue(value, uiControl);\r\n break;\r\n case 'MetaObjectInfo':\r\n newValue = value.$Caption;\r\n break;\r\n case 'BoolInfo':\r\n newValue = value.toString();\r\n break;\r\n default:\r\n newValue = value;\r\n }\r\n return newValue;\r\n }\r\n\r\n private getEnumInfoValue(value, uiControl): string {\r\n // ControlName\r\n let txtValue = '';\r\n uiControl?.FieldUi?.Setting?.DataSource?.Rows?.forEach((row) => {\r\n if (row.id === value) {\r\n txtValue = row.txt;\r\n }\r\n });\r\n return txtValue;\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\n\r\nimport { BaseComponent } from 'barsa-novin-ray-core';\r\nimport { PopoverComponent } from '@fundamental-ngx/core';\r\n\r\n@Component({\r\n selector: 'bsu-column-matrix-renderer',\r\n templateUrl: './column-matrix-renderer.component.html',\r\n styleUrls: ['./column-matrix-renderer.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ColumnMatrixRendererComponent extends BaseComponent implements OnInit {\r\n @ViewChild('popover') popover: PopoverComponent;\r\n @Input() value;\r\n @Input() valueCaption;\r\n @Input() formLayout: any;\r\n @Input() columnCaption: string;\r\n @Input() uiControl: any;\r\n @Input() valueType: string;\r\n @Input() isActive: boolean;\r\n @Input() height: number;\r\n @Output() cellClick = new EventEmitter();\r\n @Output() changeToEdit = new EventEmitter();\r\n\r\n breakValueAnywhere: boolean;\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.breakValueAnywhere = this.valueType === 'IntInfo';\r\n }\r\n\r\n onOpenPopover($event, popoverControlEl): void {\r\n if ($event.buttons === 0 && popoverControlEl.offsetHeight + 5 < popoverControlEl.scrollHeight) {\r\n this.popover.open();\r\n }\r\n }\r\n onEdit(): void {\r\n this.changeToEdit.emit();\r\n }\r\n}\r\n","<ng-container>\n @if (!isActive) {\n <ng-container *ngTemplateOutlet=\"renderGeneral\"></ng-container>\n } @else { @if (uiControl) {\n <bsu-layout-control [caption]=\"valueCaption\" [config]=\"uiControl\" [focusControl]=\"true\" [showLabel]=\"false\">\n </bsu-layout-control>\n } }\n</ng-container>\n\n<ng-template #renderGeneral>\n <div (click)=\"cellClick.emit()\" class=\"render-general\">\n <fd-popover #popover [fillControlMode]=\"'equal'\">\n <fd-popover-control style=\"display: flex; flex-direction: column; justify-content: center; min-width: 100%\">\n <span\n style=\"min-width: 100%; height: inherit\"\n #popoverControlEl\n (keydown.enter)=\"onEdit()\"\n (mouseover)=\"onOpenPopover($event, popoverControlEl)\"\n (mouseleave)=\"popover.close()\"\n [class.break-anywhere]=\"breakValueAnywhere\"\n >{{ value | matrixValue: valueType:uiControl }}</span\n >\n </fd-popover-control>\n <fd-popover-body>\n <span [class.break-anywhere]=\"breakValueAnywhere\">{{ value | matrixValue: valueType:uiControl }}</span>\n </fd-popover-body>\n </fd-popover>\n </div>\n</ng-template>\n","import { Directive, ElementRef, HostBinding, Input, OnChanges, OnInit, Renderer2, SimpleChanges } from '@angular/core';\r\nimport { BaseDirective } from 'barsa-novin-ray-core';\r\n\r\n@Directive({\r\n selector: '[applyConditionalFormats]'\r\n})\r\nexport class ApplyConditionalFormatsDirective extends BaseDirective implements OnInit, OnChanges {\r\n @Input() applyConditionalFormats: {\r\n Cls: string;\r\n Column?: string;\r\n Style: string;\r\n IsCommand: boolean;\r\n Alias: string;\r\n CssClass: string;\r\n }[];\r\n @Input() styleIndex: number[];\r\n @Input() hostEl: any;\r\n @Input() dbName: string;\r\n @HostBinding('style') style = '';\r\n constructor(protected _el: ElementRef, private renderer2: Renderer2) {\r\n super(_el);\r\n }\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._apply();\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { styleIndex } = changes;\r\n if (styleIndex && !styleIndex.firstChange) {\r\n this._apply();\r\n }\r\n }\r\n\r\n private _apply(): void {\r\n const styles = this.applyConditionalFormats;\r\n const htmlElement: HTMLElement =\r\n this.hostEl instanceof HTMLElement\r\n ? this.hostEl\r\n : typeof this.hostEl.elementRef === 'function'\r\n ? this.hostEl.elementRef().nativeElement\r\n : this.hostEl.elementRef.nativeElement;\r\n\r\n styles?.forEach((style) => {\r\n if (style.IsCommand && this.dbName === style.Alias) {\r\n if (htmlElement.classList.contains(style.CssClass)) {\r\n this.renderer2.removeClass(htmlElement, style.CssClass);\r\n }\r\n }\r\n if (style.Style) {\r\n htmlElement.removeAttribute('style');\r\n }\r\n if (style.CssClass) {\r\n this.renderer2.removeClass(this._el.nativeElement, style.CssClass);\r\n }\r\n });\r\n if (!this.styleIndex?.length) {\r\n return;\r\n }\r\n this.styleIndex.forEach((val) => {\r\n styles.forEach((style, index) => {\r\n if (index === val && style.IsCommand) {\r\n if (this.dbName === style.Alias) {\r\n this.renderer2.addClass(this._el.nativeElement, style.CssClass);\r\n }\r\n } else if (val === index && this.dbName) {\r\n if (style.Column === this.dbName) {\r\n this.renderer2.setAttribute(htmlElement, 'style', style.Style);\r\n if (style.CssClass) {\r\n this.renderer2.addClass(htmlElement, style.CssClass);\r\n }\r\n }\r\n } else if (val === index && !style.Column) {\r\n this.renderer2.setAttribute(htmlElement, 'style', style.Style);\r\n if (style.CssClass) {\r\n this.renderer2.addClass(htmlElement, style.CssClass);\r\n }\r\n // htmlElement.style.cssText = style.Style;\r\n }\r\n });\r\n });\r\n }\r\n}\r\n","import {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n ViewChild\r\n} from '@angular/core';\r\nimport {\r\n AbbrevationDeviceSize,\r\n DeviceSize,\r\n EllipsifyDirective,\r\n LayoutSetting,\r\n MetaobjectDataModel,\r\n ReportViewBaseComponent,\r\n ReportViewColumn,\r\n UiReportViewBaseSetting\r\n} from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bsu-ui-matrix-view',\r\n templateUrl: './ui-matrix-view.component.html',\r\n styleUrls: ['./ui-matrix-view.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class UiMatrixViewComponent\r\n extends ReportViewBaseComponent<UiReportViewBaseSetting>\r\n implements OnChanges, OnInit, AfterViewInit\r\n{\r\n @ViewChild('tableHead') tableHead: ElementRef<any>;\r\n @ViewChild(EllipsifyDirective) ellipsifyDirective: EllipsifyDirective;\r\n @Input() deviceSize: AbbrevationDeviceSize;\r\n @Input() deviceName: DeviceSize;\r\n @Input() moDataList: MetaobjectDataModel[];\r\n @Input() columns: ReportViewColumn[];\r\n @Input() formLayout: LayoutSetting;\r\n @Input() conditionalFormat;\r\n @Input() activeCell;\r\n @Input() valueControlFieldCaption: string;\r\n @Input() formTemplate;\r\n @Input() valueType;\r\n @Input() cellWidth;\r\n @Input() cellHeight;\r\n @Input() verticalLabelWidth;\r\n @Input() fitWidth: boolean;\r\n @Input() minWidth;\r\n @Input() minHeight;\r\n @Input() rowResizer;\r\n @Input() enableResizing;\r\n @Output() selectionChange = new EventEmitter<{\r\n value: any;\r\n index: { i: number; j: number };\r\n }>();\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { fitWidth } = changes;\r\n if (fitWidth && !fitWidth.firstChange) {\r\n this.initializeCellsWidth(fitWidth.currentValue, this.cellWidth, this.verticalLabelWidth);\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.moDataList = this.moDataList.filter((mo) => mo.VerticalColumn);\r\n }\r\n onChangeToEdit(i, j): void {\r\n const mo = this.moDataList[i];\r\n const column = this.columns[j];\r\n this.selectionChange.emit({ value: mo[column.Caption], index: { i, j } });\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n this.initializeCellsWidth(this.fitWidth, this.cellWidth, this.verticalLabelWidth);\r\n this.initializeCellsHeight(this.cellHeight);\r\n }\r\n\r\n onSelectionChange({ value, index }): void {\r\n this.selectionChange.emit({ value, index });\r\n // this.ellipsifyDirective.resetDir();\r\n }\r\n\r\n private initializeCellsWidth(fitWidth: boolean, cellWidth, verticalLabelWidth): void {\r\n const el = this._el.nativeElement;\r\n if (!el) {\r\n return;\r\n }\r\n const emptyHeadCell = el.querySelector('th.empty-cell');\r\n this._renderer2.setStyle(emptyHeadCell, 'width', verticalLabelWidth + 'px');\r\n this._renderer2.setStyle(emptyHeadCell, 'min-width', verticalLabelWidth + 'px');\r\n\r\n const headCells = el.querySelectorAll('th:not(.empty-cell)');\r\n if (fitWidth) {\r\n const columnCount = this.columns.length;\r\n const totalWidth = this.tableHead.nativeElement.offsetWidth - verticalLabelWidth;\r\n cellWidth = totalWidth / columnCount;\r\n this._renderer2.addClass(el, 'fit-width');\r\n } else {\r\n this._renderer2.removeClass(el, 'fit-width');\r\n }\r\n this.setWidthAndHeight(headCells, 'width', cellWidth);\r\n this.setWidthAndHeight(headCells, 'min-width', cellWidth);\r\n }\r\n\r\n private initializeCellsHeight(cellHeight): void {\r\n const rows = this._el.nativeElement.querySelectorAll('tr');\r\n rows.forEach((row) => {\r\n this._renderer2.setStyle(row, 'height', cellHeight + 'px');\r\n });\r\n }\r\n\r\n private setWidthAndHeight(els, name: string, value: number): void {\r\n const valueStr = value.toString() + 'px';\r\n if (els?.length > 0) {\r\n els.forEach((tableCell) => {\r\n this._renderer2.setStyle(tableCell, name, valueStr);\r\n });\r\n }\r\n }\r\n}\r\n","<fd-layout-panel>\n <fd-layout-panel-body [bleed]=\"true\">\n <table\n fd-table\n ellipsify\n tableResizer\n [fitWidth]=\"fitWidth\"\n [minWidth]=\"minWidth\"\n [minHeight]=\"minHeight\"\n [VerticalLableVisible]=\"false\"\n [rowResizer]=\"rowResizer\"\n [enableResizing]=\"enableResizing\"\n >\n <thead fd-table-header #tableHead>\n <tr fd-table-row>\n <th fd-table-cell class=\"empty-cell\"></th>\n @for (column of columns; track column) {\n <th fd-table-cell>\n <span>\n {{ column.Caption }}\n </span>\n </th>\n }\n </tr>\n </thead>\n <tbody fd-table-body>\n @if (moDataList?.length) { @for (mo of moDataList; track mo; let i = $index) { @if (mo.VerticalColumn) {\n <tr\n fd-table-row\n #trEl\n [applyConditionalFormats]=\"conditionalFormat\"\n [styleIndex]=\"mo.$StyleIndex ? mo.$StyleIndex : []\"\n [hostEl]=\"trEl\"\n [hoverable]=\"false\"\n [class]=\"'row_' + mo?.VerticalData?.Id\"\n >\n <td fd-table-cell class=\"vertical-label\">\n <span>{{ mo.VerticalColumn }}</span>\n </td>\n @for (column of columns; track column; let j = $index; let first = $first; let last = $last) {\n <td fd-table-cell [hoverable]=\"true\">\n <bsu-column-matrix-renderer\n class=\"column-renderer\"\n (cellClick)=\"onSelectionChange({ value: mo[column.Caption], index: { i: i, j: j } })\"\n [value]=\"mo[column.Caption]\"\n [isActive]=\"i === activeCell?.i && j === activeCell?.j\"\n [formLayout]=\"formLayout\"\n [uiControl]=\"valueControlFieldCaption | controlUi: formLayout\"\n [columnCaption]=\"column.Caption\"\n [valueType]=\"valueType\"\n [height]=\"mo.height\"\n (changeToEdit)=\"onChangeToEdit(i, j)\"\n ></bsu-column-matrix-renderer>\n </td>\n }\n </tr>\n } } }\n </tbody>\n </table>\n </fd-layout-panel-body>\n</fd-layout-panel>\n","import { PipeTransform, Pipe } from '@angular/core';\r\nimport { DynamicPageResponsiveSize } from '@fundamental-ngx/core';\r\n\r\n@Pipe({\r\n name: 'dynamicPageSize'\r\n})\r\nexport class DynamicPageSizePipe implements PipeTransform {\r\n transform(deviceSize: string): DynamicPageResponsiveSize {\r\n switch (deviceSize) {\r\n case 'xl':\r\n return 'extra-large';\r\n case 'l':\r\n return 'large';\r\n case 'm':\r\n return 'medium';\r\n case 's':\r\n return 'small';\r\n }\r\n return 'extra-large';\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { map, takeUntil, tap } from 'rxjs/operators';\r\n\r\nimport {\r\n createGridEditorFormPanel,\r\n FormPanelService,\r\n LayoutSetting,\r\n MetaobjectDataModel,\r\n UiReportViewBaseSetting\r\n} from 'barsa-novin-ray-core';\r\nimport { SapUiReportBaseComponent } from '../sap-ui-report-base.component';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'bsu-ui-editable-grid',\r\n templateUrl: './ui-editable-grid.component.html',\r\n styleUrls: ['./ui-editable-grid.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [FormPanelService]\r\n})\r\nexport class UiEditableGridComponent\r\n extends SapUiReportBaseComponent<UiReportViewBaseSetting>\r\n implements OnInit, OnDestroy\r\n{\r\n valueControlFieldCaption;\r\n valueDbName;\r\n horizontalRows: any[];\r\n activeCell;\r\n valueType;\r\n formLayout: LayoutSetting;\r\n matrixWidthType;\r\n cellWidth = 100;\r\n cellHeight = 38;\r\n verticalLabelWidth = 100;\r\n minWidth = 100;\r\n minHeight = 22;\r\n enableResizing = true;\r\n rowResizer = true;\r\n widthTypeEnum = WidthTypeEnum;\r\n fitWidth = true;\r\n matrixMoList$: Observable<MetaobjectDataModel[]>;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.valueDbName = this.context.Setting.View.ValueDbName;\r\n this.valueType = this.context.valueFieldType;\r\n const formSetting = this.context.Setting.FormTemplate;\r\n // this.formLayout = this.context.Setting.FormTemplate.View.ControlInfo;\r\n this.horizontalRows = this.context.Setting.View.HorizontalColumn;\r\n this.valueControlFieldCaption = this.context.Setting.FormTemplate.View.ControlInfo.find(\r\n (col) => col.ControlName === this.valueDbName\r\n ).ControlFieldCaption;\r\n // there is different between ulv modatalist and viewer datalist. in matrixviewer adapter modatalist transformed.\r\n // so we need tell to ulvmainservice to update modatalist\r\n this._ulvMainService.reSetMoDataList(this.context.moDataList);\r\n\r\n this.matrixMoList$ = this.moDataList$.pipe(\r\n takeUntil(this._onDestroy$),\r\n map((moDataList) => this._matrixMoList(moDataList))\r\n );\r\n\r\n if (!this.formPanelCtrlr) {\r\n this.formPanelCtrlr = createGridEditorFormPanel(\r\n formSetting,\r\n formSetting.Data.Mo,\r\n this._typeDefId,\r\n null\r\n // BarsaApi.Common.Util.TryGetValue(this.context.Setting, 'Extra.Relation')\r\n );\r\n const formPanelCtrlr = this.formPanelCtrlr;\r\n this.formLayout = formPanelCtrlr.Setting.View.Layout94;\r\n\r\n formPanelCtrlr.on({\r\n ValueChange: this._cellValueChange.bind(this)\r\n });\r\n this.formPanelCtrlr.LoadAndCreate(null, false, false, () => {\r\n const customFormPanelUi = formPanelCtrlr.Adapter.Control;\r\n customFormPanelUi.Refresh = () => {};\r\n this._formpanelService.context = formPanelCtrlr.Adapter.Control;\r\n });\r\n }\r\n }\r\n onSave(): void {\r\n this.context.fireEvent(\r\n 'SaveBatchClicked',\r\n this.moDataList.filter((c) => c.$Modified).map((c) => ({ data: c, modified: c.$Modified }))\r\n );\r\n }\r\n onSelectionChange(cellInfo: { value: any; index: { i: number; j: number } }): void {\r\n const { value, index } = cellInfo;\r\n this.activeCell = index;\r\n // const newMo = getNewMoGridEditor(this.context.Setting.FormTemplate, this._typeDefId);\r\n // newMo[this.valueDbName] = value;\r\n\r\n const controlUi = this.formPanelCtrlr.GetFieldlByName(this.valueDbName);\r\n controlUi.SetValue(value);\r\n }\r\n onChangeView(isFit: boolean): void {\r\n this.fitWidth = isFit;\r\n }\r\n\r\n /* eslint-disable */\r\n protected _select(mo, index): MetaobjectDataModel {\r\n return mo;\r\n }\r\n private _matrixMoList(moDataList): MetaobjectDataModel[] {\r\n moDataList.forEach((mo) => {\r\n this.horizontalRows.forEach((col) => {\r\n if (mo[col.Caption] === undefined) {\r\n mo[col.Caption] = null;\r\n }\r\n });\r\n });\r\n return moDataList;\r\n }\r\n private _cellValueChange(sender): void {\r\n const indexI = this.activeCell.i;\r\n const indexJ = this.activeCell.j;\r\n this.moDataList$\r\n .pipe(\r\n takeUntil(this._onDestroy$),\r\n tap((moDataList) => {\r\n moDataList[indexI][this.horizontalRows[indexJ].Caption] = sender.Mo[this.valueDbName];\r\n if (moDataList[indexI].$Modified) {\r\n moDataList[indexI].$Modified[this.horizontalRows[indexJ].Caption] = 1;\r\n } else {\r\n moDataList[indexI].$Modified = { [this.horizontalRows[indexJ].Caption]: 1 };\r\n }\r\n })\r\n )\r\n .subscribe();\r\n }\r\n}\r\nexport enum WidthTypeEnum {\r\n FitWidth = 'ستون های هم عرض',\r\n StaticWidth = 'ستون های با عرض دلخواه'\r\n}\r\n","<ng-container\n *ngTemplateOutlet=\"\n matrixTemplate;\n context: {\n moDataList: matrixMoList$ | async,\n columns: horizontalRows,\n conditionalFormats: conditionalFormats$ | async,\n deviceName: deviceName$ | async,\n deviceSize: deviceSize$ | async,\n title: title$ | async,\n inlineEditMode: inlineEditMode$ | async,\n allowInlineEdit: allowInlineEdit$ | async,\n hideToolbar: hideToolbar$ | async,\n contentDensity: contentDensity$ | async,\n activeCell: activeCell,\n valueControlFieldCaption: valueControlFieldCaption,\n valueType: valueType,\n formSetting: context.Setting.FormTemplate,\n matrixWidthType: matrixWidthType,\n cellWidth: cellWidth,\n verticalLabelWidth: verticalLabelWidth,\n fitWidth: fitWidth,\n access: context.Setting.Extra?.DefaultCommandsAccess,\n hasSelected: hasSelected$ | async,\n containerWidth: containerWidth$ | async,\n formLayout: formLayout\n }\n \"\n></ng-container>\n\n<ng-template\n #matrixTemplate\n let-moDataList=\"moDataList\"\n let-deviceName=\"deviceName\"\n let-deviceSize=\"deviceSize\"\n let-title=\"title\"\n let-inlineEditMode=\"inlineEditMode\"\n let-allowInlineEdit=\"allowInlineEdit\"\n let-hideToolbar=\"hideToolbar\"\n let-contentDensity=\"contentDensity\"\n let-columns=\"columns\"\n let-conditionalFormats=\"conditionalFormats\"\n let-activeCell=\"activeCell\"\n let-valueControlFieldCaption=\"valueControlFieldCaption\"\n let-valueType=\"valueType\"\n let-formSetting=\"formSetting\"\n let-matrixWidthType=\"matrixWidthType\"\n let-cellWidth=\"cellWidth\"\n let-verticalLabelWidth=\"verticalLabelWidth\"\n let-fitWidth=\"fitWidth\"\n let-access=\"access\"\n let-hasSelected=\"hasSelected\"\n let-containerWidth=\"containterWidth\"\n let-formLayout=\"formLayout\"\n>\n <bsu-ulv-toolbar\n [hideToolbar]=\"hideToolbar\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [title]=\"title\"\n [hasSelected]=\"hasSelected\"\n [access]=\"access\"\n [contentDensity]=\"contentDensity\"\n [inlineEditMode]=\"inlineEditMode\"\n [allowInlineEdit]=\"allowInlineEdit\"\n [moDataListCount]=\"moDataList.length\"\n (sortClick)=\"onSortSettings(deviceName)\"\n (editModeClick)=\"onEditMode()\"\n >\n <button\n fd-toolbar-item\n fd-button\n [fdType]=\"'emphasized'\"\n [label]=\"'Save' | bbbTranslate\"\n [glyph]=\"'save'\"\n (click)=\"onSave()\"\n ></button>\n <fd-split-button\n fd-toolbar-item\n [mainAction]=\"{\n keepMainAction: true,\n mainActionTitle: splitBtnTitle\n }\"\n >\n <fd-menu>\n <li fd-menu-item>\n <div fd-menu-interactive (click)=\"onChangeView(true)\">\n <span fd-menu-title>\n {{ widthTypeEnum.FitWidth }}\n </span>\n </div>\n </li>\n <li fd-menu-item>\n <div fd-menu-interactive (click)=\"onChangeView(false)\">\n <span fd-menu-title>\n {{ widthTypeEnum.StaticWidth }}\n </span>\n </div>\n </li>\n </fd-menu>\n </fd-split-button>\n\n <ng-template #splitBtnTitle>\n <span>{{ fitWidth ? widthTypeEnum.FitWidth : widthTypeEnum.StaticWidth }}</span>\n </ng-template>\n </bsu-ulv-toolbar>\n <bsu-ui-matrix-view\n [moDataList]=\"moDataList\"\n [columns]=\"columns\"\n [conditionalFormats]=\"conditionalFormats\"\n [activeCell]=\"activeCell\"\n [valueControlFieldCaption]=\"valueControlFieldCaption\"\n [valueType]=\"valueType\"\n [access]=\"access\"\n [formLayout]=\"formLayout\"\n [matrixWidthType]=\"matrixWidthType\"\n [cellWidth]=\"cellWidth\"\n [cellHeight]=\"cellHeight\"\n [verticalLabelWidth]=\"verticalLabelWidth\"\n [fitWidth]=\"fitWidth\"\n [minWidth]=\"minWidth\"\n [minHeight]=\"minHeight\"\n [rowResizer]=\"rowResizer\"\n [enableResizing]=\"enableResizing\"\n [containerWidth]=\"containerWidth\"\n (selectionChange)=\"onSelectionChange($event)\"\n ></bsu-ui-matrix-view>\n</ng-template>\n","import { AfterViewInit, ChangeDetectionStrategy, Component } from '@angular/core';\n\nimport { UiReportViewBaseSetting } from 'barsa-novin-ray-core';\nimport { SapUiReportBaseComponent } from '../sap-ui-report-base.component';\n\n@Component({\n selector: 'bsu-ui-graph',\n templateUrl: './ui-graph.component.html',\n styleUrls: ['./ui-graph.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiGraphComponent extends SapUiReportBaseComponent<UiReportViewBaseSetting> implements AfterViewInit {\n ngAfterViewInit(): void {\n super.ngAfterViewInit();\n this.context.fireEvent('render', this);\n this.context.Draw(this.id);\n }\n}\n","<div [id]=\"id\"></div>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\n\r\nimport { UiReportViewBaseSetting, LayoutSetting } from 'barsa-novin-ray-core';\r\nimport { SapUiReportBaseComponent } from '../sap-ui-report-base.component';\r\n\r\n@Component({\r\n selector: 'bsu-ui-asp-report-viewer',\r\n templateUrl: './ui-asp-report-viewer.component.html',\r\n styleUrls: ['./ui-asp-report-viewer.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class UiAspReportViewerComponent extends SapUiReportBaseComponent<UiReportViewBaseSetting> {\r\n @Input() isReportPage: boolean; // توسط صحفه گزارش renderulvviewer تنظیم میشود\r\n @Input() layoutInfo: LayoutSetting;\r\n}\r\n","<ng-container *untilInView=\"el\">\r\n <bsu-barsa-asp-viewer\r\n fillEmptySpace\r\n [dontUseTopBound]=\"false\"\r\n [height]=\"layoutInfo?.ControlBounds?.height\"\r\n [context]=\"context\"\r\n [style.min-height.px]=\"parentHeight\"\r\n [parentHeight]=\"parentHeight\"\r\n ></bsu-barsa-asp-viewer>\r\n</ng-container>\r\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\n\nimport { UiReportViewBaseSetting, MetaobjectDataModel, BarsaApi } from 'barsa-novin-ray-core';\nimport { map } from 'rxjs/operators';\n\nimport { SapUiReportBaseComponent } from '../sap-ui-report-base.component';\n\n@Component({\n selector: 'bsu-ui-calendar',\n templateUrl: './ui-calendar.component.html',\n styleUrls: ['./ui-calendar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiCalendarComponent extends SapUiReportBaseComponent<UiReportViewBaseSetting> implements OnInit {\n ngOnInit(): void {\n super.ngOnInit();\n this.toolbarButtons$ = this.toolbarButtons$.pipe(\n map((buttons) => buttons.filter((c) => c.itemId !== 'Delete'))\n );\n }\n onDeleteTask(mo: MetaobjectDataModel): void {\n this.context.fireEvent('EventAction', {\n action: 'delete',\n event: mo\n });\n }\n onEditTask(mo: MetaobjectDataModel): void {\n this.context.fireEvent('EventAction', {\n action: 'edit',\n event: mo\n });\n }\n onRangeSelect(e: { [key: string]: any }): void {\n const access = BarsaApi.Common.Util.TryGetValue(this.context, 'Setting.Extra.DefaultCommandsAccess', null);\n if (access && !access.Add) {\n return;\n }\n this.context.fireEvent('rangeselect', this.context, e);\n }\n onDaySelect(date: Date): void {\n const access = BarsaApi.Common.Util.TryGetValue(this.context, 'Setting.Extra.DefaultCommandsAccess', null);\n if (access && !access.Add) {\n return;\n }\n this.context.fireEvent('DaySelect', { date });\n }\n onLoadData(t: { start: Date; end: Date }): void {\n this.context.start = t.start;\n this.context.end = t.end;\n this.context.fireEvent('datechange');\n }\n}\n","<!--render container-->\n<ng-container\n *ngTemplateOutlet=\"\n renderCalendar;\n context: {\n $implicit: gridDataSource.data$ | async,\n allChecked: allChecked$ | async,\n groupby: groupby$ | async,\n isCheckList: context.Setting.View?.IsCheckList,\n columns: columns$ | async,\n columnsCount: columnsCount$ | async,\n allowInlineEdit: allowInlineEdit$ | async,\n inlineEditMode: inlineEditMode$ | async,\n onlyInlineEdit: onlyInlineEdit$ | async,\n secondaryColumns: secondaryColumns$ | async,\n toolbarButtons: (toolbarButtons$ | async)!! | seperatorFix,\n popin: (mobileOrTablet$ | async) || (secondaryColumnsCount$ | async) ? true : false,\n contextMenuItems: menuItems$ | async | contextMenu: context.Setting.View?.IsCheckList,\n conditionalFormats: conditionalFormats$ | async,\n deviceName: deviceName$ | async,\n deviceSize: deviceSize$ | async,\n mobileOrTablet: mobileOrTablet$ | async,\n access: context.Setting.Extra?.DefaultCommandsAccess,\n title: title$ | async,\n rtl: rtl$ | async,\n hideToolbar: hideToolbar$ | async,\n allColumns: allColumns,\n gridSetting: gridSetting$ | async,\n contentDensity: contentDensity$ | async,\n formLayout: layout$ | async,\n contextSetting: context.Setting,\n hasSelected: hasSelected$ | async,\n navigationArrow: navigationArrow$ | async,\n inDialog: inDialog$ | async,\n isMultiSelect: isMultiSelect$ | async,\n viewSetting: context.ViewSetting,\n selectedMo: selectedMo$ | async\n }\n \"\n></ng-container>\n\n<ng-template\n #renderCalendar\n let-moDataList\n let-allChecked=\"allChecked\"\n let-isCheckList=\"isCheckList\"\n let-columns=\"columns\"\n let-columnsCount=\"columnsCount\"\n let-groupby=\"groupby\"\n let-secondaryColumns=\"secondaryColumns\"\n let-contextMenuItems=\"contextMenuItems\"\n let-conditionalFormats=\"conditionalFormats\"\n let-deviceName=\"deviceName\"\n let-deviceSize=\"deviceSize\"\n let-access=\"access\"\n let-toolbarButtons=\"toolbarButtons\"\n let-popin=\"popin\"\n let-mobileOrTablet=\"mobileOrTablet\"\n let-title=\"title\"\n let-inlineEditMode=\"inlineEditMode\"\n let-allowInlineEdit=\"allowInlineEdit\"\n let-hideToolbar=\"hideToolbar\"\n let-gridSetting=\"gridSetting\"\n let-contentDensity=\"contentDensity\"\n let-formLayout=\"formLayout\"\n let-rtl=\"rtl\"\n let-hasSelected=\"hasSelected\"\n let-navigationArrow=\"navigationArrow\"\n let-inDialog=\"inDialog\"\n let-selectedMo=\"selectedMo\"\n let-contextSetting=\"contextSetting\"\n let-viewSetting=\"viewSetting\"\n>\n <bsu-ulv-toolbar\n [hideToolbar]=\"hideToolbar\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [toolbarButtons]=\"toolbarButtons\"\n [gridSetting]=\"gridSetting\"\n [title]=\"title\"\n [context]=\"context\"\n [access]=\"access\"\n [hasSelected]=\"hasSelected\"\n [contentDensity]=\"contentDensity\"\n [inlineEditMode]=\"inlineEditMode\"\n [allowInlineEdit]=\"allowInlineEdit\"\n [moDataListCount]=\"moDataList.length\"\n (sortClick)=\"onSortSettings(deviceName)\"\n (groupbyClick)=\"onGroupbySettings(deviceName)\"\n (columnClick)=\"onColumnSettings(deviceName)\"\n (editModeClick)=\"onEditMode()\"\n ></bsu-ulv-toolbar>\n <bc-calendar-container\n [inDialog]=\"inDialog\"\n [contextSetting]=\"contextSetting\"\n [viewSetting]=\"viewSetting\"\n [isCheckList]=\"isCheckList\"\n [selectedMo]=\"selectedMo\"\n [allChecked]=\"allChecked\"\n [moDataList]=\"moDataList\"\n [access]=\"access\"\n [parentHeight]=\"parentHeight\"\n [groupby]=\"groupby\"\n [conditionalFormats]=\"conditionalFormats\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [navigationArrow]=\"navigationArrow\"\n [title]=\"title\"\n [mobileOrTablet]=\"mobileOrTablet\"\n [rtl]=\"rtl\"\n [popin]=\"popin\"\n [secondaryColumns]=\"secondaryColumns\"\n [contextMenuItems]=\"contextMenuItems\"\n [inlineEditMode]=\"inlineEditMode\"\n [allowInlineEdit]=\"allowInlineEdit\"\n [columns]=\"columns\"\n [columnsCount]=\"columnsCount\"\n [rowHoverable]=\"rowHoverable\"\n [rowActivable]=\"rowActivable\"\n [formLayout]=\"formLayout\"\n (editFormPanelCancel)=\"onEditFormPanelCancel($event)\"\n (editFormPanelSave)=\"onEditFormPanelSave($event)\"\n (sortAscending)=\"onSortAscending($event)\"\n (sortDescending)=\"onSortDescending($event)\"\n (filter)=\"onFilter($event)\"\n (rowCheck)=\"onRowCheck($event)\"\n (rowClick)=\"onRowClick($event)\"\n (allCheckbox)=\"onAllCheckbox($event)\"\n (expandClick)=\"(onExpandClick)\"\n (deleteTask)=\"onDeleteTask($event)\"\n (editTask)=\"onEditTask($event)\"\n (daySelect)=\"onDaySelect($event)\"\n (rangeSelect)=\"onRangeSelect($event)\"\n (loadData)=\"onLoadData($event)\"\n >\n </bc-calendar-container>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\nimport { debounceTime, map, takeUntil } from 'rxjs/operators';\nimport { ContentDensity, DialogConfig } from '@fundamental-ngx/core';\n\nimport {\n BarsaApi,\n MetaobjectDataModel,\n UiReportViewBaseSetting,\n TreeNodeObj,\n RelationItemType\n} from 'barsa-novin-ray-core';\nimport { SapUiReportBaseComponent } from './sap-ui-report-base.component';\nimport { DropInfo } from './ui-tree-view/ui-tree-view.component';\n\n@Component({\n selector: 'bsu-report-tree-base',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ReportTreeBaseComponent extends SapUiReportBaseComponent<UiReportViewBaseSetting> implements OnInit {\n contentDensity$: Observable<ContentDensity>;\n rtl$: Observable<boolean>;\n dialogSelectedNode;\n selectedNode$: Observable<TreeNodeObj | null>;\n root$: Observable<TreeNodeObj | null>;\n dropActionTodo: DropInfo;\n _dragMove = new Subject<any>();\n flatMoDataList;\n dialogRef;\n\n protected _selectedNodeSource = new BehaviorSubject<TreeNodeObj | null>(null);\n protected _rootSource = new BehaviorSubject<TreeNodeObj | null>(null);\n private get _root(): TreeNodeObj | null {\n return this._rootSource.getValue();\n }\n ngOnInit(): void {\n this.selectedNode$ = this._selectedNodeSource.asObservable();\n this.root$ = this._rootSource.asObservable().pipe(takeUntil(this._onDestroy$));\n super.ngOnInit();\n this.rtl$ = this._portalService.rtl$;\n this.contentDensity$ = this._contentDensityService.contentDensity;\n this._rootSource.next(this.context.root);\n this._selectedNodeSource.next(this.context.selNode);\n this.context.on({\n rootChanged: (root) => {\n this._rootSource.next(root);\n },\n selectedNodeChange: (node) => {\n this._selectedNodeSource.next(node);\n }\n });\n this._rootSource\n .pipe(\n takeUntil(this._onDestroy$),\n map((root) => {\n if (root) {\n const moList: MetaobjectDataModel[] = [];\n const autoOpenLevels = BarsaApi.Common.Util.TryGetValue(\n this.context,\n 'Setting.View.TreeAutoOpenLevels',\n 1\n );\n this._getAllItemsPerChildren(root, 0, moList, root, autoOpenLevels);\n return moList;\n }\n return [];\n })\n )\n .subscribe((flatMoDataList) => {\n this.flatMoDataList = flatMoDataList;\n });\n this._resetDropActionTodo();\n this._dragMove\n .asObservable()\n .pipe(takeUntil(this._onDestroy$), debounceTime(50))\n .subscribe((event) => {\n this._doDragMove(event);\n });\n }\n\n onCreateNew(e: RelationItemType): void {\n this.context.fireEvent('createNew', e);\n }\n protected dragMoved(event): void {\n this._dragMove.next(event);\n }\n protected drop(event): void {\n this._removeNoDrops();\n this._clearDragInfo();\n const dragAction = this.dropActionTodo.action;\n if (!dragAction) {\n return;\n }\n if (dragAction === 'forbid') {\n ReportTreeBaseComponent._showForbiddenMoveAlert();\n return;\n }\n const draggedItemId = event.item.data;\n const targetItemId = this.dropActionTodo.targetId;\n const draggedItem = this._getNodeById(draggedItemId);\n const targetItem = this._getNodeById(targetItemId);\n const oldParentNodeId = draggedItem.parentNode?.Data?.Id || '$Root';\n const newParentNodeId = targetItem.parentNode?.Data?.Id || '$Root';\n const oldParentNode = draggedItem.parentNode;\n let newParentNode = targetItem.parentNode;\n if (oldParentNode && newParentNode) {\n switch (dragAction) {\n case 'before':\n case 'after': {\n let serverTarget: TreeNodeObj | null = targetItem;\n if (dragAction === 'after') {\n const targetIndex = this.flatMoDataList.findIndex((c) => c.Data.Id === targetItem.Data.Id);\n if (targetIndex === this.flatMoDataList.length - 1) {\n serverTarget = null;\n } else {\n const afterTarget = this.flatMoDataList[targetIndex + 1];\n if (afterTarget.parentNode === targetItem.parentNode) {\n serverTarget = afterTarget;\n } else {\n serverTarget = null;\n }\n }\n }\n this._saveToServer(draggedItem.Data.Id, serverTarget, newParentNode);\n this._changeDraggedItemsOrder(\n draggedItem,\n targetItem,\n newParentNode,\n oldParentNode,\n oldParentNodeId\n );\n if (newParentNodeId !== '$Root') {\n const i =\n this.flatMoDataList.indexOf(draggedItem) -\n this.flatMoDataList.indexOf(targetItem.parentNode);\n newParentNode?.children.splice(i, 0, draggedItem);\n }\n\n // send new moDataList To server:\n // (draggedItem, draggedItem.parentNode, draggedItem.parentNode.children?.indexOf(draggedItem))\n break;\n }\n\n case 'inside': {\n newParentNode = targetItem;\n this._saveToServer(draggedItem.Data.Id, null, newParentNode);\n this._moveNodeInsideAnother(draggedItem, targetItem);\n break;\n }\n }\n this.setOneDepthLevel(newParentNode);\n this.setOneDepthLevel(oldParentNode);\n this._clearDragInfo(true);\n }\n }\n protected _rebindRoot(): void {\n this._rootSource.next(this._root);\n }\n\n protected _saveToServer(draggedId: string, target: TreeNodeObj | null, parent: TreeNodeObj): void {\n const targetId: string = target ? target.Data.Id : '0';\n const parentId: string = parent.Data.Id === '$Root' ? '0' : parent.Data.Id;\n BarsaApi.Bw.RunBlMethod('MoveTreeNode', draggedId, targetId, parentId);\n }\n\n protected confirmDialog(selectedNode: MetaobjectDataModel): void {\n this.dialogRef.close(selectedNode);\n }\n\n protected dismissDialog(): void {\n this.dialogRef.dismiss();\n }\n\n protected collapseAll(): void {\n this.context.fireEvent('collapseAll');\n }\n\n protected openMoveToDialog(sourceNode, device: string, dialogTmp): void {\n const config: DialogConfig = {\n ...this.dialogConfig,\n data: { context: this.context },\n mobile: device === 'mobile',\n minWidth: device === 'mobile' ? 'auto' : this.dialogConfig.minWidth,\n minHeight: device === 'mobile' ? 'auto' : this.dialogConfig.minHeight\n };\n this.dialogRef = this._dialogService.open(dialogTmp, config);\n this.dialogRef.afterClosed.subscribe((destinationNode) => {\n if (!destinationNode) {\n return;\n }\n const canMove = this._canMove(sourceNode, destinationNode);\n if (canMove) {\n this._moveNodeInsideAnother(sourceNode, destinationNode);\n } else {\n ReportTreeBaseComponent._showForbiddenMoveAlert();\n }\n this._rootSource.next(this._root);\n });\n }\n\n protected selectNodeInMoveDialog(ev: { node: TreeNodeObj; index: number }): void {\n this.dialogSelectedNode = ev.node;\n }\n\n protected loadChildren(node: TreeNodeObj): void {\n this.context.fireEvent('loadNodeChildren', node);\n }\n /* eslint-disable */\n protected updateGridSetting(): void {}\n\n protected _selectNode(node: TreeNodeObj): void {\n this.context.selNode = node;\n this._selectedNodeSource.next(node);\n this.context.fireEvent('click');\n this.context.fireEvent('selectionchange');\n }\n\n /* eslint-disable */\n protected _deselectNode(): void {\n this.context.selNode = null;\n this._selectedNodeSource.next(null);\n }\n\n protected _raiseRowClick(index, mo): void {\n this.context.selNode = mo;\n this.context?.fireEvent('dblclick', this.context, index, mo);\n }\n\n private _resetDropActionTodo(): void {\n this.dropActionTodo = { targetId: null, action: null };\n }\n\n private _getAllItemsPerChildren(\n item: TreeNodeObj,\n level: number,\n array: MetaobjectDataModel[],\n parentNode: TreeNodeObj,\n autoOpenLevels: number\n ): any {\n let newItem: any = item;\n if (level > 0) {\n item.parentNode = parentNode;\n item.level = level;\n item.isExpand = item.isExpand ?? autoOpenLevels > level;\n item.visibility = item.parentNode.isExpand;\n array.push(newItem);\n } else {\n newItem = item;\n newItem.isExpand = true;\n }\n\n if (item.children) {\n item.children.forEach((child) => this.setOneDepthLevel(child));\n return item.children.map((i) => this._getAllItemsPerChildren(i, level + 1, array, newItem, autoOpenLevels));\n }\n }\n private _changeDraggedItemsOrder(\n draggedItem: TreeNodeObj,\n targetItem: TreeNodeObj,\n newParentNode: TreeNodeObj,\n oldParentNode: TreeNodeObj,\n oldParentNodeId\n ): void {\n this._removeDraggedItemFromMoDataList(draggedItem);\n if (oldParentNodeId !== '$Root') {\n // oldParentNode.children?.remove(draggedItem);\n oldParentNode.children = oldParentNode.children.filter((c) => c.Data.Id !== draggedItem.Data.Id);\n\n oldParentNode.leaf = !(oldParentNode.children?.length > 0);\n oldParentNode.Data.$HasChildren = !oldParentNode.leaf;\n }\n draggedItem.parentNode = newParentNode;\n this._setLevelForDraggedItems(draggedItem, newParentNode.level || 0);\n const targetIndex = this.flatMoDataList.indexOf(targetItem);\n const index = this.dropActionTodo.action === 'before' ? targetIndex : this._nextIndexInMoDataList(targetItem);\n this._addDraggedItemsToMoDataList(draggedItem, index);\n }\n\n private _addDraggedItemsToMoDataList(node: TreeNodeObj, i): number {\n this.flatMoDataList.splice(i, 0, node);\n node?.children?.forEach((child) => {\n i++;\n i = this._addDraggedItemsToMoDataList(child, i);\n });\n return i;\n }\n\n private _removeDraggedItemFromMoDataList(node: TreeNodeObj): void {\n node?.children?.forEach((child) => {\n this._removeDraggedItemFromMoDataList(child);\n });\n this.flatMoDataList.remove(node);\n }\n\n private _nextIndexInMoDataList(node: TreeNodeObj): Array<MetaobjectDataModel> {\n return this.flatMoDataList.indexOf(node) + this._allNestedChildesCount(node) + 1;\n }\n\n private _allNestedChildesCount(node: TreeNodeObj, i = 0): number {\n node.children?.forEach((child) => {\n i++;\n if (child.children?.length > 0) {\n i = this._allNestedChildesCount(child, i);\n }\n });\n return i;\n }\n\n private _getNodeById(id: any): TreeNodeObj {\n let node;\n for (const mo of this.flatMoDataList) {\n if (mo.Data.Id === id) {\n node = mo;\n }\n }\n return node;\n }\n\n private _setLevelForDraggedItems(node, parentLevel): void {\n parentLevel++;\n node.level = parentLevel;\n node?.children?.forEach((child) => {\n this._setLevelForDraggedItems(child, parentLevel);\n });\n }\n\n private _moveNodeInsideAnother(sourceNode, destinationNode): void {\n const oldParentNode = sourceNode.parentNode;\n const oldParentNodeId = oldParentNode?.Data?.Id || '$Root';\n this._changeDraggedItemsOrder(sourceNode, destinationNode, destinationNode, oldParentNode, oldParentNodeId);\n this.context.fireEvent('moveNodeInsideAnother', sourceNode, destinationNode);\n }\n\n private _clearDragInfo(dropped = false): void {\n if (dropped) {\n this._resetDropActionTodo();\n }\n this.el.nativeElement\n .querySelectorAll('.drop-before')\n .forEach((element) => this._renderer.removeClass(element, 'drop-before'));\n this.el.nativeElement\n .querySelectorAll('.drop-after')\n .forEach((element) => this._renderer.removeClass(element, 'drop-after'));\n this.el.nativeElement\n .querySelectorAll('.drop-inside')\n .forEach((element) => this._renderer.removeClass(element, 'drop-inside'));\n }\n\n private _stopDragging(): void {\n this._clearDragInfo();\n this._resetDropActionTodo();\n }\n\n private _showDragInfo(): void {\n this._clearDragInfo();\n if (this.dropActionTodo.targetId) {\n const parent = this._getNodeById(this.dropActionTodo.targetId);\n const newParentId = parent?.parentNode?.Data?.Id || '$Root';\n const targetNodeElement = this.el.nativeElement.querySelector('#node-' + this.dropActionTodo.targetId);\n if (!targetNodeElement) {\n this._resetDropActionTodo();\n return;\n } else if (newParentId === '$Root' && this.dropActionTodo.action !== 'inside') {\n const rootContainer = this.el.nativeElement.querySelector('fd-layout-panel');\n this._renderer.addClass(rootContainer, 'drop-inside');\n }\n this._renderer.addClass(targetNodeElement, 'drop-' + this.dropActionTodo?.action);\n }\n }\n\n private _doDragMove(event): void {\n const elementFromPoint = document.elementFromPoint(event.pointerPosition.x, event.pointerPosition.y);\n\n if (!elementFromPoint) {\n this._stopDragging();\n return;\n }\n const targetNodeElement = elementFromPoint.classList.contains('node-item')\n ? elementFromPoint\n : elementFromPoint.closest('.node-item');\n if (!targetNodeElement) {\n this._stopDragging();\n return;\n }\n this.dropActionTodo = {\n targetId: targetNodeElement.getAttribute('data-id')\n };\n const targetRect = targetNodeElement.getBoundingClientRect();\n const oneThird = targetRect.height / 3;\n\n if (event.pointerPosition.y - targetRect.top < oneThird) {\n // before\n this.dropActionTodo.action = 'before';\n } else if (event.pointerPosition.y - targetRect.top > 2 * oneThird) {\n // after\n this.dropActionTodo.action = 'after';\n } else {\n // inside\n this.dropActionTodo.action = 'inside';\n }\n this._setNoDropItems(event.source.data);\n this._setNoDropStyle();\n const targetNode = this._getNodeById(this.dropActionTodo.targetId);\n if (targetNode.noDrop) {\n this._stopDragging();\n this.dropActionTodo.action = 'forbid';\n return;\n }\n this._showDragInfo();\n }\n\n private setOneDepthLevel(node): void {\n let hasOneDepth = true;\n node.children?.forEach((child) => {\n if (child.Data?.$HasChildren) {\n hasOneDepth = false;\n return;\n }\n });\n node.hasOneDepthLevel = hasOneDepth;\n }\n\n private _removeNoDrops(): void {\n this.flatMoDataList\n .filter((node) => node.noDrop)\n .forEach((node) => {\n node.noDrop = false;\n const el = this.el.nativeElement.querySelector('#node-' + node.Data.Id);\n if (el) {\n this._renderer.removeClass(el, 'no-drop');\n }\n });\n }\n\n private _setNoDropItems(draggedItemId): void {\n const node = this._getNodeById(draggedItemId);\n node.noDrop = true;\n node.children?.forEach((child) => {\n this._setNoDropItems(child.Data.Id);\n });\n }\n\n private _setNoDropStyle(): void {\n this.flatMoDataList\n .filter((node) => node.noDrop)\n .forEach((node) => {\n const el = this.el.nativeElement.querySelector('#node-' + node.Data.Id);\n if (el) {\n this._renderer.addClass(el, 'no-drop');\n }\n });\n }\n\n private _canMove(sourceNode, destinationNode): boolean {\n let canMove = true;\n if (sourceNode.Data.Id === destinationNode.Data.Id) {\n canMove = false;\n } else {\n sourceNode.children?.foreach((child) => {\n canMove = this._canMove(sourceNode, child);\n });\n }\n return canMove;\n }\n /* eslint-disable */\n private static _showForbiddenMoveAlert(): void {\n BarsaApi.Bw.Msg.Error('نمیتوانید آیتم را به زیرشاخه خودش منتقل کنید.');\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n OnInit,\n Output,\n SimpleChanges\n} from '@angular/core';\n\nimport { BaseComponent, DeviceSize, MetaobjectDataModel, ReportViewColumn } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-ulv-context-menu,[ulvContextMenu]',\n templateUrl: './ulv-context-menu.component.html',\n styleUrls: ['./ulv-context-menu.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UlvContextMenuComponent extends BaseComponent implements OnInit {\n @Input() onlyOverflow: boolean;\n @Input() deviceName: DeviceSize;\n @Input() menuItems: any[];\n @Input() allColumns: ReportViewColumn[];\n @Input() index: number;\n @Input() mo: MetaobjectDataModel;\n @Input() styleIndex: number[];\n @Input() conditionalFormats: any[];\n @Input() disableOverflowContextMenu: boolean;\n @Input() footerMode: boolean;\n @Output() commandClick = new EventEmitter<any>();\n @HostBinding('class.disableOverflow') _disableOverflow = false;\n isOpenOverflow: boolean;\n overflowMode: boolean;\n /**\n *\n */\n constructor(protected _cdr: ChangeDetectorRef) {\n super();\n }\n ngOnInit(): void {\n super.ngOnInit();\n this.overflowMode = this.menuItems.length > 1;\n this.disableOverflowContextMenu &&= this.deviceName === 'mobile' ? false : true;\n this._disableOverflow = this.disableOverflowContextMenu;\n }\n ngOnChanges(changes: SimpleChanges): void {\n super.ngOnChanges(changes);\n const { menuItems } = changes;\n if (menuItems && !menuItems.firstChange) {\n this._cdr.detectChanges();\n }\n }\n onCommandClick(e): void {\n this.isOpenOverflow = false;\n this.commandClick.emit(e);\n }\n onOpenOverflow(e): void {\n e.stopPropagation();\n e.preventDefault();\n this.isOpenOverflow = true;\n }\n onCommandSplitButtonClick(e, btn): void {\n this.onCommandClick(e);\n if (btn.Command && btn.Command.Handler) {\n btn.Command.Handler(btn);\n } else if (btn.handler) {\n btn.handler.bind(btn.scope)(btn);\n }\n }\n}\n","@if (footerMode) {\n <div fd-bar barDesign=\"footer\" [cozy]=\"false\" style=\"width: 100%\">\n @if (overflowMode) {\n <div fd-bar-middle>\n <ng-container *ngTemplateOutlet=\"footerToolbarTpl\"></ng-container>\n </div>\n }\n @if (!overflowMode) {\n <div fd-bar-right>\n <ng-container *ngTemplateOutlet=\"footerToolbarTpl\"></ng-container>\n </div>\n }\n <ng-template #footerToolbarTpl>\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\n @for (cmd of menuItems; track cmd) {\n <ng-container *ngTemplateOutlet=\"buttonTemplate; context: { $implicit: cmd }\"></ng-container>\n }\n </fd-toolbar>\n </ng-template>\n </div>\n} @else {\n <ng-container\n *ngTemplateOutlet=\"\n overflowMode && !disableOverflowContextMenu ? overflowCommands : simpleCommands;\n context: { $implicit: menuItems, index: index }\n \"\n ></ng-container>\n}\n\n<ng-template #simpleCommands let-commands let-index=\"index\">\n @for (cmd of commands; track cmd) {\n <ng-container *ngTemplateOutlet=\"menuButtonTemplate; context: { $implicit: cmd }\"></ng-container>\n }\n</ng-template>\n\n<ng-template #overflowCommands let-commands let-index=\"index\">\n <fd-popover placement=\"bottom\" [(isOpen)]=\"isOpenOverflow\" [closeOnOutsideClick]=\"true\" [noArrow]=\"true\">\n <fd-popover-control #popover>\n <button fd-button (click)=\"onOpenOverflow($event)\" [fdType]=\"'transparent'\" [glyph]=\"'overflow'\"></button>\n </fd-popover-control>\n <fd-popover-body>\n <ul fd-list>\n @for (cmd of commands; track cmd) {\n <li fd-list-item>\n <ng-container *ngTemplateOutlet=\"menuButtonTemplate; context: { $implicit: cmd }\"></ng-container>\n </li>\n }\n </ul>\n </fd-popover-body>\n </fd-popover>\n</ng-template>\n\n<ng-template #menuButtonTemplate let-cmd>\n <ng-container\n *ngTemplateOutlet=\"cmd.menu ? menuTemplate : buttonTemplate; context: { $implicit: cmd }\"\n ></ng-container>\n</ng-template>\n<ng-template #menuTemplate let-cmd>\n <fd-split-button fd-toolbar-item [mainAction]=\"{ mainActionTitle: cmd.text, keepMainAction: true }\">\n <fd-menu>\n @for (btnCommand of cmd.menu.items; track btnCommand) {\n <li\n fd-menu-item\n #liEl\n [applyConditionalFormats]=\"conditionalFormats\"\n [styleIndex]=\"styleIndex\"\n [dbName]=\"cmd.text\"\n [hostEl]=\"liEl\"\n (click)=\"onCommandSplitButtonClick($event, btnCommand)\"\n >\n <div fd-menu-interactive>\n <span fd-menu-title>{{ btnCommand.text | bbbTranslate }}</span>\n </div>\n </li>\n }\n </fd-menu>\n </fd-split-button>\n</ng-template>\n<ng-template #buttonTemplate let-cmd>\n <ng-container\n *ngTemplateOutlet=\"\n cmd?.Command?.CustomUi ? customButtonTemplate : defaultButtonTemplate;\n context: { $implicit: cmd }\n \"\n ></ng-container>\n</ng-template>\n<ng-template #defaultButtonTemplate let-cmd>\n <button\n fd-button\n #btnEl\n [fdType]=\"cmd.Command?.JsonExtraProp?.Design ? cmd.Command?.JsonExtraProp.Design : 'transparent'\"\n [label]=\"cmd.text | bbbTranslate\"\n [glyph]=\"cmd.Command?.NewIcon || cmd.Command?.JsonExtraProp?.Icon || ''\"\n [ulvCommandHandler]=\"cmd\"\n [applyConditionalFormats]=\"conditionalFormats\"\n [styleIndex]=\"styleIndex\"\n [dbName]=\"cmd.text\"\n [hostEl]=\"btnEl\"\n (commandClick)=\"onCommandClick($event)\"\n >\n @if (!cmd.Command?.NewIcon && !cmd.Command?.JsonExtraProp?.Icon) {\n <img [src]=\"cmd.icon\" />\n }\n </button>\n</ng-template>\n<ng-template #customButtonTemplate let-cmd>\n <div\n #hostEl\n [dbName]=\"cmd.text\"\n [applyConditionalFormats]=\"conditionalFormats\"\n [hostEl]=\"hostEl\"\n [styleIndex]=\"styleIndex\"\n >\n <bnrc-dynamic-form-toolbaritem\n fd-toolbar-item\n [ulvCommandHandler]=\"cmd\"\n [component]=\"cmd.Command?.CustomUi\"\n [mo]=\"mo\"\n [context]=\"cmd\"\n [showText]=\"disableOverflowContextMenu === false\"\n [deviceName]=\"deviceName\"\n [index]=\"index\"\n [isEnable]=\"cmd.Command?._isEnable || cmd.Command?.UseForSingle\"\n [allColumns]=\"allColumns\"\n (btnClick)=\"onCommandClick($event)\"\n ></bnrc-dynamic-form-toolbaritem>\n </div>\n</ng-template>\n","import { Component, OnInit, ChangeDetectionStrategy, Input, Output, EventEmitter } from '@angular/core';\r\nimport { BaseComponent, RelationItemType, TreeNodeObj } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bsu-htree-create-new',\r\n templateUrl: './htree-create-new.component.html',\r\n styleUrls: ['./htree-create-new.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class HtreeCreateNewComponent extends BaseComponent implements OnInit {\r\n @Output() createNew = new EventEmitter<RelationItemType>();\r\n @Input() relationList: RelationItemType[];\r\n @Input() node: TreeNodeObj;\r\n relationItem: RelationItemType;\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n\r\n const relList = this.relationList;\r\n const node = this.node;\r\n\r\n if (relList && node) {\r\n const nodeTdId = node.attributes?.Data?.$TypeDefId;\r\n\r\n for (let i = 0; i < relList.length; i++) {\r\n const relItem = relList[i];\r\n if (!relItem) {\r\n continue;\r\n }\r\n\r\n if (relItem.SourceTypeDefId === nodeTdId) {\r\n this.relationItem = relItem;\r\n }\r\n }\r\n }\r\n }\r\n onClick(e): void {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n if (this.relationItem) {\r\n this.createNew.emit(this.relationItem);\r\n }\r\n }\r\n}\r\n","@if (relationItem) {\n<button\n fd-button\n [fdType]=\"'transparent'\"\n [label]=\"('Create' | bbbTranslate) + ' ' + relationItem.ObjectInRelationName\"\n (click)=\"onClick($event)\"\n></button>\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nimport { MetaobjectDataModel, TreeNodeObj, RelationItemType, BaseViewItemPropsComponent } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-barsa-tree-item',\n templateUrl: './barsa-tree-item.component.html',\n styleUrls: ['./barsa-tree-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BarsaTreeItemComponent extends BaseViewItemPropsComponent implements OnInit {\n @Input() node: TreeNodeObj;\n @Input() selectedNode: MetaobjectDataModel | null;\n @Input() relationList: RelationItemType[];\n @Input() hasDragDrop: boolean;\n @Input() hasArrowIcon = true;\n @Input() collapseIcon: string;\n @Input() loading: boolean;\n @Input() hasChildren: boolean;\n @Input() isExpand: boolean;\n @Input() children: TreeNodeObj[];\n @Input() parentNode: TreeNodeObj;\n @Input() text: string;\n @Input() isHetro: boolean;\n\n /* eslint-disable */\n @Output() createNew = new EventEmitter<RelationItemType>();\n @Output() select = new EventEmitter<{\n node: TreeNodeObj;\n index: number;\n }>();\n @Output() checkChange = new EventEmitter<{\n node: TreeNodeObj;\n index: number;\n checked: boolean;\n }>();\n @Output() viewClick = new EventEmitter<{\n node: MetaobjectDataModel;\n index: number;\n }>();\n @Output() loadChildren = new EventEmitter<MetaobjectDataModel>();\n @Output() dragMoved = new EventEmitter<string>();\n icon$: Observable<string>;\n hideIcon: boolean;\n rowBtns = [\n { Icon: 'add', Action: 'console.log(\"add btn clicked\")' },\n {\n Icon: 'delete',\n Action: 'console.log(\"delete btn clicked\")'\n }\n ];\n\n ngOnInit(): void {\n super.ngOnInit();\n if (!this.node.icon.startsWith('http')) {\n this.hideIcon = true;\n }\n }\n onListItemClick(liEl, e) {\n if (e.target === liEl?.elementRef?.nativeElement) {\n this.onRowCheck();\n }\n }\n onCheckbox(checked: boolean): void {\n this.checkChange.emit({ node: this.node, index: this.index, checked });\n }\n onRowCheck(): void {\n if (this.inDialog && this.isMultiSelect) {\n return;\n }\n this.select.emit({ node: this.node, index: this.index });\n }\n\n onUlvCommand(): void {\n this.ulvCommand.emit({ mo: this.node.Data, index: this.index });\n }\n\n onNodeViewClick(): void {\n this.viewClick.emit({ node: this.node.Data, index: this.index });\n }\n\n onLoadChildren(e): void {\n this.loadChildren.emit(this.node.Data);\n e.stopPropagation();\n e.preventDefault();\n }\n\n onExpandDblClick(e): void {\n e.stopPropagation();\n e.preventDefault();\n }\n onCreateNew(e) {\n if (!this.isChecked) {\n this.onRowCheck();\n }\n this.createNew.emit(e);\n }\n onRowAction(commandBody: string): void {\n const command = new Function(commandBody);\n command();\n }\n onDragMoved($event): void {\n if (this.isHetro) {\n return;\n }\n this.dragMoved.emit($event);\n }\n}\n","<li\n fd-list-item\n #liEl\n [applyConditionalFormats]=\"conditionalFormats\"\n [styleIndex]=\"styleIndex\"\n [hostEl]=\"liEl\"\n [focusable]=\"true\"\n [attr.level]=\"level\"\n [class.root-group]=\"level === 1\"\n [selected]=\"isChecked\"\n (dblclick)=\"onNodeViewClick()\"\n cdkDrag\n [cdkDragData]=\"node.Data.Id\"\n (cdkDragMoved)=\"onDragMoved($event)\"\n (click)=\"onListItemClick(liEl, $event)\"\n>\n <div (click)=\"onRowCheck()\" class=\"spacer\" [style.width]=\"(level - 1) * 4 + 'rem'\"></div>\n @if (hasDragDrop && !isHetro) {\n <fd-icon glyph=\"grip\" font=\"BusinessSuiteInAppSymbols\" cdkDragHandle></fd-icon>\n } @if (inDialog && isMultiSelect) {\n <fd-checkbox [name]=\"node.Data.$Caption\" [ngModel]=\"isChecked\" (ngModelChange)=\"onCheckbox($event)\"></fd-checkbox>\n }\n\n <div (click)=\"onRowCheck()\" style=\"display: flex; width: 100%; justify-content: space-between\">\n <div style=\"display: flex; flex: 1\">\n @if (hasArrowIcon) { @if (hasChildren) {\n <div class=\"arrow-container\">\n <button\n [attr.rtl]=\"rtl\"\n fd-button\n fdType=\"transparent\"\n [glyph]=\"hasChildren ? (isExpand ? 'less' : collapseIcon) : ''\"\n (click)=\"onLoadChildren($event)\"\n (dblclick)=\"onExpandDblClick($event)\"\n ></button>\n </div>\n } @else { @if (!parentNode?.hasOneDepthLevel) {\n <div class=\"empty-container\" (click)=\"onRowCheck()\">\n <button fd-button></button>\n </div>\n } } @if (loading) {\n <fd-busy-indicator\n style=\"display: flex; align-items: center; width: 2rem\"\n size=\"s\"\n [loading]=\"true\"\n ></fd-busy-indicator>\n } }\n <div style=\"display: flex; flex: unset; align-items: center\" fd-list-title [focusable]=\"true\">\n @if (!hideIcon) {\n <img\n [src]=\"node.icon\"\n [style.padding-right.px]=\"!rtl ? 5 : null\"\n [style.padding-left.px]=\"rtl ? 5 : null\"\n />\n }\n <span>{{ text }}</span>\n @if (children) {\n <span>{{ ' ( ' + children.length + ' )' }}</span>\n }\n </div>\n </div>\n @if (contextMenuItems && contextMenuItems.length > 0) {\n <i\n ulvContextMenu\n [allColumns]=\"allColumns\"\n [menuItems]=\"contextMenuItems\"\n [conditionalFormats]=\"conditionalFormats\"\n [styleIndex]=\"styleIndex\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [mo]=\"node.Data\"\n [index]=\"index\"\n (commandClick)=\"onUlvCommand()\"\n [deviceName]=\"deviceName\"\n ></i>\n } @if (access?.Add !== false && !inDialog) {\n <bsu-htree-create-new\n [node]=\"node\"\n [relationList]=\"relationList\"\n (createNew)=\"onCreateNew($event)\"\n ></bsu-htree-create-new>\n }\n </div>\n @if (access?.View && !showOkCancelButtons && deviceName !== 'desktop') {\n <button fd-button [glyph]=\"navigationArrow\" fdType=\"transparent\" (click)=\"onNodeViewClick()\"></button>\n }\n\n <bsu-barsa-tree-item\n *cdkDragPreview\n [node]=\"node\"\n [rtl]=\"rtl\"\n [selectedNode]=\"selectedNode\"\n [hasArrowIcon]=\"false\"\n ></bsu-barsa-tree-item>\n</li>\n","import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\nimport { SvgConfig } from '@fundamental-ngx/core';\n\nimport { BaseComponent } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-no-data',\n templateUrl: './no-data.component.html',\n styleUrls: ['./no-data.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NoDataComponent extends BaseComponent {\n @Input() simple: boolean;\n @HostBinding('class.a-center') _alingItems = false;\n sceneConfig: SvgConfig = {\n scene: { url: 'assets/svg/empty-box.svg', id: 'sapIllus-Scene-NoMail-1' }\n };\n ngOnInit(): void {\n super.ngOnInit();\n this._alingItems = this.simple;\n }\n}\n","@if (!simple) {\n<tr style=\"text-align: center\">\n <td colspan=\"75%\" style=\"padding: 10px\">\n <!-- <span>{{ 'NoData' | bbbTranslate }}</span> -->\n <figure fd-illustrated-message [svgConfig]=\"sceneConfig\">\n <figcaption fd-illustrated-message-figcaption>\n <h3 fd-illustrated-message-title>{{ 'NoData' | bbbTranslate }}</h3>\n <p fd-illustrated-message-text>{{ 'NoDataAtThisTime' | bbbTranslate }}</p>\n </figcaption>\n <!-- <fd-illustrated-message-actions>\n <button fd-button label=\"Action One\"></button>\n <button fd-button label=\"Action Two\"></button>\n </fd-illustrated-message-actions> -->\n </figure>\n </td>\n</tr>\n} @else {\n<h4 fd-title>{{ 'NoData' | bbbTranslate }}</h4>\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { UiReportViewBaseSetting, ReportViewBaseComponent, TreeNodeObj, RelationItemType } from 'barsa-novin-ray-core';\n\nexport interface DropInfo {\n targetId: string | null;\n action?: string | null;\n}\n\n@Component({\n selector: 'bsu-tree-view',\n templateUrl: './ui-tree-view.component.html',\n styleUrls: ['./ui-tree-view.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiTreeViewComponent extends ReportViewBaseComponent<UiReportViewBaseSetting> {\n @Input() root: any;\n @Input() selectedNode: any;\n @Input() hasDragDrop = true;\n @Input() isHetro: boolean;\n @Input() relationList: RelationItemType[];\n @Input() showOkCancelButtons;\n @Input() collapseIcon: string;\n\n @Output() checkChange = new EventEmitter<{\n node: TreeNodeObj;\n index: number;\n checked: boolean;\n }>();\n\n @Output() nodeSelect = new EventEmitter<{\n node: TreeNodeObj;\n index: number;\n }>();\n @Output() createNew = new EventEmitter<RelationItemType>();\n\n @Output() loadChildren = new EventEmitter<TreeNodeObj>();\n @Output() nodeViewClick = new EventEmitter<{\n node: TreeNodeObj;\n index: number;\n }>();\n @Output() nodeUlvCommand = new EventEmitter<{\n node: TreeNodeObj;\n index: number;\n }>();\n @Output() itemDrop = new EventEmitter<any>();\n @Output() itemDragMoved = new EventEmitter<any>();\n\n cursor = 'default';\n\n onDrop($event): void {\n this.itemDrop.emit($event);\n }\n\n onDragMoved($event): void {\n this.itemDragMoved.emit($event);\n }\n\n onNodeSelect(node: TreeNodeObj, index): void {\n this.nodeSelect.emit({ node, index });\n }\n\n onNodeUlvCommand(node: TreeNodeObj, index: number): void {\n this.nodeUlvCommand.emit({ node, index });\n }\n\n onNodeViewClick(node: TreeNodeObj, index: number): void {\n this.nodeViewClick.emit({ node, index });\n }\n onCheckChange($event): void {\n this.checkChange.emit($event);\n }\n\n onLoadChildren(node: any): void {\n this.loadChildren.emit(node);\n }\n}\n","<fd-layout-panel>\n <fd-layout-panel-body [bleed]=\"true\">\n <ul\n cdkDropList\n [cdkDropListData]=\"moDataList\"\n [id]=\"'$Root'\"\n (cdkDropListDropped)=\"onDrop($event)\"\n [cdkDropListSortingDisabled]=\"true\"\n >\n @if (moDataList?.length > 0) {\n @for (node of moDataList; track node; let index = $index) {\n @if (node.visibility === true && node.parentNode.isExpand) {\n <bsu-barsa-tree-item\n class=\"node-item\"\n [attr.data-id]=\"node.Data.Id\"\n [attr.id]=\"'node-' + node.Data.Id\"\n [style.cursor]=\"cursor\"\n [node]=\"node\"\n [level]=\"node.level\"\n [styleIndex]=\"node.Data.$StyleIndex\"\n [isChecked]=\"selectedNode?.Data?.Id === node.Data.Id || (inDialog && node.Data.$IsChecked)\"\n [hasChildren]=\"node.Data.$HasChildren\"\n [loading]=\"node.loading\"\n [inDialog]=\"inDialog\"\n [isMultiSelect]=\"isMultiSelect\"\n [isExpand]=\"node.isExpand\"\n [isHetro]=\"isHetro\"\n [parentNode]=\"node.parentNode\"\n [text]=\"node.text\"\n [collapseIcon]=\"collapseIcon\"\n [navigationArrow]=\"navigationArrow\"\n [rtl]=\"rtl\"\n [index]=\"index\"\n [allColumns]=\"allColumns\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [showOkCancelButtons]=\"showOkCancelButtons\"\n [selectedNode]=\"selectedNode\"\n [conditionalFormats]=\"conditionalFormats\"\n [contextMenuItems]=\"contextMenuItems\"\n [isCheckList]=\"isCheckList\"\n [deviceName]=\"deviceName\"\n [access]=\"access\"\n [hasDragDrop]=\"hasDragDrop\"\n (checkChange)=\"onCheckChange($event)\"\n (select)=\"onNodeSelect(node, index)\"\n (ulvCommandClick)=\"onNodeUlvCommand(node, index)\"\n (viewClick)=\"onNodeViewClick(node, index)\"\n (loadChildren)=\"onLoadChildren(node)\"\n (dragMoved)=\"onDragMoved($event)\"\n [relationList]=\"relationList\"\n (createNew)=\"createNew.emit($event)\"\n >\n </bsu-barsa-tree-item>\n }\n }\n } @else {\n <bsu-no-data></bsu-no-data>\n }\n </ul>\n </fd-layout-panel-body>\n</fd-layout-panel>\n\n<!--noData-->\n","import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\n\nimport { TreeNodeObj } from 'barsa-novin-ray-core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ReportTreeBaseComponent } from '../report-tree-base';\n\n@Component({\n selector: 'bsu-ui-tree',\n templateUrl: './ui-tree.component.html',\n styleUrls: ['./ui-tree.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiTreeComponent extends ReportTreeBaseComponent implements OnInit {\n @Input() showOkCancelButtons;\n collapseIcon$: Observable<string>;\n\n ngOnInit(): void {\n super.ngOnInit();\n this.collapseIcon$ = this._portalService.rtl$.pipe(\n // map((isRtl) => (isRtl ? 'navigation-left-arrow' : 'navigation-right-arrow'))\n map((_) => 'add')\n );\n }\n onDrop($event): void {\n this.drop($event);\n }\n\n onDragMoved($event): void {\n this.dragMoved($event);\n }\n\n onCollapseAll(): void {\n this.collapseAll();\n }\n\n onOpenMoveToDialog(selectedNode, device, moveDialog): void {\n this.openMoveToDialog(selectedNode, device, moveDialog);\n }\n\n onConfirmDialog(dialogSelectedNode): void {\n this.confirmDialog(dialogSelectedNode);\n }\n\n onDismissDialog(): void {\n this.dismissDialog();\n }\n\n onSelectNodeInMoveDialog($event): void {\n this.selectNodeInMoveDialog($event);\n }\n onCheckChange(ev: { node: TreeNodeObj; index: number; checked: boolean }): void {\n let selectedNode: TreeNodeObj | null = null;\n if (ev.checked) {\n ev.node.Data.$IsChecked = true;\n selectedNode = ev.node;\n this.context.selNode = selectedNode;\n this.context.fireEvent('rowselect', this.context, ev.index, ev.node.Data);\n } else {\n ev.node.Data.$IsChecked = false;\n const selected = this.moDataList.find((c) => c.$IsChecked);\n if (selected) {\n this.context.selNode = ev.node;\n this._selectedNodeSource.next(ev.node);\n } else {\n }\n this.context.fireEvent('rowdeselect', this.context, ev.index, ev.node.Data);\n }\n this._selectedNodeSource.next(selectedNode);\n this._rebindRoot();\n }\n onNodeSelect(ev: { node: TreeNodeObj; index: number }): void {\n if (this.context.selNode === ev.node) {\n this._deselectNode();\n } else {\n this._selectNode(ev.node);\n }\n this._rebindRoot();\n }\n\n onNodeUlvCommand(ev: { node: TreeNodeObj; index: number }): void {\n this._ulvCommandClicked(ev.node.Data, ev.index);\n }\n\n onNodeViewClick(ev: { node: TreeNodeObj; index: number }): void {\n this._raiseRowClick(ev.index, ev.node);\n }\n\n onLoadChildren(node: TreeNodeObj): void {\n this.loadChildren(node);\n }\n}\n","<ng-container\n *ngTemplateOutlet=\"\n renderTree;\n context: {\n $implicit: root$ | async,\n moDataList: flatMoDataList,\n isCheckList: context.Setting.View?.IsCheckList,\n columns: visibleColumns$ | async,\n groupby: groupby$ | async,\n toolbarButtons: (toolbarButtons$ | async)!! | seperatorFix,\n contextMenuItems: menuItems$ | async | contextMenu: context.Setting.View?.IsCheckList,\n conditionalFormats: context.Setting.View?.ConditionalFormats,\n deviceName: deviceName$ | async,\n deviceSize: deviceSize$ | async,\n access: context.Setting.Extra?.DefaultCommandsAccess,\n title: title$ | async,\n inlineEditMode: inlineEditMode$ | async,\n allowInlineEdit: allowInlineEdit$ | async,\n hideToolbar: hideToolbar$ | async,\n gridSetting: gridSetting$ | async,\n contentDensity: contentDensity$ | async,\n hasSelected: hasSelected$ | async,\n showOkCancelButtons: showOkCancelButtons,\n selectedNode: selectedNode$ | async,\n navigationArrow: navigationArrow$ | async,\n collapseIcon: collapseIcon$ | async,\n relationList: context.Setting.View.RelationList,\n rtl: rtl$ | async,\n inDialog: inDialog$ | async,\n isMultiSelect: isMultiSelect$ | async,\n disableOverflowContextMenu: viewSetting?.DisableOverflowContextMenu,\n isHetro: context.Setting.ClassNames.DataClass === 'Ul.HetroTreeUlvDataCtrlr',\n selectedMo: selectedMo$ | async\n }\n \"\n></ng-container>\n\n<ng-template\n #renderTree\n let-root\n let-moDataList=\"moDataList\"\n let-deviceName=\"deviceName\"\n let-deviceSize=\"deviceSize\"\n let-toolbarButtons=\"toolbarButtons\"\n let-title=\"title\"\n let-inlineEditMode=\"inlineEditMode\"\n let-allowInlineEdit=\"allowInlineEdit\"\n let-hideToolbar=\"hideToolbar\"\n let-gridSetting=\"gridSetting\"\n let-contentDensity=\"contentDensity\"\n let-access=\"access\"\n let-contextMenuItems=\"contextMenuItems\"\n let-conditionalFormats=\"conditionalFormats\"\n let-isCheckList=\"isCheckList\"\n let-groupby=\"groupby\"\n let-hasSelected=\"hasSelected\"\n let-showOkCancelButtons=\"showOkCancelButtons\"\n let-selectedNode=\"selectedNode\"\n let-navigationArrow=\"navigationArrow\"\n let-collapseIcon=\"collapseIcon\"\n let-rtl=\"rtl\"\n let-disableOverflowContextMenu=\"disableOverflowContextMenu\"\n let-relationList=\"relationList\"\n let-isHetro=\"isHetro\"\n let-inDialog=\"inDialog\"\n let-isMultiSelect=\"isMultiSelect\"\n let-selectedMo=\"selectedMo\"\n>\n <bsu-ulv-toolbar\n [hideToolbar]=\"hideToolbar\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [toolbarButtons]=\"toolbarButtons\"\n [gridSetting]=\"gridSetting\"\n [title]=\"title\"\n [hasSelected]=\"hasSelected\"\n [inDialog]=\"inDialog\"\n [isMultiSelect]=\"isMultiSelect\"\n [contentDensity]=\"contentDensity\"\n [inlineEditMode]=\"inlineEditMode\"\n [allowInlineEdit]=\"allowInlineEdit\"\n [moDataListCount]=\"moDataList.length\"\n (sortClick)=\"onSortSettings(deviceName)\"\n (groupbyClick)=\"onGroupbySettings(deviceName)\"\n (columnClick)=\"onColumnSettings(deviceName)\"\n (editModeClick)=\"onEditMode()\"\n >\n <button\n fd-button\n fd-toolbar-item\n [fdType]=\"'transparent'\"\n [glyph]=\"'collapse-all'\"\n (click)=\"onCollapseAll()\"\n ></button>\n @if (!showOkCancelButtons) {\n <button\n fd-button\n fd-toolbar-item\n [fdType]=\"'transparent'\"\n [glyph]=\"'move'\"\n (click)=\"onOpenMoveToDialog(selectedNode, deviceName, moveDialog)\"\n ></button>\n }\n </bsu-ulv-toolbar>\n <bsu-tree-view\n [rtl]=\"rtl\"\n [relationList]=\"relationList\"\n [root]=\"root\"\n [selectedMo]=\"selectedMo\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [navigationArrow]=\"navigationArrow\"\n [collapseIcon]=\"collapseIcon\"\n [selectedNode]=\"selectedNode\"\n [access]=\"access\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [inDialog]=\"inDialog\"\n [isMultiSelect]=\"isMultiSelect\"\n [contextMenuItems]=\"contextMenuItems\"\n [moDataList]=\"moDataList\"\n [groupby]=\"groupby\"\n [isHetro]=\"isHetro\"\n [isCheckList]=\"isCheckList\"\n [conditionalFormats]=\"conditionalFormats\"\n [showOkCancelButtons]=\"showOkCancelButtons\"\n (checkChange)=\"onCheckChange($event)\"\n (itemDrop)=\"onDrop($event)\"\n (itemDragMoved)=\"onDragMoved($event)\"\n (nodeUlvCommand)=\"onNodeUlvCommand($event)\"\n (nodeViewClick)=\"onNodeViewClick($event)\"\n (loadChildren)=\"onLoadChildren($event)\"\n (nodeSelect)=\"onNodeSelect($event)\"\n (rowCheck)=\"onRowCheck($event)\"\n (rowClick)=\"onRowClick($event)\"\n (allCheckbox)=\"onAllCheckbox($event)\"\n (expandClick)=\"onExpandClick($event)\"\n (editFormPanelCancel)=\"onEditFormPanelCancel($event)\"\n (editFormPanelSave)=\"onEditFormPanelSave($event)\"\n (createNew)=\"onCreateNew($event)\"\n >\n </bsu-tree-view>\n <ng-template let-dialog let-dialogConfig=\"dialogConfig\" #moveDialog>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\n <fd-dialog-header>\n <h1 fd-title>{{ 'Move' | bbbTranslate }}</h1>\n <button fd-dialog-close-button (click)=\"dialog.dismiss('Close button')\"></button>\n </fd-dialog-header>\n\n <fd-dialog-body>\n <div class=\"move-to\" (keydown.enter)=\"onConfirmDialog(dialogSelectedNode)\">\n <bsu-tree-view\n [rtl]=\"rtl\"\n [root]=\"root\"\n [access]=\"access\"\n [navigationArrow]=\"navigationArrow\"\n [collapseIcon]=\"collapseIcon\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [hasDragDrop]=\"false\"\n [selectedNode]=\"dialogSelectedNode\"\n [moDataList]=\"flatMoDataList\"\n [groupby]=\"groupby\"\n [isCheckList]=\"isCheckList\"\n [conditionalFormats]=\"conditionalFormats\"\n (loadChildren)=\"onLoadChildren($event)\"\n (nodeSelect)=\"onSelectNodeInMoveDialog($event)\"\n ></bsu-tree-view>\n </div>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <ng-template fdkTemplate=\"footer\">\n <div fd-bar-right>\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'OK' | bbbTranslate\"\n (click)=\"onConfirmDialog(dialogSelectedNode)\"\n >\n </fd-button-bar>\n <fd-button-bar fd-initial-focus [label]=\"'Cancel' | bbbTranslate\" (click)=\"onDismissDialog()\">\n </fd-button-bar>\n </div>\n </ng-template>\n </fd-dialog-footer>\n </fd-dialog>\n </ng-template>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, EventEmitter, Output } from '@angular/core';\r\n\r\nimport { BaseComponent } from 'barsa-novin-ray-core';\r\n@Component({\r\n selector: 'bsu-inline-save-and-cancel,[inlineSaveAndCancel]',\r\n templateUrl: './inline-save-and-cancel.component.html',\r\n styleUrls: ['./inline-save-and-cancel.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class InlineSaveAndCancelComponent extends BaseComponent {\r\n @Output() save = new EventEmitter();\r\n @Output() cancel = new EventEmitter();\r\n\r\n onSave(e): void {\r\n this.save.emit();\r\n e.stopPropagation();\r\n e.preventDefault();\r\n }\r\n onCancel(e): void {\r\n this.cancel.emit();\r\n e.stopPropagation();\r\n e.preventDefault();\r\n }\r\n}\r\n","<button fd-button glyph=\"accept\" role=\"save\" (click)=\"onSave($event)\"></button>\n<button fd-button fdType=\"negative\" glyph=\"decline\" role=\"canecl form\" (click)=\"onCancel($event)\"></button>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnChanges,\n OnInit,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\nimport { getDeviceIsMobile, BarsaApi, BaseComponent, FileAttachmentInfo } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-blob-viewer',\n templateUrl: './blob-viewer.component.html',\n styleUrls: ['./blob-viewer.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BlobViewerComponent extends BaseComponent implements OnInit, OnChanges {\n @Input() file: FileAttachmentInfo;\n @ViewChild('pdfViewerOnDemand') _pdfViewerOnDemand: any;\n valueUrl: SafeResourceUrl;\n loading = false;\n fallbackUrl: string;\n isMobile: boolean;\n blobUrl: string;\n constructor(private _cdr: ChangeDetectorRef, private _domSanitizer: DomSanitizer) {\n super();\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.isMobile = getDeviceIsMobile();\n this.fallbackUrl = this.getFallbackUrl(this.file.Id);\n this._downloadFileId(this.file.Id, true, 'pdf', false, false);\n }\n ngOnChanges(changes: SimpleChanges): void {\n super.ngOnChanges(changes);\n const { file } = changes;\n if (file && !file.firstChange) {\n this.fallbackUrl = this.getFallbackUrl(this.file.Id);\n this._downloadFileId(this.file.Id, true, 'pdf', false, false);\n }\n }\n\n protected _downloadFileId(fileId, viewInBrowser, convertTo, forOcx, isOfficeOnline): void {\n this._setLoading(true);\n BarsaApi.Common.File.DownloadFileContent.bind(this)(\n {\n fileId,\n fileUrl: null,\n viewInBrowser,\n convertTo,\n isOfficeOnline,\n forOcx\n },\n (response) => {\n if (response.succeed) {\n this._downloadFileIdCompleted(response);\n }\n this._setLoading(false);\n },\n (error) => {\n alert(error);\n this._setLoading(false);\n }\n );\n }\n protected getFallbackUrl(fileId): string {\n return `امکان نمایش فایل در این مرورگر وجود ندارد.\n برای باز کردن فایل از لینک زیر استفاده کنید: </br> <a href='${BarsaApi.Common.File.CreateAttachmentUrl(\n fileId,\n false,\n true\n )}'>دانلود فایل بصورت pdf</a> </br> <a href='${BarsaApi.Common.File.CreateAttachmentUrl(\n fileId,\n false,\n false\n )}'>دانلود فایل بصورت بصورت اصلی</a>`;\n }\n protected _setLoading(loading): void {\n this.loading = loading;\n this._cdr.detectChanges();\n }\n protected _downloadFileIdCompleted(response): void {\n const blob = BarsaApi.Common.File.B64toBlob(response.content, response.contentType);\n const url = window.URL || window.webkitURL;\n this.blobUrl = url.createObjectURL(blob);\n if (this.isMobile) {\n this._pdfViewerOnDemand.pdfSrc = this.blobUrl; // pdfSrc can be Blob or Uint8Array\n this._pdfViewerOnDemand.refresh(); // Ask pdf viewer to load/refresh pdf\n }\n this.valueUrl = this._domSanitizer.bypassSecurityTrustResourceUrl(url.createObjectURL(blob));\n }\n}\n","@if (loading) {\n<bsu-mask></bsu-mask>\n} @if (isMobile) {\n<ng-container *ngTemplateOutlet=\"pdfJs\"> </ng-container>\n} @else { @if (valueUrl) {\n<object\n style=\"flex-grow: 1\"\n [attr.data]=\"valueUrl\"\n type=\"application/pdf\"\n width=\"100%\"\n height=\"100%\"\n [attr.html]=\"fallbackUrl\"\n></object>\n} }\n<ng-template #pdfJs>\n <ng2-pdfjs-viewer\n #pdfViewerOnDemand\n [externalWindow]=\"false\"\n [downloadFileName]=\"blobUrl\"\n [openFile]=\"false\"\n [viewBookmark]=\"false\"\n [showSpinner]=\"true\"\n [download]=\"true\"\n ></ng2-pdfjs-viewer>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\r\nimport {\r\n BaseComponent,\r\n AbbrevationDeviceSize,\r\n FileAttachmentInfo,\r\n getIcon,\r\n isImage,\r\n PictureFieldSourcePipe\r\n} from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bsu-file-viewer-content',\r\n templateUrl: './file-viewer-content.component.html',\r\n styleUrls: ['./file-viewer-content.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class FileViewerContentComponent extends BaseComponent implements OnInit {\r\n @Input() fillWidth: boolean;\r\n @Input() imageOnly: boolean;\r\n @Input() isImageGallery: boolean;\r\n @Input() cardMode: boolean;\r\n @Input() showFooter: boolean;\r\n @Input() showContent: boolean;\r\n @Input() width: string;\r\n @Input() deviceSize: AbbrevationDeviceSize;\r\n @Input() cardContentHeight: string | null;\r\n @Input() file: FileAttachmentInfo;\r\n constructor(private _picFieldSrc: PictureFieldSourcePipe) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n const file = this.file;\r\n const spl = file.FileName?.split('.');\r\n const ext = spl ? spl[spl.length - 1] : '';\r\n const isImg = isImage(ext);\r\n isImg &&\r\n (file.thumbnailUrl = this._picFieldSrc.transform(\r\n file.Id,\r\n this.isImageGallery ? 'BarsaPicture.Thumbnail' : 'ID',\r\n null,\r\n '',\r\n 120,\r\n 120\r\n )) &&\r\n (file.mediaUrl = this._picFieldSrc.transform(\r\n file.Id,\r\n this.isImageGallery ? 'BarsaPicture.Full' : 'Attachment',\r\n '',\r\n '',\r\n 0,\r\n 0\r\n )) &&\r\n (file.isImage = true);\r\n !isImg && (file.thumbnailUrl = getIcon(ext || file.Type));\r\n }\r\n}\r\n","<ng-container\r\n *ngTemplateOutlet=\"cardMode ? cardTpl : file.isImage || imageOnly ? showImage : blobViewer\"\r\n></ng-container>\r\n\r\n<ng-template #showImage>\r\n <div class=\"column big-imgs-box\" [class.fill-width]=\"fillWidth\">\r\n <div class=\"pics\">\r\n <bsu-mask></bsu-mask>\r\n <img imgLazy [imgLazy]=\"file.mediaUrl\" [src]=\"file.mediaUrl\" [style.width]=\"width\" />\r\n </div>\r\n </div>\r\n</ng-template>\r\n<ng-template #blobViewer>\r\n <bsu-blob-viewer\r\n [file]=\"file\"\r\n [style.width]=\"width\"\r\n fillEmptySpace\r\n [disable]=\"deviceSize !== 's'\"\r\n [decrement]=\"'25px'\"\r\n ></bsu-blob-viewer>\r\n</ng-template>\r\n<ng-template #cardTpl>\r\n <fd-card class=\"media\">\r\n <fd-card-content style=\"text-align: center\" [style.height]=\"cardContentHeight\">\r\n <ng-container\r\n *ngTemplateOutlet=\"!showContent ? thumbnailTpl : file.isImage || imageOnly ? showImage : blobViewer\"\r\n ></ng-container>\r\n </fd-card-content>\r\n </fd-card>\r\n</ng-template>\r\n<ng-template #thumbnailTpl>\r\n <img imgLazy [imgLazy]=\"file.thumbnailUrl\" [src]=\"file.thumbnailUrl\" [style.width]=\"width\" />\r\n</ng-template>\r\n","import { ChangeDetectionStrategy, Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { ContentDensity, DialogRef } from '@fundamental-ngx/core';\r\nimport { AbbrevationDeviceSize, BaseComponent, FileAttachmentInfo } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bsu-file-viewer',\r\n templateUrl: './file-viewer.component.html',\r\n styleUrls: ['./file-viewer.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class FileViewerComponent extends BaseComponent implements OnInit {\r\n @ViewChild('gallery') gallery!: ElementRef<HTMLElement>;\r\n fillWidth: boolean;\r\n deviceSize: AbbrevationDeviceSize;\r\n title: string;\r\n files: FileAttachmentInfo[];\r\n contentDensity: ContentDensity;\r\n isImageGallery: boolean;\r\n selectedFile: FileAttachmentInfo;\r\n\r\n constructor(private _dialogRef: DialogRef) {\r\n super();\r\n const { title, files, selectedIndex, deviceSize, contentDensity, isImageGallery } = _dialogRef.data;\r\n this.title = title;\r\n this.files = files;\r\n this.selectedFile = files[selectedIndex || 0];\r\n this.deviceSize = deviceSize || 'l';\r\n this.contentDensity = contentDensity || 'compact';\r\n this.isImageGallery = isImageGallery;\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n }\r\n onMedaiClick(media: FileAttachmentInfo, index): void {\r\n this.selectedFile = media;\r\n if (this.isImageGallery) {\r\n this.gallery.nativeElement.querySelector('[id=\"' + String(index) + '\"]')?.scrollIntoView(true);\r\n }\r\n }\r\n onClose(): void {\r\n this._dialogRef.close();\r\n }\r\n}\r\n","","import { Directive, HostListener, Input, Type } from '@angular/core';\nimport { DialogService } from '@fundamental-ngx/core';\nimport { FileAttachmentInfo, AbbrevationDeviceSize } from 'barsa-novin-ray-core';\nimport { FileViewerComponent } from './file-viewer/file-viewer.component';\n\n@Directive({\n selector: '[fullscreenFiles]'\n})\nexport class FullscreenFilesDirective {\n @Input() files: FileAttachmentInfo[];\n @Input() title: string;\n @Input() deviceSize: AbbrevationDeviceSize;\n @Input() isImageGallery: boolean;\n @Input() component: Type<any>;\n constructor(private _dialogService: DialogService) {}\n @HostListener('click') _handleClick(): void {\n this._dialogService.open(this.component ?? FileViewerComponent, {\n data: {\n isImageGallery: this.isImageGallery,\n files: this.files,\n title: this.title,\n deviceSize: this.deviceSize\n },\n mobile: true\n });\n }\n}\n","import { Directive, HostListener, Input } from '@angular/core';\r\nimport { BarsaApi, FileAttachmentInfo } from 'barsa-novin-ray-core';\r\n\r\n@Directive({\r\n selector: '[downloadFiles]'\r\n})\r\nexport class DownloadFilesDirective {\r\n @Input() files: FileAttachmentInfo[];\r\n constructor() {}\r\n @HostListener('click') _handleClick(): void {\r\n const files = this.files;\r\n if (!files.length) {\r\n return;\r\n }\r\n const firstFile = files[0];\r\n if (files.length === 1) {\r\n BarsaApi.Common.File.Download5({ fileId: firstFile.Id });\r\n } else {\r\n BarsaApi.Common.File.DownloadAllAsZip(files.map((c) => c.Id));\r\n }\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { ButtonType } from '@fundamental-ngx/core';\r\nimport { AbbrevationDeviceSize, BaseComponent, FileAttachmentInfo } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bsu-file-viewer-popover',\r\n templateUrl: './file-viewer-popover.component.html',\r\n styleUrls: ['./file-viewer-popover.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class FileViewerPopoverComponent extends BaseComponent implements OnInit {\r\n @Input() files: FileAttachmentInfo[];\r\n @Input() file: FileAttachmentInfo;\r\n @Input() deviceSize: AbbrevationDeviceSize;\r\n @Input() canDownload: boolean;\r\n @Input() disableRemove: boolean;\r\n @Input() fdType: ButtonType;\r\n @Output() remove = new EventEmitter<void>();\r\n constructor() {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n }\r\n}\r\n","<!-- <div class=\"box\" #divRef (mouseover)=\"divRef.classList.add('onside')\" (mouseout)=\"divRef.classList.remove('onside')\">\n<div class=\"box-content\">\n <fd-icon [glyph]=\"'pdf-attachment'\"></fd-icon>\n</div>\n<div class=\"box-file-download\">\n <div class=\"icon\">\n <img\n id=\":1wy\"\n class=\"aSM\"\n src=\"//ssl.gstatic.com/docs/doclist/images/mediatype/icon_2_archive_x16.png\"\n title=\"Compressed Archive\"\n />\n </div>\n <div class=\"filename-wrapper\">\n <span class=\"filename\">build.rar</span>\n </div>\n </div>\n <div class=\"download-wrapper\">\n <button fd-button glyph=\"download\" fdType=\"transparent\"></button>\n <button fd-button glyph=\"download\" fdType=\"transparent\"></button>\n </div>\n</div> -->\n\n<div style=\"display: flex; align-items: center; column-gap: 1px\">\n <button\n fd-button\n [fdPopoverTrigger]=\"deviceSize === 's' ? popoverMobile : popoverLarge\"\n [label]=\"file.FileName || ''\"\n [title]=\"file.FileName || ''\"\n glyph=\"attachment\"\n [fdMenu]=\"true\"\n [fdType]=\"fdType\"\n class=\"btn-actionsheet\"\n ></button>\n <fd-popover\n #popoverMobile\n [mobile]=\"true\"\n [mobileConfig]=\"{ title: 'ShowFiles' | bbbTranslate, hasCloseButton: true }\"\n >\n <ng-template #popoverBodyContent>\n <ng-container\n *ngTemplateOutlet=\"popoverbodyTpl; context: { $implicit: popoverMobile, mobile: true }\"\n ></ng-container>\n </ng-template>\n </fd-popover>\n <fd-popover #popoverLarge>\n <fd-popover-body>\n <ng-container\n *ngTemplateOutlet=\"popoverbodyTpl; context: { $implicit: popoverLarge, mobile: false }\"\n ></ng-container>\n </fd-popover-body>\n </fd-popover>\n\n @if (!disableRemove) {\n <button fd-button glyph=\"delete\" (click)=\"remove.emit()\"></button>\n }\n</div>\n\n<ng-template #popoverbodyTpl let-popover let-mobile=\"mobile\">\n <div fd-popover-body-header>\n <div fd-bar [cozy]=\"true\" id=\"popover-bar-header-3\">\n <div fd-bar-left>\n <fd-bar-element>{{ file.FileName }}</fd-bar-element>\n </div>\n </div>\n </div>\n <bsu-file-viewer-content\n [file]=\"file\"\n [width]=\"mobile ? '100vw' : '30vw'\"\n [cardMode]=\"true\"\n [showContent]=\"true\"\n [showFooter]=\"true\"\n [deviceSize]=\"deviceSize\"\n [cardContentHeight]=\"mobile ? null : '320px'\"\n ></bsu-file-viewer-content>\n @if (canDownload) {\n <div fd-popover-body-footer>\n <div fd-bar barDesign=\"footer\">\n <div fd-bar-right>\n <fd-button-bar\n fdType=\"transparent\"\n glyph=\"download\"\n downloadFiles\n [files]=\"[file]\"\n (click)=\"popover.close()\"\n ></fd-button-bar>\n @if (!mobile) {\n <fd-button-bar\n fdType=\"transparent\"\n glyph=\"resize\"\n fullscreenFiles\n [files]=\"files?.length ? files : [file]\"\n (click)=\"popover.close()\"\n ></fd-button-bar>\n }\n </div>\n </div>\n </div>\n }\n</ng-template>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n Input,\n AfterViewInit,\n OnInit\n} from '@angular/core';\nimport { AbbrevationDeviceSize, BaseComponent, LayoutSetting, MetaobjectDataModel } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-column-renderer,[colRenderer]',\n templateUrl: './column-renderer.component.html',\n styleUrls: ['./column-renderer.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ColumnRendererComponent extends BaseComponent implements OnInit, AfterViewInit {\n @HostBinding('class.isMobile') _isSmall = false;\n @Input() column: any;\n @Input() mo: MetaobjectDataModel;\n @Input() index: any;\n @Input() editMode: boolean;\n @Input() customRowHeight: any;\n @Input() controlUi: LayoutSetting | null;\n @Input() formLayoutShowLabel: boolean;\n @Input() isChecked: boolean;\n @Input() isNewInlineMo: boolean;\n @Input() containerDom: HTMLElement;\n\n @Input() disableEllapsis: boolean;\n @Input() rtl: boolean;\n @Input() deviceName: string;\n @Input() deviceSize: AbbrevationDeviceSize;\n @Input() value: any;\n @Input() icon: any;\n showMore: boolean;\n /**\n *\n */\n constructor(protected _cdr: ChangeDetectorRef) {\n super();\n }\n ngOnInit(): void {\n super.ngOnInit();\n if (this.deviceSize === 's') {\n this._isSmall = true;\n }\n }\n ngAfterViewInit(): void {\n if (this.column.FieldTypeId.toString() === '31') {\n setTimeout(() => {\n this._cdr.detectChanges();\n }, 0);\n }\n }\n onElapsised(val: boolean): void {\n if (this.disableEllapsis) {\n return;\n }\n this.showMore = val;\n this._cdr.detectChanges();\n }\n}\n","@if (column) {\n<ng-container *ngTemplateOutlet=\"editMode ? formControlTemplate : renderCellTemplate\"> </ng-container>\n}\n<ng-template #renderCellTemplate>\n @switch (column.FieldTypeId) { @case ('42') {\n <ng-container *ngTemplateOutlet=\"renderCellImage\"></ng-container>\n } @case ('33') {\n <ng-container *ngTemplateOutlet=\"renderCellFileInfo\"></ng-container>\n } @case ('31') {\n <ng-container *ngTemplateOutlet=\"renderCellFileListKhati\"></ng-container>\n } @case ('11') {\n <ng-container *ngTemplateOutlet=\"renderCellListTasavir\"></ng-container>\n } @case ('5') {\n <ng-container\n *ngTemplateOutlet=\"column.Extra?.ShowCheckInGrid ? renderCellChecbox : renderChecboxImage\"\n ></ng-container>\n } @default {\n <ng-container *ngTemplateOutlet=\"renderGeneral\"></ng-container>\n } }\n</ng-template>\n<ng-template #renderGeneral>\n <div style=\"display: flex; width: 100%; height: 100%; align-items: center; justify-content: start\" [style.width]=\"\">\n @if (icon) {\n <img [attr.rtl]=\"rtl\" [src]=\"icon\" />\n }\n <!-- <fd-text\n #fdText\n *ngIf=\"column.Extra?.IconDisplayTypeEnum !== 'Image'\"\n [maxLines]=\"1\"\n [text]=\"value\"\n [fd-inline-help]=\"value\"\n [disabled]=\"!fdText._hasMore\"\n ></fd-text> -->\n\n <!-- <bsu-barsa-text-ellipsis\n [style.width]=\"column.$Width\"\n *ngIf=\"column.Extra?.IconDisplayTypeEnum !== 'Image'\"\n [text]=\"value\"\n></bsu-barsa-text-ellipsis> -->\n <!-- <div *ngIf=\"column.Extra?.IconDisplayTypeEnum !== 'Image'\" style=\"word-break:break-word\">\n{{ value }}\n</div> -->\n @if (column.Extra?.IconDisplayTypeEnum !== 'Image') {\n <div\n [ellapsisText]=\"value\"\n [class.ellapsis]=\"!disableEllapsis\"\n (ellapsised)=\"onElapsised($event)\"\n (click)=\"showMore && helpPopover.open()\"\n >\n {{ value }}\n </div>\n }\n <fd-popover #helpPopover>\n <fd-popover-control> </fd-popover-control>\n <fd-popover-body class=\"help-popover-body\">\n <div fd-popover-body-header>\n <div fd-bar>\n <div fd-bar-left>\n <fd-bar-element style=\"white-space: break-spaces\"\n >{{ column.Alias | bbbTranslate }}:</fd-bar-element\n >\n </div>\n <div fd-bar-right>\n <fd-bar-element\n ><button\n fd-button\n fdType=\"transparent\"\n glyph=\"decline\"\n (click)=\"helpPopover.close()\"\n ></button>\n </fd-bar-element>\n </div>\n </div>\n </div>\n <div class=\"help-content\">{{ value }}</div>\n </fd-popover-body>\n </fd-popover>\n </div>\n</ng-template>\n<ng-template #formControlTemplate>\n <ng-container\n *ngTemplateOutlet=\"\n !controlUi || controlUi.FieldUi.originalXtype === 'Ui.ReadOnlyField'\n ? renderCellTemplate\n : layoutControlTemplate\n \"\n ></ng-container>\n</ng-template>\n<ng-template #layoutControlTemplate>\n @if (controlUi) {\n <bsu-layout-control\n [inlineEdit]=\"true\"\n [caption]=\"column.Caption\"\n [config]=\"controlUi\"\n [focusControl]=\"index === 0 && (isChecked || isNewInlineMo)\"\n [showLabel]=\"formLayoutShowLabel\"\n ></bsu-layout-control>\n }\n</ng-template>\n<ng-template #renderCellListTasavir>\n @if (mo[column.Name] && mo[column.Name].Images) {\n <div style=\"display: flex; flex-wrap: wrap; gap: 0.15rem\">\n @for (pic of mo[column.Name].Images; track pic) {\n <img\n fullscreen\n fullscreenFiles\n [files]=\"mo[column.Name].Images\"\n [isImageGallery]=\"true\"\n [deviceSize]=\"deviceSize\"\n [src]=\"pic.FileId | picFieldSrc: 'BarsaPicture.Thumbnail':null:'':32:32\"\n style=\"width: 3rem; height: 3rem\"\n />\n }\n </div>\n }\n</ng-template>\n<ng-template #renderCellFileListKhati>\n @if (mo[column.Name]) {\n <div class=\"file-viewer-attachments\">\n @for (file of mo[column.Name].Files; track file) { @if (!file.IsDeleted) {\n <bsu-file-viewer-popover\n [style.width.px]=\"containerDom ? containerDom.offsetWidth : null\"\n [file]=\"file\"\n [files]=\"mo[column.Name].Files\"\n [deviceSize]=\"deviceSize\"\n [canDownload]=\"true\"\n [disableRemove]=\"true\"\n [fdType]=\"'transparent'\"\n ></bsu-file-viewer-popover>\n }\n <!-- <fd-token *ngIf=\"!file.IsDeleted\" [readOnly]=\"true\">{{ file.FileName }}</fd-token> -->\n }\n </div>\n }\n</ng-template>\n<ng-template #renderCellFileInfo>\n @if (mo[column.Name]) {\n <fd-avatar\n [transparent]=\"true\"\n [size]=\"deviceSize === 's' ? 's' : 'm'\"\n [image]=\"mo[column.Name] | picFieldSrc: 'PictureFileInfo':null:column.FieldDefId\"\n ></fd-avatar>\n }\n</ng-template>\n<ng-template #renderCellChecbox>\n <fd-icon [glyph]=\"mo[column.Name] === true ? 'accept' : 'less'\"></fd-icon>\n</ng-template>\n<ng-template #renderChecboxImage>\n @if (column.Extra?.TrueImage === '') {\n {{ value }}\n } @if (column.Extra?.TrueImage !== '') {\n <img [src]=\"mo[column.Name] ? column.Extra?.TrueImage : column.Extra?.FalseImage\" aling=\"middle\" />\n }\n</ng-template>\n<ng-template #renderCellImage>\n @if (mo[column.Name] && mo[column.Name]['Url']) {\n <fd-avatar\n [size]=\"column.FieldTypeId === '42' ? 'xs' : deviceSize === 's' ? 's' : 'm'\"\n [transparent]=\"true\"\n [image]=\"mo[column.Name]['Url']\"\n ></fd-avatar>\n }\n</ng-template>\n","import { ChangeDetectionStrategy, Component, ViewChild, ViewContainerRef } from '@angular/core';\r\nimport { LayoutPanelBaseComponent, LayoutService } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bsu-ly-layout-container-of-root',\r\n templateUrl: './ly-layout-container-of-root.component.html',\r\n styleUrls: ['./ly-layout-container-of-root.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [LayoutService]\r\n})\r\nexport class LyLayoutContainerOfRootComponent extends LayoutPanelBaseComponent {\r\n @ViewChild('viewRefTemplate', { read: ViewContainerRef, static: true }) viewRef: ViewContainerRef;\r\n}\r\n","@if (config) { @for (item of config | filterToolbarControl; track item) { @switch (item.xtype) { @case\n('Ly.LayoutTabPanel') {\n<ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, name: 'LyLayoutPanelComponent', selector: 'bsu-ly-tab-container' }\n \"\n></ng-container>\n<!-- <bsu-ly-tab-container [config]=\"item\"></bsu-ly-tab-container> -->\n} @case ('Ly.LayoutPanel') {\n<ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, name: 'LyLayoutPanelComponent', selector: 'bsu-ly-layout-panel' }\n \"\n></ng-container>\n<!-- <bsu-ly-layout-panel [config]=\"item\"></bsu-ly-layout-panel> -->\n} @case ('Ly.LayoutContainer') {\n<ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n name: 'LyLayoutContainerComponent',\n selector: 'bsu-ly-layout-container'\n }\n \"\n></ng-container>\n<!-- <bsu-ly-layout-container [config]=\"item\"></bsu-ly-layout-container> -->\n} @case ('Ly.EmptySpace') {\n<ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, name: 'LyEmptySpaceComponent', selector: 'bsu-ly-empty-space' }\n \"\n></ng-container>\n<!-- <bsu-ly-empty-space [config]=\"item\"></bsu-ly-empty-space> -->\n} @case ('Ly.SimpleLabel') {\n<ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, name: 'LySimpleLabelComponent', selector: 'bsu-ly-simple-label' }\n \"\n></ng-container>\n<!-- <bsu-ly-simple-label [config]=\"item\"></bsu-ly-simple-label> -->\n} @case ('Ly.LayoutLine') {\n<ng-container\n *ngTemplateOutlet=\"dynamicLayout; context: { $implicit: item, name: 'LyLineComponent', selector: 'bsu-ly-line' }\"\n></ng-container>\n<!-- <bsu-ly-line [isVertical]=\"item.IsVertical\"></bsu-ly-line> -->\n} @case ('Ly.LayoutJoin') { @if (item.Type === 'HorizontalJoin') {\n<ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n selector: 'bsu-ly-horizontal-layout',\n name: 'LyLayoutHorizontalComponent'\n }\n \"\n></ng-container>\n<!-- <bsu-ly-horizontal-layout [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-ly-horizontal-layout> -->\n} @else {\n<ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n selector: 'bsu-ly-vertical-layout',\n name: 'LyLayoutVerticalComponent'\n }\n \"\n></ng-container>\n<!-- <bsu-ly-vertical-layout [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-ly-vertical-layout> -->\n} } @case ('Ly.LayoutControl') {\n<ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n selector: 'bsu-layout-control',\n name: 'LayoutControlComponent'\n }\n \"\n></ng-container>\n<!-- <bsu-layout-control [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-layout-control> -->\n} } }\n<ng-template #dynamicLayout let-config let-selector=\"selector\" let-maxLabelWidth=\"maxLabelWidth\" let-name=\"name\">\n <bnrc-dynamic-layout\n [config]=\"config\"\n [selector]=\"selector\"\n [name]=\"name\"\n [module]=\"'BarsaSapUi'\"\n [moduleFileName]=\"'BarsaSapUi'\"\n [maxLabelWidth]=\"(maxLabelWidth$ | async)!!\"\n [flex]=\"isSearchPanel ? 'unset' : config.Bounds.width\"\n [isSearchPanel]=\"isSearchPanel\"\n >\n </bnrc-dynamic-layout>\n</ng-template>\n}\n","import { Component, ChangeDetectionStrategy, OnInit, Input, Output, EventEmitter, SimpleChanges } from '@angular/core';\r\nimport { BaseViewItemPropsComponent, FormPanelService, MetaobjectDataModel } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bsu-report-new-top-form',\r\n templateUrl: './report-new-top-form.component.html',\r\n styleUrls: ['./report-new-top-form.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [FormPanelService]\r\n})\r\nexport class ReportNewTopFormComponent extends BaseViewItemPropsComponent implements OnInit {\r\n @Input() selectedMo: MetaobjectDataModel | null | undefined;\r\n @Output() add = new EventEmitter<MetaobjectDataModel>();\r\n @Output() save = new EventEmitter<MetaobjectDataModel>();\r\n inRow = false;\r\n newMo: MetaobjectDataModel;\r\n\r\n ngOnInit(): void {\r\n this._createNewMo();\r\n super.ngOnInit();\r\n }\r\n onAdd(): void {\r\n this.add.emit(this.mo);\r\n this._createNewMo();\r\n }\r\n onSave(): void {\r\n this.save.emit(this.formPanelCtrlr.Mo);\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n super.ngOnChanges(changes);\r\n const { selectedMo } = changes;\r\n if (selectedMo && !selectedMo.firstChange) {\r\n if (selectedMo.currentValue) {\r\n this._setValue({ ...selectedMo.currentValue });\r\n } else {\r\n this._createNewMo();\r\n }\r\n }\r\n }\r\n private _setValue(mo: MetaobjectDataModel): void {\r\n this.formPanelCtrlr.SetValue(mo);\r\n this.formPanelCtrlr.Mo.Id = mo.Id;\r\n }\r\n private _createNewMo(): void {\r\n this.mo = this._ulvMainService.createNewInlineMo(true);\r\n this._setValue(this.mo);\r\n this.formPanelCtrlr.Clear();\r\n }\r\n}\r\n","@if (layout$ | async; as layout94) {\n<bsu-ly-layout-container-of-root\n [config]=\"layout94\"\n [isPanel]=\"false\"\n [isRoot]=\"true\"\n></bsu-ly-layout-container-of-root>\n}\n<div>\n <button\n fd-button\n [disabled]=\"!!selectedMo\"\n [fdType]=\"'standard'\"\n [label]=\"'New' | bbbTranslate\"\n [glyph]=\"'pull-down'\"\n (click)=\"onAdd()\"\n ></button>\n <button\n fd-button\n (click)=\"onSave()\"\n [disabled]=\"!selectedMo\"\n [fdType]=\"'standard'\"\n [label]=\"'Save' | bbbTranslate\"\n [glyph]=\"'save'\"\n ></button>\n</div>\n","import {\n ComponentRef,\n Directive,\n ElementRef,\n EventEmitter,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n ViewContainerRef\n} from '@angular/core';\nimport { ContentDensity } from '@fundamental-ngx/core';\nimport { takeUntil } from 'rxjs/operators';\nimport {\n AbbrevationDeviceSize,\n BaseDirective,\n columnsResizedEventArgs,\n DefaultCommandsAccess,\n DeviceSize,\n FormSetting,\n MenuItem,\n MetaobjectDataModel,\n PortalService,\n RelationItemType,\n ReportViewBaseComponent,\n ReportViewColumn,\n SortSetting,\n UiReportViewBase,\n UiReportViewBaseSetting,\n ShareButtonsChoiceDef,\n TypeUlvMainCtrlr,\n PagingSetting\n} from 'barsa-novin-ray-core';\n\n@Directive({\n selector: '[reportViewRenderer]'\n})\nexport class ReportViewRendererDirective extends BaseDirective implements OnChanges, OnInit, OnDestroy {\n @Input() view: UiReportViewBase;\n @Input() moDataList: MetaobjectDataModel[];\n @Input() allChecked: boolean;\n @Input() contextSetting: any;\n @Input() groupby: SortSetting[];\n @Input() isCheckList: boolean;\n @Input() hasInlineDeleteButton: boolean;\n @Input() hasInlineEditButton: boolean;\n @Input() selectedCount: number;\n @Input() hideToolbar: boolean;\n @Input() toolbarButtons: MenuItem[];\n @Input() pagingSetting: PagingSetting;\n @Input() UlvMainCtrlr: TypeUlvMainCtrlr;\n @Input() hasSummary: boolean;\n @Input() relationList: Array<RelationItemType>;\n @Input() columns: ReportViewColumn[];\n @Input() columnsCount: number;\n @Input() secondaryColumns: ReportViewColumn[];\n @Input() contextMenuItems: MenuItem[];\n @Input() conditionalFormats: any[];\n @Input() deviceName: DeviceSize;\n @Input() deviceSize: AbbrevationDeviceSize;\n @Input() mobileOrTablet: boolean;\n @Input() access: DefaultCommandsAccess;\n @Input() title: string;\n @Input() customFieldInfo: MetaobjectDataModel | any;\n @Input() selectedMo: MetaobjectDataModel;\n @Input() allColumns: ReportViewColumn[];\n @Input() viewSetting: UiReportViewBaseSetting;\n @Input() inlineEditMode: boolean;\n @Input() onlyInlineEdit: boolean;\n @Input() allowInlineEdit: boolean;\n @Input() popin: boolean;\n @Input() hasSelected: boolean;\n @Input() formSetting: FormSetting;\n @Input() disableOverflowContextMenu: boolean;\n @Input() navigationArrow: string;\n @Input() typeDefId: string;\n @Input() reportId: string;\n @Input() listEditViewId: string;\n @Input() typeViewId: string;\n @Input() containerWidth: number;\n @Input() extraRelation: any;\n @Input() contextView: any;\n @Input() contentDensity: ContentDensity;\n @Input() hideOpenIcon: boolean;\n @Input() openOnClick: boolean;\n @Input() inDialog: boolean;\n @Input() isMultiSelect: boolean;\n @Input() rtl: boolean;\n @Input() disableResponsive: boolean;\n @Input() hideSearchpanel: boolean;\n @Input() gridFreeColumnSizing: boolean;\n @Input() cartableTemplates: { [key: string]: FormSetting };\n @Input() cartableChildsMo: { [key: string]: MetaobjectDataModel };\n\n @Output() editFormPanelCancel = new EventEmitter<MetaobjectDataModel>();\n @Output() editFormPanelValueChange = new EventEmitter<MetaobjectDataModel>();\n\n @Output() resetWorkflowState = new EventEmitter<any>();\n @Output() ulvCommandClick = new EventEmitter<any>();\n @Output() sortAscending = new EventEmitter<any>();\n @Output() sortDescending = new EventEmitter<any>();\n @Output() filter = new EventEmitter<any>();\n @Output() deselectAll = new EventEmitter<void>();\n @Output() rowCheck = new EventEmitter<{ mo; index; cause? }>();\n @Output() rowClick = new EventEmitter<{ mo; index }>();\n @Output() executeToolbarButton = new EventEmitter<{ itemId: string; options?: any }>();\n @Output() expandClick = new EventEmitter<MetaobjectDataModel>();\n @Output() trackBySelectedFn = new EventEmitter<{ index; record }>();\n @Output() cartableFormClosed = new EventEmitter<{ index; mo }>();\n @Output() createNewMo = new EventEmitter<void>();\n @Output() updateMo = new EventEmitter<MetaobjectDataModel>();\n @Output() hasDetailsInRow = new EventEmitter<boolean>();\n @Output() allCheckbox = new EventEmitter<boolean>();\n @Output() mandatory = new EventEmitter<boolean>();\n @Output() editFormPanelSave = new EventEmitter<MetaobjectDataModel>();\n @Output() columnResized = new EventEmitter<columnsResizedEventArgs>();\n @Output() selectNextInlineRecord = new EventEmitter<MetaobjectDataModel>();\n @Output() workflowShareButtons = new EventEmitter<ShareButtonsChoiceDef>();\n @Output() escapeKey = new EventEmitter<MetaobjectDataModel>();\n\n _reportViewRef: ComponentRef<ReportViewBaseComponent<UiReportViewBaseSetting>>;\n constructor(\n private _portalService: PortalService,\n private _vcr: ViewContainerRef,\n private _injector: Injector,\n protected _el: ElementRef\n ) {\n super(_el);\n }\n ngOnChanges(changes: SimpleChanges): void {\n const { view } = changes;\n\n if (view && !view.firstChange) {\n this._reportViewRef.destroy();\n this._vcr.clear();\n this._insertView(view.currentValue);\n } else {\n if (this._reportViewRef) {\n this._reportViewRef.instance.ngOnChanges(changes);\n }\n }\n }\n ngOnInit(): void {\n super.ngOnInit();\n this._insertView(this.view);\n }\n ngOnDestroy(): void {\n super.ngOnDestroy();\n this._reportViewRef?.destroy();\n }\n private _insertView(view): void {\n if (!view) {\n return;\n }\n const { Module, ModuleFileName, Name, Selector } = view.UiComponent;\n this._portalService\n .getComponent(Module, ModuleFileName, Name, Selector, this._injector)\n .pipe(takeUntil(this._onDestroy$))\n .subscribe((componentRef: ComponentRef<ReportViewBaseComponent<UiReportViewBaseSetting>>) => {\n const instance = componentRef.instance;\n instance.cartableTemplates = this.cartableTemplates;\n instance.cartableChildsMo = this.cartableChildsMo;\n instance.moDataList = this.moDataList;\n instance.contextSetting = this.contextSetting;\n instance.groupby = this.groupby;\n instance.UlvMainCtrlr = this.UlvMainCtrlr;\n instance.pagingSetting = this.pagingSetting;\n instance.hideSearchpanel = this.hideSearchpanel;\n instance.customFieldInfo = this.customFieldInfo;\n instance.disableResponsive = this.disableResponsive;\n instance.toolbarButtons = this.toolbarButtons;\n instance.popin = this.popin;\n instance.contextView = this.contextView;\n instance.isCheckList = this.isCheckList;\n instance.toolbarButtons = this.toolbarButtons;\n instance.columns = this.columns;\n instance.listEditViewId = this.listEditViewId;\n instance.typeViewId = this.typeViewId;\n instance.gridFreeColumnSizing = this.gridFreeColumnSizing;\n instance.inDialog = this.inDialog;\n instance.hasInlineDeleteButton = this.hasInlineDeleteButton;\n instance.hasInlineEditButton = this.hasInlineEditButton;\n instance.isMultiSelect = this.isMultiSelect;\n instance.columnsCount = this.columnsCount;\n instance.hideToolbar = this.hideToolbar;\n instance.extraRelation = this.extraRelation;\n instance.secondaryColumns = this.secondaryColumns;\n instance.contextMenuItems = this.contextMenuItems;\n instance.conditionalFormats = this.conditionalFormats;\n instance.disableOverflowContextMenu = this.disableOverflowContextMenu;\n instance.typeDefId = this.typeDefId;\n instance.reportId = this.reportId;\n instance.deviceName = this.deviceName;\n instance.deviceSize = this.deviceSize;\n instance.mobileOrTablet = this.mobileOrTablet;\n instance.containerWidth = this.containerWidth;\n instance.columnsCount = this.columnsCount;\n instance.selectedCount = this.selectedCount;\n instance.hideOpenIcon = this.hideOpenIcon;\n instance.openOnClick = this.openOnClick;\n instance.access = this.access;\n instance.title = this.title;\n instance.hasSummary = this.hasSummary;\n instance.contentDensity = this.contentDensity;\n instance.relationList = this.relationList;\n instance.allColumns = this.allColumns ?? this.columns;\n instance.viewSetting = view.UiComponent.Settings;\n instance.inlineEditMode = this.inlineEditMode;\n instance.onlyInlineEdit = this.onlyInlineEdit;\n instance.allowInlineEdit = this.allowInlineEdit;\n instance.formSetting = this.formSetting;\n instance.navigationArrow = this.navigationArrow;\n instance.selectedMo = this.selectedMo;\n instance.hasSelected = this.hasSelected;\n instance.rtl = this.rtl;\n instance.escapeKey?.pipe(takeUntil(this._onDestroy$)).subscribe((mo) => {\n this.escapeKey.emit(mo);\n });\n instance.resetWorkflowState?.pipe(takeUntil(this._onDestroy$)).subscribe((mo) => {\n this.resetWorkflowState.emit(mo);\n });\n instance.editFormPanelValueChange?.pipe(takeUntil(this._onDestroy$)).subscribe((mo) => {\n this.editFormPanelValueChange.emit(mo);\n });\n instance.selectNextInlineRecord?.pipe(takeUntil(this._onDestroy$)).subscribe((mo) => {\n this.selectNextInlineRecord.emit(mo);\n });\n instance.editFormPanelCancel?.pipe(takeUntil(this._onDestroy$)).subscribe((mo) => {\n this.editFormPanelCancel.emit(mo);\n });\n instance.ulvCommandClick?.pipe(takeUntil(this._onDestroy$)).subscribe((e) => {\n this.ulvCommandClick.emit(e);\n });\n instance.sortAscending?.pipe(takeUntil(this._onDestroy$)).subscribe((e) => {\n this.sortAscending.emit(e);\n });\n instance.sortDescending?.pipe(takeUntil(this._onDestroy$)).subscribe((e) => {\n this.sortDescending.emit(e);\n });\n instance.filter?.pipe(takeUntil(this._onDestroy$)).subscribe((e) => {\n this.filter.emit(e);\n });\n\n instance.columnResized?.pipe(takeUntil(this._onDestroy$)).subscribe((e) => {\n this.columnResized.emit(e);\n });\n\n instance.rowCheck?.pipe(takeUntil(this._onDestroy$)).subscribe((e: { mo; index; cause? }) => {\n this.rowCheck.emit(e);\n });\n instance.deselectAll?.pipe(takeUntil(this._onDestroy$)).subscribe(() => {\n this.deselectAll.emit();\n });\n instance.rowClick?.pipe(takeUntil(this._onDestroy$)).subscribe((e: { mo; index }) => {\n this.rowClick.emit(e);\n });\n instance.expandClick?.pipe(takeUntil(this._onDestroy$)).subscribe((e: MetaobjectDataModel) => {\n this.expandClick.emit(e);\n });\n instance.allCheckbox?.pipe(takeUntil(this._onDestroy$)).subscribe((e) => {\n this.allCheckbox.emit(e);\n });\n instance.editFormPanelSave?.pipe(takeUntil(this._onDestroy$)).subscribe((mo) => {\n this.editFormPanelSave.emit(mo);\n });\n instance.cartableFormClosed?.pipe(takeUntil(this._onDestroy$)).subscribe((e: { mo; index }) => {\n this.cartableFormClosed.emit(e);\n });\n instance.createNewMo?.pipe(takeUntil(this._onDestroy$)).subscribe(() => {\n this.createNewMo.emit();\n });\n instance.hasDetailsInRow?.pipe(takeUntil(this._onDestroy$)).subscribe((mo) => {\n this.hasDetailsInRow.emit(mo);\n });\n instance.updateMo?.pipe(takeUntil(this._onDestroy$)).subscribe((mo) => {\n this.updateMo.emit(mo);\n });\n instance.mandatory?.pipe(takeUntil(this._onDestroy$)).subscribe((isValid) => {\n this.mandatory.emit(isValid);\n });\n instance.executeToolbarButton?.pipe(takeUntil(this._onDestroy$)).subscribe((e) => {\n this.executeToolbarButton.emit(e);\n });\n instance.workflowShareButtons\n ?.pipe(takeUntil(this._onDestroy$))\n .subscribe((e: ShareButtonsChoiceDef) => {\n this.workflowShareButtons.emit(e);\n });\n this._vcr.insert(componentRef.hostView);\n this._reportViewRef = componentRef;\n });\n }\n}\n","import { ChangeDetectionStrategy, Component, OnInit, TemplateRef, ViewChild } from '@angular/core';\r\nimport { SapUiReportBaseComponent } from '../sap-ui-report-base.component';\r\nimport { UiReportViewBase, UiReportViewBaseSetting } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bsu-ui-report-container',\r\n templateUrl: './ui-report-container.component.html',\r\n styleUrls: ['./ui-report-container.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class UiReportContainerComponent extends SapUiReportBaseComponent<UiReportViewBaseSetting> implements OnInit {\r\n @ViewChild('renderTable', { static: true }) tableView: TemplateRef<any>;\r\n @ViewChild('renderCardList', { static: true }) cardListView: TemplateRef<any>;\r\n @ViewChild('renderList', { static: true }) listView: TemplateRef<any>;\r\n selectedView: UiReportViewBase;\r\n viewCollection: UiReportViewBase[] = [];\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._initView();\r\n }\r\n\r\n onChangeView(viewSetting: UiReportViewBase): void {\r\n this._changeView(viewSetting);\r\n }\r\n private _initView(): void {\r\n const viewCollection = this.context.Setting.ClassNames.CustomUi.Parameters.ViewCollection.MoDataList.filter(\r\n (view) => !view.UiComponent.Settings?.Hidden\r\n );\r\n const defaultView = viewCollection.find((view) => view.UiComponent.Settings?.IsDefault) ?? viewCollection[0];\r\n this.viewCollection = viewCollection;\r\n this._changeView(defaultView);\r\n }\r\n private _changeView(uiComponent: UiReportViewBase): void {\r\n this.selectedView = uiComponent;\r\n }\r\n}\r\n","<!--render container-->\n<ng-container\n *ngTemplateOutlet=\"\n renderContainer;\n context: {\n $implicit: gridDataSource.data$ | async,\n allChecked: allChecked$ | async,\n groupby: groupby$ | async,\n isCheckList: context.Setting.View?.IsCheckList,\n columns: columns$ | async,\n columnsCount: columnsCount$ | async,\n allowInlineEdit: allowInlineEdit$ | async,\n inlineEditMode: inlineEditMode$ | async,\n onlyInlineEdit: onlyInlineEdit$ | async,\n secondaryColumns: secondaryColumns$ | async,\n toolbarButtons: (toolbarButtons$ | async)!! | seperatorFix,\n popin: (mobileOrTablet$ | async) || (secondaryColumnsCount$ | async) ? true : false,\n contextMenuItems: menuItems$ | async | contextMenu: context.Setting.View?.IsCheckList,\n conditionalFormats: conditionalFormats$ | async,\n deviceName: deviceName$ | async,\n deviceSize: deviceSize$ | async,\n mobileOrTablet: mobileOrTablet$ | async,\n access: context.Setting.Extra?.DefaultCommandsAccess,\n title: title$ | async,\n rtl: rtl$ | async,\n hideToolbar: (hideToolbar$ | async) === true || viewSetting.HideToolbar,\n selectedView: selectedView,\n viewCollection: viewCollection,\n allColumns: allColumns,\n gridSetting: gridSetting$ | async,\n hasSummary: context.Setting.View?.HasSummaryRow,\n contentDensity: contentDensity$ | async,\n formLayout: layout$ | async,\n hasSelected: hasSelected$ | async,\n disableOverflowContextMenu: viewSetting.DisableOverflowContextMenu,\n showCreateForm: viewSetting.ShowCreateForm,\n hideOpenIcon: viewSetting.HideOpenIcon,\n openOnClick: viewSetting.OpenOnClick,\n navigationArrow: navigationArrow$ | async,\n containerWidth: containerWidth$ | async,\n typeDefId: context.Setting.Extra.Report.TypeDefId,\n reportId: context.Setting.Extra.Report.Id,\n listEditViewId: context.Setting.Extra.Report.ListEditViewId,\n typeViewId: context.Setting.Extra.Report.TypeViewId,\n formSetting: context.Setting.FormTemplate,\n extraRelation: context.Setting.Extra?.Relation,\n contextView: context.Setting.View,\n cartableTemplates: cartableTemplates$ | async,\n cartableChildsMo: cartableChildsMo$ | async,\n disableResponsive: viewSetting.DisableResponsive,\n inDialog: inDialog$ | async,\n isMultiSelect: isMultiSelect$ | async,\n contextSetting: context.Setting,\n customFieldInfo: context.Setting.CustomFieldInfo,\n selectedMo: selectedMo$ | async,\n hideSearchpanel: hideSearchpanel$ | async,\n selectedCount: selectedCount$ | async,\n gridFreeColumnSizing: gridFreeColumnSizing$ | async,\n UlvMainCtrlr: context.Adapter?.UlvMainCtrlr,\n allowGridColumnSort: context.ViewSetting.AllowGridColumnSort,\n hasInlineEditButton: viewSetting.HasInlineEditButton,\n hasInlineDeleteButton: viewSetting.HasInlineDeleteButton,\n pagingSetting: pagingSetting$ | async\n }\n \"\n></ng-container>\n<!--render container -->\n<ng-template\n #renderContainer\n let-moDataList\n let-allChecked=\"allChecked\"\n let-isCheckList=\"isCheckList\"\n let-columns=\"columns\"\n let-columnsCount=\"columnsCount\"\n let-groupby=\"groupby\"\n let-secondaryColumns=\"secondaryColumns\"\n let-contextMenuItems=\"contextMenuItems\"\n let-conditionalFormats=\"conditionalFormats\"\n let-deviceName=\"deviceName\"\n let-deviceSize=\"deviceSize\"\n let-access=\"access\"\n let-toolbarButtons=\"toolbarButtons\"\n let-popin=\"popin\"\n let-mobileOrTablet=\"mobileOrTablet\"\n let-title=\"title\"\n let-inlineEditMode=\"inlineEditMode\"\n let-onlyInlineEdit=\"onlyInlineEdit\"\n let-allowInlineEdit=\"allowInlineEdit\"\n let-rtl=\"rtl\"\n let-allColumns=\"allColumns\"\n let-selectedView=\"selectedView\"\n let-viewCollection=\"viewCollection\"\n let-hideToolbar=\"hideToolbar\"\n let-gridSetting=\"gridSetting\"\n let-contentDensity=\"contentDensity\"\n let-formLayout=\"formLayout\"\n let-hasSelected=\"hasSelected\"\n let-disableOverflowContextMenu=\"disableOverflowContextMenu\"\n let-navigationArrow=\"navigationArrow\"\n let-containerWidth=\"containerWidth\"\n let-hasSummary=\"hasSummary\"\n let-typeDefId=\"typeDefId\"\n let-formSetting=\"formSetting\"\n let-extraRelation=\"extraRelation\"\n let-contextView=\"contextView\"\n let-showCreateForm=\"showCreateForm\"\n let-hideOpenIcon=\"hideOpenIcon\"\n let-cartableTemplates=\"cartableTemplates\"\n let-cartableChildsMo=\"cartableChildsMo\"\n let-openOnClick=\"openOnClick\"\n let-disableResponsive=\"disableResponsive\"\n let-inDialog=\"inDialog\"\n let-isMultiSelect=\"isMultiSelect\"\n let-customFieldInfo=\"customFieldInfo\"\n let-selectedMo=\"selectedMo\"\n let-selectedCount=\"selectedCount\"\n let-hideSearchpanel=\"hideSearchpanel\"\n let-gridFreeColumnSizing=\"gridFreeColumnSizing\"\n let-reportId=\"reportId\"\n let-listEditViewId=\"listEditViewId\"\n let-typeViewId=\"typeViewId\"\n let-UlvMainCtrlr=\"UlvMainCtrlr\"\n let-allowGridColumnSort=\"allowGridColumnSort\"\n let-pagingSetting=\"pagingSetting\"\n let-hasInlineDeleteButton=\"hasInlineDeleteButton\"\n let-hasInlineEditButton=\"hasInlineEditButton\"\n let-contextSetting=\"contextSetting\"\n>\n @if (showCreateForm) {\n <div>\n <bsu-report-new-top-form\n [extraRelation]=\"extraRelation\"\n [moDataListCount]=\"moDataList.length\"\n [selectedMo]=\"selectedMo\"\n [formSetting]=\"formSetting\"\n [typeDefId]=\"typeDefId\"\n [inlineEditMode]=\"true\"\n [isChecked]=\"true\"\n (add)=\"onNewTopFormAdd($event)\"\n (save)=\"onSaveTopForm($event)\"\n ></bsu-report-new-top-form>\n </div>\n }\n <bsu-ulv-toolbar\n [allowGridColumnSort]=\"allowGridColumnSort\"\n [hideToolbar]=\"hideToolbar\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [toolbarButtons]=\"toolbarButtons\"\n [gridSetting]=\"gridSetting\"\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\n [title]=\"title\"\n [access]=\"access\"\n [isMultiSelect]=\"isMultiSelect\"\n [inDialog]=\"inDialog\"\n [hasSelected]=\"hasSelected\"\n [contentDensity]=\"contentDensity\"\n [viewCollection]=\"viewCollection\"\n [reportView]=\"selectedView\"\n [inlineEditMode]=\"inlineEditMode\"\n [allowInlineEdit]=\"allowInlineEdit\"\n [moDataListCount]=\"moDataList.length\"\n [gridFreeColumnSizing]=\"gridFreeColumnSizing\"\n (sortClick)=\"onSortSettings($event)\"\n (groupbyClick)=\"onGroupbySettings($event)\"\n (columnClick)=\"onColumnSettings($event)\"\n (editModeClick)=\"onEditMode()\"\n (viewClick)=\"onChangeView($event)\"\n (createNewInlineMo)=\"onToolbarCreateNewInlineMo()\"\n ></bsu-ulv-toolbar>\n\n <div\n class=\"report-view\"\n [attr.reportCaption]=\"context.Setting.Extra.Report.Caption\"\n reportViewRenderer\n [toolbarButtons]=\"toolbarButtons\"\n [hideToolbar]=\"hideToolbar\"\n [hasInlineDeleteButton]=\"hasInlineDeleteButton\"\n [hasInlineEditButton]=\"hasInlineEditButton\"\n [contextSetting]=\"contextSetting\"\n [listEditViewId]=\"listEditViewId\"\n [typeViewId]=\"typeViewId\"\n [toolbarButtons]=\"toolbarButtons\"\n [pagingSetting]=\"pagingSetting\"\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\n [reportId]=\"reportId\"\n [gridFreeColumnSizing]=\"gridFreeColumnSizing\"\n [hideSearchpanel]=\"hideSearchpanel\"\n [selectedMo]=\"selectedMo\"\n [selectedCount]=\"selectedCount\"\n [hasSelected]=\"hasSelected\"\n [hideOpenIcon]=\"hideOpenIcon\"\n [customFieldInfo]=\"customFieldInfo\"\n [inDialog]=\"inDialog\"\n [isMultiSelect]=\"isMultiSelect\"\n [openOnClick]=\"openOnClick\"\n [contextView]=\"contextView\"\n [containerWidth]=\"containerWidth\"\n [extraRelation]=\"extraRelation\"\n [typeDefId]=\"typeDefId\"\n [cartableTemplates]=\"cartableTemplates\"\n [cartableChildsMo]=\"cartableChildsMo\"\n [view]=\"selectedView\"\n [isCheckList]=\"isCheckList\"\n [allChecked]=\"allChecked\"\n [moDataList]=\"moDataList\"\n [access]=\"access\"\n [groupby]=\"groupby\"\n [contentDensity]=\"contentDensity\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [conditionalFormats]=\"conditionalFormats\"\n [formSetting]=\"formSetting\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [navigationArrow]=\"navigationArrow\"\n [title]=\"title\"\n [mobileOrTablet]=\"mobileOrTablet\"\n [popin]=\"popin\"\n [secondaryColumns]=\"secondaryColumns\"\n [contextMenuItems]=\"contextMenuItems\"\n [inlineEditMode]=\"inlineEditMode && allowInlineEdit\"\n [allowInlineEdit]=\"allowInlineEdit\"\n [columns]=\"columns\"\n [rtl]=\"rtl\"\n [allColumns]=\"allColumns\"\n [hasSummary]=\"hasSummary\"\n [columnsCount]=\"columnsCount\"\n [formLayout]=\"formLayout\"\n [disableResponsive]=\"disableResponsive\"\n (escapeKey)=\"onEscapeKey($event)\"\n (resetWorkflowState)=\"onResetWorkflowState($event)\"\n (hasDetailsInRow)=\"onHasDetailsInRow($event, deviceSize)\"\n (executeToolbarButton)=\"onExecuteToolbarButton($event)\"\n (selectNextInlineRecord)=\"onSelectNextInlineRecord($event)\"\n (selectNextInlineRecord)=\"onSelectNextInlineRecord($event)\"\n (editFormPanelCancel)=\"onEditFormPanelCancel($event)\"\n (editFormPanelSave)=\"onEditFormPanelSave($event)\"\n (editFormPanelValueChange)=\"onEditFormPanelValueChange($event)\"\n (ulvCommandClick)=\"onUlvCommand($event)\"\n (sortAscending)=\"onSortAscending($event)\"\n (sortDescending)=\"onSortDescending($event)\"\n (filter)=\"onFilter($event)\"\n (deselectAll)=\"onDeselectAll()\"\n (rowCheck)=\"onRowCheck($event)\"\n (rowClick)=\"onRowClick($event)\"\n (allCheckbox)=\"onAllCheckbox($event)\"\n (expandClick)=\"onExpandClick($event)\"\n (columnResized)=\"onColumnResized($event)\"\n (cartableFormClosed)=\"onCartableFormClosed($event)\"\n (createNewMo)=\"onCreateNewMo()\"\n (updateMo)=\"onUpdateMo($event)\"\n (mandatory)=\"onMandatory($event)\"\n (workflowShareButtons)=\"onWorkflowShareButtons($event)\"\n ></div>\n</ng-template>\n","import { Component, OnInit, ChangeDetectionStrategy, Input, TemplateRef, ViewChild } from '@angular/core';\nimport { Size } from '@fundamental-ngx/core';\nimport { BaseViewItemPropsComponent, FormPanelService } from 'barsa-novin-ray-core';\nimport { UiCardListViewSetting } from '../models/grid-view';\n\n@Component({\n selector: 'bsu-card-item',\n templateUrl: './card-item.component.html',\n styleUrls: ['./card-item.component.scss'],\n providers: [FormPanelService],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CardItemComponent extends BaseViewItemPropsComponent implements OnInit {\n @Input() setting: UiCardListViewSetting;\n @ViewChild('quickViewTemplate', { static: true }) _quickViewTemplate: TemplateRef<any>;\n @ViewChild('contentTemplate', { static: true }) _contentTemplate: TemplateRef<any>;\n noContent: boolean;\n cardWidth: string;\n maxWidth: string;\n minWidth: string;\n contextMenuInFooter: boolean;\n avatarSize: Size;\n contentTemplateRef: TemplateRef<any>;\n ngOnInit(): void {\n super.ngOnInit();\n switch (this.setting.CardType$Caption as any) {\n case 'inline-fields':\n this.contentTemplateRef = this._contentTemplate;\n break;\n default:\n this.contentTemplateRef = this._quickViewTemplate;\n break;\n }\n const setting = this.setting;\n if (setting.ContextMenuInFooter) {\n this.contextMenuInFooter = true;\n }\n if (\n !setting.AvatarField &&\n !setting.TitleField &&\n !setting.SubtitleField &&\n !setting.FieldList &&\n !setting.ContentComponent\n ) {\n this.noContent = true;\n }\n if (setting.CardWidth) {\n this.minWidth = this.maxWidth = this.cardWidth = setting.CardWidth;\n }\n let avatarSize;\n switch (setting.AvatarSize) {\n case '2':\n avatarSize = 'm';\n break;\n case '3':\n avatarSize = 'l';\n break;\n case '4':\n avatarSize = 'xl';\n break;\n case '1':\n default:\n avatarSize = 's';\n break;\n }\n this.avatarSize = avatarSize;\n }\n}\n","<fd-card\n [cardType]=\"setting.CardType$Caption\"\n class=\"docs-flex-item-margin\"\n [class.openOnClick]=\"setting.openOnClick\"\n [style.width]=\"cardWidth\"\n [style.min-width]=\"minWidth\"\n [style.max-width]=\"maxWidth\"\n>\n <ng-container\n *ngTemplateOutlet=\"\n setting.HeaderComponent ? renderHeaderComponent : renderHeader;\n context: {\n $implicit: mo,\n index: this.index\n }\n \"\n ></ng-container>\n\n @if (!noContent || contextMenuItems) {\n <fd-card-content (click)=\"onRowCheck()\" (dblclick)=\"onRowClick()\" ellipsify>\n <div #divEl [applyConditionalFormats]=\"conditionalFormats\" [styleIndex]=\"styleIndex\" [hostEl]=\"divEl\">\n <ng-container\n *ngTemplateOutlet=\"\n setting.ContentComponent ? contentTemplateComponent : contentTemplateRef;\n context: {\n $implicit: mo,\n index: this.index\n }\n \"\n ></ng-container>\n </div>\n @if (contextMenuInFooter && contextMenuItems && contextMenuItems.length > 0) {\n <div\n ulvContextMenu\n [allColumns]=\"allColumns\"\n [footerMode]=\"true\"\n [menuItems]=\"contextMenuItems\"\n [styleIndex]=\"styleIndex\"\n [conditionalFormats]=\"conditionalFormats\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [mo]=\"mo\"\n (commandClick)=\"onUlvCommand()\"\n ></div>\n }\n </fd-card-content>\n }\n</fd-card>\n\n<ng-template #columnTemplate let-column let-mo=\"mo\" let-index=\"index\" let-layout94=\"layout94\"\n >@if (column) {\n <div\n #divEl\n [applyConditionalFormats]=\"conditionalFormats\"\n [styleIndex]=\"styleIndex\"\n [hostEl]=\"divEl\"\n [dbName]=\"column.Name\"\n >\n <bsu-column-renderer\n [mo]=\"mo\"\n [column]=\"column\"\n [value]=\"column | columnValue: mo | bbbTranslate\"\n [icon]=\"column | columnIcon: mo\"\n [editMode]=\"isChecked && inlineEditMode && allowInlineEdit\"\n [rtl]=\"rtl\"\n [isChecked]=\"isChecked\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [index]=\"index\"\n [controlUi]=\"column.Caption | controlUi: layout94\"\n (keyup.control.enter)=\"onEditFormPanelSave($event)\"\n (keyup.esc)=\"onEditFormPanelCancel($event)\"\n (keydown.Tab)=\"onTabKeyDown($event, index)\"\n [formLayoutShowLabel]=\"true\"\n ></bsu-column-renderer>\n </div>\n }\n</ng-template>\n<ng-template #quickViewTemplate let-mo let-index=\"index\">\n @if (!noContent) {\n <fd-quick-view [id]=\"'id'\">\n <fd-quick-view-group>\n @if (setting.Avatar || setting.AvatarField || setting.TitleField || setting.SubtitleField) {\n <fd-quick-view-subheader>\n @if (setting.AvatarField || setting.Avatar) {\n <fd-avatar\n alterIcon=\"alt|content|backup|default-icon\"\n [circle]=\"setting.CircleAvatar\"\n [image]=\"\n setting.AvatarField\n ? (mo[setting.AvatarField.Name]?.FileId | picFieldSrc: 'ID':setting.AvatarField.FieldDefId)\n : ''\n \"\n [size]=\"avatarSize ? avatarSize : deviceSize === 's' ? 's' : 'm'\"\n [glyph]=\"\n setting.Avatar ||\n (mo.$State === 'New' && !isChecked ? 'favorite' : inlineEditMode && isChecked ? 'edit' : '')\n \"\n >\n </fd-avatar>\n } @if (setting.TitleField) {\n <fd-quick-view-subheader-title>\n <ng-container\n *ngTemplateOutlet=\"\n columnTemplate;\n context: {\n $implicit: setting.TitleField,\n layout94: layout$ | async,\n mo: mo,\n index: index\n }\n \"\n ></ng-container>\n </fd-quick-view-subheader-title>\n } @if (setting.SubtitleField) {\n <fd-quick-view-subheader-subtitle>\n <ng-container\n *ngTemplateOutlet=\"\n columnTemplate;\n context: {\n $implicit: setting.SubtitleField,\n layout94: layout$ | async,\n mo: mo,\n index: index\n }\n \"\n ></ng-container>\n </fd-quick-view-subheader-subtitle>\n }\n </fd-quick-view-subheader>\n } @for (column of setting.FieldListMapped; track column) {\n <fd-quick-view-group-item>\n @if (column) {\n <fd-quick-view-group-item-label>\n {{ column.Caption | bbbTranslate }}\n </fd-quick-view-group-item-label>\n <fd-quick-view-group-item-content>\n <div fd-quick-view-group-item-content-element class=\"group-item-content\">\n <ng-container\n *ngTemplateOutlet=\"\n columnTemplate;\n context: {\n $implicit: column,\n layout94: layout$ | async,\n mo: mo,\n index: index\n }\n \"\n ></ng-container>\n </div>\n </fd-quick-view-group-item-content>\n }\n </fd-quick-view-group-item>\n } @if (setting.DescriptionField) {\n <fd-quick-view-group-item>\n <fd-quick-view-group-item-content>\n @if (inlineEditMode && allowInlineEdit) {\n <fd-quick-view-group-item-label>\n {{ setting.DescriptionField?.Alias | bbbTranslate }}\n </fd-quick-view-group-item-label>\n }\n <div fd-quick-view-group-item-content-element class=\"group-item-content\">\n <ng-container\n *ngTemplateOutlet=\"\n columnTemplate;\n context: {\n $implicit: setting.DescriptionField,\n layout94: layout$ | async,\n mo: mo,\n index: index\n }\n \"\n ></ng-container>\n </div>\n </fd-quick-view-group-item-content>\n @if (setting.ActionFieldNameField) {\n <fd-quick-view-group-item-content\n class=\"action\"\n (click)=\"onAction(setting.ActionFieldCommandField || '')\"\n >\n <a fd-link>\n <ng-container\n *ngTemplateOutlet=\"\n columnTemplate;\n context: {\n $implicit: setting.ActionFieldNameField,\n layout94: layout$ | async,\n mo: mo,\n index: index\n }\n \"\n ></ng-container>\n </a>\n </fd-quick-view-group-item-content>\n }\n </fd-quick-view-group-item>\n }\n </fd-quick-view-group>\n </fd-quick-view>\n }\n</ng-template>\n<ng-template #contentTemplate let-mo let-index=\"index\">\n <fd-layout-grid>\n <div fdLayoutGridRow>\n <div [fdLayoutGridCol]=\"2\">\n <ng-container\n *ngTemplateOutlet=\"\n avatar;\n context: {\n $implicit: setting.Avatar,\n visible: setting.AvatarField || setting.Avatar,\n circle: setting.CircleAvatar,\n avatarField: setting.AvatarField\n }\n \"\n ></ng-container>\n </div>\n\n <div [fdLayoutGridCol]=\"10\">\n @if (setting.TitleField) {\n <span style=\"font-weight: bold\">\n <ng-container\n *ngTemplateOutlet=\"\n columnTemplate;\n context: {\n $implicit: setting.TitleField,\n layout94: layout$ | async,\n mo: mo,\n index: index\n }\n \"\n ></ng-container>\n </span>\n } @if (setting.SubtitleField) {\n <span>\n <ng-container\n *ngTemplateOutlet=\"\n columnTemplate;\n context: {\n $implicit: setting.SubtitleField,\n layout94: layout$ | async,\n mo: mo,\n index: index\n }\n \"\n ></ng-container>\n </span>\n }\n </div>\n\n <div [fdLayoutGridCol]=\"12\">\n @for (column of setting.FieldListMapped; track column) {\n <div style=\"display: flex\">\n <label fd-form-label [colon]=\"true\" for=\"form-value-11\">{{ column.Caption | bbbTranslate }}</label>\n <ng-container\n *ngTemplateOutlet=\"\n columnTemplate;\n context: {\n $implicit: column,\n layout94: layout$ | async,\n mo: mo,\n index: index\n }\n \"\n ></ng-container>\n </div>\n }\n </div>\n @if (setting.DescriptionField) {\n <div [fdLayoutGridCol]=\"12\">\n @if (inlineEditMode && allowInlineEdit) {\n <label>\n {{ setting.DescriptionField?.Alias | bbbTranslate }}\n </label>\n }\n <ng-container\n *ngTemplateOutlet=\"\n columnTemplate;\n context: {\n $implicit: setting.DescriptionField,\n layout94: layout$ | async,\n mo: mo,\n index: index\n }\n \"\n ></ng-container>\n </div>\n }\n </div>\n </fd-layout-grid>\n</ng-template>\n<ng-template #avatar let-avatar let-visible=\"visible\" let-circle=\"circle\" let-avatarField=\"avatarField\">\n @if (visible) {\n <fd-avatar\n alterIcon=\"alt|content|backup|default-icon\"\n [circle]=\"circle\"\n [image]=\"avatarField ? (mo[avatarField.Name]?.FileId | picFieldSrc: 'ID':avatarField.FieldDefId) : ''\"\n [size]=\"avatarSize ? avatarSize : deviceSize === 's' ? 's' : 'm'\"\n [glyph]=\"avatar || (mo.$State === 'New' && !isChecked ? 'favorite' : inlineEditMode && isChecked ? 'edit' : '')\"\n >\n </fd-avatar>\n }\n</ng-template>\n\n<ng-template #contentTemplateComponent let-mo let-index=\"index\">\n <bnrc-dynamic-item-component\n [component]=\"setting.ContentComponent\"\n [mo]=\"mo\"\n [styleIndex]=\"mo.$StyleIndex\"\n [isChecked]=\"isChecked\"\n [setting]=\"setting\"\n [parameters]=\"setting.ContentComponent.Settings\"\n [editMode]=\"inlineEditMode\"\n [rtl]=\"rtl\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [index]=\"index\"\n [allColumns]=\"allColumns\"\n ></bnrc-dynamic-item-component>\n</ng-template>\n\n<ng-template #renderHeader let-mo let-index=\"index\">\n @if ( (isCheckList || deviceName !== 'desktop' || (contextMenuItems && contextMenuItems.length > 0 &&\n !contextMenuInFooter)) && !(!isCheckList && openOnClick && !contextMenuItems?.length) ) {\n <fd-card-header>\n <div\n fd-card-title\n [style.justify-content]=\"!isCheckList && canView && deviceName !== 'desktop' ? 'left' : 'space-between'\"\n >\n <div style=\"display: flex; justify-content: start; flex-grow: 1\">\n @if (isCheckList) {\n <fd-checkbox [name]=\"mo.$Caption\" [ngModel]=\"isChecked\" (ngModelChange)=\"onRowCheck()\"></fd-checkbox>\n } @if (!contextMenuInFooter && contextMenuItems && contextMenuItems.length > 0) {\n <div\n ulvContextMenu\n [allColumns]=\"allColumns\"\n [menuItems]=\"contextMenuItems\"\n [styleIndex]=\"styleIndex\"\n [conditionalFormats]=\"conditionalFormats\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [mo]=\"mo\"\n (commandClick)=\"onUlvCommand()\"\n ></div>\n }\n </div>\n @if (canView) {\n <button\n fd-button\n class=\"view-btn\"\n (click)=\"onRowClick()\"\n [glyph]=\"navigationArrow\"\n fdType=\"transparent\"\n ></button>\n }\n </div>\n </fd-card-header>\n }\n</ng-template>\n<ng-template #renderHeaderComponent let-mo let-index=\"index\">\n <bnrc-dynamic-item-component\n [component]=\"setting.HeaderComponent\"\n [mo]=\"mo\"\n [styleIndex]=\"mo.$StyleIndex\"\n [isChecked]=\"isChecked\"\n [setting]=\"setting\"\n [parameters]=\"setting.HeaderComponent.Settings\"\n [editMode]=\"inlineEditMode\"\n [rtl]=\"rtl\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [index]=\"index\"\n [allColumns]=\"allColumns\"\n [contextMenuItems]=\"contextMenuItems\"\n [canView]=\"canView\"\n [conditionalFormats]=\"conditionalFormats\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [navigationArrow]=\"navigationArrow\"\n [isCheckList]=\"isCheckList\"\n (events)=\"onDynamicComponentEvents($event)\"\n ></bnrc-dynamic-item-component>\n</ng-template>\n","import { Component, ChangeDetectionStrategy, OnInit } from '@angular/core';\nimport { BaseViewContentPropsComponent } from 'barsa-novin-ray-core';\nimport { UiCardListViewSetting } from '../models/grid-view';\n\n@Component({\n selector: 'bsu-card-view-content',\n templateUrl: './card-view-content.component.html',\n styleUrls: ['./card-view-content.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CardViewContentComponent extends BaseViewContentPropsComponent<UiCardListViewSetting> implements OnInit {\n sizeXl = 3;\n sizeL = 4;\n sizeM = 6;\n sizeS = 12;\n ngOnInit(): void {\n super.ngOnInit();\n const { SizeXL, SizeL, SizeM, SizeS } = this.setting;\n if (SizeXL) {\n this.sizeXl = 12 / SizeXL;\n }\n if (SizeL) {\n this.sizeL = 12 / SizeL;\n }\n if (SizeM) {\n this.sizeM = 12 / SizeM;\n }\n if (SizeS) {\n this.sizeS = 12 / SizeS;\n }\n }\n onExpandClick(mo): void {\n this.expandClick.emit(mo);\n }\n}\n","<ng-container *ngTemplateOutlet=\"setting.CardWidth ? flexTemplate : gridTemplate\"></ng-container>\n<ng-template #gridTemplate>\n @if (moDataList && moDataList.length > 0) {\n <fd-layout-grid class=\"card-list\">\n <ng-container *ngTemplateOutlet=\"containerTemplate; context: { $implicit: true }\"></ng-container>\n </fd-layout-grid>\n } @else {\n <bsu-no-data></bsu-no-data>\n }\n</ng-template>\n<ng-template #flexTemplate>\n <div class=\"card-view-flex-container\">\n <ng-container *ngTemplateOutlet=\"containerTemplate\"></ng-container>\n </div>\n</ng-template>\n<ng-template #containerTemplate let-isGrid>\n @for ( mo of moDataList | multipleGroupBy: groupby; track _trackByRow(index, mo); let index = $index; let last =\n $last; let first = $first) { @if (!mo.$Parent || mo.$Parent?.$Expanded) {\n <ng-container\n *ngTemplateOutlet=\"\n mo.$Group || mo.$Group === '' ? group : isGrid ? cardTemplateGrid : cardTemplate;\n context: { $implicit: mo, index: this.index }\n \"\n ></ng-container>\n <ng-template #group>\n <div\n class=\"group-label row-group\"\n [style.padding-right]=\"'calc( 1rem + ' + mo.$Level * 12 + 'px' + ' )'\"\n [attr.level]=\"mo.$Level\"\n [class.root-group]=\"mo.$Level === 0\"\n ellipsify\n >\n <fd-icon\n [glyph]=\"mo.$Expanded ? 'navigation-down-arrow' : 'navigation-left-arrow'\"\n class=\"cell-expand\"\n (click)=\"onExpandClick(mo)\"\n ></fd-icon>\n <span fd-list-title>{{ mo.$Group }}</span>\n </div>\n </ng-template>\n } @if (setting.contextMenuInFooter && contextMenuItems && contextMenuItems.length > 0) {\n <div\n ulvContextMenu\n [allColumns]=\"allColumns\"\n [menuItems]=\"contextMenuItems\"\n [styleIndex]=\"mo.$StyleIndex\"\n [conditionalFormats]=\"conditionalFormats\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [mo]=\"mo\"\n (commandClick)=\"ulvCommand.emit({mo,index})\"\n ></div>\n } }\n</ng-template>\n<ng-template #cardTemplate let-mo let-index=\"index\">\n <bsu-card-item\n [mo]=\"mo\"\n [openOnClick]=\"openOnClick\"\n [styleIndex]=\"mo.$StyleIndex\"\n [isNewInlineMo]=\"mo.$NewInlineMo\"\n [index]=\"index\"\n [isChecked]=\"mo.$IsChecked\"\n [visibility]=\"mo.$Visibility\"\n [expanded]=\"mo.$Expanded\"\n [level]=\"mo.$Level\"\n [parentExpanded]=\"mo.$Parent?.$Expanded\"\n [setting]=\"setting\"\n [inlineEditMode]=\"inlineEditMode\"\n [allowInlineEdit]=\"allowInlineEdit\"\n [formSetting]=\"formSetting\"\n [rtl]=\"rtl\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [index]=\"index\"\n [allColumns]=\"allColumns\"\n [contextMenuItems]=\"contextMenuItems\"\n [canView]=\"canView\"\n [conditionalFormats]=\"conditionalFormats\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [navigationArrow]=\"navigationArrow\"\n [isCheckList]=\"isCheckList\"\n (rowCheck)=\"rowCheck.emit($event)\"\n (rowClick)=\"rowClick.emit($event)\"\n (ulvCommand)=\"ulvCommand.emit($event)\"\n (editFormPanelSave)=\"editFormPanelSave.emit($event)\"\n (editFormPanelCancel)=\"editFormPanelCancel.emit($event)\"\n (action)=\"action.emit($event)\"\n >\n </bsu-card-item>\n</ng-template>\n<ng-template #cardTemplateGrid let-mo let-index=\"index\">\n <div\n [fdLayoutGridCol]=\"sizeS\"\n [colMd]=\"sizeM\"\n [colLg]=\"sizeL\"\n [colXl]=\"sizeXl\"\n [class.selected]=\"mo.$IsChecked ? true : false\"\n class=\"card-container\"\n >\n <ng-container *ngTemplateOutlet=\"cardTemplate; context: { $implicit: mo, index: index }\"></ng-container>\n </div>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, OnInit, Pipe, PipeTransform } from '@angular/core';\r\n\r\nimport { ReportViewBaseComponent } from 'barsa-novin-ray-core';\r\nimport { UiCardListViewSetting } from '../models/grid-view';\r\n\r\n@Pipe({\r\n name: 'stringToArray',\r\n pure: true\r\n})\r\nexport class StringToArrayPipe implements PipeTransform {\r\n transform(str: string | undefined): string[] {\r\n if (!str) {\r\n return [];\r\n }\r\n return str.split(',');\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'bsu-ui-card-view',\r\n templateUrl: './ui-card-view.component.html',\r\n styleUrls: ['./ui-card-view.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class UiCardViewComponent extends ReportViewBaseComponent<UiCardListViewSetting> implements OnInit {\r\n cardSetting: UiCardListViewSetting;\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n const viewSetting = this.viewSetting;\r\n const findColumn = this._findColumnByDbName;\r\n const fieldList = !viewSetting.FieldList ? [] : viewSetting.FieldList.split(',');\r\n this.cardSetting = {\r\n ...viewSetting,\r\n openOnClick: this.openOnClick,\r\n TitleField: findColumn.transform(this.allColumns, viewSetting.Title),\r\n SubtitleField: findColumn.transform(this.allColumns, viewSetting.Subtitle) ?? '',\r\n CounterField: findColumn.transform(this.allColumns, viewSetting.Counter) ?? '',\r\n AvatarField: findColumn.transform(this.allColumns, viewSetting.Avatar),\r\n AvatarSizeField: findColumn.transform(this.allColumns, viewSetting.AvatarSize),\r\n StatusField: findColumn.transform(this.allColumns, viewSetting.Status),\r\n DescriptionField: findColumn.transform(this.allColumns, viewSetting.Description),\r\n FieldListMapped: fieldList.map((c) => findColumn.transform(this.allColumns, c)),\r\n ActionFieldNameField: findColumn.transform(this.allColumns, viewSetting.ActionFieldName),\r\n ActionFieldCommandField: findColumn.transform(this.allColumns, viewSetting.ActionFieldCommand)\r\n };\r\n }\r\n onAction(commandBody: string): void {\r\n const command = new Function(commandBody);\r\n command();\r\n }\r\n}\r\n","<fd-layout-panel>\n <fd-layout-panel-body [bleed]=\"true\">\n @if (isCheckList) {\n <table fd-table>\n <thead fd-table-header>\n <tr fd-table-row>\n <th fd-table-cell>\n <fd-checkbox\n name=\"allCheckbox\"\n [ngModel]=\"allChecked\"\n (ngModelChange)=\"onAllCheckbox($event)\"\n >{{ 'All' | bbbTranslate }}</fd-checkbox\n >\n </th>\n </tr>\n </thead>\n </table>\n }\n </fd-layout-panel-body>\n</fd-layout-panel>\n<bsu-card-view-content\n [moDataList]=\"moDataList\"\n [groupby]=\"groupby\"\n [setting]=\"cardSetting\"\n [openOnClick]=\"openOnClick\"\n [inlineEditMode]=\"inlineEditMode\"\n [allowInlineEdit]=\"allowInlineEdit\"\n [rtl]=\"rtl\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [allColumns]=\"allColumns\"\n [contextMenuItems]=\"contextMenuItems\"\n [canView]=\"canView\"\n [formSetting]=\"formSetting\"\n [conditionalFormats]=\"conditionalFormats\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [navigationArrow]=\"navigationArrow\"\n [isCheckList]=\"isCheckList\"\n (rowCheck)=\"onRowCheck($event)\"\n (rowClick)=\"onRowClick($event)\"\n (ulvCommand)=\"onUlvCommand($event)\"\n (editFormPanelSave)=\"onEditFormPanelSave($event)\"\n (editFormPanelCancel)=\"onEditFormPanelCancel($event)\"\n (action)=\"onAction($event)\"\n></bsu-card-view-content>\n","import { Component, OnInit, ChangeDetectionStrategy, Input, OnChanges } from '@angular/core';\nimport { Size } from '@fundamental-ngx/core';\nimport { BaseViewItemPropsComponent, PreventDefaulEvent, enumValueToStringSize } from 'barsa-novin-ray-core';\nimport { UiListViewSetting } from '../models/grid-view';\n\n@Component({\n selector: 'bsu-list-item',\n templateUrl: './list-item.component.html',\n styleUrls: ['./list-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ListItemComponent extends BaseViewItemPropsComponent implements OnInit, OnChanges {\n @Input() setting: UiListViewSetting;\n @Input() isDisplayType: boolean;\n avatarSize: Size;\n ngOnInit(): void {\n super.ngOnInit();\n this.avatarSize = enumValueToStringSize(\n this.setting.AvatarSize,\n this.contentDensity === 'compact' ? 's' : 'm'\n ) as Size;\n }\n onRowCheck2(e): void {\n PreventDefaulEvent(e);\n }\n}\n","<ng-container\n *ngTemplateOutlet=\"isDisplayType ? displayTemplate : standardTemplate; context: { $implicit: mo }\"\n></ng-container>\n<ng-template #standardTemplate let-mo>\n <li\n fd-list-item\n class=\"standard-list-row\"\n [ngClass]=\"deviceSize\"\n [style.padding-right]=\"'calc( 1rem + ' + mo.level * 12 + 'px' + ' )'\"\n [class.selected]=\"isChecked === true\"\n [selected]=\"isChecked === true\"\n (dblclick)=\"onRowClick()\"\n (click)=\"onRowCheck()\"\n >\n <a\n fd-list-link\n [attr.rtl]=\"rtl\"\n class=\"li-link\"\n [class.checklist]=\"isCheckList\"\n #aEl\n [applyConditionalFormats]=\"conditionalFormats\"\n [styleIndex]=\"styleIndex\"\n [hostEl]=\"aEl\"\n >\n @if (isCheckList) {\n <fd-checkbox [name]=\"mo.$Caption\" [ngModel]=\"isChecked\" (change)=\"onRowCheck2($event)\"></fd-checkbox>\n } @if (setting.IconFont || setting.AvatarField) {\n <span fd-list-thumbnail>\n <fd-avatar\n alterIcon=\"alt|content|backup|default-icon\"\n [style.color]=\"setting.IconColor ? setting.IconColor : null\"\n [circle]=\"true\"\n [image]=\"\n setting.AvatarField\n ? (mo[setting.AvatarField.Name]?.FileId | picFieldSrc: 'ID':setting.AvatarField.FieldDefId)\n : ''\n \"\n [size]=\"avatarSize\"\n [transparent]=\"true\"\n [glyph]=\"\n setting.IconFont ??\n (mo.$State === 'New' && !isChecked ? 'favorite' : inlineEditMode && isChecked ? 'edit' : '')\n \"\n >\n </fd-avatar>\n </span>\n }\n <div fd-list-content>\n <div fd-list-byline [twoCol]=\"true\">\n <div fd-list-title>\n <ng-container\n *ngTemplateOutlet=\"\n renderColumn;\n context: {\n $implicit: setting.TitleField,\n layout94: layout$ | async,\n mo: mo,\n conditionalFormats: conditionalFormats,\n index: 0\n }\n \"\n ></ng-container>\n </div>\n <div fd-list-byline [style.padding-left]=\"canView && deviceName === 'desktop' ? '.9rem' : '0'\">\n <ng-container\n *ngTemplateOutlet=\"\n renderColumn;\n context: {\n $implicit: setting.StatusField,\n layout94: layout$ | async,\n mo: mo,\n conditionalFormats: conditionalFormats\n }\n \"\n ></ng-container>\n </div>\n </div>\n <div fd-list-byline>\n <ng-container\n *ngTemplateOutlet=\"\n renderColumn;\n context: {\n $implicit: setting.SubtitleField,\n layout94: layout$ | async,\n mo: mo,\n conditionalFormats: conditionalFormats\n }\n \"\n ></ng-container>\n </div>\n </div>\n @if (contextMenuItems.length) {\n <bsu-ulv-context-menu\n [menuItems]=\"contextMenuItems\"\n [conditionalFormats]=\"conditionalFormats\"\n [styleIndex]=\"styleIndex\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [mo]=\"mo\"\n (commandClick)=\"onUlvCommand()\"\n ></bsu-ulv-context-menu>\n } @if (canView && !hideOpenIcon) {\n <button (click)=\"onRowClick()\" fdType=\"transparent\" [glyph]=\"navigationArrow\" fd-button></button>\n }\n </a>\n </li>\n</ng-template>\n<ng-template #displayTemplate let-mo>\n @if (!mo.parent || mo.parent?.expanded) {\n <li\n class=\"display\"\n [ngClass]=\"deviceSize\"\n fd-list-item\n [interactive]=\"false\"\n (dblclick)=\"onRowClick()\"\n (click)=\"onRowCheck()\"\n [style.padding-right]=\"'calc( 1rem + ' + mo.level * 12 + 'px' + ' )'\"\n >\n <a\n fd-list-link\n [attr.rtl]=\"rtl\"\n class=\"li-link\"\n style=\"cursor: default\"\n [class.checklist]=\"isCheckList\"\n #aEl\n [applyConditionalFormats]=\"conditionalFormats\"\n [styleIndex]=\"styleIndex\"\n [hostEl]=\"aEl\"\n style=\"column-gap: 3px\"\n >\n @if (setting.AvatarField) {\n <img\n [src]=\"mo[setting.AvatarField.Name]?.FileId | picFieldSrc: 'ID':setting.AvatarField.FieldDefId\"\n style=\"width: 24px; height: 24px\"\n />\n } @if (setting.IconFont) {\n <i fd-list-icon [glyph]=\"setting.IconFont\" [style.color]=\"setting.IconColor ? setting.IconColor : null\">\n </i>\n } @if (!setting.IconFont && mo.$State === 'New' && !isChecked) {\n <i fd-list-icon glyph=\"favorite\"></i>\n } @if (!setting.IconFont && inlineEditMode && isChecked) {\n <i fd-list-icon glyph=\"edit\"></i>\n } @if (isCheckList) {\n <fd-checkbox [name]=\"mo.$Caption\" [ngModel]=\"isChecked\" (change)=\"onRowCheck2($event)\"></fd-checkbox>\n }\n <span fd-list-title>\n <ng-container\n *ngTemplateOutlet=\"\n renderColumn;\n context: {\n $implicit: setting.TitleField,\n conditionalFormats: conditionalFormats,\n layout94: layout$ | async,\n mo: mo,\n index: 0\n }\n \"\n ></ng-container>\n </span>\n <span fd-list-secondary [dir]=\"rtl ? 'ltr' : 'rtl'\" [class.flex1]=\"contextMenuItems.length === 0\">\n <ng-container\n *ngTemplateOutlet=\"\n renderColumn;\n context: {\n $implicit: setting.SubtitleField,\n conditionalFormats: conditionalFormats,\n layout94: layout$ | async,\n mo: mo,\n index: index\n }\n \"\n ></ng-container>\n @if (canView && !hideOpenIcon) {\n <button fd-button (click)=\"onRowClick()\" [glyph]=\"navigationArrow\" fdType=\"transparent\"></button>\n } @if (contextMenuItems.length) {\n <bsu-ulv-context-menu\n [menuItems]=\"contextMenuItems\"\n [conditionalFormats]=\"conditionalFormats\"\n [styleIndex]=\"styleIndex\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [mo]=\"mo\"\n (commandClick)=\"onUlvCommand()\"\n ></bsu-ulv-context-menu>\n }\n </span>\n </a>\n </li>\n }\n</ng-template>\n<ng-template\n #renderColumn\n let-column\n let-mo=\"mo\"\n let-conditionalFormats=\"conditionalFormats\"\n let-index=\"index\"\n let-layout94=\"layout94\"\n>\n @if (column) {\n <div\n #divEl\n [applyConditionalFormats]=\"conditionalFormats\"\n [styleIndex]=\"styleIndex\"\n [hostEl]=\"divEl\"\n [dbName]=\"column.Name\"\n >\n <bsu-column-renderer\n [mo]=\"mo\"\n [column]=\"column\"\n [disableEllapsis]=\"true\"\n [value]=\"column | columnValue: mo | bbbTranslate\"\n [icon]=\"column | columnIcon: mo\"\n [editMode]=\"inlineEditMode && allowInlineEdit\"\n [rtl]=\"rtl\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [index]=\"index\"\n [controlUi]=\"column.Caption | controlUi: layout94\"\n (keyup.control.enter)=\"onEditFormPanelSave($event)\"\n (keyup.esc)=\"onEditFormPanelCancel($event)\"\n (keydown.Tab)=\"onTabKeyDown($event, index)\"\n [formLayoutShowLabel]=\"true\"\n ></bsu-column-renderer>\n </div>\n }\n</ng-template>\n","import { ChangeDetectionStrategy, Component, OnInit, TemplateRef, ViewChild } from '@angular/core';\nimport { Size } from '@fundamental-ngx/core';\nimport {\n EjrayOlgo,\n MetaobjectDataModel,\n ReportViewBaseComponent,\n ReportViewColumn,\n enumValueToStringSize\n} from 'barsa-novin-ray-core';\n\nimport { UiListViewSetting } from '../models/grid-view';\n\n@Component({\n selector: 'bsu-ui-list-view',\n templateUrl: './ui-list-view.component.html',\n styleUrls: ['./ui-list-view.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiListViewComponent extends ReportViewBaseComponent<UiListViewSetting> implements OnInit {\n @ViewChild('popupModeTemplate', { static: true, read: TemplateRef }) popupModeTemplateRef: TemplateRef<any>;\n @ViewChild('defaultMode', { static: true, read: TemplateRef }) defaultModeTemplateRef: TemplateRef<any>;\n listSetting: UiListViewSetting;\n avatarSize: Size;\n isDisplayType: boolean;\n detailsColumns: ReportViewColumn[] = [];\n detailsComponent: EjrayOlgo;\n showDetailsInRow: boolean;\n hasRowOlgo: boolean;\n popoverOpen = false;\n columnComponents: { column: ReportViewColumn; component: MetaobjectDataModel }[] = [];\n selectedPresentaionTemplate: TemplateRef<any>;\n popupMode = false;\n ngOnInit(): void {\n super.ngOnInit();\n this.popupMode = this.viewSetting.MenuInSmallDevice === true && this.deviceSize === 's';\n this.selectedPresentaionTemplate = this.popupMode ? this.popupModeTemplateRef : this._getPresentaionMode();\n\n this.isDisplayType = this.viewSetting.ItemType$Caption === 'Display';\n const viewSetting = this.viewSetting;\n this.hasRowOlgo = this.viewSetting?.RowOlgo?.Selector;\n const findColumn = this._findColumnByDbName;\n this.avatarSize = enumValueToStringSize(\n viewSetting.AvatarSize,\n this.contentDensity === 'compact' ? 's' : 'm'\n ) as Size;\n\n this.listSetting = {\n ...viewSetting,\n TitleField: findColumn.transform(this.allColumns, viewSetting.Title),\n SubtitleField: findColumn.transform(this.allColumns, viewSetting.Subtitle) ?? '',\n CounterField: findColumn.transform(this.allColumns, viewSetting.Counter) ?? '',\n AvatarField: findColumn.transform(this.allColumns, viewSetting.Avatar),\n IconFont: viewSetting.IconFont || null,\n StatusField: findColumn.transform(this.allColumns, viewSetting.Status),\n DescriptionField: findColumn.transform(this.allColumns, viewSetting.Description)\n };\n }\n\n onListCheckboxClick(mo, index): void {\n this.rowCheck.emit({ mo, index });\n }\n\n onListNavigationClick(mo, index): void {\n this.rowClick.emit({ mo, index });\n }\n _getPresentaionMode(): TemplateRef<any> {\n switch (this.viewSetting.PresentaionMode) {\n default:\n return this.defaultModeTemplateRef;\n case '2':\n this.popupMode = true;\n return this.popupModeTemplateRef;\n }\n }\n}\n","<ng-container *ngTemplateOutlet=\"selectedPresentaionTemplate\"></ng-container>\n\n<ng-template #popupModeTemplate>\n <ng-container *ngTemplateOutlet=\"deviceSize === 's' ? mobileTpl : desktopTpl\"></ng-container>\n\n <!-- <fd-menu [appendTo]=\"_el\"\n #menu [mobile]=\"deviceSize === 's'\" >\n</fd-menu> -->\n</ng-template>\n<ng-template #mobileTpl>\n <div class=\"popup-mode\">\n <ng-container *ngTemplateOutlet=\"buttonDropDown; context: { menu: menu }\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"tokensTpl\"></ng-container>\n <fd-menu #menu [mobile]=\"true\" [mobileConfig]=\"{ title: title | bbbTranslate, hasCloseButton: true }\">\n <ng-container *ngTemplateOutlet=\"defaultMode; context: { popover: menu, popupMode: true }\"></ng-container>\n </fd-menu>\n</ng-template>\n<ng-template #desktopTpl>\n <fd-popover #popover fillControlMode=\"equal\">\n <fd-popover-control class=\"popup-mode\">\n <ng-container *ngTemplateOutlet=\"buttonDropDown\"></ng-container>\n </fd-popover-control>\n <fd-popover-body>\n <ng-container\n *ngTemplateOutlet=\"defaultMode; context: { popover: popover, popupMode: true }\"\n ></ng-container>\n </fd-popover-body>\n </fd-popover>\n <ng-container *ngTemplateOutlet=\"tokensTpl\"></ng-container>\n</ng-template>\n<ng-template #buttonDropDown let-menu=\"menu\">\n <button\n class=\"drop-down\"\n fd-button\n [label]=\"selectedMo ? (selectedMo.$Caption | bbbTranslate) : (title | bbbTranslate)\"\n [fdMenu]=\"true\"\n [fdMenuTrigger]=\"menu\"\n >\n @if (selectedCount > 0 && isCheckList) {\n <span fd-object-status [inverted]=\"true\" [label]=\"selectedCount\" [title]=\"selectedCount\"></span>\n }\n </button>\n</ng-template>\n<ng-template #tokensTpl>\n @if (isCheckList && hasSelected) {\n <div style=\"padding: 5px; display: flex; flex-wrap: wrap; row-gap: 5px; column-gap: 5px\">\n @for (mo of moDataList; track mo; let index = $index) { @if (mo.$IsChecked) {\n <fd-token fdCozy [readOnly]=\"false\" (onCloseClick)=\"onRowCheck({mo, index})\">{{\n columns[0].Caption | rval: mo:columns:true\n }}</fd-token>\n } }\n </div>\n }\n</ng-template>\n<ng-template #defaultMode let-popover=\"popover\" let-popupMode=\"popupMode\">\n <fd-layout-panel [class.popup-mode]=\"popupMode\" [ngClass]=\"'size-' + deviceSize\">\n <fd-layout-panel-header>\n <fd-layout-panel-head>\n <h4 fd-layout-panel-title>{{ title | bbbTranslate }}</h4>\n @if (selectedCount > 0) {\n <span fd-object-status [inverted]=\"true\" [label]=\"selectedCount\" [title]=\"selectedCount\"></span>\n }\n </fd-layout-panel-head>\n <fd-layout-panel-actions>\n @if (deviceSize !== 's') {\n <button\n style=\"margin-top: 5px\"\n fd-button\n glyph=\"decline\"\n fdType=\"transparent\"\n (click)=\"popover.close()\"\n ></button>\n }\n </fd-layout-panel-actions>\n </fd-layout-panel-header>\n @if (isCheckList && moDataList.length) {\n <fd-layout-panel-filters>\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\n <a class=\"clearCheckAll\" (click)=\"onAllCheckbox($event)\" fd-link [aria-label]=\"'All' | bbbTranslate\">{{\n 'All' | bbbTranslate\n }}</a>\n <label fd-toolbar-label style=\"font-size: 1rem; font-weight: bold\">.</label>\n <a\n (click)=\"onClearCheckbox()\"\n fd-toolbar-item\n class=\"clearCheckAll\"\n fd-link\n [aria-label]=\"'Clear' | bbbTranslate\"\n >{{ 'Clear' | bbbTranslate }}</a\n >\n </fd-toolbar>\n </fd-layout-panel-filters>\n }\n\n <fd-layout-panel-body [bleed]=\"true\">\n <ng-container\n *ngTemplateOutlet=\"\n isDisplayType ? displayListTemplate : standardListTemplate;\n context: {\n $implicit: moDataList,\n isCheckList: isCheckList,\n groupby: groupby,\n conditionalFormats: conditionalFormats,\n deviceName: deviceName,\n viewSetting: viewSetting,\n allColumns: allColumns,\n access: access,\n rtl: rtl,\n popover: popover\n }\n \"\n >\n </ng-container>\n </fd-layout-panel-body>\n </fd-layout-panel>\n</ng-template>\n\n<!--display list-->\n<ng-template\n #displayListTemplate\n let-moDataList\n let-isCheckList=\"isCheckList\"\n let-groupby=\"groupby\"\n let-conditionalFormats=\"conditionalFormats\"\n let-deviceName=\"deviceName\"\n let-allColumns=\"allColumns\"\n let-viewSetting=\"viewSetting\"\n let-access=\"access\"\n let-rtl=\"rtl\"\n>\n @if (moDataList && moDataList.length > 0) {\n <ul fd-list class=\"display-list fd-list--navigation\" ellipsify>\n @for (mo of moDataList | multipleGroupBy: groupby; track mo; let index = $index; let last = $last) { @if\n (!mo.parent || mo.parent?.expanded) {\n <ng-container\n *ngTemplateOutlet=\"\n itemTemplate;\n context: {\n $implicit: mo,\n index: index,\n last: last,\n columns: columns,\n moDataList: moDataList,\n moDataListCount: moDataList.length\n }\n \"\n ></ng-container>\n } }\n </ul>\n } @else {\n <bsu-no-data [simple]=\"popupMode\"></bsu-no-data>\n }\n</ng-template>\n<!--standard list-->\n<ng-template\n #standardListTemplate\n let-moDataList\n let-isCheckList=\"isCheckList\"\n let-groupby=\"groupby\"\n let-conditionalFormats=\"conditionalFormats\"\n let-allColumns=\"allColumns\"\n let-deviceName=\"deviceName\"\n let-access=\"access\"\n let-viewSetting=\"viewSetting\"\n let-rtl=\"rtl\"\n let-last=\"last\"\n>\n @if (moDataList && moDataList.length > 0) {\n <ul class=\"fd-list--navigation\" [class.fd-list--byline]=\"!isDisplayType\" fd-list [byline]=\"true\" ellipsify>\n @for (mo of moDataList | multipleGroupBy: groupby; track mo; let index = $index) { @if (!mo.parent ||\n mo.parent?.expanded) {\n <ng-container\n *ngTemplateOutlet=\"\n itemTemplate;\n context: {\n $implicit: mo,\n index: index,\n last: last,\n columns: columns,\n moDataList: moDataList,\n moDataListCount: moDataList.length\n }\n \"\n ></ng-container>\n } }\n </ul>\n } @else {\n <bsu-no-data [simple]=\"popupMode\"></bsu-no-data>\n }\n</ng-template>\n\n<!--noData-->\n<ng-template\n #itemTemplate\n let-mo\n let-index=\"index\"\n let-last=\"last\"\n let-columns=\"columns\"\n let-moDataListCount=\"moDataListCount\"\n let-moDataList=\"moDataList\"\n>\n @if (mo.group || mo.group === '') {\n <li\n fd-list-group-header\n [style.padding-right]=\"'calc( 1rem + ' + mo.level * 12 + 'px' + ' )'\"\n [attr.level]=\"mo.level\"\n [class.root-group]=\"mo.level === 0\"\n >\n <fd-icon\n [glyph]=\"mo.expanded ? 'navigation-down-arrow' : 'navigation-left-arrow'\"\n class=\"cell-expand\"\n (click)=\"onExpandClick(mo)\"\n ></fd-icon>\n <span fd-list-title>{{ mo.group }}</span>\n </li>\n } @else {\n <ng-container\n *ngTemplateOutlet=\"\n hasRowOlgo ? dynamicItemTemplate : defaultItem;\n context: {\n $implicit: mo,\n index: index,\n columns: columns,\n moDataList: moDataList,\n moDataListCount: moDataList.length\n }\n \"\n ></ng-container>\n <ng-template\n #defaultItem\n let-mo\n let-index=\"index\"\n let-columns=\"columns\"\n let-moDataListCount=\"moDataListCount\"\n let-moDataList=\"moDataList\"\n >\n @if (!hasRowOlgo) {\n <bsu-list-item\n [isDisplayType]=\"isDisplayType\"\n [mo]=\"mo\"\n [isChecked]=\"mo.$IsChecked\"\n [styleIndex]=\"mo.$StyleIndex\"\n [isNewInlineMo]=\"mo.$NewInlineMo\"\n [index]=\"index\"\n [last]=\"last\"\n [setting]=\"listSetting\"\n [editMode]=\"inlineEditMode\"\n [rtl]=\"rtl\"\n [hideOpenIcon]=\"hideOpenIcon\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [index]=\"index\"\n [formSetting]=\"formSetting\"\n [allColumns]=\"allColumns\"\n [contentDensity]=\"contentDensity\"\n [contextMenuItems]=\"contextMenuItems\"\n [canView]=\"canView\"\n [conditionalFormats]=\"conditionalFormats\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [navigationArrow]=\"navigationArrow\"\n [isCheckList]=\"isCheckList\"\n (rowCheck)=\"onRowCheck($event)\"\n (rowClick)=\"onRowClick($event)\"\n (ulvCommand)=\"onUlvCommand($event)\"\n (editFormPanelSave)=\"onEditFormPanelSave($event)\"\n (editFormPanelCancel)=\"onEditFormPanelCancel($event)\"\n >\n </bsu-list-item>\n } @else {\n <bnrc-dynamic-item-component\n [component]=\"viewSetting.RowOlgo\"\n [mo]=\"mo\"\n [styleIndex]=\"mo.$StyleIndex\"\n [moDataList]=\"moDataList\"\n [showDetailsInRow]=\"showDetailsInRow\"\n [hideOpenIcon]=\"hideOpenIcon\"\n [detailsColumns]=\"detailsColumns\"\n [columnComponents]=\"viewSetting?.ColumnComponents || null\"\n [cartableTemplate]=\"cartableTemplates[mo.RelatedMo?.$TypeDefId]\"\n [cartableMo]=\"mo.RelatedMo\"\n [cartableWorkflowData]=\"mo.SerializedWorkflowData\"\n [serializedRelatedMo]=\"mo.SerializedRelatedMo\"\n [detailsText]=\"viewSetting?.DetailsSetting?.ButtonText\"\n [detailsComponent]=\"detailsComponent\"\n [isChecked]=\"mo.$IsChecked\"\n [visibility]=\"mo.$Visibility\"\n [expanded]=\"mo.$Expanded\"\n [level]=\"mo.$Level\"\n [parentExpanded]=\"mo.$Parent?.$Expanded\"\n [moDataListCount]=\"moDataListCount\"\n [columnsCount]=\"columnsCount - detailsColumns.length\"\n [typeDefId]=\"typeDefId\"\n [extraRelation]=\"extraRelation\"\n [formSetting]=\"formSetting\"\n [index]=\"index\"\n [last]=\"last\"\n [setting]=\"viewSetting\"\n [secondaryColumns]=\"secondaryColumns | filterColumnsByDetails: detailsColumns\"\n [columns]=\"columns | filterColumnsByDetails: detailsColumns\"\n [isNewInlineMo]=\"mo.$NewInlineMo\"\n [access]=\"access\"\n [inlineEditMode]=\"inlineEditMode\"\n [allowInlineEdit]=\"allowInlineEdit\"\n [rtl]=\"rtl\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [allColumns]=\"allColumns\"\n [contextMenuItems]=\"contextMenuItems\"\n [canView]=\"canView\"\n [conditionalFormats]=\"conditionalFormats\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [navigationArrow]=\"navigationArrow\"\n [isCheckList]=\"isCheckList\"\n [rowIndicator]=\"columns[0].MetaFieldTypeId === '41'\"\n (events)=\"onOlgoEvents($event)\"\n >\n </bnrc-dynamic-item-component>\n }\n </ng-template>\n <ng-template\n #dynamicItemTemplate\n let-mo\n let-index=\"index\"\n let-columns=\"columns\"\n let-moDataListCount=\"moDataListCount\"\n let-moDataList=\"moDataList\"\n >\n <bnrc-dynamic-item-component\n [component]=\"viewSetting.RowOlgo\"\n [mo]=\"mo\"\n [styleIndex]=\"mo.$StyleIndex\"\n [moDataList]=\"moDataList\"\n [showDetailsInRow]=\"showDetailsInRow\"\n [hideOpenIcon]=\"hideOpenIcon\"\n [detailsColumns]=\"detailsColumns\"\n [columnComponents]=\"viewSetting?.ColumnComponents || null\"\n [cartableTemplate]=\"cartableTemplates[mo.RelatedMo?.$TypeDefId]\"\n [cartableMo]=\"mo.RelatedMo\"\n [cartableWorkflowData]=\"mo.SerializedWorkflowData\"\n [serializedRelatedMo]=\"mo.SerializedRelatedMo\"\n [detailsText]=\"viewSetting?.DetailsSetting?.ButtonText\"\n [detailsComponent]=\"detailsComponent\"\n [isChecked]=\"mo.$IsChecked\"\n [visibility]=\"mo.$Visibility\"\n [expanded]=\"mo.$Expanded\"\n [level]=\"mo.$Level\"\n [parentExpanded]=\"mo.$Parent?.$Expanded\"\n [moDataListCount]=\"moDataListCount\"\n [columnsCount]=\"columnsCount - detailsColumns.length\"\n [typeDefId]=\"typeDefId\"\n [extraRelation]=\"extraRelation\"\n [formSetting]=\"formSetting\"\n [index]=\"index\"\n [last]=\"last\"\n [setting]=\"viewSetting\"\n [secondaryColumns]=\"secondaryColumns | filterColumnsByDetails: detailsColumns\"\n [columns]=\"columns | filterColumnsByDetails: detailsColumns\"\n [isNewInlineMo]=\"mo.$NewInlineMo\"\n [access]=\"access\"\n [inlineEditMode]=\"inlineEditMode\"\n [allowInlineEdit]=\"allowInlineEdit\"\n [rtl]=\"rtl\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [allColumns]=\"allColumns\"\n [contextMenuItems]=\"contextMenuItems\"\n [canView]=\"canView\"\n [conditionalFormats]=\"conditionalFormats\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [navigationArrow]=\"navigationArrow\"\n [isCheckList]=\"isCheckList\"\n [rowIndicator]=\"columns[0].MetaFieldTypeId === '41'\"\n (events)=\"onOlgoEvents($event)\"\n >\n </bnrc-dynamic-item-component>\n </ng-template>\n }\n</ng-template>\n","import {\n Component,\n ChangeDetectionStrategy,\n Input,\n EventEmitter,\n Output,\n SimpleChanges,\n ChangeDetectorRef,\n ViewChildren,\n ElementRef,\n QueryList\n} from '@angular/core';\nimport {\n BaseComponent,\n ReportViewColumn,\n AbbrevationDeviceSize,\n ColumnResizedArgs,\n TableHeaderWidthMode\n} from 'barsa-novin-ray-core';\nimport { UiTableViewSetting } from '../models/grid-view';\n\n@Component({\n selector: 'bsu-barsa-table-header',\n templateUrl: './barsa-table-header.component.html',\n styleUrls: ['./barsa-table-header.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BarsaTableHeaderComponent extends BaseComponent {\n @ViewChildren('thRef', { read: ElementRef }) thList: QueryList<ElementRef<HTMLTableCellElement>>;\n @Input() allChecked: boolean;\n @Input() isCheckList: boolean;\n @Input() columns: ReportViewColumn[];\n @Input() fitWidth: boolean;\n @Input() contextMenuItems: any[];\n @Input() contextMenuWidth: number;\n @Input() showViewButton: boolean;\n @Input() hasSelected: boolean;\n @Input() hideOpenIcon: boolean;\n @Input() disableOverflowContextMenu: boolean;\n @Input() inlineEditMode: boolean;\n @Input() hideHeader: boolean;\n @Input() showDetailsInRow = false;\n @Input() viewSetting: UiTableViewSetting;\n @Input() tableWidth: number;\n @Input() resizedByUser: boolean;\n @Input() disableResponsive: boolean;\n @Input() actionList: any[];\n @Input() rowIndicator: boolean;\n @Input() rtl: boolean;\n @Input() showRowNumber: boolean;\n @Input() deviceSize: AbbrevationDeviceSize;\n @Input() tableHeaderMode: TableHeaderWidthMode;\n @Output() allCheckbox = new EventEmitter<boolean>();\n @Output() columnResize = new EventEmitter<Array<ColumnResizedArgs>>();\n @Output() fitToContent = new EventEmitter<ReportViewColumn>();\n @Output() fitToContainer = new EventEmitter<void>();\n @Output() fitToColumn = new EventEmitter<void>();\n @Output() sortAscending = new EventEmitter<any>();\n @Output() sortDescending = new EventEmitter<any>();\n @Output() filter = new EventEmitter<ReportViewColumn>();\n columnsSmallerThanTableWidth: boolean;\n columnsWidth: number;\n startIndex: number;\n /**\n *\n */\n constructor(private _cdr: ChangeDetectorRef) {\n super();\n }\n ngOnInit(): void {\n super.ngOnInit();\n // this._prepareColumnsWidth(this.tableWidth, this.columns, true);\n }\n ngOnChanges(changes: SimpleChanges): void {\n super.ngOnChanges(changes);\n const { columns, inlineEditMode, rowIndicator } = changes;\n let needChanges = false;\n if (columns && !columns.firstChange) {\n // this._prepareColumnsWidth(this.tableWidth, columns.currentValue);\n // needChanges = true;\n }\n if (inlineEditMode && !inlineEditMode.firstChange) {\n // this._prepareColumnsWidth(this.tableWidth, this.columns);\n // needChanges = true;\n }\n if (rowIndicator) {\n this._setStartIndex(rowIndicator.currentValue);\n needChanges = true;\n }\n needChanges && this._cdr.detectChanges();\n }\n protected _setStartIndex(rowIndicator: boolean): void {\n this.startIndex = rowIndicator ? 1 : 0;\n }\n protected _prepareColumnsWidth(val: number, columns: ReportViewColumn[], detectChanges = false): void {\n const sum = columns.map((column) => column.Width).reduce((val2, column) => val2 + column, 0);\n columns.forEach((column) => (column.$Width2 = column.$Width));\n if (this.resizedByUser) {\n return;\n }\n if (this.deviceSize === 's') {\n columns.forEach((column, index) => (column.$Width2 = index === columns.length - 1 ? '100%' : 'auto'));\n return;\n }\n this.columnsWidth = sum;\n if (sum > val && val > 0) {\n columns.forEach(\n (column) => (column.$Width2 = this.inlineEditMode ? '210px' : (column.Width * 100) / val + '%')\n );\n this.columnsSmallerThanTableWidth = true;\n } else if (sum + 10 < val) {\n columns[columns.length - 1].$Width2 = '100%';\n }\n detectChanges && this._cdr.detectChanges();\n }\n onColumnWidthChanging(index: number, column: ReportViewColumn, width: number): void {\n column.Width = width;\n // console.log('columnWidthChanging number:', width, index);\n }\n onColumnWidthChange(column: ReportViewColumn): void {\n this.thList.toArray().forEach((c, index2) => {\n if (this.rowIndicator) {\n index2 += 1;\n } // بدلیل وجود rowindicator یکی به index اضافه میشود\n // فقط ستونهای گزارش بجز rowindicator قابلیت ریسایز دارند\n const el = c.nativeElement as HTMLTableCellElement;\n const newWidth = el.offsetWidth;\n const col = this.columns[index2];\n if (col.Name === column.Name) {\n const with2 = Math.round(column.Width);\n col.Width = with2;\n col.$Width2 = `${with2}px`;\n } else {\n const with2 = Math.round(newWidth);\n col.Width = with2;\n col.$Width2 = `${with2}px`;\n }\n // console.log(index2, c.nativeElement.clientWidth);\n });\n this.columnResize.emit(this.columns.map((c) => ({ name: c.Name, width: c.Width })));\n // console.log('columnWidthChange');\n }\n onAllCheckbox(checked): void {\n this.allCheckbox.emit(checked);\n }\n onSortAscending(column: ReportViewColumn, menu): void {\n if (menu) {\n menu.close();\n }\n this.sortAscending.emit(column);\n }\n onSortDescending(column: ReportViewColumn, menu): void {\n if (menu) {\n menu.close();\n }\n this.sortDescending.emit(column);\n }\n onFilter(column: ReportViewColumn, menu): void {\n if (menu) {\n menu.close();\n }\n this.filter.emit(column);\n }\n _trackByColumn(index: number, column: ReportViewColumn): string {\n return `${column.Name}${index}`;\n }\n}\n","<thead\n fd-table-header\n [class.inline-edit]=\"inlineEditMode\"\n [class.smallColumns]=\"columnsSmallerThanTableWidth\"\n [attr.columnsWidth]=\"columnsWidth\"\n [attr.tableWidth]=\"tableWidth\"\n>\n <tr fd-table-row>\n @if (!hideHeader) { @if (rowIndicator) {\n <th fd-table-cell fd-table-status-indicator></th>\n } @if (showRowNumber) {\n <th fd-table-cell style=\"width: 40px; max-width: 40px\"></th>\n } @if (isCheckList) {\n <th fd-table-cell>\n <fd-checkbox\n name=\"allCheckbox\"\n [ngModel]=\"allChecked\"\n (ngModelChange)=\"onAllCheckbox($event)\"\n ></fd-checkbox>\n </th>\n } @if (!isCheckList && !showRowNumber) {\n <th fd-table-cell class=\"single-select\"></th>\n } @for (column of columns; track _trackByColumn(i, column); let i = $index; let last = $last) { @if (startIndex\n <= i) {\n <th\n #thRef\n [columnIndex]=\"i\"\n fd-table-cell\n [style.width]=\"\n inlineEditMode\n ? column.FieldTypeId === 5\n ? 'auto'\n : '210px'\n : last\n ? null\n : column.FieldTypeId === 38\n ? '40px'\n : column.$Width2 || column.$Width\n \"\n [style.min-width]=\"last ? null : inlineEditMode ? '210px' : last ? '100%' : 'auto'\"\n resizable\n [rtl]=\"rtl\"\n [disableResize]=\"\n last ||\n column.Extra?.IconDisplayTypeEnum === 'Image' ||\n column.FieldTypeId === 42 ||\n column.FieldTypeId === 5\n \"\n (widthChange)=\"onColumnWidthChange(column)\"\n (widthChanging)=\"onColumnWidthChanging(i, column, $event)\"\n [disableResponsive]=\"disableResponsive\"\n [tableWidth]=\"tableWidth\"\n [columnsWidth]=\"columnsWidth\"\n [attr.columnName]=\"column.Name\"\n [attr.index]=\"i\"\n [ngClass]=\"column.$CSSClassName + ' column__' + column.Caption\"\n [class.displayIcon]=\"column.Extra?.IconDisplayTypeEnum\"\n >\n <fd-popover #menu>\n <fd-popover-control>\n <div style=\"display: flex\">\n <!-- FieldTypeId 38 means it is auto row number field-->\n @if ( (column.Extra?.IconDisplayTypeEnum === 'Image' || column.FieldTypeId === 42) &&\n column.Icon) {\n <img [src]=\"column.Icon\" />\n } @else {\n {{ column.Caption | bbbTranslate }}\n }\n </div>\n </fd-popover-control>\n <fd-popover-body>\n <ul fd-list>\n <li fd-list-item>\n <a fd-list-link (click)=\"onSortAscending(column, menu)\">\n <fd-menu-addon position=\"before\" glyph=\"sort-ascending\"></fd-menu-addon>\n <span fd-list-title\n >{{ ('Sort' | bbbTranslate) + ' ' }} {{ 'Ascending' | bbbTranslate }}</span\n >\n </a>\n </li>\n <li fd-list-item>\n <a fd-list-link (click)=\"onSortDescending(column, menu)\">\n <fd-menu-addon position=\"before\" glyph=\"sort-descending\"></fd-menu-addon>\n <span fd-list-title\n >{{ ('Sort' | bbbTranslate) + ' ' }} {{ 'Descending' | bbbTranslate }}</span\n >\n </a>\n </li>\n <li fd-list-item>\n <a fd-list-link (click)=\"menu.close(); fitToContent.emit(column)\">\n <fd-menu-addon position=\"before\"></fd-menu-addon>\n <span fd-list-title>{{ ('Fit Column To Content' | bbbTranslate) + ' ' }}</span>\n </a>\n </li>\n <li fd-list-item>\n <a fd-list-link (click)=\"menu.close(); fitToContainer.emit()\">\n <fd-menu-addon position=\"before\"></fd-menu-addon>\n <span fd-list-title>{{ ('All Columns In Page' | bbbTranslate) + ' ' }}</span>\n </a>\n </li>\n <li fd-list-item>\n <a fd-list-link (click)=\"menu.close(); fitToColumn.emit()\">\n <fd-menu-addon position=\"before\"></fd-menu-addon>\n <span fd-list-title>{{ ('Free Columns Size' | bbbTranslate) + ' ' }}</span>\n </a>\n </li>\n <!-- <li fd-list-item>\n <a fd-list-link (click)=\"onFilter(column, menu)\">\n <fd-menu-addon position=\"before\" glyph=\"filter\"></fd-menu-addon>\n <span fd-list-title>{{ 'Filter' | bbbTranslate }}</span>\n </a>\n </li> -->\n </ul>\n </fd-popover-body>\n </fd-popover>\n </th>\n } } @if (contextMenuItems && contextMenuItems.length > 0 && !inlineEditMode) {\n <th\n class=\"col-header col-context-menu\"\n fd-table-cell\n [fitContent]=\"disableOverflowContextMenu\"\n [style.width.px]=\"contextMenuWidth\"\n ></th>\n } @if (showDetailsInRow && !inlineEditMode) {\n <th class=\"col-header col-details\" [style.width]=\"deviceSize === 's' ? 'auto' : '120px'\" fd-table-cell></th>\n } @if (showViewButton) {\n <th class=\"col-header col-view\" [style.width.px]=\"26.5 * (actionList?.length ?? 0) + 8\" fd-table-cell></th>\n } }\n </tr>\n</thead>\n","import { Component, ChangeDetectionStrategy, Input } from '@angular/core';\nimport { FormPanelService, EjrayOlgo, BaseColumnPropsComponent, ColumnService } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-barsa-table-column',\n templateUrl: './barsa-table-column.component.html',\n styleUrls: ['./barsa-table-column.component.scss'],\n providers: [FormPanelService, ColumnService],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BarsaTableColumnComponent extends BaseColumnPropsComponent {\n @Input() disableEllapsis: boolean;\n ngOnInit(): void {\n super.ngOnInit();\n const columnValue = this.mo[this.column.Name];\n if (!this.customComponent && columnValue) {\n const customComponent = <EjrayOlgo>columnValue;\n if (customComponent.Selector && customComponent.Module) {\n this.customComponent = customComponent;\n }\n }\n }\n}\n","<div\n [class.editMode]=\"editMode\"\n #divDom\n style=\"display: flex; width: 100%\"\n [style.column-gap]=\"column.$MergedFieldsToColumn?.length ? '0.2rem' : null\"\n>\n @if (customComponent) {\n <bnrc-dynamic-item-component\n [component]=\"customComponent\"\n [mo]=\"mo\"\n [isChecked]=\"isChecked\"\n [setting]=\"detailsComponentSetting\"\n [parameters]=\"customComponent.Settings\"\n [column]=\"column\"\n [value]=\"value\"\n [icon]=\"icon\"\n [editMode]=\"editMode\"\n [rtl]=\"rtl\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [index]=\"index\"\n [allColumns]=\"allColumns\"\n [containerDom]=\"divDom\"\n ></bnrc-dynamic-item-component>\n } @else {\n <bsu-column-renderer\n [mo]=\"mo\"\n [containerDom]=\"divDom\"\n [column]=\"column\"\n [disableEllapsis]=\"disableEllapsis\"\n [value]=\"value | bbbTranslate\"\n [icon]=\"icon\"\n [editMode]=\"editMode\"\n [isChecked]=\"isChecked\"\n [index]=\"index\"\n [rtl]=\"rtl\"\n [deviceName]=\"deviceName\"\n [formLayoutShowLabel]=\"false\"\n [deviceSize]=\"deviceSize\"\n [controlUi]=\"column.Caption | controlUi: layout94\"\n (keyup.control.enter)=\"save.emit($event)\"\n (keyup.esc)=\"cancel.emit($event)\"\n (keydown.Tab)=\"tab.emit($event)\"\n ></bsu-column-renderer>\n } @if (editMode) { @for (fieldCaption of column.$MergedFieldsToColumn; track fieldCaption) { @if (fieldCaption |\n controlUi: layout94; as layoutConfig) {\n <bsu-layout-control\n [caption]=\"fieldCaption\"\n [config]=\"layoutConfig\"\n [showLabel]=\"false\"\n [inlineEdit]=\"true\"\n (keyup.control.enter)=\"save.emit($event)\"\n (keyup.esc)=\"cancel.emit($event)\"\n (keydown.Tab)=\"tab.emit($event)\"\n ></bsu-layout-control>\n } } }\n</div>\n","import { ChangeDetectionStrategy, Component, Input, OnInit, SimpleChanges } from '@angular/core';\nimport { BaseComponent } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-barsa-column-indicator',\n templateUrl: './barsa-column-indicator.component.html',\n styleUrls: ['./barsa-column-indicator.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BarsaColumnIndicatorComponent extends BaseComponent implements OnInit {\n @Input() backColor: string;\n @Input() hideBorderBottom: boolean;\n ngOnInit(): void {\n super.ngOnInit();\n }\n ngOnChanges(changes: SimpleChanges): void {\n super.ngOnChanges(changes);\n }\n}\n","<td\n [style.borderBottom]=\"hideBorderBottom ? 'none' : null\"\n fd-table-cell\n fd-table-status-indicator\n [style.backgroundColor]=\"backColor\"\n></td>\n","import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\nimport { BaseComponent } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-barsa-column-rownumber',\n templateUrl: './barsa-column-rownumber.component.html',\n styleUrls: ['./barsa-column-rownumber.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BarsaColumnRowNumberComponent extends BaseComponent implements OnInit {\n @Input() rowNumber: string;\n}\n","<td fd-table-cell fd-table-status-indicator>\n <div>{{ rowNumber }}</div>\n</td>\n","import { Component, ChangeDetectionStrategy, Input, OnInit, TemplateRef, ViewChild } from '@angular/core';\nimport {\n MoForReportModel,\n BaseViewItemPropsComponent,\n FormPanelService,\n EjrayOlgo,\n ReportViewColumn\n} from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-barsa-table-row',\n templateUrl: './barsa-table-row.component.html',\n styleUrls: ['./barsa-table-row.component.scss'],\n providers: [FormPanelService],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BarsaTableRowComponent extends BaseViewItemPropsComponent implements OnInit {\n @Input() showDetailsInRow = false;\n @Input() detailsComponent?: EjrayOlgo;\n @Input() detailsColumns: ReportViewColumn[];\n @Input() detailsText: string;\n @Input() columnComponents: MoForReportModel | null;\n @Input() actionList: any[];\n @ViewChild('detailsFormItems', { static: true }) detailsFormItems: TemplateRef<any>;\n detailsCollapsed = true;\n detailsComponentSetting: any;\n ngOnInit(): void {\n super.ngOnInit();\n this.detailsComponentSetting = {\n ...this.setting,\n $detailsColumns: this.detailsColumns,\n $detailsFormItems: this.detailsFormItems\n };\n this.detailsText ||= 'Details';\n }\n onRowDetails(): void {\n this.detailsCollapsed = !this.detailsCollapsed;\n this._cdr.detectChanges();\n }\n}\n","@if ((!mo.$Parent || parentExpanded) && visibility !== false) {\n<tr\n [class.row-error]=\"hasError\"\n [class.showdetails-on]=\"!detailsCollapsed\"\n #trEl\n fd-table-row\n [activable]=\"false\"\n [hoverable]=\"false\"\n [applyConditionalFormats]=\"conditionalFormats\"\n [styleIndex]=\"styleIndex\"\n [hostEl]=\"trEl\"\n [main]=\"true\"\n [focusable]=\"true\"\n [attr.aria-selected]=\"isChecked\"\n [focusable]=\"!inlineEditMode || !allowInlineEdit\"\n [class.brule-message]=\"bruleActionMessage || workflowState?.error\"\n [class.workflow-pending]=\"workflowState?.state === 'Pending'\"\n>\n @if (mo.$Group || mo.$Group === '') {\n <td\n [style.padding-right]=\"rtl ? 'calc( 1rem + ' + level * 12 + 'px' + ' )' : 'inherit'\"\n [style.padding-left]=\"!rtl ? 'calc( 1rem + ' + level * 12 + 'px' + ' )' : 'inherit'\"\n fd-table-cell\n style=\"font-weight: bold; font-size: 1rem\"\n [attr.colspan]=\"\n columns.length +\n 1 +\n (rowIndicator ? -1 : 0) +\n (contextMenuItems && contextMenuItems.length > 0 && !inlineEditMode ? 1 : 0) +\n (showViewButton ? 1 : 0) +\n (showDetailsInRow && !inlineEditMode ? 1 : 0)\n \"\n class=\"row-group\"\n [class.mobile-mode]=\"secondaryColumns?.length\"\n [attr.level]=\"level\"\n [class.root-group]=\"level === 0\"\n >\n <button\n fd-button\n [fdType]=\"'transparent'\"\n [glyph]=\"expanded !== false ? 'navigation-down-arrow' : 'navigation-left-arrow'\"\n class=\"cell-expand\"\n (click)=\"onExpandClick()\"\n ></button>\n {{ mo.$Group }}\n </td>\n } @else {\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\n @if (isCheckList) {\n <td fd-table-cell [style.width]=\"checkboxComponent ? '60px' : null\">\n @if (workflowState?.state === 'Pending') {\n <div style=\"position: absolute; left: 0; right: 0; bottom: 0; top: 0\">\n <bsu-mask [top]=\"'20px'\" [size]=\"'s'\"></bsu-mask>\n </div>\n } @if (checkboxComponent?.Selector) {\n <bnrc-dynamic-item-component\n [component]=\"checkboxComponent\"\n [mo]=\"mo\"\n [isChecked]=\"isChecked\"\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\n [setting]=\"setting\"\n [parameters]=\"checkboxComponent.Parameters\"\n [editMode]=\"inlineEditMode\"\n [rtl]=\"rtl\"\n [deviceName]=\"deviceName\"\n [value]=\"isChecked\"\n [deviceSize]=\"deviceSize\"\n [index]=\"index\"\n [allColumns]=\"allColumns\"\n [typeDefId]=\"typeDefId\"\n (events)=\"onRowCheck()\"\n ></bnrc-dynamic-item-component>\n } @if (!checkboxComponent?.Selector) {\n <fd-checkbox [name]=\"mo.$Caption\" [ngModel]=\"isChecked\" (ngModelChange)=\"onRowCheck()\"></fd-checkbox>\n }\n </td>\n } @if (!isCheckList && !showRowNumber) {\n <td\n fd-table-cell\n class=\"single-select\"\n (click)=\"!isCheckList && onRowCheck()\"\n style=\"padding: 0; text-align: center\"\n >\n @if (inlineEditMode && allowInlineEdit && (hasError || saving || saved)) { @if (hasError) {\n <fd-icon class=\"save-error\" glyph=\"error\"></fd-icon>\n } @if (saving) {\n <fd-busy-indicator [loading]=\"true\" [size]=\"'s'\" title=\"record saving\"></fd-busy-indicator>\n } @if (saved) {\n <fd-icon class=\"save-success\" glyph=\"accept\"></fd-icon>\n } } @else { @if (mo.$State === 'New' && !isChecked) {\n <fd-icon glyph=\"favorite\"></fd-icon>\n } @if (inlineEditMode && allowInlineEdit && isChecked) {\n <fd-icon glyph=\"edit\"></fd-icon>\n } }\n </td>\n }\n <ng-container *ngTemplateOutlet=\"rowNumberTemplate\"></ng-container>\n @for (column of columns; track column; let columnIndex = $index) { @if ((rowIndicator && columnIndex > 0) ||\n !rowIndicator) {\n <td\n [attr.dbName]=\"column.Name\"\n #tdEl\n fd-table-cell\n [applyConditionalFormats]=\"conditionalFormats\"\n [hostEl]=\"tdEl\"\n [styleIndex]=\"styleIndex\"\n [dbName]=\"column.Name\"\n [focusable]=\"false\"\n (click)=\"(!isCheckList || (inlineEditMode && allowInlineEdit)) && onRowCheck()\"\n (dblclick)=\"onRowClick()\"\n [hoverable]=\"inlineEditMode && allowInlineEdit\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n columnTemplate;\n context: {\n $implicit: column,\n mo: mo,\n index: columnIndex,\n inlineEditMode: inlineEditMode,\n layout94: layout$ | async\n }\n \"\n ></ng-container>\n </td>\n } } @if (contextMenuItems.length && (!inlineEditMode || !allowInlineEdit)) {\n <td class=\"col-context-menu\" fd-table-cell>\n <bsu-ulv-context-menu\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [conditionalFormats]=\"conditionalFormats\"\n [styleIndex]=\"styleIndex\"\n [mo]=\"mo\"\n [index]=\"index\"\n (commandClick)=\"onUlvCommand()\"\n [deviceName]=\"deviceName\"\n [menuItems]=\"contextMenuItems\"\n [allColumns]=\"allColumns\"\n ></bsu-ulv-context-menu>\n </td>\n } @if (showDetailsInRow && (!inlineEditMode || !allowInlineEdit)) {\n <td class=\"col-details\" fd-table-cell [fitContent]=\"true\">\n @if (detailsComponent?.Selector || cartableParams?.moId) {\n <button\n fd-button\n [label]=\"(detailsCollapsed ? detailsText : 'Hide') | bbbTranslate\"\n [fdType]=\"'transparent'\"\n (click)=\"onRowDetails()\"\n ></button>\n }\n </td>\n } @if (actionList?.length) {\n <td class=\"col-view\" [class.rtl]=\"rtl\" fd-table-cell [fitContent]=\"true\">\n @for (a of actionList; track a) {\n <button\n fd-button\n [glyph]=\"a.glyph\"\n [navigation]=\"a.navigation\"\n [fdType]=\"'transparent'\"\n [role]=\"a.role\"\n bodyClick\n [disableBodyClick]=\"!a.closeOnClick\"\n (click)=\"a.handler({mo, index})\"\n ></button>\n }\n </td>\n } }\n</tr>\n} @if (secondaryColumns?.length && !mo.$Group && (!mo.$Parent || parentExpanded) && visibility !== false) {\n<tr\n #trEl\n fd-table-row\n [secondary]=\"true\"\n class=\"secondary-row\"\n [class.no-edit-mode]=\"!inlineEditMode\"\n [applyConditionalFormats]=\"conditionalFormats\"\n [styleIndex]=\"styleIndex\"\n [hostEl]=\"trEl\"\n [attr.aria-selected]=\"isChecked && !inlineEditMode ? true : false\"\n>\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\n @if (!isCheckList) {\n <td fd-table-cell class=\"single-select\" (click)=\"onRowCheck()\"></td>\n }\n <td fd-table-cell colspan=\"100%\" (click)=\"onRowCheck()\" class=\"secondary p-wrapper\">\n <div style=\"display: flex; flex-direction: column\">\n @for (column of secondaryColumns; track _trackByColumn(columnIndex, column); let columnIndex = $index) {\n <p\n #pEl\n fd-table-text\n [applyConditionalFormats]=\"conditionalFormats\"\n [hostEl]=\"pEl\"\n [styleIndex]=\"styleIndex\"\n [dbName]=\"column.Name\"\n >\n <label fd-form-label>{{ column.Caption }} :</label>\n <ng-container\n *ngTemplateOutlet=\"\n columnTemplate;\n context: {\n $implicit: column,\n mo: mo,\n index: columnIndex,\n inlineEditMode: inlineEditMode,\n layout94: layout$ | async\n }\n \"\n ></ng-container>\n </p>\n }\n </div>\n </td>\n</tr>\n} @if (cartableParams?.moId) {\n<tr [class.detailCollapsed]=\"detailsCollapsed\" fd-table-row class=\"showdetails\" [attr.aria-selected]=\"isChecked\">\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\n <td\n (click)=\"onRowCheck()\"\n fd-table-cell\n [attr.colspan]=\"\n columns.length +\n 1 +\n (rowIndicator ? -1 : 0) +\n (contextMenuItems.length ? 1 : 0) +\n (canView ? 1 : 0) +\n (showDetailsInRow ? 1 : 0)\n \"\n >\n <ng-container>\n <bnrc-form\n #cartableFormRef\n class=\"cartable-template\"\n [inlineEditInReport]=\"true\"\n [params]=\"cartableParams\"\n (beforeTransition)=\"onCartableBeforeTansition()\"\n (afterTransition)=\"onCartableAfterTansition($event)\"\n (bruleAction)=\"onCartableBruleAction($event)\"\n (click)=\"OnCartableFormClick($event)\"\n (formClose)=\"onCartableFormClosed()\"\n ></bnrc-form>\n </ng-container>\n </td>\n</tr>\n} @if (!detailsCollapsed && detailsComponent?.Selector) {\n<tr fd-table-row class=\"showdetails\" [attr.aria-selected]=\"isChecked\">\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\n <td\n (click)=\"onRowCheck()\"\n fd-table-cell\n [attr.colspan]=\"\n columns.length +\n 1 +\n (rowIndicator ? -1 : 0) +\n (contextMenuItems && contextMenuItems.length > 0 && !inlineEditMode ? 1 : 0) +\n (showViewButton ? 1 : 0) +\n (showDetailsInRow && !inlineEditMode ? 1 : 0)\n \"\n >\n <ng-container *ngTemplateOutlet=\"detailsColumnsTemplate\"></ng-container>\n @if (detailsComponent && detailsComponent.Selector) {\n <bnrc-dynamic-item-component\n [component]=\"detailsComponent\"\n [mo]=\"mo\"\n [isChecked]=\"isChecked\"\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\n [setting]=\"detailsComponentSetting\"\n [parameters]=\"detailsComponent.Settings\"\n [editMode]=\"inlineEditMode\"\n [formSetting]=\"formSetting\"\n [rtl]=\"rtl\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [index]=\"index\"\n [allColumns]=\"allColumns\"\n [typeDefId]=\"typeDefId\"\n ></bnrc-dynamic-item-component>\n }\n </td>\n</tr>\n}\n<ng-template #detailsColumnsTemplate>\n <ng-container\n *ngTemplateOutlet=\"\n detailsFormItems;\n context: {\n $implicit: detailsColumns,\n mo: mo,\n inlineEditMode: inlineEditMode,\n layout94: layout$\n }\n \"\n ></ng-container>\n</ng-template>\n<ng-template #detailsFormItems let-detailsColumns let-mo=\"mo\" let-inlineEditMode=\"inlineEditMode\" let-layout$=\"layout$\">\n <div class=\"form-items\">\n @for (column of detailsColumns; track column; let columnIndex = $index) {\n <div fd-form-item>\n <label fd-form-label for=\"input-2\">{{ column.Caption }}</label>\n <ng-container\n *ngTemplateOutlet=\"\n columnTemplate;\n context: {\n $implicit: column,\n mo: mo,\n index: columnIndex,\n inlineEditMode: inlineEditMode,\n layout94: layout$ | async\n }\n \"\n ></ng-container>\n </div>\n }\n </div>\n</ng-template>\n@if (bruleActionMessage && inlineEditMode) {\n<tr fd-table-row>\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\n <td\n fd-table-cell\n [attr.colspan]=\"\n columns.length +\n 1 +\n (rowIndicator ? -1 : 0) +\n (contextMenuItems && contextMenuItems.length > 0 && !inlineEditMode ? 1 : 0) +\n (showViewButton ? 1 : 0) +\n (showDetailsInRow && !inlineEditMode ? 1 : 0)\n \"\n >\n @if (bruleActionMessage.MessageType === 2) {\n <fd-message-strip [type]=\"bruleActionMessage.MessageType === 2 ? 'error' : 'information'\" [dismissible]=\"false\">\n {{ bruleActionMessage.MessageExpression }}\n </fd-message-strip>\n }\n </td>\n</tr>\n} @if (workflowState?.state === 'Finish' && workflowState?.error) {\n<tr fd-table-row>\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\n <td\n fd-table-cell\n [attr.colspan]=\"\n columns.length +\n 1 +\n (rowIndicator ? -1 : 0) +\n (contextMenuItems && contextMenuItems.length > 0 && !inlineEditMode ? 1 : 0) +\n (showViewButton ? 1 : 0) +\n (showDetailsInRow && !inlineEditMode ? 1 : 0)\n \"\n >\n <fd-message-strip type=\"error\" [dismissible]=\"true\" (onDismiss)=\"onResetWorkflowState()\">\n {{ workflowState.error?.Text || workflowState.error?.MessageExpression }}\n </fd-message-strip>\n </td>\n</tr>\n}\n<ng-template\n #columnTemplate\n let-column\n let-mo=\"mo\"\n let-index=\"index\"\n let-inlineEditMode=\"inlineEditMode\"\n let-layout94=\"layout94\"\n>\n <bsu-barsa-table-column\n [mo]=\"mo\"\n [allColumns]=\"allColumns\"\n [column]=\"column\"\n [value]=\"column | columnValue: mo\"\n [icon]=\"column | columnIcon: mo\"\n [customComponent]=\"column.$CustomComponent\"\n [column]=\"column\"\n [disableEllapsis]=\"secondaryColumns?.length\"\n [editMode]=\"isChecked && inlineEditMode && allowInlineEdit\"\n [inlineEditMode]=\"inlineEditMode\"\n [isChecked]=\"isChecked\"\n [index]=\"index\"\n [formSetting]=\"formSetting\"\n [rtl]=\"rtl\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [layout94]=\"layout94\"\n (save)=\"onEditFormPanelSave(null)\"\n (cancel)=\"onEditFormPanelCancel(null)\"\n (tab)=\"onTabKeyDown($event, index)\"\n (changeToEditMode)=\"onColumnChangeToEditMode($event, index)\"\n >\n </bsu-barsa-table-column>\n</ng-template>\n<ng-template #statusIndicator>\n @if (rowIndicator) {\n <bsu-barsa-column-indicator [hideBorderBottom]=\"!detailsCollapsed\" [backColor]=\"rowIndicatorColor\">\n </bsu-barsa-column-indicator>\n }\n</ng-template>\n<ng-template #rowNumberTemplate>\n @if (showRowNumber) {\n <bsu-barsa-column-rownumber [rowNumber]=\"rowNumber\" (click)=\"!isCheckList && onRowCheck()\">\n </bsu-barsa-column-rownumber>\n }\n</ng-template>\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Input,\n OnChanges,\n OnInit,\n SimpleChanges\n} from '@angular/core';\nimport {\n EjrayOlgo,\n MetaobjectDataModel,\n ReportViewBaseComponent,\n ReportViewColumn,\n TableHeaderWidthMode,\n calculateWidthOfListColumn,\n setColumnWidthByMaxMoContentWidth,\n ColumnResizedArgs,\n calcContextMenuWidth\n} from 'barsa-novin-ray-core';\nimport { UiTableViewSetting } from '../models/grid-view';\n\n@Component({\n selector: 'bsu-ui-table-view',\n templateUrl: './ui-table-view.component.html',\n styleUrls: ['./ui-table-view.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiTableViewComponent\n extends ReportViewBaseComponent<UiTableViewSetting>\n implements OnInit, AfterViewInit, OnChanges\n{\n @Input() columnWidth: number;\n @Input() minWidth;\n @Input() minHeight;\n @Input() rowResizer;\n @Input() enableResizing;\n @HostBinding('style.height.px') height: number | null = null;\n @HostBinding('style.max-height') maxHeight: string | null = null;\n _width = '100%';\n detailsColumns: ReportViewColumn[] = [];\n detailsComponent: EjrayOlgo;\n showDetailsInRow: boolean;\n hasRowOlgo: boolean;\n columnComponents: { column: ReportViewColumn; component: MetaobjectDataModel }[] = [];\n rowIndicator: boolean;\n tableHeaderMode = TableHeaderWidthMode.FitToContainer;\n ngOnInit(): void {\n super.ngOnInit();\n const detailsSetting = this.viewSetting?.DetailsSetting;\n this.tableHeaderMode = this.gridFreeColumnSizing\n ? TableHeaderWidthMode.FitToColumn\n : TableHeaderWidthMode.FitToContainer;\n this.hasRowOlgo = this.viewSetting?.RowOlgo?.Selector;\n this.maxHeight = this.viewSetting?.BodyHeight;\n if (detailsSetting) {\n this.detailsComponent = detailsSetting.Component;\n detailsSetting.Columns.split(',').forEach((columnName: string) => {\n const column = this._findColumnByDbName.transform(this.allColumns, columnName, this.secondaryColumns);\n if (column) {\n this.detailsColumns.push(column);\n }\n });\n }\n this._setHasSummery(this.cartableChildsMo);\n this._setHeight(this.parentHeight);\n this._setRowIndicator(this.columns);\n this._calculateColumnsWidth(this.moDataList);\n }\n ngAfterViewInit(): void {\n super.ngAfterViewInit();\n this._calculateColumnsWidth(this.moDataList);\n }\n ngOnChanges(changes: SimpleChanges): void {\n const { columns, cartableTemplates, parentHeight, moDataList, contextMenuItems } = changes;\n if (columns && !columns.firstChange) {\n this._calculateColumnsWidth(this.moDataList, columns.currentValue);\n this._setRowIndicator(columns.currentValue);\n }\n if (contextMenuItems && !contextMenuItems.firstChange) {\n this.contextMenuWidth = calcContextMenuWidth(\n contextMenuItems.currentValue,\n this.disableOverflowContextMenu\n );\n this._cdr.detectChanges();\n }\n if (cartableTemplates && !cartableTemplates.firstChange && !this.hasSummary) {\n this._setHasSummery(cartableTemplates.currentValue);\n this._cdr.detectChanges();\n }\n if (parentHeight && !parentHeight.firstChange) {\n this._setHeight(parentHeight.currentValue);\n }\n if (moDataList && moDataList.currentValue.length > 0 && !moDataList.firstChange) {\n // this._calculateColumnsWidth(moDataList.currentValue);\n }\n super.ngOnChanges(changes);\n }\n onColumnResized(e: Array<ColumnResizedArgs>): void {\n if (this.secondaryColumns.length) {\n // return;\n }\n this.resizedByUser = true;\n this.tableHeaderMode = TableHeaderWidthMode.FreeColumnSize;\n this.columnResized.emit({ columns: this.columns, resized: e });\n }\n onFitToContainer(): void {\n this.tableHeaderMode = TableHeaderWidthMode.FitToContainer;\n this._calculateColumnsWidth(this.moDataList);\n this._fireResizeChanged();\n }\n onFitToColumn(): void {\n this.tableHeaderMode = TableHeaderWidthMode.FitToColumn;\n this._calculateColumnsWidth(this.moDataList);\n this._fireResizeChanged();\n }\n onFitToContent(column: ReportViewColumn): void {\n setColumnWidthByMaxMoContentWidth(this.moDataList, column);\n this._fireResizeChanged();\n }\n protected _fireResizeChanged(): void {\n this.columnResized.emit({\n columns: this.columns,\n resized: this.columns.map((c) => ({ name: c.Name, width: c.Width }))\n });\n }\n protected _calculateColumnsWidth(moDataList: MetaobjectDataModel[], columns?: ReportViewColumn[]): void {\n const elDom = this._el.nativeElement as HTMLElement;\n const calcResult = calculateWidthOfListColumn(\n elDom,\n this.showViewButton,\n this.contextMenuItems,\n this.disableOverflowContextMenu,\n this.tableHeaderMode,\n moDataList,\n columns || this.columns\n );\n this.contextMenuWidth = calcResult.contextMenuWidth;\n }\n protected _setRowIndicator(columns: ReportViewColumn[]): void {\n if (!columns?.length) {\n return;\n }\n this.rowIndicator = Number(columns[0].MetaFieldTypeId) === 41;\n }\n protected _setHeight(parentHeight: number): void {\n if (this.inDialog) {\n this.height = parentHeight;\n }\n }\n protected _setHasSummery(cartableTemplates): void {\n if (\n this.detailsColumns?.length > 0 ||\n this.detailsComponent?.Selector ||\n (cartableTemplates && Object.keys(cartableTemplates).length > 0)\n ) {\n this.showDetailsInRow = true;\n this.hasDetailsInRow.emit(true);\n } else {\n this.hasDetailsInRow.emit(false);\n }\n }\n protected _containerWidthChanged(val: number): void {\n if (val === 0) {\n this._width = '100%';\n } else {\n this._width = val ? val + 'px' : '100%';\n }\n this._renderer2.setStyle(this._el.nativeElement, 'width', this._width);\n }\n}\n","<table\n fd-table\n [popIn]=\"popin\"\n [class.table-fixed]=\"!contextView?.Grid_HideHeader && (!popin || secondaryColumns.length === 0)\"\n [noBorderX]=\"viewSetting?.NoHoriztonalBorders === true || (popin && secondaryColumns.length > 0)\"\n [noBorderY]=\"viewSetting?.NoVerticalBorders === true || (popin && secondaryColumns.length > 0)\"\n>\n @if (columns | mergeFieldsToColumns: viewSetting?.MergeFieldsToColumns?.MoDataList; as mergeFieldsToColumns) {\n <ng-container\n *ngTemplateOutlet=\"\n headerTemplate;\n context: { $implicit: mergeFieldsToColumns, moDataListCount: moDataList?.length }\n \"\n ></ng-container>\n @if (moDataList?.length) {\n <ng-container *ngTemplateOutlet=\"bodyTemplate; context: { $implicit: mergeFieldsToColumns }\"></ng-container>\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: mergeFieldsToColumns }\"></ng-container>\n } }\n</table>\n<!--renderColumn-->\n\n@if (!moDataList?.length) {\n<bsu-no-data\n [class.no-topborder]=\"!hideToolbar\"\n [class.noborder]=\"contextView.Grid_HideHeader && hideToolbar\"\n [simple]=\"true\"\n>\n</bsu-no-data>\n}\n\n<ng-template #headerTemplate let-columns let-moDataListCount>\n <bsu-barsa-table-header\n [class.has-toolbar]=\"!hideToolbar\"\n [style.pointer-events]=\"moDataListCount ? 'auto' : 'none'\"\n [tableWidth]=\"elWidth\"\n [showDetailsInRow]=\"showDetailsInRow\"\n [hideOpenIcon]=\"hideOpenIcon\"\n [resizedByUser]=\"resizedByUser\"\n [tableHeaderMode]=\"tableHeaderMode\"\n [showRowNumber]=\"contextView?.Grid_ShowRowNumber\"\n [allChecked]=\"allChecked\"\n [rtl]=\"rtl\"\n [actionList]=\"actionList\"\n [disableResponsive]=\"disableResponsive\"\n [isCheckList]=\"isCheckList\"\n [columns]=\"columns | filterColumnsByDetails: detailsColumns\"\n [fitWidth]=\"fitWidth\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [inlineEditMode]=\"inlineEditMode\"\n [contextMenuItems]=\"contextMenuItems\"\n [contextMenuWidth]=\"contextMenuWidth\"\n [showViewButton]=\"showViewButton\"\n [deviceSize]=\"deviceSize\"\n [viewSetting]=\"viewSetting\"\n [hideHeader]=\"contextView.Grid_HideHeader\"\n [rowIndicator]=\"rowIndicator\"\n (columnResize)=\"onColumnResized($event)\"\n (fitToContent)=\"onFitToContent($event)\"\n (fitToContainer)=\"onFitToContainer()\"\n (fitToColumn)=\"onFitToColumn()\"\n (allCheckbox)=\"onAllCheckbox($event)\"\n (sortAscending)=\"onSortAscending($event)\"\n (sortDescending)=\"onSortDescending($event)\"\n (filter)=\"onFilter($event)\"\n ></bsu-barsa-table-header>\n</ng-template>\n<ng-template #bodyTemplate let-columns>\n <tbody\n fd-table-body\n [class.noborder]=\"viewSetting?.NoBodyBorders === true\"\n [noBorderX]=\"(popin && secondaryColumns.length > 0) || viewSetting?.NoVerticalBorders !== false\"\n [noBorderY]=\"popin && secondaryColumns.length > 0\"\n >\n <ng-container>\n @for (mo of moDataList | multipleGroupBy: groupby; track _trackByRow(index, mo); let index = $index) {\n <ng-container\n *ngTemplateOutlet=\"\n hasRowOlgo ? rowOlgoTemplate : rowTemplate;\n context: {\n $implicit: mo,\n index: index,\n rowNumber: mo.Id | rowNumber: pagingSetting:moDataList,\n rowIndicatorColor: !columns.length ? '' : (columns[0].Caption | rval: mo:columns),\n columns: columns | columnCustomComponent: viewSetting?.ColumnComponents?.MoDataList,\n secondaryColumns:\n secondaryColumns | columnCustomComponent: viewSetting?.ColumnComponents?.MoDataList,\n moDataList: moDataList,\n moDataListCount: moDataList.length,\n cartableTemplate: cartableTemplates[mo.RelatedMo?.$TypeDefId + '@' + mo.CartableSettings?.Id]\n }\n \"\n ></ng-container>\n }\n </ng-container>\n </tbody>\n</ng-template>\n<ng-template #footerTemplate let-columns>\n @if (hasSummary) {\n <tfoot fd-table-footer>\n <tr fd-table-row class=\"row-summary\">\n @if (isCheckList) {\n <td fd-table-cell columnResizer>\n <strong class=\"col-total-text\">{{ 'Total' | bbbTranslate }}</strong>\n </td>\n } @if (!isCheckList) {\n <td fd-table-cell class=\"single-select\">\n <strong class=\"col-total-text\">{{ 'Total' | bbbTranslate }}</strong>\n </td>\n } @for (column of columns; track column; let i = $index) {\n <td>\n @if (column.HasSummary) {\n <strong style=\"direction: ltr; display: block\">\n {{ moDataList | totalSummary: column.Name | number }}</strong\n >\n }\n </td>\n } @if (contextMenuItems && contextMenuItems.length > 0) {\n <td fd-table-cell style=\"width: 100px\"></td>\n } @if (!hideOpenIcon && canView && (!inlineEditMode || !allowInlineEdit)) {\n <td fd-table-cell></td>\n }\n </tr>\n </tfoot>\n }\n</ng-template>\n<ng-template\n #rowOlgoTemplate\n let-mo\n let-index=\"index\"\n let-columns=\"columns\"\n let-moDataListCount=\"moDataListCount\"\n let-moDataList=\"moDataList\"\n let-cartableTemplate=\"cartableTemplate\"\n let-secondaryColumns=\"secondaryColumns\"\n let-rowIndicatorColor=\"rowIndicatorColor\"\n let-rowNumber=\"rowNumber\"\n>\n <bnrc-dynamic-item-component\n [component]=\"viewSetting.RowOlgo\"\n [mo]=\"mo\"\n [showViewButton]=\"showViewButton\"\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\n [moDataList]=\"moDataList\"\n [showDetailsInRow]=\"showDetailsInRow\"\n [hideOpenIcon]=\"hideOpenIcon\"\n [detailsColumns]=\"detailsColumns\"\n [showRowNumber]=\"contextView?.Grid_ShowRowNumber\"\n [rowNumber]=\"rowNumber\"\n [columnComponents]=\"viewSetting?.ColumnComponents || null\"\n [cartableTemplate]=\"cartableTemplate\"\n [cartableMo]=\"mo.RelatedMo\"\n [cartableWorkflowData]=\"mo.SerializedWorkflowData\"\n [serializedRelatedMo]=\"mo.SerializedRelatedMo\"\n [detailsText]=\"viewSetting?.DetailsSetting?.ButtonText\"\n [detailsComponent]=\"detailsComponent\"\n [isChecked]=\"mo.$IsChecked\"\n [visibility]=\"mo.$Visibility\"\n [expanded]=\"mo.$Expanded\"\n [styleIndex]=\"mo.$StyleIndex\"\n [level]=\"mo.$Level\"\n [parentExpanded]=\"mo.$Parent?.$Expanded\"\n [moDataListCount]=\"moDataListCount\"\n [columnsCount]=\"columnsCount - detailsColumns.length\"\n [typeDefId]=\"typeDefId\"\n [extraRelation]=\"extraRelation\"\n [formSetting]=\"formSetting\"\n [index]=\"index\"\n [setting]=\"viewSetting\"\n [secondaryColumns]=\"secondaryColumns | filterColumnsByDetails: detailsColumns\"\n [columns]=\"columns | filterColumnsByDetails: detailsColumns\"\n [isNewInlineMo]=\"mo.$NewInlineMo\"\n [access]=\"access\"\n [inlineEditMode]=\"inlineEditMode\"\n [allowInlineEdit]=\"allowInlineEdit\"\n [rtl]=\"rtl\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [allColumns]=\"allColumns\"\n [contextMenuItems]=\"contextMenuItems\"\n [canView]=\"canView\"\n [conditionalFormats]=\"conditionalFormats\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [navigationArrow]=\"navigationArrow\"\n [isCheckList]=\"isCheckList\"\n [rowIndicator]=\"rowIndicator\"\n [rowIndicatorColor]=\"rowIndicatorColor\"\n (events)=\"onOlgoEvents($event)\"\n >\n </bnrc-dynamic-item-component>\n</ng-template>\n<ng-template\n #rowTemplate\n let-mo\n let-index=\"index\"\n let-rowNumber=\"rowNumber\"\n let-columns=\"columns\"\n let-moDataListCount=\"moDataListCount\"\n let-moDataList=\"moDataList\"\n let-cartableTemplate=\"cartableTemplate\"\n let-secondaryColumns=\"secondaryColumns\"\n let-rowIndicatorColor=\"rowIndicatorColor\"\n>\n <bsu-barsa-table-row\n [mo]=\"mo\"\n [moDataList]=\"moDataList\"\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\n [showDetailsInRow]=\"showDetailsInRow\"\n [hideOpenIcon]=\"hideOpenIcon\"\n [showRowNumber]=\"contextView?.Grid_ShowRowNumber\"\n [rowNumber]=\"rowNumber\"\n [showViewButton]=\"showViewButton\"\n [detailsColumns]=\"detailsColumns\"\n [columnComponents]=\"viewSetting?.ColumnComponents || null\"\n [cartableTemplate]=\"cartableTemplate\"\n [cartableMo]=\"mo.RelatedMo\"\n [cartableWorkflowData]=\"mo.SerializedWorkflowData\"\n [serializedRelatedMo]=\"mo.SerializedRelatedMo\"\n [detailsText]=\"viewSetting?.DetailsSetting?.ButtonText\"\n [detailsComponent]=\"detailsComponent\"\n [isChecked]=\"mo.$IsChecked\"\n [visibility]=\"mo.$Visibility\"\n [expanded]=\"mo.$Expanded\"\n [styleIndex]=\"mo.$StyleIndex\"\n [level]=\"mo.$Level\"\n [parentExpanded]=\"mo.$Parent?.$Expanded\"\n [moDataListCount]=\"moDataListCount\"\n [columnsCount]=\"columnsCount - detailsColumns.length\"\n [typeDefId]=\"typeDefId\"\n [extraRelation]=\"extraRelation\"\n [formSetting]=\"formSetting\"\n [index]=\"index\"\n [setting]=\"viewSetting\"\n [checkboxComponent]=\"viewSetting?.CheckboxComponent\"\n [secondaryColumns]=\"secondaryColumns | filterColumnsByDetails: detailsColumns\"\n [columns]=\"columns | filterColumnsByDetails: detailsColumns\"\n [isNewInlineMo]=\"mo.$NewInlineMo\"\n [access]=\"access\"\n [actionList]=\"actionList\"\n [inlineEditMode]=\"inlineEditMode\"\n [allowInlineEdit]=\"allowInlineEdit\"\n [rtl]=\"rtl\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [allColumns]=\"allColumns\"\n [contextMenuItems]=\"contextMenuItems\"\n [canView]=\"canView\"\n [conditionalFormats]=\"conditionalFormats\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [navigationArrow]=\"navigationArrow\"\n [isCheckList]=\"isCheckList\"\n [rowIndicator]=\"rowIndicator\"\n [rowIndicatorColor]=\"rowIndicatorColor\"\n (resetWorkflowState)=\"resetWorkflowState.emit(mo)\"\n (escapeKey)=\"onEscapeKey($event)\"\n (expandClick)=\"onExpandClick($event)\"\n (rowCheck)=\"onRowCheck($event)\"\n (workflowShareButtons)=\"onWorkflowShareButtons($event)\"\n (deselectAll)=\"onDeselectAll()\"\n (rowClick)=\"onRowClick($event)\"\n (ulvCommand)=\"onUlvCommand($event)\"\n (selectNextInlineRecord)=\"onSelectNextInlineRecord($event)\"\n (editFormPanelSave)=\"onEditFormPanelSave($event)\"\n (editFormPanelCancel)=\"onEditFormPanelCancel($event)\"\n (editFormPanelValueChange)=\"onEditFormPanelValueChange($event)\"\n (cartableFormClosed)=\"onCartableFormClosed($event)\"\n >\n </bsu-barsa-table-row>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, OnInit, Output } from '@angular/core';\r\nimport { SafeHtml } from '@angular/platform-browser';\r\nimport {\r\n BaseComponent,\r\n MetaobjectDataModel,\r\n NotificationItem,\r\n NotificationAction,\r\n AbbrevationDeviceSize\r\n} from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bsu-notification-item',\r\n templateUrl: './notification-item.component.html',\r\n styleUrls: ['./notification-item.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class NotificationItemComponent extends BaseComponent implements OnInit {\r\n @Input() option: {\r\n title: string;\r\n msg: SafeHtml;\r\n isRtl: boolean;\r\n image: string;\r\n icon: string;\r\n Closable: boolean;\r\n callback: () => void;\r\n mo: MetaobjectDataModel;\r\n NotificationItem: NotificationItem;\r\n };\r\n @Input() notificationItem: NotificationItem;\r\n @Input() showCloseButton = false;\r\n @Input() deviceSize: AbbrevationDeviceSize;\r\n\r\n @HostBinding('class') _deviceSize = '';\r\n @Output() viewed = new EventEmitter<NotificationItem>();\r\n @Output() remove = new EventEmitter<{ items: NotificationItem[]; silent: boolean }>();\r\n @Output() actionClick = new EventEmitter<{ item: NotificationItem; btn: NotificationAction }>();\r\n @Output() showEvent = new EventEmitter<{ tag: string; mo: MetaobjectDataModel; nama: string }>();\r\n @Output() closeEvent = new EventEmitter<{ mo: MetaobjectDataModel; nama: string }>();\r\n\r\n hide = false;\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._deviceSize = this.deviceSize;\r\n }\r\n}\r\n","<ng-container *ngTemplateOutlet=\"notificationItem ? notificationItemTemplate : optionTemplate\"> </ng-container>\n\n<ng-template #optionTemplate>\n <ng-container\n *ngTemplateOutlet=\"\n bodyTemplate;\n context: {\n choiceDefStatus: null,\n isNew: false,\n loading: false,\n icon: option.icon,\n statusCaption: '',\n unread: true,\n title: option.title,\n content: option.msg,\n userCaption: option.NotificationItem?.CreatorUser$Caption,\n dateCaption: option.NotificationItem?.CreationDate$Caption,\n overflowButtons: true,\n uiActions: option.NotificationItem?.UiActions,\n hideShowButton: option.NotificationItem?.HideShowButton,\n tag: option.NotificationItem?.Tag,\n hideDeleteButton: true,\n mo: option.mo\n }\n \"\n ></ng-container>\n</ng-template>\n<ng-template #notificationItemTemplate>\n <fd-notification>\n <ng-container\n *ngTemplateOutlet=\"\n bodyTemplate;\n context: {\n choiceDefStatus: notificationItem.$ChoiceDefStatus,\n isNew: notificationItem.$NewNotification,\n loading: notificationItem.$NotificatoinLoading,\n icon: notificationItem.Icon,\n statusCaption: notificationItem.Status$Caption,\n unread: notificationItem.Unread,\n title: notificationItem.Title,\n content: notificationItem.$SafeContent,\n userCaption: notificationItem.IMessage?.CreatorUser$Caption,\n dateCaption: notificationItem.IMessage?.CreationDate$Caption,\n overflowButtons: true,\n uiActions: notificationItem.UiActions,\n tag: notificationItem.Tag,\n hideShowButton: notificationItem.HideShowButton,\n hideDeleteButton: notificationItem.HideDeleteButton,\n mo: notificationItem\n }\n \"\n ></ng-container>\n </fd-notification>\n</ng-template>\n\n<ng-template\n #bodyTemplate\n let-choiceDefStatus=\"choiceDefStatus\"\n let-isNew=\"isNew\"\n let-loading=\"loading\"\n let-icon=\"icon\"\n let-statusCaption=\"statusCaption\"\n let-unread=\"unread\"\n let-title=\"title\"\n let-content=\"content\"\n let-userCaption=\"userCaption\"\n let-dateCaption=\"dateCaption\"\n let-overflowButtons=\"overflowButtons\"\n let-uiActions=\"uiActions\"\n let-hideShowButton=\"hideShowButton\"\n let-hideDeleteButton=\"hideDeleteButton\"\n let-mo=\"mo\"\n let-tag=\"tag\"\n>\n <fd-notification-body>\n @if (choiceDefStatus?.error) {\n <fd-message-strip type=\"error\" style=\"margin: 0.5rem\">\n {{ choiceDefStatus.error.Text }}\n </fd-message-strip>\n } @if (loading || isNew || choiceDefStatus?.loading) {\n <bsu-mask [top]=\"'10px'\"></bsu-mask>\n }\n <fd-avatar\n [transparent]=\"true\"\n [circle]=\"true\"\n size=\"xs\"\n [glyph]=\"!icon ? 'bell' : null\"\n [image]=\"icon ? icon : null\"\n ></fd-avatar>\n <fd-notification-content style=\"overflow: hidden\">\n <fd-notification-header>\n <div fd-notification-indicator [type]=\"statusCaption\"></div>\n <h2 fd-notification-title [unread]=\"unread\">{{ title }}</h2>\n </fd-notification-header>\n <p #content fd-notification-paragraph [innerHTML]=\"content\"></p>\n <fd-notification-footer>\n <span fd-notification-footer-content>{{ userCaption }}</span>\n <span fd-notification-separator></span>\n <span fd-notification-footer-content>{{ dateCaption }}</span>\n </fd-notification-footer>\n </fd-notification-content>\n <fd-notification-actions>\n @if (overflowButtons) {\n <fd-action-sheet #sheet>\n <fd-action-sheet-control>\n @if (uiActions?.length) {\n <button\n role=\"menu\"\n [ariaLabel]=\"'More' | bbbTranslate\"\n [title]=\"'More' | bbbTranslate\"\n fd-button\n fdType=\"transparent\"\n glyph=\"overflow\"\n ></button>\n }\n </fd-action-sheet-control>\n <fd-action-sheet-body>\n @for (btn of uiActions; track btn) {\n <li\n fd-action-sheet-item\n [glyph]=\"btn.Icon\"\n [label]=\"btn.Title | bbbTranslate\"\n (click)=\"sheet.close(); actionClick.emit({ item: mo, btn: this.btn }); closeEvent.emit()\"\n ></li>\n }\n </fd-action-sheet-body>\n </fd-action-sheet>\n } @else { @for (btn of uiActions; track btn) {\n <button\n fd-button\n [glyph]=\"btn.Icon\"\n [fdType]=\"btn.Status\"\n [label]=\"btn.Title | bbbTranslate\"\n [title]=\"btn.Title | bbbTranslate\"\n fdCompact\n (click)=\"actionClick.emit({ item: mo, btn: this.btn }); closeEvent.emit()\"\n ></button>\n } } @if (hideShowButton === false && mo.RelatedMo) {\n <button\n fd-button\n fdType=\"transparent\"\n [ariaLabel]=\"'Show' | bbbTranslate\"\n [title]=\"'Show' | bbbTranslate\"\n glyph=\"show\"\n (click)=\"showEvent.emit({tag, mo: mo.RelatedMo, nama: mo.RelatedMoNama });closeEvent.emit()\"\n ></button>\n } @if (hideDeleteButton === false) {\n <button\n fd-button\n fdType=\"transparent\"\n [ariaLabel]=\"'Delete' | bbbTranslate\"\n [title]=\"'Delete' | bbbTranslate\"\n glyph=\"decline\"\n (click)=\"remove.emit({ items: [mo], silent: false }); closeEvent.emit()\"\n ></button>\n } @if (showCloseButton) {\n <button\n fd-button\n fdType=\"transparent\"\n [ariaLabel]=\"'close' | bbbTranslate\"\n [title]=\"'close' | bbbTranslate\"\n glyph=\"decline\"\n (click)=\"closeEvent.emit()\"\n ></button>\n }\n </fd-notification-actions>\n </fd-notification-body>\n</ng-template>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { NotificationRef } from '@fundamental-ngx/core/notification';\nimport {\n BaseComponent,\n MetaobjectDataModel,\n NotificationItem,\n NotificationAction,\n PortalService,\n NotificationService\n} from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-ul-notify-popup',\n templateUrl: './ul-notify-popup.component.html',\n styleUrls: ['./ul-notify-popup.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UlNotifyPopupComponent extends BaseComponent {\n constructor(\n public notification: NotificationRef,\n private _portalService: PortalService,\n private _notificationService: NotificationService\n ) {\n super();\n }\n onActionClick(e: { item: NotificationItem; btn: NotificationAction }): void {\n this.notification.close();\n const { item, btn } = e;\n this._portalService.ExecuteNotificationAction(item.Tag, btn.Title);\n }\n onClose(e): void {\n this.notification.close();\n }\n onShow(e: { tag: string; mo: MetaobjectDataModel; nama: string }): void {\n this._notificationService.ShowNotificationRelatedMo(e);\n }\n}\n","<bsu-notification-item\r\n [showCloseButton]=\"true\"\r\n (actionClick)=\"onActionClick($event)\"\r\n [option]=\"notification.data\"\r\n [bodyOnly]=\"true\"\r\n (closeEvent)=\"onClose($event)\"\r\n (showEvent)=\"onShow($event)\"\r\n>\r\n</bsu-notification-item>\r\n\r\n<!-- <fd-notification-body\r\n [dir]=\"notification.data?.isRtl ? 'rtl' : 'ltr'\"\r\n (click)=\"notification.close(); notification.data?.callback()\"\r\n>\r\n <fd-avatar [circle]=\"true\" size=\"xs\" [image]=\"notification.data?.image\"></fd-avatar>\r\n <fd-notification-content>\r\n <fd-notification-header>\r\n <div fd-notification-indicator type=\"success\"></div>\r\n <h2 fd-notification-title [unread]=\"true\">\r\n {{ notification.data?.title }}\r\n </h2>\r\n </fd-notification-header>\r\n\r\n <p fd-notification-paragraph [innerHtml]=\"notification.data?.msg\"></p>\r\n </fd-notification-content>\r\n\r\n <fd-notification-actions>\r\n <fd-action-sheet #sheet *ngIf=\"notification.data?.uiOptions?.OverflowButtons; else buttonsTpl\">\r\n <fd-action-sheet-control>\r\n <button\r\n role=\"menu\"\r\n [ariaLabel]=\"'More' | bbbTranslate\"\r\n [title]=\"'More' | bbbTranslate\"\r\n fd-button\r\n fdType=\"transparent\"\r\n glyph=\"overflow\"\r\n ></button>\r\n </fd-action-sheet-control>\r\n\r\n <fd-action-sheet-body>\r\n <li\r\n *ngFor=\"let btn of notification.data?.UiActions\"\r\n fd-action-sheet-item\r\n [glyph]=\"btn.Icon\"\r\n [label]=\"btn.Title | bbbTranslate\"\r\n \r\n ></li>\r\n </fd-action-sheet-body>\r\n </fd-action-sheet>\r\n <ng-template #buttonsTpl>\r\n <button\r\n *ngFor=\"let btn of notification.data?.UiActions\"\r\n fd-button\r\n [glyph]=\"btn.Icon\"\r\n [fdType]=\"btn.Status\"\r\n [label]=\"btn.Title | bbbTranslate\"\r\n fdCompact\r\n \r\n ></button>\r\n </ng-template>\r\n <button\r\n *ngIf=\"!notification.data?.uiOptions?.HideDeleteButton\"\r\n fd-button\r\n fdType=\"transparent\"\r\n [ariaLabel]=\"'Delete' | bbbTranslate\"\r\n [title]=\"'Delete' | bbbTranslate\"\r\n glyph=\"decline\"\r\n \r\n fdCompact\r\n ></button>\r\n <button\r\n *ngIf=\"!notification.data?.uiOptions?.HideShowButton\"\r\n fd-button\r\n fdType=\"transparent\"\r\n [ariaLabel]=\"'Show' | bbbTranslate\"\r\n [title]=\"'Show' | bbbTranslate\"\r\n glyph=\"show\"\r\n \r\n fdCompact\r\n ></button>\r\n </fd-notification-actions>\r\n</fd-notification-body> -->\r\n","import { Component, ElementRef, ViewChild, OnInit, ChangeDetectionStrategy } from '@angular/core';\n\nimport {\n FieldBaseComponent,\n BarsaApi,\n DateService,\n DateShamsiService,\n LogService,\n DateMiladiService,\n DateHijriService,\n DateRanges\n} from 'barsa-novin-ray-core';\nimport { PopoverComponent } from '@fundamental-ngx/core';\n\nfunction getDateService(logService: LogService): DateService {\n const culture = BarsaApi.LoginFormData.Culture;\n switch (culture) {\n case 'fa-IR':\n return new DateShamsiService(logService);\n case 'ar-AE':\n return new DateHijriService(logService);\n default:\n return new DateMiladiService(logService);\n }\n}\n\n@Component({\n selector: 'bsu-ui-date-range-ex',\n templateUrl: './ui-date-range-ex.component.html',\n styleUrls: ['./ui-date-range-ex.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: DateService,\n useFactory: getDateService,\n deps: [LogService]\n }\n ]\n})\nexport class UiDateRangeExComponent extends FieldBaseComponent implements OnInit {\n @ViewChild('dateRangePicker') dateRangePicker: ElementRef<HTMLElement>;\n @ViewChild('popover', { static: true }) popover: PopoverComponent;\n\n valueStr = '';\n value: any = new BarsaApi.Common.DateRangeData();\n dateRanges = DateRanges;\n isOpenPopover: boolean;\n\n get _isValidPopover(): boolean {\n const mode = this.value.DateRangeType;\n return /Week|Day|Today|Range/.test(mode) && this.valueStr !== '';\n }\n ngOnInit(): void {\n super.ngOnInit();\n if (!this.value) {\n this.context.value = this.value = this._defaultValue(this.value);\n }\n this._decorateDateRangePicker();\n }\n\n onDateRangeTypeChange(dateRangeType): void {\n this._setValueStr(dateRangeType.replace('DateR_', ''));\n this.valueChange.emit(this.value);\n }\n onDateRangeChange(): void {\n const el: any = this.dateRangePicker.nativeElement;\n this.value.FirstDate = el.firstDateValue;\n this.value.SecondDate = el.lastDateValue;\n this.valueChange.emit(this.value);\n const firstDateStr = this._dateService.getDateString(this.value.FirstDate, true, false);\n const secondDateStr = this._dateService.getDateString(this.value.SecondDate, true, false);\n this.valueStr = firstDateStr + ' تا ' + secondDateStr;\n }\n\n onOpenPopover(): void {\n if (this._isValidPopover && this._isValidPopover) {\n this.popover.open();\n }\n }\n\n protected _setValue(value: any): void {\n if (!value) {\n this.context.value = value = this._defaultValue(value);\n }\n this._setValueStr(value.DateRangeType);\n super._setValue(value);\n }\n private _defaultValue(value): any {\n if (!value) {\n value = {\n DateRangeType: 'None'\n };\n }\n return value;\n }\n private _setValueStr(dateRangeType: string): void {\n this.value.DateRangeType = dateRangeType;\n switch (dateRangeType) {\n case 'SpecificRange':\n this.valueStr = '';\n this._decorateDateRangePicker();\n return;\n case 'DaysBefore':\n this.valueStr = this._getDaysBefore();\n break;\n case 'Today':\n this.valueStr = this._getToday();\n break;\n case 'DaysAfter':\n this.valueStr = this._getDaysAfter();\n break;\n case 'PrevWeek':\n this.valueStr = this._getPrevWeek();\n break;\n case 'ThisWeek':\n this.valueStr = this._getThisWeek();\n break;\n case 'NextWeek':\n this.valueStr = this._getNextWeek();\n break;\n case 'PrevMonth':\n this.valueStr = this._getPrevMonth();\n break;\n case 'ThisMonth':\n this.valueStr = this._getThisMonth();\n break;\n case 'NextMonth':\n this.valueStr = this._getNextMonth();\n break;\n case 'PrevYear':\n this.valueStr = this._getPrevYear();\n break;\n case 'ThisYear':\n this.valueStr = this._getThisYear();\n break;\n case 'NextYear':\n this.valueStr = this._getNextYear();\n break;\n default:\n this.valueStr = BarsaApi.BBB.DateR_None;\n this._decorateDateRangePicker();\n }\n }\n\n private _getToday(): string {\n return BarsaApi.BBB.DateR_Today + ': ' + this._dateService.getDayStr('Today');\n }\n\n private _getThisWeek(): string {\n return BarsaApi.BBB.DateR_ThisWeek + ': ' + this._dateService.getWeekStr('ThisWeek');\n }\n\n private _getThisMonth(): string {\n return BarsaApi.BBB.DateR_ThisMonth + ': ' + this._dateService.getMonthStr('ThisMonth');\n }\n\n private _getThisYear(): string {\n return BarsaApi.BBB.DateR_ThisYear + ': ' + this._dateService.getYearStr('ThisYear');\n }\n\n private _getDaysBefore(): string {\n return BarsaApi.BBB.DateR_DaysBefore + ': ' + this._dateService.getDayStr('DaysBefore');\n }\n\n private _getPrevWeek(): string {\n return BarsaApi.BBB.DateR_PrevWeek + ': ' + this._dateService.getWeekStr('PrevWeek');\n }\n\n private _getPrevMonth(): string {\n return BarsaApi.BBB.DateR_PrevMonth + ': ' + this._dateService.getMonthStr('PrevMonth');\n }\n\n private _getPrevYear(): string {\n return BarsaApi.BBB.DateR_PrevYear + ': ' + this._dateService.getYearStr('PrevYear');\n }\n\n private _getDaysAfter(): string {\n return BarsaApi.BBB.DateR_DaysAfter + ': ' + this._dateService.getDayStr('DaysAfter');\n }\n\n private _getNextWeek(): string {\n return BarsaApi.BBB.DateR_NextWeek + ': ' + this._dateService.getWeekStr('NextWeek');\n }\n\n private _getNextMonth(): string {\n return BarsaApi.BBB.DateR_NextMonth + ': ' + this._dateService.getMonthStr('NextMonth');\n }\n\n private _getNextYear(): string {\n return BarsaApi.BBB.DateR_NextYear + ': ' + this._dateService.getYearStr('NextYear');\n }\n\n private _decorateDateRangePicker(): void {\n setTimeout(() => {\n const elDateRangePicker = this.dateRangePicker?.nativeElement;\n if (elDateRangePicker) {\n const ui5InputEl = elDateRangePicker.shadowRoot?.querySelector('.ui5-date-picker-input');\n this._renderer2.setAttribute(\n ui5InputEl,\n 'style',\n 'border-top-left-radius: 0; border-bottom-left-radius: 0'\n );\n }\n }, 500);\n }\n}\n","@if (value?.DateRangeType === 'SpecificRange') {\n<div class=\"input-container\">\n <ui5-daterange-picker\n id=\"mydaterange-picker1\"\n (mouseover)=\"onOpenPopover()\"\n (mouseleave)=\"popover.close()\"\n #dateRangePicker\n (change)=\"onDateRangeChange()\"\n format-pattern=\"yyyy/MM/dd\"\n [attr.readonly]=\"(readonly$ | async) === true ? true : null\"\n [attr.disabled]=\"(disable$ | async) === true ? true : null\"\n [primaryCalendarType]=\"Setting.CalendarType !== 'Gregorian' ? 'Persian' : Setting.CalendarType\"\n >\n </ui5-daterange-picker>\n <button\n class=\"btn-drop-down\"\n fd-button\n [fdType]=\"'standard'\"\n [glyph]=\"'slim-arrow-down'\"\n (click)=\"popover.open()\"\n ></button>\n</div>\n} @else {\n<!-- <input fd-form-control [(ngModel)]=\"valueStr\" [fd-inline-help]=\"valueStr\" [readOnly]=\"true\" /> -->\n<fd-input-group\n placement=\"after\"\n glyph=\"slim-arrow-down\"\n glyphAriaLabel=\"Select Date Range\"\n [button]=\"true\"\n [ngModel]=\"valueStr\"\n (addOnButtonClicked)=\"popover.open()\"\n>\n</fd-input-group>\n}\n<ng-template #input>\n <!-- <input fd-form-control [(ngModel)]=\"valueStr\" [fd-inline-help]=\"valueStr\" [readOnly]=\"true\" /> -->\n\n <fd-input-group\n placement=\"after\"\n glyph=\"slim-arrow-down\"\n glyphAriaLabel=\"Select Date Range\"\n [button]=\"true\"\n [ngModel]=\"valueStr\"\n (addOnButtonClicked)=\"popover.open()\"\n >\n </fd-input-group>\n</ng-template>\n\n<!-- <button fd-button>\n<fd-select (valueChange)=\"onDateRangeTypeChange($event)\">\n <fd-option *ngFor=\"let option of dateRanges\" [value]=\"option\">{{ option | bbbTranslate }}</fd-option>\n</fd-select>\n</button> -->\n\n<fd-popover\n #popover\n style=\"display: block\"\n [fillControlMode]=\"'at-least'\"\n placement=\"bottom-start\"\n [(isOpen)]=\"isOpenPopover\"\n>\n <fd-popover-body>\n <ul fd-list>\n @for (option of dateRanges; track option) {\n <li fd-list-item (click)=\"popover.close(); onDateRangeTypeChange(option)\">\n <a fd-list-link>\n <span fd-list-title>{{ option | bbbTranslate }}</span>\n </a>\n </li>\n }\n </ul>\n </fd-popover-body>\n</fd-popover>\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { DialogRef } from '@fundamental-ngx/core';\r\nimport { Subject } from 'rxjs';\r\nimport { exhaustMap, filter, finalize, map, takeUntil, tap } from 'rxjs/operators';\r\n\r\nimport {\r\n BaseComponent,\r\n BarsaApi,\r\n MetaobjectDataModel,\r\n ColumnInfoType,\r\n SearchPanelSettings,\r\n BbbTranslatePipe\r\n} from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bsu-report-search-panel-save',\r\n templateUrl: './report-search-panel-save.component.html',\r\n styleUrls: ['./report-search-panel-save.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ReportSearchPanelSaveComponent extends BaseComponent implements OnInit {\r\n title: string;\r\n appGroupForm: UntypedFormGroup;\r\n submitted: boolean;\r\n RequiredText: string;\r\n isDefault = false;\r\n isPublic = false;\r\n applyAutomatically = false;\r\n saveing = false;\r\n searchMo: MetaobjectDataModel;\r\n reportId: string;\r\n fieldsSetting: ColumnInfoType[];\r\n private _saveingSource = new Subject<SearchPanelSettings>();\r\n\r\n constructor(private fb: UntypedFormBuilder, public dialogRef: DialogRef, private bbbPipe: BbbTranslatePipe) {\r\n super();\r\n this.searchMo = dialogRef.data.searchMo;\r\n this.reportId = dialogRef.data.reportId;\r\n this.fieldsSetting = dialogRef.data.fieldsSetting;\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.appGroupForm = this.fb.group({\r\n title: new UntypedFormControl(this.title, [Validators.required]),\r\n setAsDefault: new UntypedFormControl(undefined),\r\n publicFilter: new UntypedFormControl(false),\r\n applyAutomatically: new UntypedFormControl(false)\r\n });\r\n const alertFieldIsMandatoryText = this.bbbPipe.transform('AlertFieldIsMandatory');\r\n const titleText = this.bbbPipe.transform('Title');\r\n this.RequiredText = alertFieldIsMandatoryText.replace('{0}', titleText);\r\n this._saveingSource\r\n .asObservable()\r\n .pipe(\r\n tap(() => (this.saveing = true)),\r\n takeUntil(this._onDestroy$),\r\n map((searchPanelSetting) => {\r\n const searchMo = {};\r\n Object.keys(this.searchMo).forEach((c) => (searchMo[c] = this.searchMo[c]));\r\n return {\r\n ...searchPanelSetting,\r\n SearchMo: JSON.stringify(searchMo),\r\n FieldsSetting: JSON.stringify(this.fieldsSetting)\r\n };\r\n }),\r\n exhaustMap(\r\n (searchPanelSetting) =>\r\n new Promise<MetaobjectDataModel | null>((resolve) => {\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [new BarsaApi.Common.MetaObjectWeb(searchPanelSetting), true],\r\n Method: 'SaveSearchPanelSettings',\r\n SuccessFn: (mo) => {\r\n resolve(mo);\r\n },\r\n FailFn: () => {\r\n resolve(null);\r\n }\r\n });\r\n })\r\n ),\r\n filter((c) => !!c),\r\n tap((searchPanelSettingsMo) => this.dialogRef.close(searchPanelSettingsMo)),\r\n finalize(() => (this.saveing = false))\r\n )\r\n .subscribe();\r\n }\r\n\r\n onSave(): void {\r\n this.submitted = true;\r\n if (this.appGroupForm.valid) {\r\n this._saveingSource.next({\r\n Id: '',\r\n $Caption: this.title,\r\n ReportId: this.reportId,\r\n Title: this.title,\r\n IsDefault: this.isDefault,\r\n IsPublic: this.isPublic,\r\n ApplyAutomatically: this.applyAutomatically\r\n });\r\n }\r\n }\r\n}\r\n","<fd-dialog>\n <fd-dialog-header>\n <h1 fd-title>{{ 'Save' | bbbTranslate }}</h1>\n <button fd-dialog-close-button (click)=\"dialogRef.dismiss()\" [disabled]=\"saveing\"></button>\n </fd-dialog-header>\n\n <fd-dialog-body>\n @if (saveing) {\n <bsu-mask></bsu-mask>\n }\n <div fd-form-item [formGroup]=\"appGroupForm\" [class.saveing-form]=\"saveing\">\n <label fd-form-label [required]=\"true\">{{ 'Title' | bbbTranslate }}</label>\n <fd-form-input-message-group>\n <fd-input-group\n class=\"form-control\"\n formControlName=\"title\"\n form-control\n [button]=\"true\"\n [(ngModel)]=\"title\"\n [state]=\"submitted && appGroupForm.controls.title.errors ? 'error' : 'information'\"\n >\n </fd-input-group>\n <fd-checkbox\n formControlName=\"setAsDefault\"\n [label]=\"'SetasDefault' | bbbTranslate\"\n [(ngModel)]=\"isDefault\"\n ></fd-checkbox>\n <fd-checkbox\n formControlName=\"publicFilter\"\n [label]=\"'Public' | bbbTranslate\"\n [(ngModel)]=\"isPublic\"\n ></fd-checkbox>\n <fd-checkbox\n formControlName=\"applyAutomatically\"\n [label]=\"'ApplyAutomatically' | bbbTranslate\"\n [(ngModel)]=\"applyAutomatically\"\n ></fd-checkbox>\n @if (submitted && appGroupForm.controls.title.errors) {\n <fd-form-message type=\"error\">\n {{ RequiredText }}\n </fd-form-message>\n }\n </fd-form-input-message-group>\n </div>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-button-bar [label]=\"'Save' | bbbTranslate\" fdType=\"emphasized\" (click)=\"onSave()\" [disabled]=\"saveing\">\n </fd-button-bar>\n <fd-button-bar\n [disabled]=\"saveing\"\n [label]=\"'Cancel' | bbbTranslate\"\n fdInitialFocus\n fdType=\"transparent\"\n (click)=\"this.dialogRef.close()\"\n >\n </fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n","import { ChangeDetectionStrategy, Component, Input, Output, EventEmitter, OnInit } from '@angular/core';\n\nimport { BaseComponent } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-search-panel',\n templateUrl: './search-panel.component.html',\n styleUrls: ['./search-panel.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SearchPanelComponent extends BaseComponent implements OnInit {\n @Input() searchPanelUi: any;\n @Input() hideButtons: boolean;\n @Input() isSearcPanelInSideContent: boolean;\n @Output() moChanged = new EventEmitter();\n\n firstValueChanged = true;\n\n ngOnInit(): void {\n super.ngOnInit();\n\n this.searchPanelUi.Setting.IsSearcPanelInSideContent = this.isSearcPanelInSideContent;\n if (this.hideButtons) {\n const searchButtons = this.searchPanelUi._listFieldUi.find(\n (c) => c.originalXtype === 'Ui.SearchCommandInfoUi'\n );\n if (searchButtons) {\n searchButtons.Setting.HideSearchCommandInfoUi = true; // hide default buttons of search panel\n }\n }\n }\n\n onTitleChange(title: string): void {\n // this._handleMoOrTitleChanged();\n if (title?.indexOf('*') > 0) {\n this.moChanged.emit();\n }\n }\n}\n","@if (searchPanelUi) {\n<bnrc-form [customFormPanelUi]=\"searchPanelUi\" (titleChanged)=\"onTitleChange($event)\"></bnrc-form>\n}\n","import { ChangeDetectionStrategy, Component, ViewChild } from '@angular/core';\r\nimport { DialogRef } from '@fundamental-ngx/core';\r\n\r\nimport { BaseComponent, ColumnInfoType } from 'barsa-novin-ray-core';\r\nimport { UiGridColumnsComponent } from '../ui-grid-columns/ui-grid-columns.component';\r\n\r\n@Component({\r\n selector: 'bsu-report-search-fields-hidden-settings',\r\n templateUrl: './report-search-fields-hidden-settings.component.html',\r\n styleUrls: ['./report-search-fields-hidden-settings.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ReportSearchFieldsHiddenSettingsComponent extends BaseComponent {\r\n @ViewChild(UiGridColumnsComponent)\r\n girdColumnsComppnent: UiGridColumnsComponent;\r\n fields: ColumnInfoType[];\r\n constructor(private _dialogRef: DialogRef) {\r\n super();\r\n this.fields = this._dialogRef.data.fields;\r\n }\r\n onCancelSettings(): void {\r\n this._dialogRef.close();\r\n }\r\n onOkClick(): void {\r\n this._dialogRef.close(this.girdColumnsComppnent.columns);\r\n }\r\n}\r\n","<fd-dialog>\r\n <fd-dialog-header>\r\n <ng-template fdkTemplate=\"header\">\r\n <div fd-bar-left>\r\n <fd-bar-element>\r\n <h4 fd-title [headerSize]=\"4\">\r\n {{ 'Fields' | bbbTranslate }}\r\n </h4>\r\n </fd-bar-element>\r\n </div>\r\n <div fd-bar-right>\r\n <fd-bar-element>\r\n <button fd-button [label]=\"'Reset' | bbbTranslate\" [fdType]=\"'transparent'\"></button>\r\n </fd-bar-element>\r\n </div>\r\n </ng-template>\r\n </fd-dialog-header>\r\n <fd-dialog-body class=\"setting-wrapper\">\r\n <bsu-ui-grid-columns [columns]=\"fields\" #columnFilter></bsu-ui-grid-columns>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <fd-dialog-footer-button>\r\n <button fd-button fdType=\"emphasized\" (click)=\"onOkClick()\" [label]=\"'OK' | bbbTranslate\"></button>\r\n </fd-dialog-footer-button>\r\n <fd-dialog-footer-button>\r\n <button fd-button (click)=\"onCancelSettings()\" [label]=\"'Cancel' | bbbTranslate\"></button>\r\n </fd-dialog-footer-button>\r\n </fd-dialog-footer>\r\n</fd-dialog>\r\n","import { ChangeDetectionStrategy, Component, OnInit, QueryList, ViewChildren } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { exhaustMap, finalize, map, takeUntil, tap } from 'rxjs/operators';\r\nimport { DialogRef, RadioButtonComponent } from '@fundamental-ngx/core';\r\n\r\nimport { BaseComponent, BarsaApi, SearchPanelSettings } from 'barsa-novin-ray-core';\r\n@Component({\r\n selector: 'bsu-report-search-fields-manage',\r\n templateUrl: './report-search-fields-manage.component.html',\r\n styleUrls: ['./report-search-fields-manage.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ReportSearchFieldsManageComponent extends BaseComponent implements OnInit {\r\n @ViewChildren(RadioButtonComponent)\r\n radioButtonsComponent: QueryList<RadioButtonComponent>;\r\n\r\n saveing: boolean;\r\n allSearchPanelSettings: SearchPanelSettings[];\r\n reportId: string;\r\n private _saveingSource = new Subject<SearchPanelSettings[]>();\r\n constructor(private _dialogRef: DialogRef) {\r\n super();\r\n this.allSearchPanelSettings = JSON.parse(JSON.stringify(this._dialogRef.data.allSearchPanelSettings));\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._saveingSource\r\n .asObservable()\r\n .pipe(\r\n takeUntil(this._onDestroy$),\r\n tap(() => (this.saveing = true)),\r\n map((settings: SearchPanelSettings[]) => {\r\n const list: any[] = [];\r\n settings.forEach((setting) => {\r\n list.push(new BarsaApi.Common.MetaObjectWeb(setting));\r\n });\r\n return list;\r\n }),\r\n exhaustMap((allSearchPanelSettings) => {\r\n if (allSearchPanelSettings.length === 0) {\r\n return Promise.resolve(allSearchPanelSettings);\r\n }\r\n return new Promise<SearchPanelSettings[]>((resolve) => {\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [allSearchPanelSettings],\r\n Method: 'SaveArraySearchPanelSettings',\r\n SuccessFn: () => {\r\n resolve(allSearchPanelSettings);\r\n },\r\n FailFn: () => {\r\n resolve([]);\r\n }\r\n });\r\n });\r\n }),\r\n tap((allSearchPanelSettings) =>\r\n this._dialogRef.close(allSearchPanelSettings.length > 0 ? this.allSearchPanelSettings : [])\r\n ),\r\n finalize(() => (this.saveing = false))\r\n )\r\n .subscribe();\r\n }\r\n onCancelSettings(): void {\r\n this._dialogRef.close();\r\n }\r\n onOkClick(): void {\r\n const modifiedSettings: SearchPanelSettings[] = [];\r\n const allSettings = this._dialogRef.data.allSearchPanelSettings;\r\n this.allSearchPanelSettings.forEach((setting) => {\r\n const s = allSettings.find((c) => setting.Id === c.Id);\r\n if (s !== setting && setting.Id) {\r\n const isModified = Object.keys(s).some((c) => s[c] !== setting[c]) || setting.IsDeleted;\r\n if (isModified) {\r\n modifiedSettings.push(setting);\r\n }\r\n }\r\n });\r\n if (modifiedSettings.length === 0) {\r\n this._dialogRef.dismiss();\r\n return;\r\n }\r\n this._saveingSource.next(modifiedSettings);\r\n }\r\n onDefault(row): void {\r\n this.allSearchPanelSettings.find((c) => (c.IsDefault = false));\r\n\r\n this.radioButtonsComponent.toArray().forEach((c) => {\r\n c.selectedValue = row.Caption;\r\n });\r\n row.IsDefault = true;\r\n }\r\n onDelete(row): void {\r\n row.IsDeleted = true;\r\n }\r\n}\r\n","<fd-dialog>\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h4 fd-title [headerSize]=\"4\">\n {{ 'ManageSearchPanel' | bbbTranslate }}\n </h4>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <button fd-button [label]=\"'Reset' | bbbTranslate\" [fdType]=\"'transparent'\"></button>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n <fd-dialog-body class=\"setting-wrapper\">\n @if (saveing) {\n <bsu-mask></bsu-mask>\n }\n <table fd-table [class.saveing-form]=\"saveing\">\n <thead fd-table-header>\n <tr fd-table-row>\n <th fd-table-cell>{{ 'View' | bbbTranslate }}</th>\n <th fd-table-cell>{{ 'Share' | bbbTranslate }}</th>\n <th fd-table-cell>{{ 'Default' | bbbTranslate }}</th>\n <th fd-table-cell>{{ 'ApplyAutomatically' | bbbTranslate }}</th>\n <th fd-table-cell></th>\n </tr>\n </thead>\n\n <tbody fd-table-body [noBorderX]=\"true\">\n @for (row of allSearchPanelSettings; track row; let i = $index) { @if (!row.IsDeleted) {\n <tr fd-table-row>\n <td fd-table-cell>\n @if (row.IsPrimary) {\n <strong>{{ row.Title }}</strong>\n } @if (!row.IsPrimary) {\n <input fd-form-control [(ngModel)]=\"row.Title\" />\n }\n </td>\n <td fd-table-cell>\n {{ row.IsPublic ? ('Public' | bbbTranslate) : '' }}\n </td>\n <td fd-table-cell>\n <fd-radio-button\n [name]=\"'radio' + i\"\n [value]=\"row.Title\"\n [selectedValue]=\"row.IsDefault ? row.Title : null\"\n (click)=\"onDefault(row)\"\n >\n </fd-radio-button>\n </td>\n <td fd-table-cell>\n @if (!row.IsPrimary) {\n <fd-checkbox [(ngModel)]=\"row.ApplyAutomatically\"></fd-checkbox>\n }\n </td>\n <td fd-table-cell [fitContent]=\"true\">\n @if (!row.IsPrimary) {\n <button fd-button fdType=\"transparent\" glyph=\"decline\" (click)=\"onDelete(row)\"></button>\n }\n </td>\n </tr>\n } }\n </tbody>\n </table>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-dialog-footer-button>\n <button\n fd-button\n fdType=\"emphasized\"\n (click)=\"onOkClick()\"\n [label]=\"'OK' | bbbTranslate\"\n [disabled]=\"saveing\"\n ></button>\n </fd-dialog-footer-button>\n <fd-dialog-footer-button>\n <button\n fd-button\n (click)=\"onCancelSettings()\"\n [label]=\"'Cancel' | bbbTranslate\"\n [disabled]=\"saveing\"\n ></button>\n </fd-dialog-footer-button>\n </fd-dialog-footer>\n</fd-dialog>\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { DialogRef } from '@fundamental-ngx/core';\r\n\r\nimport { BaseComponent, BbbTranslatePipe } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bsu-manage-filters-report',\r\n templateUrl: './manage-filters-report.component.html',\r\n styleUrls: ['./manage-filters-report.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ManageFiltersReportComponent extends BaseComponent implements OnInit {\r\n title: string;\r\n subtitle: string;\r\n appGroupForm: UntypedFormGroup;\r\n submitted: boolean;\r\n RequiredText: string;\r\n savedList: { IsSelected: boolean; Title: string }[] = [];\r\n\r\n constructor(private fb: UntypedFormBuilder, public dialogRef: DialogRef, private bbbPipe: BbbTranslatePipe) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.appGroupForm = this.fb.group({\r\n title: new UntypedFormControl(this.title, [Validators.required]),\r\n subtitle: new UntypedFormControl(this.subtitle)\r\n });\r\n const alertFieldIsMandatoryText = this.bbbPipe.transform('AlertFieldIsMandatory');\r\n const titleText = this.bbbPipe.transform('Title');\r\n this.RequiredText = alertFieldIsMandatoryText.replace('{0}', titleText);\r\n }\r\n\r\n onSave(): void {\r\n this.submitted = true;\r\n if (this.appGroupForm.valid) {\r\n this.dialogRef.close({ title: this.title, subtitle: this.subtitle });\r\n }\r\n }\r\n}\r\n","<fd-dialog>\n <fd-dialog-header>\n <h1 fd-title>{{ 'Filters' | bbbTranslate }}</h1>\n <button fd-dialog-close-button (click)=\"dialogRef.dismiss()\"></button>\n </fd-dialog-header>\n <fd-dialog-body [formGroup]=\"appGroupForm\">\n <ul fd-list [navigationIndicator]=\"true\">\n @for (group of savedList; track group) {\n <li fd-list-item [selected]=\"group.IsSelected\">\n <span fd-list-title>{{ group.Title }}</span>\n </li>\n }\n </ul>\n </fd-dialog-body>\n <fd-dialog-footer>\n <fd-button-bar [label]=\"'Save' | bbbTranslate\" fdType=\"emphasized\" (click)=\"onSave()\"> </fd-button-bar>\n <fd-button-bar\n [label]=\"'Cancel' | bbbTranslate\"\n fdInitialFocus\n fdType=\"transparent\"\n (click)=\"this.dialogRef.dismiss()\"\n >\n </fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Injector,\n OnDestroy,\n OnInit,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\nimport { ActivatedRoute, Params } from '@angular/router';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { debounceTime, map, switchMap, takeUntil, tap } from 'rxjs/operators';\n\nimport { BaseComponent, PortalService, BarsaApi } from 'barsa-novin-ray-core';\n@Component({\n selector: 'bsu-report-navigator',\n template: `<ng-container #containerRef></ng-container>\n @if ((loading$ | async) === true) {\n <bsu-mask></bsu-mask>\n }`,\n styles: `:host{display: block;\n min-height: 100vh;\n background: var(--sapBaseColor);}`,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ReportNavigatorComponent extends BaseComponent implements OnInit, OnDestroy {\n @ViewChild('containerRef', { static: true, read: ViewContainerRef }) containerRef: ViewContainerRef;\n // @HostBinding('class.section') sectionClass = true;\n // @HostBinding('class.absolute-page') absolutePageClass = true;\n loading$: Observable<boolean>;\n private _loadingSource = new BehaviorSubject<boolean>(false);\n constructor(\n private _activatedRoute: ActivatedRoute,\n private _portalService: PortalService,\n private _injector: Injector,\n private _cdr: ChangeDetectorRef\n ) {\n super();\n this.loading$ = this._loadingSource.asObservable().pipe(takeUntil(this._onDestroy$), debounceTime(200));\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n\n this._activatedRoute.params\n .pipe(\n takeUntil(this._onDestroy$),\n tap(() => this._setLoading(true)),\n map((params: Params) => ({\n Id: params.id.split('__')[0],\n ReportId: params.id.split('__').length > 2 ? params.id.split('__')[2] : ''\n })),\n switchMap((navItem) =>\n this._portalService.renderUlvMainUi(navItem, this.containerRef, this._injector, true)\n ),\n tap((ulv: any) => this._setActiveReport(ulv))\n )\n .subscribe(() => {\n this._setLoading(false);\n });\n }\n ngOnDestroy(): void {\n super.ngOnDestroy();\n this._setActiveReport(null);\n }\n private _setLoading(val: boolean): void {\n this._loadingSource.next(val);\n this._cdr.detectChanges();\n }\n private _setActiveReport(ulv: unknown): void {\n BarsaApi.Bw.App.GetActiveReport = () => {\n if (ulv === null) {\n return ulv;\n }\n return BarsaApi.Bw._wrap(ulv);\n };\n }\n}\n","import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input } from '@angular/core';\r\n\r\nimport { BaseComponent, PortalService, LayoutSetting } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bsu-ly-line',\r\n templateUrl: './ly-line.component.html',\r\n styleUrls: ['./ly-line.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class LyLineComponent extends BaseComponent {\r\n @Input() config: LayoutSetting;\r\n @Input() parentHeight = 0;\r\n @HostBinding('style.height') height: string | null = '0.0575rem';\r\n @HostBinding('style.width') width = '100%';\r\n @HostBinding('style.display') display: null | string = null;\r\n isVertical = false;\r\n constructor(private _el: ElementRef, private _portalService: PortalService) {\r\n super();\r\n }\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.isVertical = this.config.IsVertical;\r\n this._portalService.deviceSize$.subscribe((deviceSize) => {\r\n if (this.isVertical) {\r\n switch (deviceSize) {\r\n case 's':\r\n this.display = 'none';\r\n break;\r\n default:\r\n this.display = null;\r\n break;\r\n }\r\n }\r\n });\r\n if (this.isVertical) {\r\n this.height = null;\r\n this.width = '0.0575rem';\r\n }\r\n }\r\n}\r\n","","import { Component, ChangeDetectionStrategy, Input } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { BaseComponent, BreadCrumbInfo } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bsu-breadcrumb',\r\n templateUrl: './breadcrumb.component.html',\r\n styleUrls: ['./breadcrumb.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class BreadcrumbComponent extends BaseComponent {\r\n @Input() breadCrumb: BreadCrumbInfo;\r\n @Input() allBreadCrumb: BreadCrumbInfo[];\r\n @Input() isLast: boolean;\r\n @Input() index: number;\r\n\r\n /**\r\n *\r\n */\r\n constructor(private _router: Router) {\r\n super();\r\n }\r\n onBreadcrumb(): void {\r\n const index = this.index;\r\n if (!this.allBreadCrumb) {\r\n return;\r\n }\r\n if (index === 0) {\r\n this._router.navigate(['/']);\r\n return;\r\n }\r\n const lengthOfBreadCrumb = this.allBreadCrumb.length - 1;\r\n for (let i = lengthOfBreadCrumb; i > index; i--) {\r\n this._router.navigate(['../'], { relativeTo: this.allBreadCrumb[i].route });\r\n }\r\n }\r\n}\r\n","@if (!isLast) {\n<a fd-link (click)=\"onBreadcrumb()\">{{ breadCrumb.label | bbbTranslate }}</a>\n} @if (isLast) {\n<span>{{ breadCrumb.label | bbbTranslate }}</span>\n}\n","import { PipeTransform, Pipe } from '@angular/core';\nimport { AbbrevationDeviceSize } from 'barsa-novin-ray-core';\n\n@Pipe({\n name: 'sapSize'\n})\nexport class SapSizePipe implements PipeTransform {\n transform(deviceSize: AbbrevationDeviceSize): 'sm' | 'md' | 'lg' | 'xl' {\n switch (deviceSize) {\n case 's':\n return 'sm';\n case 'm':\n return 'md';\n case 'l':\n return 'lg';\n case 'xl':\n return 'xl';\n default:\n return 'lg';\n }\n }\n}\n","import {\r\n Component,\r\n ChangeDetectionStrategy,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n AfterViewInit,\r\n ViewChild,\r\n ElementRef,\r\n OnInit,\r\n TemplateRef\r\n} from '@angular/core';\r\nimport { DialogService, DynamicPageComponent } from '@fundamental-ngx/core';\r\nimport {\r\n AbbrevationDeviceSize,\r\n BaseComponent,\r\n getDeviceIsMobile,\r\n BreadCrumbInfo,\r\n BarsaApi,\r\n PagingSetting,\r\n LayoutSetting\r\n} from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bsu-barsa-ulv-main',\r\n templateUrl: './barsa-ulv-main.component.html',\r\n styleUrls: ['./barsa-ulv-main.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class BarsaUlvMainComponent extends BaseComponent implements OnInit, AfterViewInit {\r\n @ViewChild(DynamicPageComponent) _dynamicPageComponent: DynamicPageComponent;\r\n @ViewChild('searchpanelDialog') dialogTemplate: TemplateRef<any>;\r\n @Input() viewerControl: any;\r\n @Input() loading: boolean;\r\n @Input() viewerLoading: boolean;\r\n @Input() isReportPage: boolean;\r\n @Input() deviceSize: AbbrevationDeviceSize;\r\n @Input() title: string;\r\n @Input() searchPanelUi: any;\r\n @Input() breadCrumbs: BreadCrumbInfo[];\r\n @Input() allSearchPanelSettings: any[];\r\n @Input() isAnonymous: boolean;\r\n @Input() canSaveGridSetting: boolean;\r\n @Input() rtl: boolean;\r\n @Input() selectedSearchPanelSettings: any;\r\n @Input() searchPanelMoChanged: boolean;\r\n @Input() selectedSearchPanelSettingsId: string;\r\n @Input() hideSearchPanel: boolean;\r\n @Input() pagingSetting: PagingSetting;\r\n @Input() contentDensity: any;\r\n @Input() context: any;\r\n @Input() isMobile: boolean;\r\n @Input() standalone: boolean;\r\n @Input() landscape: boolean;\r\n @Input() layoutInfo: LayoutSetting;\r\n @Output() closeEvent = new EventEmitter();\r\n @Output() searchPanelMoChange = new EventEmitter();\r\n @Output() openManageFilters = new EventEmitter();\r\n @Output() collapsedChange = new EventEmitter<boolean>();\r\n @Output() hideSearchPanelClick = new EventEmitter();\r\n @Output() filterSave = new EventEmitter();\r\n @Output() filterSaveAs = new EventEmitter();\r\n @Output() pageChange = new EventEmitter<number>();\r\n @Output() showFilterFieldsSetting = new EventEmitter();\r\n @Output() manageFilters = new EventEmitter();\r\n @Output() clearSearch = new EventEmitter();\r\n @Output() search = new EventEmitter();\r\n @Output() selectSearchPanelSettings = new EventEmitter<string>();\r\n isServiceDesk = false;\r\n fillPage = false;\r\n sideContentMode = false;\r\n mobileBottomBar: boolean;\r\n hidePageing: boolean;\r\n mainContentWidth: string;\r\n constructor(public el: ElementRef, protected _dialogService: DialogService) {\r\n super();\r\n this.isServiceDesk = BarsaApi.LoginFormData.IsServiceDesk; // eslint-disable-line\r\n }\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.hidePageing = BarsaApi.Common.Util.TryGetValue(\r\n this.context,\r\n 'Setting.ClassNames.CustomUi.Parameters.HidePageing',\r\n false\r\n );\r\n this.fillPage = BarsaApi.Common.Util.TryGetValue(\r\n this.context,\r\n 'Setting.ClassNames.CustomUi.Parameters.FillPage',\r\n false\r\n );\r\n this.sideContentMode = BarsaApi.Common.Util.TryGetValue(\r\n this.context,\r\n 'Setting.ClassNames.CustomUi.Parameters.SearchpanelInSideContent',\r\n false\r\n );\r\n this.mainContentWidth = BarsaApi.Common.Util.TryGetValue(\r\n this.context,\r\n 'Setting.ClassNames.CustomUi.Parameters.MainContentWidth',\r\n false\r\n );\r\n\r\n this.isMobile = getDeviceIsMobile();\r\n this.mobileBottomBar = this.isMobile && !this.standalone;\r\n }\r\n ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n if (this._dynamicPageComponent) {\r\n if (this.deviceSize === 'xl' && this._dynamicPageComponent.size !== 'extra-large') {\r\n this._dynamicPageComponent.refreshSize();\r\n }\r\n }\r\n }\r\n onClose(): void {\r\n this.closeEvent.emit();\r\n }\r\n onSearchPanelMoChanged(): void {\r\n this.searchPanelMoChange.emit();\r\n }\r\n onShowSearchpanelDialog(): void {\r\n this.openDialog(this.dialogTemplate);\r\n }\r\n\r\n openDialog(dialog: TemplateRef<any>): void {\r\n this._dialogService.open(dialog, {\r\n responsivePadding: true, \r\n mobile: true,\r\n ariaLabelledBy: 'Fitlers',\r\n ariaDescribedBy: 'Fitlers',\r\n focusTrapped: true,\r\n closeOnNavigation: true\r\n });\r\n }\r\n onOpenManageFilters(): void {\r\n this.openManageFilters.emit();\r\n }\r\n\r\n onCollapsedChange(collapsed: boolean): void {\r\n this.collapsedChange.emit(collapsed);\r\n }\r\n onHideSearchPanelClick(): void {\r\n this.hideSearchPanelClick.emit();\r\n }\r\n\r\n onFilterSave(popover): void {\r\n popover.close();\r\n this.filterSave.emit();\r\n }\r\n\r\n onFilterSaveAs(popover): void {\r\n popover.close();\r\n this.filterSaveAs.emit();\r\n }\r\n\r\n onShowFilterFieldsSetting(): void {\r\n this.showFilterFieldsSetting.emit();\r\n }\r\n\r\n onManageFilters(popover): void {\r\n popover.close();\r\n this.manageFilters.emit();\r\n }\r\n\r\n onClearSearch(): void {\r\n this.clearSearch.emit();\r\n }\r\n\r\n onSearch(): void {\r\n this.search.emit();\r\n }\r\n onPageChange(e: number): void {\r\n this.pageChange.emit(e);\r\n }\r\n onSelectSearchPanelSettings(selectedSearchPanelSettingsId: string, popover): void {\r\n popover.close();\r\n this.selectSearchPanelSettings.emit(selectedSearchPanelSettingsId);\r\n }\r\n}\r\n","<ng-container\n *ngTemplateOutlet=\"\n isReportPage ? reportPageTemplate : reportTemplate;\n context: {\n $implicit: viewerControl,\n tabMode: viewerControl?.Setting?.ClassNames?.CustomUi?.Parameters?.TabMode\n }\n \"\n>\n</ng-container>\n@if (loading) {\n<bsu-mask size=\"m\"></bsu-mask>\n}\n<ng-template #reportPageTemplate let-viewerControl let-tabMode=\"tabMode\">\n <fd-dynamic-page\n formClose\n mobile\n [attr.isMobile]=\"isMobile\"\n [isMobile]=\"isMobile\"\n [size]=\"deviceSize | dynamicPageSize\"\n [attr.tabMode]=\"tabMode\"\n [autoResponsive]=\"false\"\n >\n <fd-dynamic-page-header\n [title]=\"\n (title | bbbTranslate)\n ? (title | bbbTranslate)\n : isMobile && breadCrumbs.length\n ? breadCrumbs[breadCrumbs.length - 1].label\n : ''\n \"\n class=\"p-b0\"\n >\n @if (!isMobile) {\n <fd-breadcrumb>\n @if (breadCrumbs) { @for ( breadCrumb of breadCrumbs | slice: 0:breadCrumbs.length; track breadCrumb;\n let i = $index; let last = $last) { @if (last) {\n <fd-breadcrumb-item>\n <bsu-breadcrumb\n [index]=\"i\"\n [isLast]=\"last\"\n [breadCrumb]=\"breadCrumb\"\n [allBreadCrumb]=\"breadCrumbs\"\n ></bsu-breadcrumb>\n </fd-breadcrumb-item>\n } } }\n </fd-breadcrumb>\n }\n <!-- <fd-dynamic-page-title-content>گزارش </fd-dynamic-page-title-content> -->\n\n <fd-dynamic-page-global-actions *untilInView=\"el\" style=\"min-width: auto\">\n <fd-toolbar [shouldOverflow]=\"true\" Style=\"display:none\"> </fd-toolbar>\n <!-- added this because in mobile landscape toolbar disapper -->\n @if (!hideSearchPanel ||( searchPanelUi && !sideContentMode)) {\n <fd-toolbar\n class=\"global-actions\"\n fdType=\"transparent\"\n [clearBorder]=\"true\"\n [shouldOverflow]=\"deviceSize === 's'\"\n >\n @if (isAnonymous === false && canSaveGridSetting) {\n <fd-popover fd-toolbar-item #popover fdOverflowPriority=\"never\">\n <fd-popover-control>\n <div style=\"display: flex; align-items: center\">\n <h3 class=\"header-search\" [attr.rtl]=\"rtl\" fd-title>\n {{\n selectedSearchPanelSettings?.IsStandard\n ? ''\n : selectedSearchPanelSettings?.Title\n }}\n @if (searchPanelMoChanged) {\n <strong>*</strong>\n }\n </h3>\n <button\n fd-button\n glyph=\"slim-arrow-down\"\n fdType=\"transparent\"\n [fdContentDensity]=\"contentDensity\"\n ></button>\n </div>\n </fd-popover-control>\n <fd-popover-body mobile>\n <div fd-popover-body-header>\n <div fd-bar [fdCozy]>\n <div fd-bar-left>\n <fd-bar-element>{{ 'Filters' | bbbTranslate }}</fd-bar-element>\n </div>\n </div>\n </div>\n <ul fd-list style=\"min-height: 200px; background-color: var(--sapBackgroundColor, #f7f7f7)\">\n @for (option of allSearchPanelSettings; track option) {\n <li\n fd-list-item\n [selected]=\"option.Id === selectedSearchPanelSettingsId\"\n (click)=\"onSelectSearchPanelSettings(option.Id, popover)\"\n >\n <span fd-list-title>{{ option.Title }}</span>\n </li>\n }\n </ul>\n <div fd-popover-body-footer>\n <div fd-bar [barDesign]=\"'footer'\" [fdCozy]>\n @if (selectedSearchPanelSettings) {\n <div fd-bar-right>\n @if (!selectedSearchPanelSettings.IsPrimary && searchPanelMoChanged) {\n <fd-button-bar\n [label]=\"'Save' | bbbTranslate\"\n fdType=\"emphasized\"\n (click)=\"onFilterSave(popover)\"\n >\n </fd-button-bar>\n } @if (searchPanelMoChanged) {\n <fd-button-bar\n [label]=\"'SaveAs' | bbbTranslate\"\n [fdType]=\"\n selectedSearchPanelSettings.IsDefault ? 'emphasized' : 'transparent'\n \"\n (click)=\"onFilterSaveAs(popover)\"\n >\n </fd-button-bar>\n }\n <fd-button-bar\n [label]=\"'Manage' | bbbTranslate\"\n fdkInitialFocus\n fdType=\"transparent\"\n (click)=\"onManageFilters(popover)\"\n >\n </fd-button-bar>\n </div>\n }\n </div>\n </div>\n </fd-popover-body>\n </fd-popover>\n } @if (deviceSize !== 's') {\n <fd-toolbar-spacer></fd-toolbar-spacer>\n } @if (isMobile) {\n <button\n fd-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n (click)=\"onShowSearchpanelDialog()\"\n [glyph]=\"'filter'\"\n [fdContentDensity]=\"contentDensity\"\n ></button>\n } @if (!isMobile && !sideContentMode) {\n <button\n fd-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n fdType=\"emphasized\"\n [label]=\"'Search' | bbbTranslate\"\n (click)=\"onSearch()\"\n [fdContentDensity]=\"contentDensity\"\n ></button>\n } @if (!isMobile && !sideContentMode) {\n <button\n fd-button\n fd-toolbar-item\n fdType=\"transparent\"\n fdOverflowPriority=\"low\"\n [label]=\"'Filters' | bbbTranslate\"\n (click)=\"onShowFilterFieldsSetting()\"\n [fdOverflowGroup]=\"1\"\n [fdContentDensity]=\"contentDensity\"\n ></button>\n } @if (!isMobile && !sideContentMode) {\n <button\n fd-button\n fd-toolbar-item\n fdType=\"transparent\"\n fdOverflowPriority=\"low\"\n [label]=\"'Clear' | bbbTranslate\"\n (click)=\"onClearSearch()\"\n [fdOverflowGroup]=\"1\"\n [fdContentDensity]=\"contentDensity\"\n ></button>\n } @if (!isMobile && !sideContentMode) {\n <button\n fd-button\n fd-toolbar-item\n fdType=\"transparent\"\n [label]=\"hideSearchPanel ? ('Show' | bbbTranslate) : ('Hide' | bbbTranslate)\"\n (click)=\"onHideSearchPanelClick()\"\n fdOverflowPriority=\"low\"\n [fdOverflowGroup]=\"1\"\n [fdContentDensity]=\"contentDensity\"\n ></button>\n }\n </fd-toolbar>\n }\n </fd-dynamic-page-global-actions>\n <fd-dynamic-page-layout-actions>\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\n <button fd-button fdType=\"transparent\" aria-label=\"Close\" (click)=\"closeEvent.emit()\" title=\"Close\">\n <i [class]=\"'sap-icon--' + (isMobile ? (rtl ? 'arrow-right' : 'arrow-left') : 'decline')\"></i>\n </button>\n </fd-toolbar>\n </fd-dynamic-page-layout-actions>\n </fd-dynamic-page-header>\n @if (!hideSearchPanel && searchPanelUi && !sideContentMode) {\n <fd-dynamic-page-subheader [pinnable]=\"true\" [collapsible]=\"false\">\n @if (!isMobile) {\n <bsu-search-panel\n [hideButtons]=\"true\"\n [searchPanelUi]=\"searchPanelUi\"\n (moChanged)=\"onSearchPanelMoChanged()\"\n ></bsu-search-panel>\n }\n </fd-dynamic-page-subheader>\n } @if (!tabMode) {\n\n <fd-dynamic-page-content>\n <ng-container\n *ngTemplateOutlet=\"\n sideContentMode ? sideContentTemplate : viewerTemplate;\n context: { noRenderPageing: true }\n \"\n ></ng-container>\n </fd-dynamic-page-content>\n\n } @if (pagingSetting?.TotalPages) {\n <fd-dynamic-page-footer>\n <!-- page footer content goes here -->\n <div fd-bar [barDesign]=\"'footer'\">\n <div fd-bar-middle>\n <ng-container\n [renderUlvPaging]=\"context\"\n [pagingSetting]=\"pagingSetting\"\n (pageChange)=\"onPageChange($event)\"\n ></ng-container>\n </div>\n </div>\n </fd-dynamic-page-footer>\n }\n </fd-dynamic-page>\n @if (tabMode) {\n <ng-container\n *ngTemplateOutlet=\"sideContentMode ? sideContentTemplate : viewerTemplate; context: { noRenderPageing: true }\"\n ></ng-container>\n }\n</ng-template>\n<ng-template #reportTemplate>\n @if (loading) {\n <bsu-mask size=\"s\"></bsu-mask>\n } @if (!hideSearchPanel && searchPanelUi && !sideContentMode) {\n <ng-container *ngTemplateOutlet=\"searchpanelTemplate; context: { hideButtons: false }\"></ng-container>\n }\n <ng-container\n *ngTemplateOutlet=\"\n sideContentMode ? sideContentTemplate : viewerTemplate;\n context: { simpleReport: 'simpleReport' }\n \"\n >\n </ng-container>\n</ng-template>\n<ng-template #sideContentTemplate let-simpleReport=\"simpleReport\">\n <fd-dynamic-side-content\n [class.rtl]=\"rtl\"\n [size]=\"deviceSize | sapSize\"\n fillEmptySpace\n [disable]=\"true\"\n [setMinHeight]=\"true\"\n >\n <fd-dynamic-side-content-side>\n <ng-container\n *ngTemplateOutlet=\"searchpanelTemplate; context: { isSearcPanelInSideContent: true }\"\n ></ng-container>\n </fd-dynamic-side-content-side>\n <fd-dynamic-side-content-main [style.width]=\"deviceSize !== 's' ? mainContentWidth : null\">\n <ng-container *ngTemplateOutlet=\"viewerTemplate\"></ng-container>\n </fd-dynamic-side-content-main>\n </fd-dynamic-side-content>\n</ng-template>\n<ng-template\n #searchpanelTemplate\n let-isSearcPanelInSideContent=\"isSearcPanelInSideContent\"\n let-hideButtons=\"hideButtons\"\n>\n @if (!isSearcPanelInSideContent) { @if (!hideSearchPanel && searchPanelUi) {\n <bsu-search-panel\n [searchPanelUi]=\"searchPanelUi\"\n [isSearcPanelInSideContent]=\"isSearcPanelInSideContent\"\n [hideButtons]=\"hideButtons\"\n (moChanged)=\"onSearchPanelMoChanged()\"\n ></bsu-search-panel>\n } } @else {\n <fd-card class=\"searchpanel-card\">\n <fd-card-header>\n <h2 fd-card-title>\n <fd-icon glyph=\"filter\"></fd-icon><span>{{ 'Filter' | bbbTranslate }}</span>\n </h2>\n </fd-card-header>\n <fd-card-content style=\"flex-grow: 0\">\n @if (!hideSearchPanel && searchPanelUi) {\n <bsu-search-panel\n [searchPanelUi]=\"searchPanelUi\"\n [hideButtons]=\"true\"\n [isSearcPanelInSideContent]=\"isSearcPanelInSideContent\"\n (moChanged)=\"onSearchPanelMoChanged()\"\n ></bsu-search-panel>\n }\n </fd-card-content>\n <fd-card-footer style=\"border-bottom: none\">\n <button\n *fdCardFooterActionItem\n fd-button\n fdType=\"emphasized\"\n [label]=\"'Search' | bbbTranslate\"\n (click)=\"onSearch()\"\n [fdContentDensity]=\"contentDensity\"\n ></button>\n <button\n *fdCardFooterActionItem\n fd-button\n fdType=\"transparent\"\n [label]=\"('Delete' | bbbTranslate) + ' ' + ('Filters' | bbbTranslate)\"\n (click)=\"onClearSearch()\"\n [fdOverflowGroup]=\"1\"\n [fdContentDensity]=\"contentDensity\"\n ></button>\n </fd-card-footer>\n </fd-card>\n }\n</ng-template>\n<ng-template #viewerTemplate let-noRenderPageing=\"noRenderPageing\">\n <div\n class=\"viewer-container\"\n fillEmptySpace\n [disable]=\"isReportPage || !fillPage\"\n [decrement]=\"deviceSize !== 's' ? '100px' : '75px'\"\n [style.height]=\"viewerLoading ? '100%' : 'auto'\"\n [style.min-height]=\"isReportPage ? '100%' : null\"\n [style.position]=\"viewerLoading ? 'relative' : null\"\n >\n @if (viewerLoading) {\n <bsu-mask size=\"m\"></bsu-mask>\n } @if (viewerControl) {\n <ng-container\n [renderUlvViewer]=\"viewerControl\"\n [layoutInfo]=\"layoutInfo\"\n [isReportPage]=\"isReportPage\"\n ></ng-container>\n }\n </div>\n @if (!noRenderPageing && pagingSetting?.TotalPages && !hidePageing) {\n <ng-container\n [renderUlvPaging]=\"context\"\n [pagingSetting]=\"pagingSetting\"\n (pageChange)=\"onPageChange($event)\"\n ></ng-container>\n }\n</ng-template>\n<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #searchpanelDialog>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\n <fd-dialog-header>\n <h1 id=\"fd-dialog-header-10\" fd-title>{{ 'Filters' | bbbTranslate }}</h1>\n <button fd-dialog-close-button (click)=\"dialog.dismiss('Close button')\"></button>\n </fd-dialog-header>\n <fd-dialog-body>\n <bsu-search-panel\n [hideButtons]=\"true\"\n [searchPanelUi]=\"searchPanelUi\"\n (moChanged)=\"onSearchPanelMoChanged()\"\n ></bsu-search-panel>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-dialog-footer-button>\n <button\n fd-button\n fdkInitialFocus\n fdType=\"emphasized\"\n (click)=\"dialog.dismiss(); onSearch()\"\n [label]=\"'Search' | bbbTranslate\"\n ></button>\n </fd-dialog-footer-button>\n <fd-dialog-footer-button>\n <button fd-button [label]=\"'Clear' | bbbTranslate\" (click)=\"onClearSearch()\"></button>\n </fd-dialog-footer-button>\n <fd-dialog-footer-button>\n <button\n fd-button\n fdType=\"transparent\"\n (click)=\"dialog.dismiss('Close button')\"\n [label]=\"'Cancel' | bbbTranslate\"\n ></button>\n </fd-dialog-footer-button>\n </fd-dialog-footer>\n </fd-dialog>\n</ng-template>\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n HostBinding,\r\n Input,\r\n OnInit,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { distinctUntilChanged, takeUntil } from 'rxjs/operators';\r\n\r\nimport { ContentDensity, ContentDensityService, DialogService } from '@fundamental-ngx/core';\r\n\r\nimport {\r\n BarsaApi,\r\n BaseComponent,\r\n UlvMainService,\r\n PagingSetting,\r\n PortalService,\r\n SearchPanelSettings,\r\n BreadCrumbInfo,\r\n BreadcrumbService,\r\n ColumnInfoType,\r\n AbbrevationDeviceSize,\r\n getDeviceIsMobile,\r\n LayoutSetting\r\n} from 'barsa-novin-ray-core';\r\n\r\nimport { ManageFiltersReportComponent } from '../manage-filters-report/manage-filters-report.component';\r\nimport { SearchPanelComponent } from '../search-panel/search-panel.component';\r\nimport { ReportSearchFieldsHiddenSettingsComponent } from '../report-search-fields-hidden-settings/report-search-fields-hidden-settings.component';\r\nimport { ReportSearchPanelSaveComponent } from '../report-search-panel-save/report-search-panel-save.component';\r\nimport { ReportSearchFieldsManageComponent } from '../report-search-fields-manage/report-search-fields-manage.component';\r\n\r\n@Component({\r\n selector: 'bsu-ui-ulv-main-ui',\r\n templateUrl: './ui-ulv-main-ui.component.html',\r\n styleUrls: ['./ui-ulv-main-ui.component.scss'],\r\n providers: [UlvMainService],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class UiUlvMainUiComponent extends BaseComponent implements OnInit {\r\n @Input() context: any;\r\n @Input() isReportPage: boolean;\r\n @Input() inDialog: boolean;\r\n @Input() isMultiSelect: boolean;\r\n @Input() layoutInfo: LayoutSetting;\r\n\r\n @HostBinding('class.control-readonly') readonly;\r\n @HostBinding('class.control-disabled') disable;\r\n @HostBinding('class.margin-ulv') marginUlv;\r\n @ViewChild(SearchPanelComponent)\r\n set searchPanelComponent(val) {\r\n if (val) {\r\n this.searchPanelLoaded = true;\r\n }\r\n this._cdr.detectChanges();\r\n }\r\n @Input() set fullscreen(val: boolean) {\r\n this._ulvMainService.setFullscreen(val);\r\n }\r\n selectedSearchPanelSettings: SearchPanelSettings | undefined;\r\n firstApplyAutomatically = true;\r\n mask$: Observable<boolean>;\r\n viwerMask$: Observable<boolean>;\r\n viewer$: Observable<any>;\r\n pagingSetting$: Observable<PagingSetting | null>;\r\n contentDensity$: Observable<ContentDensity>;\r\n searchPanelUi$: Observable<any>;\r\n hideSearchPanel$: Observable<boolean>;\r\n rtl$: Observable<boolean>;\r\n reportId$: Observable<string>;\r\n searchPanelMoChanged$: Observable<boolean>;\r\n allSearchPanelSettings$: Observable<SearchPanelSettings[]>;\r\n selectedSearchPanelSettingsId$: Observable<string>;\r\n selectedSearchPanelSettings$: Observable<SearchPanelSettings | undefined>;\r\n deviceSize$: Observable<AbbrevationDeviceSize>;\r\n breadCrumbs$: Observable<BreadCrumbInfo[]>;\r\n canSaveGridSetting$: Observable<boolean>;\r\n searchPanelLoaded: boolean;\r\n isAnonymous$: Observable<boolean>;\r\n title: string;\r\n hasSearchPanel: boolean;\r\n isMobile: boolean;\r\n landscape$: Observable<boolean>;\r\n standalone$: Observable<boolean>;\r\n\r\n private defaultDialogConfig = {\r\n verticalPadding: true,\r\n responsivePadding: true,\r\n resizable: true,\r\n minWidth: getDeviceIsMobile() ? '' : '50rem',\r\n bodyMinHeight: getDeviceIsMobile() ? '' : 'calc(50vh - 88px)',\r\n mobile: getDeviceIsMobile()\r\n };\r\n constructor(\r\n private _dialogService: DialogService,\r\n private _ulvMainService: UlvMainService,\r\n public el: ElementRef,\r\n private _router: Router,\r\n private _portalService: PortalService,\r\n private _cdr: ChangeDetectorRef,\r\n private _activatedRoute: ActivatedRoute,\r\n contentDensityService: ContentDensityService,\r\n _bradcrumbService: BreadcrumbService\r\n ) {\r\n super();\r\n this.contentDensity$ = contentDensityService.contentDensity;\r\n this.rtl$ = _portalService.rtl$;\r\n this.breadCrumbs$ = _bradcrumbService.breadcrumbs$;\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.isMobile = getDeviceIsMobile();\r\n this._ulvMainService.setInDialog(this.inDialog);\r\n this._ulvMainService.setIsMultiSelect(this.isMultiSelect);\r\n // fromEvent(document, 'click')\r\n // .pipe(takeUntil(this._onDestroy$))\r\n // .subscribe((e) => {\r\n // if (\r\n // e.target &&\r\n // this.el.nativeElement !== e.target &&\r\n // !this.el.nativeElement.contains(e.target) &&\r\n // document.body.contains(e.target as HTMLElement)\r\n // ) {\r\n // this._ulvMainService.setInlineEdit(false);\r\n // }\r\n // });\r\n this._removeBugInChromeCssActive();\r\n this.marginUlv = !this.isReportPage;\r\n if (!this.context.Setting.SearchPanel) {\r\n this.searchPanelLoaded = true;\r\n }\r\n this.isAnonymous$ = this._portalService.isAnonymous$;\r\n this.hideSearchPanel$ = this._ulvMainService.hideSearchpanel$;\r\n\r\n this.title = BarsaApi.Common.Util.TryGetValue(this.context, 'Setting.ClassNames.CustomUi.Parameters.Title', '');\r\n this._ulvMainService.setContext(this.context);\r\n this._ulvMainService.setLayoutInfo(this.layoutInfo);\r\n this._ulvMainService.loadSearchPanelSettings();\r\n this.mask$ = this._ulvMainService.mask$;\r\n this.viwerMask$ = this._ulvMainService.viwerMask$;\r\n this.canSaveGridSetting$ = this._ulvMainService.canSaveGridSetting$;\r\n this.pagingSetting$ = this._ulvMainService.pagingSetting$;\r\n this.searchPanelMoChanged$ = this._ulvMainService.searchPanelMoChanged$;\r\n this.hasSearchPanel = this._ulvMainService.searchPanelUi !== null;\r\n this.searchPanelUi$ = this._ulvMainService.searchPanelUi$;\r\n this.standalone$ = this._portalService.standalone$;\r\n this.landscape$ = this._portalService.landscape$;\r\n this.reportId$ = this._ulvMainService.reportId$;\r\n this._ulvMainService.readonly$.subscribe((readonly) => {\r\n this.readonly = readonly;\r\n });\r\n this._ulvMainService.enable$.subscribe((enable) => {\r\n this.disable = !enable;\r\n });\r\n this._ulvMainService.selectedSearchPanelSettings$\r\n .pipe(\r\n takeUntil(this._onDestroy$),\r\n distinctUntilChanged((a, b) => a?.Title === b?.Title)\r\n )\r\n .subscribe((selectedSearchPanelSettings) => {\r\n this.selectedSearchPanelSettings = selectedSearchPanelSettings;\r\n this._ulvMainService.applySearchPanelSettings(selectedSearchPanelSettings);\r\n this._ulvMainService.toggleHideSearchpanel(selectedSearchPanelSettings?.HideSearchPanel);\r\n });\r\n this.viewer$ = this._ulvMainService.viewer$;\r\n this.allSearchPanelSettings$ = this._ulvMainService.allSearchPanelSettings$;\r\n this.selectedSearchPanelSettings$ = this._ulvMainService.selectedSearchPanelSettings$;\r\n this.selectedSearchPanelSettingsId$ = this._ulvMainService.selectedSearchPanelSettingsId$;\r\n this.deviceSize$ = this._portalService.deviceSize$.pipe(takeUntil(this._onDestroy$), distinctUntilChanged());\r\n }\r\n onClose(): void {\r\n this._router.navigate(['../..'], { relativeTo: this._activatedRoute });\r\n }\r\n onSearchPanelMoChanged(): void {\r\n this._setSearchPanelMoChanged(true);\r\n }\r\n onPageChange(e: number): void {\r\n this._ulvMainService.pageChanged(e);\r\n }\r\n onOpenManageFilters(): void {\r\n this._dialogService.open(ManageFiltersReportComponent, {\r\n backdropClickCloseable: true,\r\n draggable: false,\r\n escKeyCloseable: true,\r\n hasBackdrop: false,\r\n focusTrapped: true,\r\n mobile: this.isMobile\r\n });\r\n }\r\n\r\n onCollapsedChange(collapsed: boolean): void {\r\n this._ulvMainService.toggleHideSearchpanel(collapsed);\r\n this._ulvMainService.searchPanelMoChanged(true);\r\n }\r\n onHideSearchPanelClick(): void {\r\n this._ulvMainService.toggleHideSearchpanel();\r\n this._ulvMainService.searchPanelMoChanged(true);\r\n }\r\n\r\n onFilterSave(): void {\r\n this._saveFilter();\r\n }\r\n\r\n onFilterSaveAs(): void {\r\n this._openSaveAsFilter();\r\n }\r\n\r\n onShowFilterFieldsSetting(): void {\r\n this._openSearchFieldsHiddenSettings();\r\n }\r\n\r\n onManageFilters(): void {\r\n this._openSearchFiltersManage();\r\n }\r\n\r\n onClearSearch(): void {\r\n this._ulvMainService.clearSearch();\r\n }\r\n\r\n onSearch(): void {\r\n this._ulvMainService.search();\r\n }\r\n\r\n onSelectSearchPanelSettings(selectedSearchPanelSettingsId: string): void {\r\n this._ulvMainService.changeSelectedSearchPanel(selectedSearchPanelSettingsId);\r\n }\r\n private _removeBugInChromeCssActive(): void {\r\n if (BarsaApi.Common.Util.RemoveBugInChromeCssActive) {\r\n return;\r\n }\r\n let list: { i: any; n: any; a: any }[] = [];\r\n const h = document.head.children;\r\n for (let i = 0; i < h.length; i++) {\r\n list[i] = {\r\n i,\r\n n: h[i],\r\n a: h[i].innerHTML\r\n };\r\n }\r\n list = list.reverse();\r\n /* eslint-disable */\r\n const t = `.fd-table__cell--activable:active *,.fd-table__row--activable.is-active *,.fd-table__row--activable:active *{color:var(--sapList_Active_TextColor)!important}`;\r\n /* eslint-enable */\r\n const f = list.filter((c) => c.a.indexOf(t) >= 0);\r\n if (f.length > 0) {\r\n BarsaApi.Common.Util.RemoveBugInChromeCssActive = true;\r\n f[0].n.innerHTML = f[0].a.slice(0, 10058) + f[0].a.slice(10058 + t.length, f[0].a.length);\r\n }\r\n }\r\n private _setSearchPanelMoChanged(change: boolean): void {\r\n this._ulvMainService.searchPanelMoChanged(change);\r\n }\r\n\r\n private _openSearchFieldsHiddenSettings(): void {\r\n const fieldsSetting = this._ulvMainService.getSearchPanelFieldsSetting();\r\n const config = {\r\n ...this.defaultDialogConfig,\r\n minWidth: '25rem',\r\n data: {\r\n fields: [...fieldsSetting]\r\n }\r\n };\r\n const dialogRef = this._dialogService.open(ReportSearchFieldsHiddenSettingsComponent, config);\r\n dialogRef.afterClosed.pipe(takeUntil(this._onDestroy$)).subscribe((setting: ColumnInfoType[]) => {\r\n if (setting) {\r\n this._ulvMainService.setAndApplySearchPanelSettingFieldsSetting(setting);\r\n this._ulvMainService.searchPanelMoChanged(true);\r\n }\r\n });\r\n }\r\n private _openSaveAsFilter(): void {\r\n const searchMo = this._ulvMainService.getSearchPanelMo();\r\n const selectedSearchPanelSettings = this.selectedSearchPanelSettings;\r\n const fieldsSetting = selectedSearchPanelSettings?.FieldsSetting;\r\n const config = {\r\n ...this.defaultDialogConfig,\r\n minWidth: '25rem',\r\n resizable: false,\r\n data: {\r\n searchMo,\r\n fieldsSetting,\r\n reportId: this._ulvMainService.reportId\r\n }\r\n };\r\n const dialogRef = this._dialogService.open(ReportSearchPanelSaveComponent, config);\r\n dialogRef.afterClosed.pipe(takeUntil(this._onDestroy$)).subscribe((searchPanelSetting: SearchPanelSettings) => {\r\n if (searchPanelSetting) {\r\n searchPanelSetting.HideSearchPanel = this._ulvMainService.hideSearchpanel;\r\n this._ulvMainService.addSearchPanelSettings(searchPanelSetting);\r\n }\r\n });\r\n }\r\n private _saveFilter(): void {\r\n const selectedSearchPanelSettings = this.selectedSearchPanelSettings;\r\n if (selectedSearchPanelSettings) {\r\n selectedSearchPanelSettings.HideSearchPanel = this._ulvMainService.hideSearchpanel;\r\n this._ulvMainService.saveSearchPanelSetting(selectedSearchPanelSettings);\r\n }\r\n }\r\n private _openSearchFiltersManage(): void {\r\n const allSearchPanelSettings = this._ulvMainService.allSearchPanelSettings;\r\n const reportId = this._ulvMainService.reportId;\r\n const config = {\r\n ...this.defaultDialogConfig,\r\n responsivePadding: false,\r\n verticalPadding: false,\r\n data: {\r\n allSearchPanelSettings: allSearchPanelSettings.map((c) => ({\r\n Title: c.Title,\r\n IsDefault: c.IsDefault,\r\n IsPublic: c.IsPublic,\r\n IsPrimary: !!c.IsPrimary,\r\n ApplyAutomatically: c.ApplyAutomatically,\r\n ReportId: reportId,\r\n Id: c.Id\r\n }))\r\n }\r\n };\r\n const dialogRef = this._dialogService.open(ReportSearchFieldsManageComponent, config);\r\n dialogRef.afterClosed.pipe(takeUntil(this._onDestroy$)).subscribe((setting: SearchPanelSettings[]) => {\r\n if (setting) {\r\n setting\r\n .filter((c) => !c.IsPrimary)\r\n .forEach((newSetting) => {\r\n const sps = allSearchPanelSettings.find((c) => c.Id === newSetting.Id);\r\n if (sps) {\r\n BarsaApi.Common.Merger.Merge(sps, newSetting);\r\n }\r\n });\r\n this._ulvMainService.updateSearchPanelSettings(allSearchPanelSettings);\r\n }\r\n });\r\n }\r\n}\r\n","<bsu-barsa-ulv-main\n [style.margin]=\"isReportPage ? null : 'var(--fdInput_Field_Margin, .25rem 0)'\"\n [layoutInfo]=\"layoutInfo\"\n [attr.isReportPage]=\"isReportPage\"\n [viewerControl]=\"viewer$ | async\"\n [loading]=\"(mask$ | async) === true\"\n [viewerLoading]=\"(viwerMask$ | async) === true\"\n [standalone]=\"(standalone$ | async) === true\"\n [landscape]=\"(landscape$ | async) === true\"\n [isReportPage]=\"isReportPage\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n [title]=\"title\"\n [searchPanelUi]=\"(searchPanelUi$ | async)!!\"\n [breadCrumbs]=\"(breadCrumbs$ | async)!!\"\n [allSearchPanelSettings]=\"(allSearchPanelSettings$ | async)!!\"\n [isAnonymous]=\"(isAnonymous$ | async)!!\"\n [canSaveGridSetting]=\"(canSaveGridSetting$ | async) === true\"\n [rtl]=\"(rtl$ | async)!!\"\n [selectedSearchPanelSettings]=\"(selectedSearchPanelSettings$ | async)!!\"\n [searchPanelMoChanged]=\"(searchPanelMoChanged$ | async)!!\"\n [selectedSearchPanelSettingsId]=\"(selectedSearchPanelSettingsId$ | async)!!\"\n [hideSearchPanel]=\"(hideSearchPanel$ | async)!!\"\n [pagingSetting]=\"(pagingSetting$ | async)!!\"\n [context]=\"context\"\n [contentDensity]=\"contentDensity$ | async\"\n (closeEvent)=\"onClose()\"\n (searchPanelMoChange)=\"onSearchPanelMoChanged()\"\n (openManageFilters)=\"onOpenManageFilters()\"\n (collapsedChange)=\"onCollapsedChange($event)\"\n (hideSearchPanelClick)=\"onHideSearchPanelClick()\"\n (filterSave)=\"onFilterSave()\"\n (filterSaveAs)=\"onFilterSaveAs()\"\n (showFilterFieldsSetting)=\"onShowFilterFieldsSetting()\"\n (manageFilters)=\"onManageFilters()\"\n (clearSearch)=\"onClearSearch()\"\n (search)=\"onSearch()\"\n (pageChange)=\"onPageChange($event)\"\n (selectSearchPanelSettings)=\"onSelectSearchPanelSettings($event)\"\n>\n</bsu-barsa-ulv-main>\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\nimport { PopoverComponent } from '@fundamental-ngx/core';\r\n\r\nimport { FieldBaseComponent } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bsu-ui-color-ui',\r\n templateUrl: './ui-color-ui.component.html',\r\n styleUrls: ['./ui-color-ui.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class UiColorUiComponent extends FieldBaseComponent implements OnInit {\r\n isVisibleSwatches = true;\r\n selectedColor: string;\r\n switchText = 'رنگ های پیشفرض';\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.selectedColor = this.value;\r\n this.disable$.subscribe((disable) => {\r\n if (disable) {\r\n this._renderer2.setStyle(this._el.nativeElement, 'pointer-events', 'none');\r\n }\r\n });\r\n }\r\n\r\n onSwatchClick(): void {\r\n this.isVisibleSwatches = !this.isVisibleSwatches;\r\n this.switchText = 'انتخاب رنگ';\r\n }\r\n\r\n onApply(popover: PopoverComponent): void {\r\n this.value = this.selectedColor;\r\n this.valueChange.emit(this.value);\r\n popover.close();\r\n }\r\n\r\n onCancel(popover: PopoverComponent): void {\r\n this.selectedColor = this.value;\r\n popover.close();\r\n }\r\n\r\n onColorChang($event): void {\r\n this.selectedColor = $event;\r\n }\r\n}\r\n","@if (readonly$ | async) {\n<div class=\"read-only\">\n <div [style.background-color]=\"value ? value : null\"></div>\n <span>{{ value }}</span>\n <button\n fd-button\n [cdkCopyToClipboard]=\"value\"\n [fdType]=\"'transparent'\"\n [glyph]=\"'copy'\"\n aria-label=\"copy\"\n title=\"copy\"\n ></button>\n</div>\n} @else {\n<fd-popover #popover>\n <fd-popover-control style=\"margin: 0.25rem 0\">\n <button fd-button [fdMenu]=\"true\" fdType=\"transparent\">\n <span [style.background-color]=\"value\" style=\"width: 16px; height: 16px; border-radius: 50%\"></span>\n </button>\n </fd-popover-control>\n <fd-popover-body>\n @if (!isVisibleSwatches) {\n <color-chrome [color]=\"value\" className=\"color-box\" (colorChange)=\"onColorChang($event)\"></color-chrome>\n } @if (isVisibleSwatches) {\n <color-swatches [color]=\"value\" (colorChange)=\"onColorChang($event)\"></color-swatches>\n }\n <fd-toolbar style=\"background-color: white\">\n <button\n fd-toolbar-item\n fd-button\n [label]=\"'Cancel' | bbbTranslate\"\n (click)=\"onCancel(popover)\"\n [compact]=\"true\"\n ></button>\n <button\n fd-toolbar-item\n fd-button\n [label]=\"'Ok' | bbbTranslate\"\n (click)=\"onApply(popover)\"\n [compact]=\"true\"\n ></button>\n <fd-toolbar-spacer></fd-toolbar-spacer>\n <button fd-toolbar-item fd-button [label]=\"switchText\" (click)=\"onSwatchClick()\" [compact]=\"true\"></button>\n </fd-toolbar>\n </fd-popover-body>\n</fd-popover>\n}\n","import { ChangeDetectionStrategy, Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\n\r\nimport { FieldBaseComponent } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bsu-barsa-date-time-picker',\r\n templateUrl: './barsa-date-time-picker.component.html',\r\n styleUrls: ['./barsa-date-time-picker.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class BarsaDateTimePickerComponent extends FieldBaseComponent implements OnInit {\r\n @ViewChild('datetimePicker') datetimePickerRef: ElementRef;\r\n @ViewChild('datePicker') datePickerRef: ElementRef;\r\n @ViewChild('durationPicker') durationPickerRef: ElementRef;\r\n fullCalendar: boolean;\r\n value: Date;\r\n valueCaption: string;\r\n\r\n get caption(): string {\r\n const fieldName = this.context.Setting.ControlName;\r\n const fieldNameCaption = fieldName + '$Caption';\r\n const mo = this.context.FormPanelUi.Mo;\r\n let caption = '';\r\n if (!mo[fieldNameCaption]) {\r\n if (this.fullCalendar) {\r\n caption = this.datetimePickerRef ? this.datetimePickerRef.nativeElement.value : '';\r\n } else {\r\n caption = '';\r\n if (this.Setting.ShowDate1) {\r\n caption += this.datePickerRef ? this.datePickerRef.nativeElement.value : '';\r\n }\r\n if (this.Setting.ShowTime1) {\r\n caption += this.durationPickerRef ? this.durationPickerRef.nativeElement.value : '';\r\n }\r\n }\r\n } else {\r\n caption = mo[fieldNameCaption];\r\n }\r\n return caption || '';\r\n }\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.fullCalendar = this.Setting.ShowTime1 && this.Setting.ShowDate1;\r\n }\r\n\r\n onDateTimeChange(): void {\r\n this.value = this.datetimePickerRef.nativeElement.dateValue;\r\n this.valueCaption = this.datetimePickerRef.nativeElement.value;\r\n this.valueChange.emit(this.value);\r\n }\r\n onDateChange(): void {\r\n this.value = this.datePickerRef.nativeElement.dateValue;\r\n this.valueCaption = this.datePickerRef.nativeElement.value;\r\n this.valueChange.emit(this.value);\r\n }\r\n onDurationChange(e): void {\r\n const { value } = e.detail;\r\n if (!this.value) {\r\n this.value = new Date();\r\n }\r\n const time = value.split(':');\r\n this.value.setHours(Number(time[0]), Number(time[1]), Number(time[2]));\r\n this.valueCaption = this.durationPickerRef.nativeElement.value;\r\n this.valueChange.emit(this.value);\r\n }\r\n}\r\n","@if ((disableOrReadonly$ | async)!!) {\n<input\n fd-form-control\n type=\"text\"\n [attr.readonly]=\"(readonly$ | async) === true ? true : null\"\n [attr.disabled]=\"(readonly$ | async) === true ? true : null\"\n [value]=\"caption\"\n/>\n} @else {\n<div [style.display]=\"(disableOrReadonly$ | async)!! ? 'hidden' : 'block'\">\n @if (fullCalendar) {\n <ui5-datetime-picker\n #datetimePicker\n style=\"width: 100%\"\n [attr.readonly]=\"(readonly$ | async) === true ? true : null\"\n [attr.disabled]=\"(readonly$ | async) === true ? true : null\"\n [primaryCalendarType]=\"Setting.CalendarType !== 'Gregorian' ? 'Persian' : Setting.CalendarType\"\n [value]=\"caption\"\n (change)=\"onDateTimeChange()\"\n ></ui5-datetime-picker>\n } @else { @if (Setting.ShowDate1) {\n <ui5-date-picker\n #datePicker\n format-pattern=\"yyyy/MM/dd\"\n [attr.readonly]=\"(readonly$ | async) === true ? true : null\"\n [attr.disabled]=\"(readonly$ | async) === true ? true : null\"\n style=\"width: 100%\"\n [primaryCalendarType]=\"Setting.CalendarType !== 'Gregorian' ? 'Persian' : Setting.CalendarType\"\n [value]=\"caption\"\n (change)=\"onDateChange()\"\n ></ui5-date-picker>\n } @if (Setting.ShowTime1) {\n <ui5-duration-picker\n #durationPicker\n [attr.readonly]=\"(readonly$ | async) === true ? true : null\"\n [attr.disabled]=\"(readonly$ | async) === true ? true : null\"\n style=\"width: 100%\"\n [primaryCalendarType]=\"Setting.CalendarType !== 'Gregorian' ? 'Persian' : Setting.CalendarType\"\n [value]=\"caption\"\n (change)=\"onDurationChange($event)\"\n ></ui5-duration-picker>\n } }\n</div>\n}\n","import {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n Input,\r\n OnDestroy,\r\n Output\r\n} from '@angular/core';\r\n\r\nimport { BaseComponent } from 'barsa-novin-ray-core';\r\n\r\ndeclare const head: any;\r\n\r\n@Component({\r\n selector: 'bsu-barsa-monaco-editor',\r\n templateUrl: './barsa-monaco-editor.component.html',\r\n styleUrls: ['./barsa-monaco-editor.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class BarsaMonacoEditorComponent extends BaseComponent implements AfterViewInit, OnDestroy {\r\n @Input() value: string;\r\n @HostBinding('style.text-align') textAlign = 'left';\r\n @Output() valueChange = new EventEmitter<string>();\r\n _editor: any;\r\n loading: boolean;\r\n\r\n /**\r\n *\r\n */\r\n constructor(private _el: ElementRef) {\r\n super();\r\n }\r\n ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n this._initEditor();\r\n }\r\n ngOnDestroy(): void {\r\n if (this._editor && this._editor.layout) {\r\n // this.autoComplete.dispose();\r\n this._editor.getModel().dispose();\r\n this._editor.destroy();\r\n this._editor = null;\r\n }\r\n }\r\n\r\n private _initEditor(): void {\r\n this.loading = true;\r\n /* eslint-disable */\r\n var me = this;\r\n\r\n head.load(['Lib/monaco-editor/min/vs/loader.js'], () => {\r\n // require.config({ paths: { 'vs': '' } });\r\n const func = `\r\n require.config({ paths: { 'vs': 'Lib/monaco-editor/min/vs' } });\r\n require(['vs/editor/editor.main'], function () { \r\n me.loading=false;\r\n me._editor = monaco.editor.create(me._el.nativeElement, {\r\n value: me.value,\r\n language: 'csharp',\r\n theme: \"vs-light\"\r\n //theme: \"vs-dark\"\r\n });\r\n me._editor.onDidChangeModelContent(function (e) {\r\n me.valueChange.emit(me._editor.getValue());\r\n });\r\n });`;\r\n /* eslint-disable */\r\n eval(func);\r\n // بخاطر اینکه ما میخواهیم فایل موناکو رو زمان اجرااز یک سرور دیگر بخوانیم\r\n // و وب پک متغیرههای require رو تغییر نام میداد مجبور شدم فعلا اینکارو انجام بدم.\r\n });\r\n }\r\n\r\n getValue(): string {\r\n if (this._editor && this._editor.layout) {\r\n this.value = this._editor.getValue();\r\n }\r\n return this.value;\r\n }\r\n setValue(value): void {\r\n this.value = value;\r\n if (this._editor && this._editor.layout) {\r\n this._editor.setValue(value);\r\n }\r\n }\r\n\r\n protected _resize(): void {\r\n if (this._editor && this._editor.layout) {\r\n this._editor.layout();\r\n }\r\n }\r\n}\r\n","","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map, takeUntil } from 'rxjs/operators';\r\nimport { FieldBaseComponent, AbbrevationDeviceSize, getDeviceIsMobile } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bsu-device-info-field-base',\r\n template: '',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport abstract class DeviceInfoFieldBaseComponent extends FieldBaseComponent implements OnInit {\r\n deviceSize$: Observable<AbbrevationDeviceSize>;\r\n isMobileSize$: Observable<boolean>;\r\n isMobileDevice: boolean;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.isMobileDevice = getDeviceIsMobile();\r\n this.deviceSize$ = this._portalService.deviceSize$;\r\n this.isMobileSize$ = this._portalService.deviceSize$.pipe(\r\n takeUntil(this._onDestroy$),\r\n map((deviceSize) => (deviceSize === 's' ? true : false))\r\n );\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, ViewChild } from '@angular/core';\nimport { DeviceInfoFieldBaseComponent } from '../device-info-field-base';\nimport { BarsaMonacoEditorComponent } from '../barsa-monaco-editor/barsa-monaco-editor.component';\n\n@Component({\n selector: 'bsu-ui-monaco-editor',\n templateUrl: './ui-monaco-editor.component.html',\n styleUrls: ['./ui-monaco-editor.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiMonacoEditorComponent extends DeviceInfoFieldBaseComponent {\n @ViewChild('editor', { static: false }) _editor: BarsaMonacoEditorComponent;\n\n onValueChange(value): void {\n this.value = value;\n this.context.value = value;\n this.context.fireEvent('change', this, value, this.value);\n }\n protected override _setValue(value: any): void {\n super._setValue(value);\n if (this._editor) {\n this._editor.setValue(value);\n }\n }\n}\n","<bsu-barsa-monaco-editor\n #editor\n *untilInView=\"el\"\n [value]=\"value\"\n (valueChange)=\"onValueChange($event)\"\n></bsu-barsa-monaco-editor>\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\nimport { FileUploaderComponent } from '@fundamental-ngx/core';\nimport { Observable, concatMap, takeUntil, tap } from 'rxjs';\n\nimport {\n BaseComponent,\n BarsaApi,\n getUniqueId,\n isFunction,\n UploadService,\n GeneralControlInfoModel\n} from 'barsa-novin-ray-core';\n\ndeclare const window: any;\ndeclare const tinymce: any;\ndeclare const head: any;\ndeclare const $: any;\n@Component({\n selector: 'bsu-barsa-tinyemce',\n templateUrl: './barsa-tinyemce.component.html',\n styleUrls: ['./barsa-tinyemce.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [UploadService]\n})\nexport class BarsaTinyemceComponent extends BaseComponent implements AfterViewInit, OnDestroy, OnChanges {\n @ViewChild('uploader') _uploader: FileUploaderComponent;\n @Input() Setting: GeneralControlInfoModel;\n @Input() isReadonly: boolean;\n @Input() value: any;\n @Input() IsInline: boolean;\n @Input() defaultVerbs: { Title: string; Html: string }[];\n @Output() valueChange = new EventEmitter<any>();\n @Output() tinyInit = new EventEmitter();\n tinyHostId = this._generateTinyHostId();\n tinyMCEConfig: any = {};\n editor: any;\n wysiwygIntialized: boolean;\n intializationInProgress: boolean;\n editorValue: string;\n\n iframBodyInnerHtml: string;\n height: number;\n\n constructor(protected _uploadService: UploadService, protected _el: ElementRef) {\n super();\n }\n ngOnChanges(simpleChanges: SimpleChanges): void {\n super.ngOnChanges(simpleChanges);\n if (simpleChanges.value && !simpleChanges.value.firstChange) {\n this.setValue(simpleChanges.value.currentValue);\n }\n if (simpleChanges.disable && !simpleChanges.disable.firstChange) {\n const disbale = simpleChanges.disable.currentValue;\n if (disbale) {\n this.setDisable();\n } else {\n this.setEnable();\n }\n }\n if (simpleChanges.readonly && !simpleChanges.readonly.firstChange) {\n this.setReadOnly(simpleChanges.readonly.currentValue);\n }\n }\n ngOnInit(): void {\n super.ngOnInit();\n this.height = (this._el.nativeElement as HTMLElement).clientHeight;\n }\n\n ngAfterViewInit(): void {\n super.ngAfterViewInit();\n this.loadTinyMce();\n }\n ngOnDestroy(): void {\n super.ngOnDestroy();\n this.destroyTinymce();\n }\n\n onFileSelection(files: File[]): void {\n this.uploadFile(files).pipe(takeUntil(this._onDestroy$)).subscribe();\n }\n loadTinyMce(): void {\n if (!this.Setting.IsHtmlViewer) {\n head.load(['Lib/tinymce/tinymce.min.js'], () => {\n setTimeout(() => {\n this.prepare();\n });\n });\n }\n }\n\n initilize(): void {\n if (this.tinyMCEConfig.setup) {\n return;\n }\n this.tinyMCEConfig.height = '100%';\n this.tinyMCEConfig.width = '100%';\n this.tinyMCEConfig.selector = '#' + this.tinyHostId;\n this.tinyMCEConfig.placeholder = this.Setting.ControlFieldCaptionTranslated;\n this.tinyMCEConfig.content_css = 'assets/Resources/fonts/Iran.css';\n this.tinyMCEConfig.directionality = 'rtl';\n this.tinyMCEConfig.language = 'fa_IR';\n this.tinyMCEConfig.promotion = false;\n this.tinyMCEConfig.skin = 'oxide';\n this.tinyMCEConfig.paste_data_images = true;\n this.tinyMCEConfig.defaultFontName = 'BarsaFont';\n this.tinyMCEConfig.defaultFontSize = '12px';\n this.tinyMCEConfig.statusbar = false;\n this.tinyMCEConfig.resize = false;\n\n this.tinyMCEConfig.inline = false;\n this.tinyMCEConfig.menubar = false;\n this.tinyMCEConfig.toolbar_location = 'top';\n\n this.tinyMCEConfig.toolbar_mode = 'floating';\n // this.tinyMCEConfig.toolbar_sticky = true;\n // this.tinyMCEConfig.toolbar_sticky_offset = 100;\n this.tinyMCEConfig.font_family_formats =\n 'BarsaFont=BarsaFont;Arial=arial,helvetica,sans-serif; Courier New=courier new,courier,monospace;';\n this.tinyMCEConfig.font_size_formats = '8pt 10pt 12pt 14pt 18pt 24pt 36pt';\n\n this.tinyMCEConfig.plugins = [\n 'advlist',\n 'anchor',\n 'autolink',\n 'autosave',\n 'charmap',\n 'code',\n 'codesample',\n 'directionality',\n 'emoticons',\n 'fullscreen',\n 'help',\n 'image',\n 'importcss',\n 'insertdatetime',\n 'link',\n 'lists',\n 'media',\n 'nonbreaking',\n 'pagebreak',\n 'preview',\n 'quickbars',\n 'save',\n 'searchreplace',\n 'table',\n 'template',\n 'visualblocks',\n 'visualchars',\n 'wordcount',\n 'autoresize'\n ];\n this.tinyMCEConfig.toolbar =\n `defaultVerbs barsaImage | insert | forecolor backcolor fontfamily fontsize | bullist numlist outdent indent | removeformat` +\n ` | undo redo | copy cut paste | blocks | bold italic | alignleft aligncenter alignright alignjustify ltr rtl`;\n\n this.tinyMCEConfig.quickbars_selection_toolbar =\n 'bold italic fontsize | forecolor backcolor|defaultVerbs barsaImage';\n const tinymceSettingsGlobal = window.tinymceSettings;\n let tinymceSettings = BarsaApi.Common.Util.TryGetValue(this.Setting, 'JsonExtraProp.tinymceSettings');\n tinymceSettings = BarsaApi.Common.Merger.Merge(tinymceSettingsGlobal, tinymceSettings);\n if (!tinymceSettings && Array.isArray(tinymceSettings)) {\n for (const item of tinymceSettings) {\n this.tinyMCEConfig[item.key] = item.value;\n }\n }\n\n if (this.isReadonly) {\n this.tinyMCEConfig.menubar = false;\n this.tinyMCEConfig.statusbar = false;\n this.tinyMCEConfig.plugins = ['autoresize'];\n // this.tinyMCEConfig.plugins = [];\n this.tinyMCEConfig.toolbar = false;\n }\n\n let userSetup: (editor: any) => void;\n\n if (this.tinyMCEConfig.setup) {\n userSetup = this.tinyMCEConfig.setup;\n }\n let defaultVerbsMenu: any = [];\n\n // BEGIN: setup\n this.tinyMCEConfig.setup = (ed) => {\n this.editor = ed;\n if (!this.isReadonly) {\n if (this.defaultVerbs) {\n defaultVerbsMenu = [];\n this.defaultVerbs.forEach((item) => {\n defaultVerbsMenu.push({\n value: item.Html,\n type: 'menuitem',\n text: item.Title || item.Html.replace(/<br\\s*\\/?>/gi, ' '),\n onAction: () => {\n // ed.execCommand('mceInsertRawHTML', false, item.Html);\n ed.insertContent(item.Html, { format: 'raw' });\n }\n });\n });\n }\n ed.ui.registry.addSplitButton('barsaImage', {\n text: 'insert',\n icon: 'image',\n tooltip: 'Insert Image As Base64',\n onAction: () => {\n BarsaApi.Common.Async.Waterfall(\n 'Tinemce.EmbedImage',\n {\n openFileDialog: this.ShowOpenFileDialog.bind(this),\n insertBase64: this.InsertBase64.bind(this)\n },\n (err, result) => {\n BarsaApi.Common.Async.Finalize(err, result);\n }\n );\n },\n onItemAction: () => {\n BarsaApi.Common.Async.Waterfall(\n 'Tinemce.UploadToDatabase',\n {\n openFileDialog: this.ShowUploadWindow.bind(this)\n },\n (err, result) => {\n BarsaApi.Common.Async.Finalize(err, result);\n }\n );\n },\n fetch: (callback) => {\n const items = [\n {\n type: 'choiceitem',\n text: 'upload',\n icon: 'image',\n tooltip: 'Upload Image',\n value: 'upload'\n }\n ];\n callback(items);\n }\n });\n\n ed.ui.registry.addMenuButton('defaultVerbs', {\n text: 'عبارتهای پیش فرض',\n fetch: (callback) => {\n callback(defaultVerbsMenu);\n }\n });\n if (isFunction(window.tinymceSetup)) {\n window.tinymceSetup.call(this, this, ed);\n }\n }\n let hasInit = false;\n ed.on('init', () => {\n this.wysiwygIntialized = true;\n this.intializationInProgress = false;\n if (typeof this.value !== 'undefined') {\n this.setValue(this.value);\n }\n if (this.tinyMCEConfig.defaultFontName) {\n ed.execCommand('FontName', false, this.tinyMCEConfig.defaultFontName);\n }\n if (this.tinyMCEConfig.defaultFontSize) {\n ed.execCommand('FontSize', false, this.tinyMCEConfig.defaultFontSize);\n }\n if (this.isReadonly) {\n this.setReadOnly(this.isReadonly);\n }\n // This piece of code solves the problem of change propagation so that\n // there is no need to call triggerSave\n const setContent = ed.setContent;\n ed.setContent = (...args) => {\n setContent.apply(ed, args);\n ed.dispatch('change', {});\n };\n hasInit = true;\n this.tinyInit.emit();\n const iframEl: HTMLIFrameElement = ed.iframeElement;\n if (iframEl) {\n iframEl.addEventListener('load', this._onLoadIframe);\n }\n });\n\n // Catch and propagate the change event\n let oldContent = null;\n ed.on('change keyup', () => {\n const newval = ed.getContent();\n if (newval === oldContent) {\n return;\n }\n\n oldContent = newval;\n if (!hasInit) {\n return;\n }\n\n ed.save();\n this.editorValue = newval;\n this.valueChange.emit(newval);\n // this.context.fireEvent('change', this, newval, oldval, {});\n });\n\n ed.on('focus', () => {\n // TODO\n });\n\n if (userSetup) {\n userSetup(ed);\n }\n };\n }\n\n ShowUploadWindow(): void {\n this._uploader.open();\n }\n ShowOpenFileDialog(doReturn): void {\n const input: any = document.createElement('input');\n input.setAttribute('type', 'file');\n input.setAttribute('accept', 'image/*');\n\n input.onchange = () => {\n const file = input.files[0];\n\n const reader = new FileReader();\n reader.onload = () => {\n let base64 = reader.result as string;\n base64 = base64.split(',')[1];\n doReturn(null, base64);\n };\n reader.readAsDataURL(file);\n };\n\n input.click();\n }\n InsertBase64(base64, doReturn): void {\n this.editor.execCommand('mceInsertContent', false, '<img src=data:image/png;base64,' + base64 + ' />');\n doReturn();\n }\n getValue(): string | null {\n let res = null;\n if (this.wysiwygIntialized) {\n const ed = tinymce.get(this.tinyHostId);\n if (ed) {\n res = ed.getContent();\n }\n }\n\n return res;\n }\n setValue(value): void {\n this.value = value;\n this.setValueTiny();\n }\n setValueTiny(): string {\n if (this.wysiwygIntialized) {\n const ed = tinymce.get(this.tinyHostId);\n if (ed) {\n ed.setContent(this.value);\n }\n }\n return this.value;\n }\n focus(): any {\n if (this.isReadonly) {\n return this;\n }\n\n if (this.wysiwygIntialized) {\n tinymce.execCommand('mceFocus', false, 'id_of_textarea');\n }\n return this;\n }\n\n setEnable(): void {\n if (this.wysiwygIntialized) {\n const ed = tinymce.get(this.tinyHostId);\n ed.getBody().setAttribute('contenteditable', true);\n }\n }\n\n setDisable(): void {\n if (this.wysiwygIntialized) {\n const ed = tinymce.get(this.tinyHostId);\n ed.getBody().setAttribute('contenteditable', false);\n }\n }\n setReadOnly(readOnly): void {\n if (this.wysiwygIntialized) {\n const ed = tinymce.get(this.tinyHostId);\n ed.getBody().setAttribute('contenteditable', !readOnly);\n if (readOnly) {\n $('.tox-editor-header').hide();\n } else {\n $('.tox-editor-header').hide();\n }\n }\n }\n\n destroyTinymce(): void {\n if (this.Setting.IsHtmlViewer) {\n return;\n }\n const ed = tinymce.get(this.tinyHostId);\n if (ed) {\n // tinymce.execCommand('mceRemoveControl', true, this.tinyHostId);\n if (ed.iframeElement) {\n ed.iframeElement.removeEventListener('load', this._onLoadIframe);\n }\n ed.destroy(false);\n }\n }\n private uploadFile(files: File[]): Observable<any> {\n return this._uploadService.compressFiles$(files).pipe(\n concatMap((formData: FormData) =>\n this._uploadService.upload(formData, this.Setting.StorageFileFieldId).pipe(\n tap((res) => {\n if (Array.isArray(res)) {\n const picture = res[0];\n if (picture.ErrorMsg) {\n BarsaApi.Bw.Msg.Error(picture.ErrorMsg);\n return;\n }\n const value = {\n ...picture,\n FileId: picture.FileId\n };\n this._addImages(value);\n }\n })\n )\n )\n );\n }\n private _addImages(file: { FileId: string }): void {\n const url = '/IH.ashx?ty=StorageFile&key=' + file.FileId;\n const html = '<img src=' + url + ' />';\n\n this.editor.execCommand('mceInsertContent', false, html);\n }\n private prepare(): void {\n this.initilize();\n tinymce.init(this.tinyMCEConfig);\n this.intializationInProgress = false;\n this.wysiwygIntialized = true;\n }\n private _onLoadIframe = (): void => {\n this.value = this.editorValue;\n // const ed = tinymce.get(this.tinyHostId);\n // ed.execCommand('mceInsertContent', false, this.value);\n\n // ed.insertContent(this.value, { format: 'raw' });\n // this._removeOverflow(ed);\n this.destroyTinymce();\n this.prepare();\n };\n private _generateTinyHostId(): string {\n return `a_${getUniqueId(2)}`;\n }\n\n private _removeOverflow(ed: any): void {\n const html = ed.iframeElement?.contentDocument?.querySelector('html');\n if (html) {\n html.style.overflow = 'hidden';\n }\n }\n}\n","<div class=\"fd-input tinywrapper\" [style.min-height.px]=\"height\" [id]=\"tinyHostId\"></div>\n<fd-file-uploader\n #uploader\n [style.display]=\"'none'\"\n [accept]=\"''\"\n [multiple]=\"false\"\n (selectedFilesChanged)=\"onFileSelection($event)\"\n></fd-file-uploader>\n<!-- <textarea [id]=\"tinyHostId\" style=\"height: 100%; visibility: hidden\"></textarea> -->\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n OnChanges,\n OnInit,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n inject\n} from '@angular/core';\nimport { SafeResourceUrl } from '@angular/platform-browser';\nimport { Observable } from 'rxjs';\nimport { takeUntil, tap } from 'rxjs/operators';\nimport { ContentDensity, DialogService } from '@fundamental-ngx/core';\nimport {\n BarsaApi,\n UploadService,\n FilesValidationHelper,\n isImage,\n getImagePath,\n getIcon,\n getValidExtension,\n IUploadingState,\n MetaobjectDataModel\n} from 'barsa-novin-ray-core';\nimport { DeviceInfoFieldBaseComponent } from '../device-info-field-base';\n\n@Component({\n selector: 'bsu-ui-pdf-viewer',\n templateUrl: './ui-pdf-viewer.component.html',\n styleUrls: ['./ui-pdf-viewer.component.scss'],\n providers: [UploadService],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiPdfViewerComponent extends DeviceInfoFieldBaseComponent implements OnInit, OnChanges {\n @ViewChild('pdfViewerOnDemand') _pdfViewerOnDemand: any;\n @ViewChild('dialogTpl') _dialogTpl: TemplateRef<any>;\n @HostBinding('style.min-height') _minheight: string | null = '70vh';\n fileName: string;\n fallbackLink: any;\n canNotRenderPdf: boolean;\n valueUrl: SafeResourceUrl | null;\n hasPdf: boolean;\n pdfObject: {\n autoEl: {\n tag: string;\n data: string;\n type: string;\n width: string;\n height: string;\n html: any;\n };\n };\n\n uploadingState$: Observable<IUploadingState>;\n files: File[];\n contentDensity$: Observable<ContentDensity>;\n officeOnline: any;\n useWordEditor: any;\n hasFileName: boolean;\n canRemove: boolean;\n canUpload: boolean;\n canEdit: boolean;\n canDownload: boolean;\n canDelete = true;\n canSave = true;\n validExtension: string;\n filesValidationHelper: FilesValidationHelper;\n singleControl: boolean;\n singleFileThumbnailUrl: string;\n parentHeight: number;\n blobUrl: string;\n parameteres: UiPdfViewerSetting;\n _dialogService: DialogService = inject(DialogService);\n ngOnInit(): void {\n this.uploadingState$ = this._uploadService.uploadingState$;\n super.ngOnInit();\n switch (this.parameters?.ShowMode) {\n case '2':\n this._minheight = null;\n break;\n }\n\n this.value$.subscribe((value) => {\n this.value = value;\n this._refresh();\n });\n this.refresh$.subscribe((fromServer: boolean) => {\n this._refresh(fromServer);\n });\n this.filesValidationHelper = new FilesValidationHelper(\n this.Setting.MaxFileCount,\n this.Setting.MaxFileSizeKb,\n this.Setting.MaxTotalFileSizeKb\n );\n this._refreshButtons();\n this._refresh();\n this.validExtension = this.context.useWordEditor\n ? '.doc,.docx,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document'\n : getValidExtension(this.Setting.ValidExtensions);\n this.singleControl = this.Setting.ViewType === 'SingleFileControl';\n }\n ngOnChanges(changes: SimpleChanges): void {\n super.ngOnChanges(changes);\n const { formHeight } = changes;\n if (formHeight && !formHeight.firstChange) {\n this._cdr.detectChanges();\n }\n }\n onEdit(): void {\n this._commandClickHandler('Edit');\n }\n onView(event: MouseEvent): void {\n const e = { ctrlKey: event.ctrlKey };\n this._commandClickHandler('OOView', e);\n }\n onDownload(): void {\n this._commandClickHandler('Download');\n }\n onFileSelection(files: File[]): void {\n this._uploadToServer(files);\n }\n onDelete(): void {\n this._commandClickHandler('Delete');\n }\n onEditInWord(): void {\n this._commandClickHandler('ODEdit');\n }\n onOfficeOnline(event: MouseEvent): void {\n const e = { ctrlKey: event.ctrlKey };\n\n this._commandClickHandler('OOEdit', e);\n }\n onRefresh(): void {\n this._commandClickHandler('Refresh');\n }\n DownloadFileId(fileId, viewInBrowser, convertTo, forOcx, isOfficeOnline): void {\n setTimeout(() => {\n BarsaApi.Ul.LoadingMask.Mask(this._el.nativeElement);\n }, 0);\n\n BarsaApi.Common.File.DownloadFileContent.bind(this)(\n {\n fileId,\n fileUrl: null,\n viewInBrowser,\n convertTo,\n isOfficeOnline,\n forOcx\n },\n (response) => {\n if (response.succeed) {\n this._downloadFileIdCompleted(response);\n this._cdr.detectChanges();\n this._hideMask();\n }\n },\n (error) => {\n this._hideMask();\n alert(error);\n }\n );\n }\n onOpenPreviewInDialog(): void {\n this._dialogService.open(this._dialogTpl, {\n responsivePadding: true,\n mobile: true,\n ariaLabelledBy: 'map',\n ariaDescribedBy: 'choose location',\n focusTrapped: true\n });\n }\n onDialogClose(): void {\n this._dialogService.dismissAll();\n }\n protected _downloadFileIdCompleted(response): void {\n const blob = BarsaApi.Common.File.B64toBlob(response.content, response.contentType);\n const url = window.URL || window.webkitURL;\n this.blobUrl = url.createObjectURL(blob);\n if (this.isMobile) {\n this._pdfViewerOnDemand.pdfSrc = this.blobUrl; // pdfSrc can be Blob or Uint8Array\n this._pdfViewerOnDemand.refresh(); // Ask pdf viewer to load/refresh pdf\n }\n this.valueUrl = this._domSanitizer.bypassSecurityTrustResourceUrl(this.blobUrl);\n this.hasPdf = true;\n }\n protected _uploadToServer(files: File[]): void {\n this.filesValidationHelper.validateFiles(files);\n this._uploadFile(files).pipe(takeUntil(this._onDestroy$)).subscribe();\n }\n\n protected _refreshButtons(): void {\n this._refreshButtonsHelper(false);\n BarsaApi.Common.Async.Waterfall(\n 'Common.File.IsAgentActive',\n [\n // Common.FileAgent.IsAgentActive.bind(Common.FileAgent),\n BarsaApi.Common.AgentHelper.Init.bind(BarsaApi.Common.AgentHelper)\n ],\n (err, result) => {\n const agentIsActive = result === 'OK';\n this._refreshButtonsHelper(agentIsActive);\n }\n );\n }\n protected _refreshButtonsHelper(isAgentActive): void {\n this.disableOrReadonly$.subscribe((disableOrReadonly) => {\n const canSave = this.canSave;\n this.canDelete = !disableOrReadonly;\n const hasValue = !BarsaApi.Ext.isEmpty(this.value);\n const edit0 = canSave && disableOrReadonly !== true;\n this.canEdit = edit0 && isAgentActive;\n this.canDownload = !this.Setting.IsWordViewer || (!isAgentActive && edit0);\n this.canUpload = this.canDownload && canSave && disableOrReadonly !== true;\n this.hasFileName = !this.context.Setting.IsWordViewer;\n this.canRemove = this.canDownload && canSave && disableOrReadonly !== true;\n\n this.officeOnline = hasValue && canSave && disableOrReadonly !== true && this.context.OfficeOnline;\n this.useWordEditor = hasValue && canSave && disableOrReadonly !== true && this.context.useWordEditor;\n });\n }\n protected _commandClickHandler(itemId, keyboardEvent?): void {\n const commandId = itemId;\n\n let files = this.value;\n if (BarsaApi.Ext.isArray(files)) {\n files = files[0];\n }\n\n const fileId = files?.Id;\n this.context.fireEvent('CommandRequest', this, commandId, fileId, keyboardEvent);\n }\n protected _refresh(fromServer?: boolean): void {\n const officeOnline = fromServer === false;\n\n this.fileName = '';\n\n if (BarsaApi.Ext.isEmpty(this.value)) {\n this.hasPdf = false;\n return;\n }\n\n let files = this.value;\n if (BarsaApi.Ext.isArray(files)) {\n files = files[0];\n }\n\n const fileId = files.Id;\n if (!fileId || files.IsDeleted) {\n if (files.IsDeleted) {\n this.hasPdf = false;\n }\n return;\n }\n this.fallbackLink = `امکان نمایش فایل در این مرورگر وجود ندارد.\n برای باز کردن فایل از لینک زیر استفاده کنید: </br> <a href='${BarsaApi.Common.File.CreateAttachmentUrl(\n fileId,\n false,\n true\n )}'>دانلود فایل بصورت pdf</a> </br> <a href='${BarsaApi.Common.File.CreateAttachmentUrl(\n fileId,\n false,\n false\n )}'>دانلود فایل بصورت بصورت اصلی</a>`;\n\n if (!BarsaApi.Ext.isIE) {\n // const options = {\n // fallbackLink: this.fallbackLink,\n // pdfOpenParams: {\n // view: 'FitH',\n // scrollbar: '0',\n // toolbar: '0',\n // statusbar: '0',\n // messages: '0',\n // navpanes: '0'\n // }\n // };\n let convertTo = isImage(files.Type) ? files.Type : '';\n convertTo = 'pdf,doc,docx,word'.indexOf(files.Type) > -1 ? 'pdf' : convertTo;\n\n if (!convertTo) {\n this.singleControl = true;\n this.updateSingleControl(files);\n return;\n }\n this.singleControl = false;\n\n this.DownloadFileId(fileId, true, convertTo, null, officeOnline);\n } else {\n // const url = Common.File.CreateAttachmentUrl(fileId, false);\n this.canNotRenderPdf = true;\n }\n }\n\n protected _uploadFile(files: File[]): Observable<any> {\n const formData = new FormData();\n files.forEach((file) => {\n formData.append('unicFileName', 'x' + BarsaApi.Common.Util.GetNewMetaGuid() + ';;;' + file.name);\n formData.append('file', file);\n });\n\n return this._uploadService.upload(formData, this.Setting.ControlFieldDefId).pipe(\n tap((res) => {\n if (Array.isArray(res)) {\n this._updateValue(res);\n }\n })\n );\n }\n\n protected _updateValue(res: any[]): void {\n if (this.Setting.ViewType !== 'LinearListBox') {\n this.updateSingleControl(res[0]);\n }\n this.fireContextEvent('Change', this.context, res);\n }\n\n private updateSingleControl(val: any): void {\n if (isImage(val.Type)) {\n this.singleFileThumbnailUrl = getImagePath('ID', '', val.Id);\n } else {\n this.singleFileThumbnailUrl = getIcon(val.Type);\n }\n }\n private _hideMask(): void {\n setTimeout(() => {\n BarsaApi.Ul.LoadingMask.Unmask(this._el.nativeElement);\n }, 0);\n }\n}\n\ninterface UiPdfViewerSetting extends MetaobjectDataModel {\n ShowMode: string; // 2= buttonmode 1=default\n HideDelete: boolean;\n HideAttach: boolean;\n HideRefresh: boolean;\n}\n","<ng-container *untilInView=\"el\">\n @switch (parameters?.ShowMode) { @case ('2') {\n <div>\n <ng-container *ngTemplateOutlet=\"toolbar; context: { dialogMode: true }\"></ng-container>\n </div>\n } @default {\n <div>\n <ng-container *ngTemplateOutlet=\"toolbar\"></ng-container>\n <ng-container *ngTemplateOutlet=\"preview\"></ng-container>\n </div>\n } }\n</ng-container>\n\n<ng-template #toolbar let-dialogMode=\"dialogMode\">\n @if ((disableOrReadonly$ | async) !== true) {\n <fd-toolbar [class.dialogMode]=\"dialogMode\" [transparent]=\"true\" [shouldOverflow]=\"true\">\n <fd-file-uploader\n #uploader\n [style.display]=\"'none'\"\n fd-toolbar-item\n [id]=\"id\"\n [name]=\"'pdf_' + id\"\n [placeholder]=\"'AttachFile' | bbbTranslate\"\n [buttonLabel]=\"'AttachFile' | bbbTranslate\"\n [buttonAriaLabel]=\"'AttachFile' | bbbTranslate\"\n [accept]=\"validExtension\"\n [(ngModel)]=\"files\"\n [multiple]=\"false\"\n (selectedFilesChanged)=\"onFileSelection($event)\"\n [contentDensity]=\"(contentDensity$ | async)!!\"\n ></fd-file-uploader>\n @if (!parameters?.HideDelete) {\n <button\n [disabled]=\"!(canDelete && value)\"\n fd-button\n fd-toolbar-item\n class=\"delete\"\n glyph=\"delete\"\n [fdType]=\"'transparent'\"\n (click)=\"onDelete()\"\n ></button>\n } @if (!parameters?.HideAttach) {\n <button\n fd-button\n fd-toolbar-item\n glyph=\"attachment\"\n [fdType]=\"'transparent'\"\n [disabled]=\"!canUpload\"\n (click)=\"uploader.open()\"\n ></button>\n } @if (canEdit) {\n <button fd-toolbar-item fd-button glyph=\"edit\" [fdType]=\"'transparent'\" (click)=\"onEdit()\"></button>\n } @if (useWordEditor) {\n <button\n fd-toolbar-item\n fd-button\n glyph=\"doc-attachment\"\n [fdType]=\"'transparent'\"\n [label]=\"'Edit' | bbbTranslate\"\n (click)=\"onEditInWord()\"\n ></button>\n } @if (officeOnline) {\n <button\n fd-toolbar-item\n fd-button\n glyph=\"doc-attachment\"\n [fdType]=\"'transparent'\"\n [label]=\"'OfficeOnline' | bbbTranslate\"\n (click)=\"onOfficeOnline($event)\"\n ></button>\n } @if (dialogMode) {\n <button\n fd-toolbar-item\n fd-button\n [glyph]=\"'show'\"\n [attr.fdOverflowPriority]=\"'low'\"\n [fdType]=\"'transparent'\"\n [label]=\"!dialogMode ? '' : ('View' | bbbTranslate)\"\n (click)=\"onOpenPreviewInDialog()\"\n bodyClick\n ></button>\n } @if (canDownload) {\n <button\n fd-toolbar-item\n fd-button\n [attr.fdOverflowPriority]=\"'low'\"\n [glyph]=\"'download'\"\n [label]=\"!dialogMode ? '' : ('Download' | bbbTranslate)\"\n [fdType]=\"'transparent'\"\n (click)=\"onDownload()\"\n bodyClick\n ></button>\n } @if (!parameters?.HideRefresh) {\n <button\n [attr.fdOverflowPriority]=\"'low'\"\n fd-toolbar-item\n fd-button\n [glyph]=\"dialogMode ? null : 'refresh'\"\n [label]=\"!dialogMode ? '' : ('Refresh' | bbbTranslate)\"\n [fdType]=\"'transparent'\"\n bodyClick\n (click)=\"onRefresh()\"\n ></button>\n }\n <fd-busy-indicator\n fd-toolbar-item\n [loading]=\"(uploadingState$ | async)?.uploading === true\"\n ></fd-busy-indicator>\n </fd-toolbar>\n }\n</ng-template>\n<ng-template #preview>\n @if (isMobile) {\n <div\n [style.border]=\"!blobUrl ? '.0625rem solid var(--sapGroup_TitleBorderColor)' : null\"\n style=\"height: calc(70vh - 40px); position: relative\"\n >\n <ng2-pdfjs-viewer\n fillEmptySpace\n [containerDom]=\"formContainer\"\n [dontUseTopBound]=\"true\"\n #pdfViewerOnDemand\n [externalWindow]=\"false\"\n [downloadFileName]=\"blobUrl\"\n [openFile]=\"false\"\n [viewBookmark]=\"false\"\n [showSpinner]=\"true\"\n [download]=\"true\"\n ></ng2-pdfjs-viewer>\n </div>\n } @else { @if (hasPdf) {\n <object\n fillEmptySpace\n [containerDom]=\"formContainer\"\n [dontUseTopBound]=\"true\"\n style=\"flex-grow: 1\"\n [attr.data]=\"valueUrl\"\n type=\"application/pdf\"\n width=\"100%\"\n [style.height]=\"formHeight - 30 > 0 ? formHeight - 30 + 'px' : '100vh'\"\n [attr.html]=\"fallbackLink\"\n ></object>\n } @else { @if (singleControl && value && !value.IsDeleted) {\n <div style=\"display: flex\">\n @if (singleFileThumbnailUrl) {\n <img [src]=\"singleFileThumbnailUrl\" />\n }\n <fd-object-identifier>\n {{ value.FileName }}\n </fd-object-identifier>\n </div>\n } @else {\n <div fillEmptySpace [containerDom]=\"formContainer\" [dontUseTopBound]=\"true\" class=\"hatchBackground\"></div>\n } } }\n</ng-template>\n\n<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #dialogTpl>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\" class=\"vertical\">\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h3 fd-title>edit in word</h3>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-button-bar ariaLabel=\"close\" glyph=\"decline\" (click)=\"onDialogClose()\"></fd-button-bar>\n </div>\n </ng-template>\n </fd-dialog-header>\n <fd-dialog-body>\n <ng-container *ngTemplateOutlet=\"preview\"></ng-container>\n </fd-dialog-body>\n </fd-dialog>\n</ng-template>\n","import { PipeTransform, Pipe } from '@angular/core';\r\nimport { ObjectStatus } from '@fundamental-ngx/core';\r\n\r\n@Pipe({\r\n name: 'uploadFileStatus'\r\n})\r\nexport class UploadFileStatusPipe implements PipeTransform {\r\n transform(fileId: string, valueExtra: any): ObjectStatus {\r\n return this._getStatus(fileId, valueExtra);\r\n }\r\n protected _getStatus(fileId, valueExtra): ObjectStatus {\r\n const fileValueExtra = valueExtra[fileId];\r\n switch (fileValueExtra.UploadState) {\r\n case 'Uploading':\r\n return 'informative';\r\n case 'Error':\r\n return 'negative';\r\n case 'Complete':\r\n return 'positive';\r\n }\r\n return 'informative';\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, Input, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ContentDensity, FileUploaderComponent } from '@fundamental-ngx/core';\n\nimport {\n UploadService,\n FilesValidationHelper,\n FileAttachmentInfo,\n getValidExtension,\n LinearListHelper\n} from 'barsa-novin-ray-core';\nimport { DeviceInfoFieldBaseComponent } from '../device-info-field-base';\nimport { IUploadingState } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-ui-file-linear-list-box',\n templateUrl: './ui-file-linear-list-box.component.html',\n styleUrls: ['./ui-file-linear-list-box.component.scss'],\n providers: [UploadService],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiFileLinearListBoxComponent extends DeviceInfoFieldBaseComponent implements OnInit, OnDestroy {\n @ViewChild(FileUploaderComponent, { static: false }) fileUploadComponent: FileUploaderComponent;\n @Input() value: FileAttachmentInfo[];\n\n fileCount$: Observable<number>;\n uploading$ = new Observable<IUploadingState>();\n\n valueExtra$: Observable<{ [key: string]: UploadFileProps }>;\n contentDensity$: Observable<ContentDensity>;\n fileDownloading: boolean;\n validExtension = '';\n maxFileCount: number;\n loading = false;\n protected _linearHelper: LinearListHelper;\n protected _filesValidationHelper: FilesValidationHelper;\n private _fileCountSource = new BehaviorSubject<number>(0);\n\n ngOnInit(): void {\n super.ngOnInit();\n this.context.on({\n ShowUploadWindow: this._showUploadWindow.bind(this)\n });\n this._filesValidationHelper = new FilesValidationHelper(\n this.Setting.MaxFileCount,\n this.Setting.MaxFileSizeKb,\n this.Setting.MaxTotalFileSizeKb\n );\n this._linearHelper = new LinearListHelper(\n this._uploadService,\n this._filesValidationHelper,\n this.Setting.FieldDefId\n );\n this.valueExtra$ = this._linearHelper.valueExtra$;\n this.uploading$ = this._linearHelper.uploading$;\n this._linearHelper.delete$.pipe(takeUntil(this._onDestroy$)).subscribe((fileAttachment) => {\n this._deleteFileAttachment(fileAttachment);\n });\n this._linearHelper.newFileUploaded$.pipe(takeUntil(this._onDestroy$)).subscribe((fileAttachment) => {\n this._newFileUploaded(fileAttachment);\n });\n this.value &&\n this.value.forEach((c) => {\n this._linearHelper.init(c);\n });\n\n if (!this.Setting.IsMultiSelect) {\n this._filesValidationHelper.maxFileCount = 1;\n }\n this.maxFileCount = this._filesValidationHelper.maxFileCount;\n this.validExtension = getValidExtension(this.Setting.ValidExtensions);\n }\n ngOnDestroy(): void {\n // this.valueExtra = {};\n this.context.un('ShowUploadWindow', this._showUploadWindow);\n super.ngOnDestroy();\n }\n onDownloadFile(file: FileAttachmentInfo): void {\n if (!file.IsNew || file.UploadState === 'Complete' || !file.UploadState) {\n this.fireContextEvent('CommandRequest', this.context, 'Download', file.Id);\n this.fileDownloading = true;\n setTimeout(() => {\n this.fileDownloading = false;\n }, 500);\n }\n }\n onFileDeleted(fileId): void {\n this._fileDelete(fileId);\n }\n onTerminate(fileAttachment: FileAttachmentInfo): void {\n this.fireContextEvent('CommandRequest', this.context, 'Delete', fileAttachment.Id);\n this._linearHelper.cancel(fileAttachment);\n }\n onFileSelection(files: File[]): void {\n this._linearHelper.uploadToServer(files);\n }\n\n trackById(file, index): string | number {\n return file ? file.Id : index;\n }\n protected retry(fileAttachment: FileAttachmentInfo): void {\n this._linearHelper.retry(fileAttachment);\n }\n protected _setValue(value: any): void {\n super._setValue(value);\n this._setFileCount(value);\n }\n protected _showUploadWindow(): void {\n this.fileUploadComponent.open();\n }\n protected _fileDelete(id): void {\n const fileAttachment = this.value.find((c) => c.Id === id);\n if (fileAttachment) {\n this._deleteFileAttachment(fileAttachment);\n }\n }\n protected _deleteFileAttachment(fileAttachment: FileAttachmentInfo): void {\n this.fireContextEvent('CommandRequest', this.context, 'Delete', fileAttachment.Id);\n }\n\n protected _setLoading(loading: boolean): void {\n this.loading = loading;\n this._cdr.markForCheck();\n }\n protected _newFileUploaded(newFileAttachment: FileAttachmentInfo): void {\n this.fireContextEvent('CommandRequest', this.context, 'FileUpload', newFileAttachment);\n }\n protected _setFileCount(value): void {\n this._fileCountSource.next(value.filter((c) => !c.IsDeleted).length);\n }\n}\n\ninterface UploadFileProps {\n FileUrl?: string;\n cancelation$?: Subject<void>;\n binary?: any;\n UploadState?: string;\n Progress?: number;\n IsIcon?: boolean;\n}\n","@if (value) {\n<div class=\"token-container\">\n <div class=\"token-wrapper\">\n @for (file of value; track trackById($index, file)) { @if (!file.IsDeleted) {\n <fd-popover>\n <fd-popover-control>\n <fd-token (onCloseClick)=\"onFileDeleted(file.Id)\" [readOnly]=\"(disableOrReadonly$ | async)!!\"\n >{{ file.FileName }}\n @if (file.IsNew) { @if (valueExtra$ | async; as valueExtra) { @if (valueExtra[file.Id].UploadState\n !== 'Complete') {\n <span\n fd-object-status\n [status]=\"file.Id | uploadFileStatus: valueExtra\"\n [label]=\"valueExtra[file.Id]?.UploadState || ''\"\n [title]=\"valueExtra[file.Id]?.UploadState\"\n [aria-label]=\"'File Upload Status Is ' + valueExtra[file.Id]?.UploadState\"\n ></span>\n } @if (valueExtra[file.Id].Progress) {\n <fd-object-number\n [number]=\"valueExtra[file.Id].Progress || 0\"\n unit=\"%\"\n status=\"informative\"\n ></fd-object-number>\n } @if (valueExtra[file.Id].UploadState === 'Uploading') {\n <fd-busy-indicator [loading]=\"true\" [size]=\"'s'\"></fd-busy-indicator>\n } } }\n </fd-token>\n </fd-popover-control>\n <fd-popover-body>\n @if (valueExtra$ | async; as valueExtra) { @if ( valueExtra[file.Id].UploadState !== 'Error' ||\n valueExtra[file.Id].UploadState === 'Complete' ) {\n <ul fd-list>\n <li fd-list-item>\n <a fd-list-link (click)=\"onDownloadFile(file)\">\n <i fd-list-icon glyph=\"download\"></i>\n <span fd-list-title>\n {{ 'Download' | bbbTranslate }}\n </span>\n <fd-busy-indicator [loading]=\"fileDownloading\" [size]=\"'s'\"></fd-busy-indicator>\n </a>\n </li>\n </ul>\n } }\n </fd-popover-body>\n </fd-popover>\n } }\n <div style=\"display: flex\">\n @if (loading) {\n <div style=\"position: relative; width: 3rem\">\n <bsu-mask [size]=\"'s'\" style=\"background: transparent\"></bsu-mask>\n </div>\n } @if (value | canUploadFile: maxFileCount:(disable$ | async)!!:(readonly$ | async)!!) {\n <fd-file-uploader\n class=\"file-linear-upload\"\n fd-toolbar-item\n [id]=\"id\"\n [name]=\"'linear_' + id\"\n [placeholder]=\"'AttachFile' | bbbTranslate\"\n [buttonLabel]=\"'AttachFile' | bbbTranslate\"\n [buttonAriaLabel]=\"'AttachFile' | bbbTranslate\"\n [accept]=\"validExtension\"\n [multiple]=\"maxFileCount > 1 || Setting.IsMultiSelect\"\n (selectedFilesChanged)=\"onFileSelection($event)\"\n [contentDensity]=\"(contentDensity$ | async)!!\"\n ></fd-file-uploader>\n }\n </div>\n </div>\n</div>\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { UploadService, FileAttachmentInfo } from 'barsa-novin-ray-core';\nimport { UiFileLinearListBoxComponent } from '../ui-file-linear-list-box/ui-file-linear-list-box.component';\nimport { MetaobjectDataModel, BarsaApi } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-barsa-list-file-linear',\n templateUrl: './barsa-list-file-linear.component.html',\n styleUrls: ['./barsa-list-file-linear.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [UploadService]\n})\nexport class BarsaListFileLinearComponent extends UiFileLinearListBoxComponent {\n parameters: BarsaListFileLinearSetting;\n onRetry(fileAttachment: FileAttachmentInfo): void {\n this.retry(fileAttachment);\n }\n onHandleRenameFile(file: FileAttachmentInfo): void {\n if (!file.inEdit) {\n file.inEdit = true;\n } else {\n file.inEdit = false;\n BarsaApi.Common.Ajax.GetServerData(\n 'Form94.RenameFileAttachment',\n { renameModel: { Id: file.Id, Name: file.FileName } },\n (_) => {},\n (_) => {},\n null,\n this\n );\n }\n }\n}\n\ninterface BarsaListFileLinearSetting extends MetaobjectDataModel {\n HideAttachButton: boolean;\n ModeValue: string;\n ModeValue$Caption: string;\n}\n","@if (parameters.ModeValue === '1') {\n<ul fd-list class=\"file-viewer-attachments\">\n @for (file of value; track file) { @if (!file.IsDeleted) {\n <li fd-list-item style=\"background-color: #f5f5f5; margin: 0 0 0 30%; width: 100%\">\n @if (file.inEdit) {\n <input\n style=\"width: 90%\"\n fd-form-control\n [(ngModel)]=\"file.FileName\"\n (click)=\"$event.preventDefault(); $event.stopPropagation()\"\n (keydown.enter)=\"onHandleRenameFile(file)\"\n />\n } @if (!file.inEdit) {\n <span fd-list-title>\n {{ file.FileName }}\n </span>\n }\n <span fd-list-secondary>\n <button\n ariaLabel=\"Edit Or Save\"\n fdType=\"transparent\"\n class=\"fd-button--compact\"\n fd-button\n fdCompact\n [glyph]=\"file.inEdit ? 'save' : 'edit'\"\n (click)=\"onHandleRenameFile(file)\"\n ></button>\n @if (!file.inEdit) {\n <button\n ariaLabel=\"Remove\"\n fdType=\"transparent\"\n title=\"Remove\"\n fd-button\n glyph=\"delete\"\n (click)=\"onFileDeleted(file.Id)\"\n ></button>\n }\n </span>\n </li>\n } } @if (valueExtra$ | async; as valueExtra) { @for (file of valueExtra | keyvalue; track file) { @if\n (file.value.UploadState === 'Uploading') {\n <li style=\"background-color: #f5f5f5; margin: 0 0 0 30%; width: 100%\">\n @if (file.value.Progress) {\n <fd-progress-indicator state=\"informative\" [valueNow]=\"file.value.Progress\"></fd-progress-indicator>\n }\n </li>\n } } }\n</ul>\n} @if (parameters.ModeValue === '2') {\n<ul fd-list [byline]=\"true\">\n @if (fileCount$ | async; as fileCount) { @if (fileCount === 0) {\n <li fd-list-item>\n <div fd-list-content style=\"text-align: center\">\n <span>{{ 'NoFiles' | bbbTranslate }}</span>\n </div>\n </li>\n } } @for (file of value; track file) { @if (valueExtra$ | async; as valueExtra) { @if (!file.IsDeleted) {\n <li fd-list-item>\n <span fd-list-thumbnail>\n @if (valueExtra[file.Id].IsIcon) {\n <fd-icon [glyph]=\"valueExtra[file.Id].FileUrl\"></fd-icon>\n } @else {\n <fd-avatar size=\"m\" [image]=\"valueExtra[file.Id].FileUrl || ''\"></fd-avatar>\n }\n </span>\n <!-- for byline, fd-list-content is mandatory -->\n <div fd-list-content>\n <div fd-list-title>{{ file.FileName }}</div>\n <div fd-list-byline [twoCol]=\"true\">\n <div fd-list-byline-left></div>\n <div fd-list-byline-right style=\"display: flex; justify-content: flex-end\">\n <fd-toolbar [fdType]=\"'transparent'\" [clearBorder]=\"true\">\n @if (file.IsNew) {\n <span\n fd-toolbar-item\n fd-object-status\n [status]=\"file.Id | uploadFileStatus: valueExtra\"\n [label]=\"valueExtra[file.Id]?.UploadState || ''\"\n [title]=\"valueExtra[file.Id]?.UploadState\"\n [aria-label]=\"'File Upload Status Is ' + valueExtra[file.Id]?.UploadState\"\n ></span>\n @if (valueExtra[file.Id].UploadState === 'Uploading') {\n <fd-slider\n [contentDensity]=\"(contentDensity$ | async)!!\"\n [(ngModel)]=\"valueExtra[file.Id].Progress\"\n [name]=\"'filerLinear_' + id\"\n fd-toolbar-item\n [id]=\"id\"\n [min]=\"0\"\n [max]=\"100\"\n [step]=\"1\"\n >\n </fd-slider>\n } }\n </fd-toolbar>\n </div>\n </div>\n </div>\n @if ((disableOrReadonly$ | async) === false && valueExtra[file.Id].UploadState !== 'Uploading') {\n <button fd-button fdType=\"transparent\" glyph=\"decline\" (click)=\"onFileDeleted(file.Id)\"></button>\n } @if (valueExtra[file.Id].UploadState === 'Uploading') {\n <button fd-button [fdType]=\"'transparent'\" [glyph]=\"'stop'\" (click)=\"onTerminate(file)\"></button>\n } @if (valueExtra[file.Id].UploadState === 'Error') {\n <button fd-button [fdType]=\"'transparent'\" [glyph]=\"'refresh'\" (click)=\"onRetry(file)\"></button>\n }\n </li>\n } } }\n</ul>\n} @if ((disableOrReadonly$ | async) !== true) {\n<fd-toolbar\n style=\"display: block\"\n [style.height.px]=\"parameters.ModeValue === '1' ? 0 : null\"\n [fdType]=\"'transparent'\"\n [clearBorder]=\"true\"\n>\n <fd-file-uploader\n fd-toolbar-item\n [class.hide-file-uploader]=\"parameters?.HideAttachButton\"\n [id]=\"id\"\n [name]=\"id\"\n [placeholder]=\"'AttachFile' | bbbTranslate\"\n [buttonLabel]=\"'AttachFile' | bbbTranslate\"\n [buttonAriaLabel]=\"'AttachFile' | bbbTranslate\"\n [accept]=\"Setting.ValidExtensions || ''\"\n [multiple]=\"maxFileCount > 1\"\n (selectedFilesChanged)=\"onFileSelection($event)\"\n [contentDensity]=\"(contentDensity$ | async)!!\"\n ></fd-file-uploader>\n</fd-toolbar>\n}\n","import { Directive, ElementRef, EventEmitter, HostListener, Input, OnInit, Output, Renderer2 } from '@angular/core';\nimport { DialogComponent } from '@fundamental-ngx/core';\n\nimport { BaseDirective, PortalService } from 'barsa-novin-ray-core';\n\n@Directive({\n selector: '[fullscreenDialog]'\n})\nexport class FullscreenDialogDirective extends BaseDirective implements OnInit {\n @Input() dialog: any;\n @Input() dialogComponent: DialogComponent;\n @Input() fullscreen: boolean;\n @Output() fullscreenChanged = new EventEmitter<boolean>();\n\n constructor(private _renderer2: Renderer2, private _portalService: PortalService, protected _el: ElementRef) {\n super(_el);\n }\n ngOnInit(): void {\n super.ngOnInit();\n if (this.fullscreen) {\n this._handleFullscreen();\n }\n }\n @HostListener('click')\n onFullscreen(): void {\n if (!this.fullscreen) {\n this._handleFullscreen();\n } else {\n this._handleExitFullscreen();\n }\n }\n\n private _handleExitFullscreen(): void {\n this.dialogComponent.dialogPaddingSize = 'sm';\n this._renderer2.removeClass(this.dialogComponent.dialogWindow.nativeElement, 'bsu-dialog-fullscreen');\n this._portalService.windowResize();\n this.fullscreenChanged.emit(false);\n }\n\n private _handleFullscreen(): void {\n this.dialogComponent.dialogPaddingSize = 'lg';\n this._renderer2.addClass(this.dialogComponent.dialogWindow.nativeElement, 'bsu-dialog-fullscreen');\n this._portalService.windowResize();\n this.fullscreenChanged.emit(true);\n }\n}\n","import { ChangeDetectionStrategy, Component, Input, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { ContentDensity, ContentDensityService, DialogRef, DialogService } from '@fundamental-ngx/core';\nimport { BaseComponent, BarsaApi, MetaobjectDataModel, BbbTranslatePipe, PortalService } from 'barsa-novin-ray-core';\nimport { Observable } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\n@Component({\n selector: 'bsu-ulv-form-multi-select',\n templateUrl: './ulv-form-multi-select.component.html',\n styleUrls: ['./ulv-form-multi-select.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UlvFormMultiSelectComponent extends BaseComponent {\n @ViewChild('container', { read: TemplateRef })\n dialogContainer: TemplateRef<any>;\n\n deviceSize: string;\n contentDensity$: Observable<ContentDensity>;\n\n constructor(\n private _dialogService: DialogService,\n private _bbbTranslatePipe: BbbTranslatePipe,\n _portalService: PortalService,\n _contentDensityService: ContentDensityService\n ) {\n super();\n this.contentDensity$ = _contentDensityService.contentDensity;\n BarsaApi.Bw.UlvFormMultiSelect = this;\n _portalService.deviceSize$.pipe(takeUntil(this._onDestroy$)).subscribe((c) => {\n this.deviceSize = c;\n });\n }\n /* eslint-disable */\n @Input() Show = (adapter, config) => {\n const largeScreen = this.deviceSize === 'l' || this.deviceSize === 'xl';\n const dialogConfig: { [key: string]: any } = {\n data: { ...config, adapter },\n escKeyCloseable: false,\n dialogPanelClass: `ulv-selection-form-dialog ${this.deviceSize ? 'ulv-selection-form-dialog-mobile' : ''}`,\n verticalPadding: false\n };\n if (largeScreen) {\n dialogConfig.width = '50vw';\n dialogConfig.height = 'auto';\n dialogConfig.minWidth = '400';\n dialogConfig.minHeight = '60vh';\n } else {\n dialogConfig.mobile = true;\n dialogConfig.fullScreen = true;\n }\n if (adapter.HideOkCancelButtons) {\n dialogConfig.fullScreen = true;\n }\n const dialogRef = this._dialogService.open(this.dialogContainer, dialogConfig);\n dialogRef.loading(config.IsLoaded === true ? false : true); // means ulv is loaded and it does not show loading in dialog\n (dialogRef as any).mask = (val) => {\n dialogRef.loading(val);\n };\n (dialogRef as any).AddUlvToWindow = (ulvControl1, ulvControl2) => {\n dialogRef.loading(false);\n const selectFormTitleText = this._bbbTranslatePipe.transform('SelectFormTitle');\n dialogRef.data.title =\n ulvControl1.Setting.Extra?.ExtraJsonPropReport?.Title === false\n ? ''\n : selectFormTitleText.replace('{0}', ulvControl1.Setting.Extra.Report.TypeDefCaption);\n dialogRef.data.ulv1 = ulvControl1;\n if (ulvControl1.viewerControl) {\n this._handleUlvViewerEvent(ulvControl1, adapter, dialogRef);\n } else {\n ulvControl1.on({\n ViewerControlChanged: () => {\n this._handleUlvViewerEvent(ulvControl1, adapter, dialogRef);\n }\n });\n }\n if (ulvControl2) {\n dialogRef.data.ulv2 = ulvControl2;\n dialogRef.data.selectedItems = ulvControl2.Setting.Data;\n }\n };\n return dialogRef;\n /* eslint-disable */\n };\n\n private _handleUlvViewerEvent(ulvControl1: any, adapter: any, dialogRef: DialogRef<any, any>) {\n ulvControl1.viewerControl.ShowOkCancelButtons = adapter.ShowOkCancelButtons;\n ulvControl1.viewerControl.on({\n /* eslint-disable */\n rowselect: (sender, index, mo) => {\n this._addItem(dialogRef, mo);\n },\n /* eslint-disable */\n rowdeselect: (sender, index, mo) => {\n this._removeItem(dialogRef, mo);\n },\n rowSelectAll: () => {\n ulvControl1.Setting.Data.MoDataList.forEach((mo) => {\n this._addItem(dialogRef, mo);\n });\n },\n rowDeSelectAll: () => {\n ulvControl1.Setting.Data.MoDataList.forEach((mo) => {\n this._removeItem(dialogRef, mo);\n });\n }\n });\n }\n\n onOk(dialogRef: DialogRef): void {\n const { ulv, ulv2 } = this._getUlv(dialogRef);\n // if (ulv) {\n // if (ulv2) {\n // const adapter = dialogRef.data.adapter;\n // adapter.fireEvent('AddRemoveButtonClick', adapter, 'Add');\n // }\n // }\n this._btnClick(ulv, 'Ok');\n }\n\n private _getUlv(dialogRef: DialogRef): { ulv: any; ulv2: any } {\n const ulv2 = dialogRef.data.ulv2;\n const ulv1 = dialogRef.data.ulv1;\n const ulv = ulv2 || ulv1;\n return { ulv, ulv2 };\n }\n\n private _btnClick(ulv: any, btnKey: string): void {\n const okBtn = ulv.buttons.find((c) => c.Key === btnKey);\n const scope = okBtn.scope;\n okBtn.handler.bind(scope)(okBtn);\n }\n\n onCancel(dialogRef: DialogRef): void {\n if (!dialogRef.data.adapter?.ShowOkCancelButtons) {\n dialogRef.dismiss();\n return;\n }\n const { ulv, ulv2 } = this._getUlv(dialogRef);\n this._btnClick(ulv, 'Cancel');\n }\n\n onClear(dialogRef: DialogRef): void {\n dialogRef.data.ulv1.viewerControl.fireEvent('ClearAllSelected');\n dialogRef.data.selectedItems.MoDataList = [];\n }\n\n onRemoveSelected(dialogRef: DialogRef, item: MetaobjectDataModel): void {\n this._removeItem(dialogRef, item);\n }\n\n protected _removeItem(dialogRef: DialogRef<any>, mo: any): void {\n const selectedItems = dialogRef.data.selectedItems;\n if (!selectedItems) {\n return;\n }\n selectedItems.MoDataList = selectedItems.MoDataList.filter((c) => c.Id !== mo.Id);\n dialogRef.data.ulv1.viewerControl.fireEvent('DeselectRowInDialog', [mo]);\n if (dialogRef.data.ulv2) {\n const adapter = dialogRef.data.adapter;\n adapter.fireEvent('AddRemoveButtonClick', adapter, 'Remove');\n }\n // const adapter = dialogRef.data.adapter;\n // adapter.fireEvent('AddRemoveButtonClick', adapter, 'Remove');\n }\n\n protected _addItem(dialogRef: DialogRef<any>, mo: MetaobjectDataModel): void {\n const selectedItems = dialogRef.data.selectedItems;\n if (!selectedItems) {\n return;\n }\n if (!selectedItems.MoDataList.find((c) => c.Id === mo.Id)) {\n selectedItems.MoDataList = [...selectedItems.MoDataList, mo];\n if (dialogRef.data.ulv2) {\n const adapter = dialogRef.data.adapter;\n adapter.fireEvent('AddRemoveButtonClick', adapter, 'Add');\n }\n\n // const adapter = dialogRef.data.adapter;\n // adapter.fireEvent('AddRemoveButtonClick', adapter, 'Add');\n }\n }\n\n _trackBySelectedFn(_index: number, item: MetaobjectDataModel): number | string {\n return item.Id;\n }\n}\n","<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #container>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\" #dialogTpl>\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h1 id=\"fd-dialog-header-3\" fd-title>{{ dialog.data.title }}</h1>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n @if (!dialogConfig.fullscreen) {\n <fd-button-bar\n ariaLabel=\"fullscreen\"\n [glyph]=\"dialog.data.fullscreen ? 'exitfullscreen' : 'resize'\"\n fullscreenDialog\n [dialog]=\"dialog\"\n [fullscreen]=\"dialog.data.fullscreen\"\n (fullscreenChanged)=\"dialog.data.fullscreen = $event\"\n [dialogComponent]=\"dialogTpl\"\n ></fd-button-bar>\n }\n <fd-button-bar ariaLabel=\"close\" glyph=\"decline\" (click)=\"onCancel(dialog)\"></fd-button-bar>\n </div>\n </ng-template>\n <!-- <h3 fd-title>{{ dialog.data.title }}</h3>\n <button fd-dialog-close-button></button> -->\n </fd-dialog-header>\n\n <fd-dialog-body>\n @if (dialog.data.ulv1; as ulv1) {\n <bsu-ui-ulv-main-ui\n class=\"ulv-form-multi-select\"\n [context]=\"ulv1\"\n [inDialog]=\"true\"\n [isMultiSelect]=\"dialog.data.ShowSecondPanel\"\n [fullscreen]=\"dialog.data.fullscreen\"\n ></bsu-ui-ulv-main-ui>\n } @if (dialog.data.ulv2 && dialog.data.ShowSecondPanel) {\n <div\n class=\"ulv-selection-form-dialog__row ulv-selection-form-dialog__selection-row\"\n [aria-label]=\"'SelectedItemsAndConditions' | bbbTranslate\"\n >\n <h5 fd-title class=\"selected-and-condition-title\">\n <ng-container>\n <ng-container>{{ 'SelectedItemsAndConditions' | bbbTranslate }} </ng-container>\n ({{ dialog.data.selectedItems?.MoDataList?.length || 0 }})\n </ng-container>\n </h5>\n <div class=\"ulv-selection-form-dialog__tokens-wrapper\">\n <div class=\"ulv-selection-form-dialog__tokens\">\n @if (dialog.data.selectedItems) {\n <fd-toolbar [shouldOverflow]=\"true\">\n <!-- Selected items -->\n @for ( item of dialog.data.selectedItems.MoDataList; track _trackBySelectedFn(selectedIndex,\n item); let selectedIndex = $index) {\n <fd-token\n fd-toolbar-item\n fdOverflowPriority=\"high\"\n class=\"fdp-value-help-dialog__selection-token\"\n (onCloseClick)=\"onRemoveSelected(dialog, item)\"\n >{{ item.$Caption }}\n </fd-token>\n }\n </fd-toolbar>\n }\n </div>\n <button\n class=\"ulv-selection-form-dialog__tokens-clear\"\n fd-button\n fdType=\"transparent\"\n glyph=\"decline\"\n [aria-label]=\"'Clear' | bbbTranslate\"\n (click)=\"onClear(dialog)\"\n ></button>\n </div>\n </div>\n }\n </fd-dialog-body>\n\n @if (dialog.data.ulv1 && !dialog.data.ulv1?.HideOkCancelButtons) {\n <fd-dialog-footer>\n <ng-template fdkTemplate=\"footer\">\n @if (dialog.data.adapter?.ShowOkCancelButtons !== false) {\n <div class=\"ulv-selection-form-dialog__actions-row\">\n <button\n fd-button\n data-succes\n [label]=\"'OK' | bbbTranslate\"\n fdType=\"emphasized\"\n [compact]=\"true\"\n (click)=\"onOk(dialog)\"\n ></button>\n <button\n fd-button\n fdCompact\n data-dismiss-dialog\n fd-dialog-decisive-button\n [label]=\"'Cancel' | bbbTranslate\"\n [fdType]=\"'transparent'\"\n (click)=\"onCancel(dialog)\"\n ></button>\n </div>\n }\n </ng-template>\n </fd-dialog-footer>\n }\n </fd-dialog>\n</ng-template>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { DialogRef } from '@fundamental-ngx/core';\r\n\r\nimport { BaseComponent } from 'barsa-novin-ray-core';\r\n@Component({\r\n selector: 'bsu-ui-ulv-form-multi-select-ui',\r\n templateUrl: './ui-ulv-form-multi-select-ui.component.html',\r\n styleUrls: ['./ui-ulv-form-multi-select-ui.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class UiUlvFormMultiSelectUiComponent extends BaseComponent {\r\n constructor(public dialogRef: DialogRef) {\r\n super();\r\n }\r\n}\r\n","<fd-dialog>\n <fd-dialog-header>\n <h1 fd-title>{{ dialogRef.data.title }}</h1>\n <button fd-dialog-close-button (click)=\"dialogRef.dismiss('Close button')\"></button>\n </fd-dialog-header>\n\n <fd-dialog-body>\n @if (dialogRef.data.ulv1; as ulv1) {\n <bsu-ui-ulv-main-ui [context]=\"ulv1\"></bsu-ui-ulv-main-ui>\n }\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <ng-template fdkTemplate=\"footer\">\n <div\n class=\"fdp-value-help-dialog__row fdp-value-help-dialog__selection-row\"\n aria-label=\"Selected and condition items\"\n i18n-aria-label=\"@@platformI18nValueHelpDialog.SelectionBarLabel\"\n >\n <h5 fd-title class=\"selected-and-condition-title\">\n <ng-container>\n <ng-container i18n=\"@@platformI18nValueHelpDialog.SelectedAndConditionLabel\"\n >Selected Items and Conditions\n </ng-container>\n ()\n </ng-container>\n </h5>\n\n <div class=\"fdp-value-help-dialog__tokens-wrapper\">\n <div class=\"fdp-value-help-dialog__tokens\">\n <fd-toolbar [shouldOverflow]=\"true\">\n <!-- Selected items -->\n </fd-toolbar>\n </div>\n <button\n class=\"fdp-value-help-dialog__tokens-clear\"\n fd-button\n fdType=\"transparent\"\n glyph=\"decline\"\n i18n-aria-label=\"@@platformI18nValueHelpDialog.ClearSelectedAriaLabel\"\n aria-label=\"clear selected items\"\n ></button>\n </div>\n </div>\n <div class=\"fdp-value-help-dialog__actions-row\">\n <button\n fd-button\n data-go-advanced\n i18n-label=\"@@platformI18nValueHelpDialog.SearchButton\"\n label=\"Go\"\n fdType=\"emphasized\"\n ></button>\n <button\n fd-button\n data-succes\n i18n-label=\"@@platformI18nValueHelpDialog.SuccessButton\"\n label=\"OK\"\n fdType=\"emphasized\"\n ></button>\n <button\n fd-button\n data-dismiss-dialog\n fd-dialog-decisive-button\n i18n-label=\"@@platformI18nValueHelpDialog.CancelButton\"\n label=\"Cancel\"\n fdType=\"transparent\"\n ></button>\n </div>\n </ng-template>\n </fd-dialog-footer>\n</fd-dialog>\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n HostBinding,\r\n Input,\r\n OnInit,\r\n TemplateRef,\r\n ViewChild,\r\n ViewContainerRef\r\n} from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { LayoutService, LayoutPanelBaseComponent } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bsu-ly-layout-container',\r\n templateUrl: './ly-layout-container.component.html',\r\n styleUrls: ['./ly-layout-container.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [LayoutService]\r\n})\r\nexport class LyLayoutContainerComponent extends LayoutPanelBaseComponent implements OnInit {\r\n @Input() renderItems: TemplateRef<any>;\r\n @Input() isRoot: boolean;\r\n @HostBinding('attr.maxLabelWidth') maxLabelWidth = 0;\r\n @HostBinding('style.display') display;\r\n @HostBinding('style.flex') flex;\r\n @ViewChild('viewRefTemplate', { read: ViewContainerRef, static: true }) viewRef: ViewContainerRef;\r\n\r\n visible = true;\r\n // @HostBinding('class.row-reverse-direction')\r\n rowDirection = false;\r\n // @HostBinding('class.column-direction')\r\n columnDirection = false;\r\n selectedTabIndex: any;\r\n rootRendered$: Observable<boolean>;\r\n enable: boolean;\r\n readonly: boolean;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._setDisplay();\r\n this.config.controlUi = this;\r\n this.visible = this.config.Visible === false ? false : true;\r\n this.readonly = this.config.Readonly === false ? false : true;\r\n this.enable = this.config.Enable === false ? false : true;\r\n this.flex = this.config.Bounds.width;\r\n this.columnDirection = this.config.IsVertical;\r\n if (this.isSearchPanel) {\r\n this.columnDirection = false;\r\n this.rowDirection = this.isSearchPanel;\r\n } else {\r\n if (!this.columnDirection) {\r\n this.rowDirection = true;\r\n }\r\n }\r\n }\r\n /* eslint-disable */\r\n @Input() SetVisible = (visible: boolean) => {\r\n // from formpanleui will be set\r\n this.visible = visible;\r\n this.display = this.visible ? 'flex' : 'none';\r\n };\r\n /* eslint-disable */\r\n @Input() SetEnable = (enable: boolean) => {\r\n // from formpanleui will be set\r\n this.enable = enable;\r\n };\r\n /* eslint-disable */\r\n @Input() SetReadonly = (readonly: boolean) => {\r\n // from formpanleui will be set\r\n this.readonly = readonly;\r\n };\r\n private _setDisplay(): void {\r\n this.display = this.visible ? 'flex' : 'none';\r\n }\r\n}\r\n","@for (item of config | filterToolbarControl; track item) { @switch (item.xtype) { @case ('Ly.LayoutTabPanel') {\n<ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, name: 'LyLayoutPanelComponent', selector: 'bsu-ly-tab-container' }\n \"\n></ng-container>\n<!-- <bsu-ly-tab-container [config]=\"item\"></bsu-ly-tab-container> -->\n} @case ('Ly.LayoutPanel') {\n<ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, name: 'LyLayoutPanelComponent', selector: 'bsu-ly-layout-panel' }\n \"\n></ng-container>\n<!-- <bsu-ly-layout-panel [config]=\"item\"></bsu-ly-layout-panel> -->\n} @case ('Ly.LayoutContainer') {\n<ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n name: 'LyLayoutContainerComponent',\n selector: 'bsu-ly-layout-container'\n }\n \"\n></ng-container>\n<!-- <bsu-ly-layout-container [config]=\"item\"></bsu-ly-layout-container> -->\n} @case ('Ly.EmptySpace') {\n<ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, name: 'LyEmptySpaceComponent', selector: 'bsu-ly-empty-space' }\n \"\n></ng-container>\n<!-- <bsu-ly-empty-space [config]=\"item\"></bsu-ly-empty-space> -->\n} @case ('Ly.SimpleLabel') {\n<ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, name: 'LySimpleLabelComponent', selector: 'bsu-ly-simple-label' }\n \"\n></ng-container>\n<!-- <bsu-ly-simple-label [config]=\"item\"></bsu-ly-simple-label> -->\n} @case ('Ly.LayoutLine') {\n<ng-container\n *ngTemplateOutlet=\"dynamicLayout; context: { $implicit: item, name: 'LyLineComponent', selector: 'bsu-ly-line' }\"\n></ng-container>\n<!-- <bsu-ly-line [isVertical]=\"item.IsVertical\"></bsu-ly-line> -->\n} @case ('Ly.LayoutJoin') { @if (item.Type === 'HorizontalJoin') {\n<ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n selector: 'bsu-ly-horizontal-layout',\n name: 'LyLayoutHorizontalComponent'\n }\n \"\n></ng-container>\n<!-- <bsu-ly-horizontal-layout [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-ly-horizontal-layout> -->\n} @else {\n<ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n selector: 'bsu-ly-vertical-layout',\n name: 'LyLayoutVerticalComponent'\n }\n \"\n></ng-container>\n<!-- <bsu-ly-vertical-layout [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-ly-vertical-layout> -->\n} } @case ('Ly.LayoutControl') {\n<ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n selector: 'bsu-layout-control',\n name: 'LayoutControlComponent'\n }\n \"\n></ng-container>\n<!-- <bsu-layout-control [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-layout-control> -->\n} } }\n<ng-template #dynamicLayout let-config let-selector=\"selector\" let-name=\"name\">\n <bnrc-dynamic-layout\n [config]=\"config\"\n [selector]=\"selector\"\n [name]=\"name\"\n [module]=\"'BarsaSapUi'\"\n [moduleFileName]=\"'BarsaSapUi'\"\n [maxLabelWidth]=\"(maxLabelWidth$ | async)!!\"\n [flex]=\"isSearchPanel ? 'unset' : config.Bounds.width\"\n [isSearchPanel]=\"isSearchPanel\"\n >\n </bnrc-dynamic-layout>\n</ng-template>\n","import { Overlay, ScrollStrategy } from '@angular/cdk/overlay';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\nimport { FormToolbarBaseComponent, getDeviceIsMobile } from 'barsa-novin-ray-core';\n@Component({\n selector: 'bsu-layout-actions',\n templateUrl: './layout-actions.component.html',\n styleUrls: ['./layout-actions.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LayoutActionsComponent extends FormToolbarBaseComponent implements OnInit {\n @Input() workflowButtons: any[];\n @Input() workflowButtonsComboMode: boolean;\n @Input() canSend: boolean;\n @Input() simple: boolean;\n @Output() workflowChoiceSelect = new EventEmitter<any>();\n selectedWorkflowButton: any;\n isMobile: boolean;\n repositionScrollStrategy: ScrollStrategy;\n autoClose = false;\n mobileBottomBar = false;\n hasButtons = false;\n scrollThrottle = 0;\n constructor(protected _overlay: Overlay) {\n super();\n }\n ngOnInit(): void {\n super.ngOnInit();\n this.hasButtons = this.workflowButtons.length > 0 || this.buttons.length > 0;\n this.isMobile = getDeviceIsMobile();\n this.mobileBottomBar = this.isMobile && !this.standalone && this.hasButtons;\n this.repositionScrollStrategy = this._overlay.scrollStrategies.reposition({\n autoClose: this.autoClose,\n scrollThrottle: this.scrollThrottle\n });\n const workflowButtons = this.workflowButtons;\n // this.workflowButtonsComboMode = true;\n if (workflowButtons.length > 0) {\n this.buttons.forEach((c) => {\n if (typeof c === 'object') {\n c.design = 'standard';\n }\n });\n const lastButton = workflowButtons[workflowButtons.length - 1];\n if (lastButton.Choice) {\n lastButton.design = 'emphasized';\n }\n }\n }\n onAcceptWorkflow(): void {\n this.onToolClick(this.selectedWorkflowButton);\n }\n onWorkflowButtonSelected(workflowButton): void {\n this.selectedWorkflowButton = workflowButton;\n this.workflowChoiceSelect.emit(workflowButton.Choice);\n }\n}\n","<ng-container *ngTemplateOutlet=\"simple ? buttonsMode : defaultTemplate\"> </ng-container>\n<ng-template #defaultTemplate>\n @if (visible) { @if (hasButtons) {\n <div fd-bar barDesign=\"footer\" [inPage]=\"true\">\n @if (canSend && false) {\n <div fd-bar-left>\n <fd-bar-element class=\"forward\">\n <fd-popover\n [focusTrapped]=\"true\"\n [focusAutoCapture]=\"true\"\n [closeOnOutsideClick]=\"false\"\n [scrollStrategy]=\"repositionScrollStrategy\"\n #forwardPopover\n >\n <fd-popover-control class=\"forward\">\n <button fd-button [fdType]=\"'standard'\" [label]=\"'Forward' | bbbTranslate\"></button>\n </fd-popover-control>\n <fd-popover-body style=\"min-width: 30vw; max-width: 30vw; min-height: 30vh\">\n <div fd-popover-body-header>\n <div fd-bar barDesign=\"header\" [cozy]=\"true\">\n <div fd-bar-right>\n <fd-bar-element\n ><button\n fd-button\n (click)=\"forwardPopover.close()\"\n [fdType]=\"'transparent'\"\n [glyph]=\"'decline'\"\n ></button>\n </fd-bar-element>\n <div fd-bar-left>\n <fd-bar-element>ارجاع فرم به شخص دیگر </fd-bar-element>\n </div>\n </div>\n </div>\n </div>\n <bnrc-form-new\n class=\"form-erja\"\n [settings]=\"{\n MetaTypeDef: { Id: '', $Caption: '' },\n MetaView: { Id: '', $Caption: '' },\n DisableGenerateId: true\n }\"\n ></bnrc-form-new>\n <div fd-popover-body-footer>\n <div fd-bar barDesign=\"footer\" [cozy]=\"true\">\n <div fd-bar-right>\n <fd-button-bar [label]=\"'Send' | bbbTranslate\" fdType=\"emphasized\"></fd-button-bar>\n <fd-button-bar\n [label]=\"'Cancel' | bbbTranslate\"\n [fdType]=\"'transparent'\"\n (click)=\"forwardPopover.close()\"\n ></fd-button-bar>\n </div>\n </div>\n </div>\n </fd-popover-body>\n </fd-popover>\n </fd-bar-element>\n </div>\n }\n <div fd-bar-right>\n @if (workflowButtonsComboMode && workflowButtons.length > 0) {\n <button\n fd-button\n [fdMenu]=\"true\"\n fdType=\"emphasized\"\n [label]=\"'Select' | bbbTranslate\"\n [ariaLabel]=\"'Select' | bbbTranslate\"\n [fdMenuTrigger]=\"menu\"\n ></button>\n <fd-menu #menu>\n @for (btn of workflowButtons; track btn) {\n <li fd-menu-item (click)=\"onWorkflowButtonSelected(btn)\">\n <div fd-menu-interactive>\n <span fd-menu-title>{{ btn.text }}</span>\n </div>\n </li>\n }\n </fd-menu>\n <fd-button-bar\n [fdType]=\"'positive'\"\n [label]=\"'Send' | bbbTranslate\"\n [disabled]=\"!selectedWorkflowButton\"\n [glyph]=\"'accept'\"\n (click)=\"onAcceptWorkflow()\"\n ></fd-button-bar>\n } @else { @for (btn of workflowButtons; track btn; let i = $index) { @if (btn !== '-') {\n <fd-button-bar\n [attr.workflowButton]=\"true\"\n [fdType]=\"btn.design ? btn.design : btn.Data?.JsonExtraProp?.Design\"\n [label]=\"btn.text | bbbTranslate\"\n [glyph]=\"btn.newIcon ? btn.newIcon : btn.Data?.JsonExtraProp?.Icon\"\n (click)=\"onToolClick(btn)\"\n ></fd-button-bar>\n } } } @for (btn of buttons; track btn; let i = $index) { @if (btn.Data?.CustomUi?.Selector) {\n <bnrc-dynamic-form-toolbaritem\n class=\"fd-bar__element\"\n [component]=\"btn.Data.CustomUi\"\n [context]=\"btn\"\n [isEnable]=\"btn.Command?._isEnable\"\n (btnClick)=\"onToolClick(btn)\"\n ></bnrc-dynamic-form-toolbaritem>\n } @if (btn !== '-' && !btn.Data?.CustomUi?.Selector) {\n <fd-button-bar\n [fdType]=\"btn.design ? btn.design : btn.Data?.JsonExtraProp?.Design\"\n [label]=\"btn.text | bbbTranslate\"\n [glyph]=\"btn.newIcon ? btn.newIcon : btn.Data?.JsonExtraProp?.Icon\"\n (click)=\"onToolClick(btn)\"\n ></fd-button-bar>\n } }\n </div>\n </div>\n } } @if (mobileBottomBar) {\n <div style=\"background-color: transparent; height: 4rem\"></div>\n }\n</ng-template>\n<ng-template #buttonsMode>\n @for (btn of workflowButtons; track btn; let i = $index) { @if (btn !== '-') {\n <fd-button-bar\n [attr.workflowButton]=\"true\"\n [fdType]=\"btn.design ? btn.design : btn.Data?.JsonExtraProp?.Design\"\n [label]=\"btn.text | bbbTranslate\"\n [glyph]=\"btn.newIcon ? btn.newIcon : btn.Data?.JsonExtraProp?.Icon\"\n (click)=\"onToolClick(btn)\"\n ></fd-button-bar>\n } }\n</ng-template>\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Input,\n OnInit,\n TemplateRef,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\n\nimport { LayoutPanelBaseComponent, LayoutService } from 'barsa-novin-ray-core';\nimport { TabListComponent } from '@fundamental-ngx/core';\n\n@Component({\n selector: 'bsu-ly-tab-page',\n templateUrl: './ly-tab-page.component.html',\n styleUrls: ['./ly-tab-page.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [LayoutService]\n})\nexport class LyTabPageComponent extends LayoutPanelBaseComponent implements OnInit {\n @ViewChild('placeholder', { read: ViewContainerRef }) vcr: ViewContainerRef;\n @Input() renderItems: TemplateRef<any>;\n @Input() tablist: TabListComponent;\n @HostBinding('style.flex') flex;\n @HostBinding('attr.title') title;\n @HostBinding('class') _classes;\n @ViewChild('viewRefTemplate', { read: ViewContainerRef, static: true }) viewRef: ViewContainerRef;\n\n visible: boolean;\n enable: boolean;\n readonly: boolean;\n\n ngOnInit(): void {\n super.ngOnInit();\n const config = this.config;\n config.controlUi = this;\n this.title = config.Title;\n this.flex = config.Bounds.width;\n this._classes = this.config.items.length === 0 ? 'field-nopadding' : 'field-nopadding';\n }\n refreshLayout(): void {\n this.layoutService.refreshLayout();\n }\n}\n","<ng-container *untilInView=\"el\">\n @for (item of config | filterToolbarControl; track item) { @switch (item.xtype) { @case ('Ly.LayoutTabPanel') {\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, name: 'LyLayoutPanelComponent', selector: 'bsu-ly-tab-container' }\n \"\n ></ng-container>\n <!-- <bsu-ly-tab-container [config]=\"item\"></bsu-ly-tab-container> -->\n } @case ('Ly.LayoutPanel') {\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, name: 'LyLayoutPanelComponent', selector: 'bsu-ly-layout-panel' }\n \"\n ></ng-container>\n <!-- <bsu-ly-layout-panel [config]=\"item\"></bsu-ly-layout-panel> -->\n } @case ('Ly.LayoutContainer') {\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n name: 'LyLayoutContainerComponent',\n selector: 'bsu-ly-layout-container'\n }\n \"\n ></ng-container>\n <!-- <bsu-ly-layout-container [config]=\"item\"></bsu-ly-layout-container> -->\n } @case ('Ly.EmptySpace') {\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, name: 'LyEmptySpaceComponent', selector: 'bsu-ly-empty-space' }\n \"\n ></ng-container>\n <!-- <bsu-ly-empty-space [config]=\"item\"></bsu-ly-empty-space> -->\n } @case ('Ly.SimpleLabel') {\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, name: 'LySimpleLabelComponent', selector: 'bsu-ly-simple-label' }\n \"\n ></ng-container>\n <!-- <bsu-ly-simple-label [config]=\"item\"></bsu-ly-simple-label> -->\n } @case ('Ly.LayoutLine') {\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, name: 'LyLineComponent', selector: 'bsu-ly-line' }\n \"\n ></ng-container>\n <!-- <bsu-ly-line [isVertical]=\"item.IsVertical\"></bsu-ly-line> -->\n } @case ('Ly.LayoutJoin') { @if (item.Type === 'HorizontalJoin') {\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n selector: 'bsu-ly-horizontal-layout',\n name: 'LyLayoutHorizontalComponent'\n }\n \"\n ></ng-container>\n <!-- <bsu-ly-horizontal-layout [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-ly-horizontal-layout> -->\n } @else {\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n selector: 'bsu-ly-vertical-layout',\n name: 'LyLayoutVerticalComponent'\n }\n \"\n ></ng-container>\n <!-- <bsu-ly-vertical-layout [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-ly-vertical-layout> -->\n } } @case ('Ly.LayoutControl') {\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n selector: 'bsu-layout-control',\n name: 'LayoutControlComponent'\n }\n \"\n ></ng-container>\n <!-- <bsu-layout-control [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-layout-control> -->\n } } }\n <ng-template #dynamicLayout let-config let-selector=\"selector\" let-name=\"name\">\n <bnrc-dynamic-layout\n [config]=\"config\"\n [selector]=\"selector\"\n [name]=\"name\"\n [module]=\"'BarsaSapUi'\"\n [moduleFileName]=\"'BarsaSapUi'\"\n [maxLabelWidth]=\"(maxLabelWidth$ | async)!!\"\n [flex]=\"isSearchPanel ? 'unset' : config.Bounds.width\"\n [isSearchPanel]=\"isSearchPanel\"\n >\n </bnrc-dynamic-layout>\n </ng-template>\n</ng-container>\n","import {\n Component,\n ChangeDetectionStrategy,\n OnInit,\n SimpleChanges,\n OnChanges,\n ViewChild,\n Output,\n EventEmitter\n} from '@angular/core';\nimport { ToolbarComponent } from '@fundamental-ngx/core';\nimport { FormToolbarBaseComponent } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-form-toolbar',\n templateUrl: './form-toolbar.component.html',\n styleUrls: ['./form-toolbar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormToolbarComponent extends FormToolbarBaseComponent implements OnInit, OnChanges {\n @Output() toolbarClick = new EventEmitter<any>();\n\n @ViewChild('formToolbar') _toolbarComponent: ToolbarComponent;\n ngOnInit(): void {\n super.ngOnInit();\n }\n ngOnChanges(changes: SimpleChanges): void {\n super.ngOnChanges(changes);\n }\n onToolbarClick(btn, menu: any = null): void {\n if (menu) {\n menu.close();\n }\n this.toolbarClick.emit(btn);\n }\n updateCollapsibleItems(): void {\n this._toolbarComponent.updateCollapsibleItems();\n }\n}\n","<fd-toolbar\n #formToolbar\n fdType=\"transparent\"\n [clearBorder]=\"true\"\n [shouldOverflow]=\"deviceSize === 's'\"\n [class.firefox]=\"isFirefox\"\n>\n @for (btn of buttons; track btn; let i = $index; let last = $last; let first = $first) { @if ((btn === '-' ||\n btn.text === '-') && !last && !first && deviceSize !== 's') {\n <fd-toolbar-separator [attr.i]=\"i\" [attr.last]=\"last\" [attr.first]=\"first\"></fd-toolbar-separator>\n } @if (btn.IAmMenu) { @if (btn.isBuiltin) {\n <fd-split-button\n [dir]=\"dirValue === 'rtl' ? 'rtl' : 'ltr'\"\n fd-toolbar-item\n [attr.fdOverflowPriority]=\"'low'\"\n [mainAction]=\"{ mainActionTitle: btn.text, keepMainAction: true }\"\n [fdType]=\"btn.design ? btn.design : btn.Data?.JsonExtraProp?.Design\"\n (primaryButtonClicked)=\"btn.isBuiltin && onToolbarClick(btn)\"\n (click)=\"menu2.open()\"\n >\n <fd-menu #menu2>\n @for (menuItem of btn.menu.items; track menuItem) {\n <li fd-menu-item [disabled]=\"menuItem.disabled\" (click)=\"onToolbarClick(menuItem, menu2)\">\n <div fd-menu-interactive>\n <fd-menu-addon\n position=\"before\"\n [glyph]=\"menuItem.newIcon ? menuItem.newIcon : menuItem.Data?.JsonExtraProp?.Icon\"\n >\n </fd-menu-addon>\n @if (!menuItem.newIcon && menuItem.icon) {\n <img class=\"mr8\" [src]=\"menuItem.icon\" />\n }\n <span fd-menu-title>{{ menuItem.text }}</span>\n </div>\n </li>\n }\n </fd-menu>\n </fd-split-button>\n } @if (!btn.isBuiltin) {\n <button\n fd-button\n fd-toolbar-item\n [fdMenu]=\"true\"\n [glyph]=\"btn.FontIcon\"\n [style.color]=\"btn.IconColor\"\n [fdType]=\"btn.design ? btn.design : btn.Data?.JsonExtraProp?.Design\"\n [label]=\"btn.text | bbbTranslate\"\n [ariaLabel]=\"btn.text | bbbTranslate\"\n [fdMenuTrigger]=\"menu\"\n >\n @if (!btn.Data?.JsonExtraProp?.Icon && !btn.newIcon && btn.icon) {\n <img width=\"16\" [src]=\"btn.icon\" />\n }\n <fd-menu #menu>\n @for (menuItem of btn.menu.items; track menuItem) {\n <li fd-menu-item [disabled]=\"menuItem.disabled\" (click)=\"onToolbarClick(menuItem, menu)\">\n <div fd-menu-interactive>\n @if ( menuItem.newIcon || menuItem.Data?.JsonExtraProp?.Icon || menuItem.FontIcon ||\n menuItem.Data?.CustomUi?.Parameters?.Icon ) {\n <fd-menu-addon\n position=\"before\"\n [ngClass]=\"\n menuItem.Data?.CustomUi?.Parameters?.FdType$Caption\n ? 'fd-button--' + menuItem.Data?.CustomUi?.Parameters?.FdType$Caption\n : ''\n \"\n [style.color]=\"menuItem.IconColor\"\n [glyph]=\"\n menuItem.newIcon ||\n menuItem.Data?.JsonExtraProp?.Icon ||\n menuItem.FontIcon ||\n menuItem.Data?.CustomUi?.Parameters?.Icon\n \"\n >\n </fd-menu-addon>\n } @if ( !( menuItem.newIcon || menuItem.Data?.JsonExtraProp?.Icon ||\n menuItem.Data?.CustomUi?.Parameters?.Icon || menuItem.FontIcon ) && menuItem.icon ) {\n <img class=\"mr8\" [src]=\"menuItem.icon\" />\n }\n <span fd-menu-title>{{ menuItem.text }}</span>\n </div>\n </li>\n }\n </fd-menu>\n </button>\n } } @else { @if (!(btn === '-' || btn.text === '-')) {\n <ng-container\n *ngTemplateOutlet=\"btn.Data?.CustomUi?.Selector ? dynamicBtnTemplate : btnTemplate; context: { $implicit: btn }\"\n ></ng-container>\n <ng-template #btnTemplate let-btn>\n <button\n fd-toolbar-item\n fd-button\n [disabled]=\"btn.disabled\"\n [attr.fdOverflowPriority]=\"btn.priority\"\n [fdType]=\"btn.isWorkflow ? 'positive' : btn.design ? btn.design : btn.Data?.JsonExtraProp?.Design\"\n [glyph]=\"btn.newIcon ? btn.newIcon : btn.Data?.JsonExtraProp?.Icon\"\n (click)=\"onToolbarClick(btn)\"\n >\n @if (!btn.Data?.JsonExtraProp?.Icon && !btn.newIcon && btn.icon) {\n <img width=\"16\" [src]=\"btn.icon\" />\n } @if (btn.text) {\n <span>{{ btn.text }}</span>\n }\n </button>\n </ng-template>\n <ng-template #dynamicBtnTemplate let-btn>\n <bnrc-dynamic-form-toolbaritem\n fd-toolbar-item\n [component]=\"btn.Data.CustomUi\"\n [context]=\"btn\"\n [isEnable]=\"btn.Command?._isEnable\"\n (btnClick)=\"onToolbarClick(btn)\"\n ></bnrc-dynamic-form-toolbaritem>\n </ng-template>\n } } }\n</fd-toolbar>\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\nimport { ContentDensity, DynamicPageComponent, TabPanelComponent } from '@fundamental-ngx/core';\n\nimport {\n BaseComponent,\n BreadCrumbInfo,\n MetaobjectDataModel,\n LayoutSetting,\n isFirefox,\n FormVisibilityStatus\n} from 'barsa-novin-ray-core';\nimport { FormToolbarComponent } from '../form-toolbar/form-toolbar.component';\nimport { FormLayoutCol, GetFormLayoutGrid } from '../constants';\n@Component({\n selector: 'bsu-fundamental-dynamic-form',\n templateUrl: './fundamental-dynamic-form.component.html',\n styleUrls: ['./fundamental-dynamic-form.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FundamentalDynamicFormComponent extends BaseComponent implements OnInit, OnChanges {\n @ViewChild(DynamicPageComponent, { static: true }) _dynamicPageComponent: DynamicPageComponent;\n @ViewChild('formToolbar') _toolbarComponent: FormToolbarComponent;\n @Output() toolbarClick = new EventEmitter<any>();\n @Output() workflowChoiceClick = new EventEmitter<any>();\n /* eslint-disable */\n @Output() close = new EventEmitter();\n @Output() fullscreenRequest = new EventEmitter();\n @Input() breadCrumbs: BreadCrumbInfo[] | null;\n @Input() toolbarVisible: boolean;\n @Input() toolbarItems: any[];\n @Input() layoutActions: any[];\n @Input() layout94;\n @Input() parameters: MetaobjectDataModel;\n @Input() workflowPanelUi: any;\n @Input() context: any;\n @Input() title: string;\n @Input() subtitle: string;\n @Input() description: string;\n @Input() facetList: any[];\n @Input() fieldDict: { [key: string]: string } | undefined;\n @Input() removeHeaderBorder: boolean;\n @Input() removeContentPadding: boolean;\n @Input() isMobile: boolean;\n @Input() mo: MetaobjectDataModel;\n @Input() avatar: any;\n @Input() rtl: boolean;\n @Input() hideTitle = true;\n @Input() hideClose: boolean;\n @Input() hidePin: boolean;\n @Input() fullscreen: boolean;\n @Input() mask: boolean;\n @Input() canSend: boolean;\n @Input() contentIsPage: boolean;\n @Input() contentDensity: ContentDensity;\n @Input() deviceSize: 's' | 'm' | 'l' | 'xl';\n @Input() dirValue: 'rtl' | 'ltr';\n @Input() landscape: boolean;\n @Input() standalone: boolean;\n @Input() modernTabs: LayoutSetting[];\n @Input() formVisibilityStatus: FormVisibilityStatus;\n @Input() layoutGridCol: number;\n @Input() colLg: number;\n @Input() colXl: number;\n @Input() colMd: number;\n @ViewChild('titleRef', { read: ViewContainerRef }) titleRef: ViewContainerRef;\n @ViewChild('headerAvatar') headerAvatarRef: TemplateRef<any>;\n @ViewChild('closeForm', { static: true }) closeFormTemplate: TemplateRef<any>;\n workflowButtons: any[];\n selectedTab: any;\n\n canFullscreen: boolean;\n toolbarShouldOverflow = false;\n workflowInfoText: string;\n workflowButtonsComboMode: boolean;\n isFirefox: boolean;\n layout1: FormLayoutCol;\n layout2: FormLayoutCol;\n constructor(public el: ElementRef) {\n super();\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.isFirefox = isFirefox();\n this.facetList ||= [];\n this.workflowInfoText = this.workflowPanelUi?.Setting?.Workflow?.InfoText;\n const workflowButtons = this.workflowPanelUi?.buttonList ?? [];\n this.workflowButtonsComboMode = this.workflowPanelUi?.Setting?.Workflow?.ButtonsComboMode;\n this.workflowButtons = workflowButtons;\n\n this.canFullscreen = this.parameters?.CanFullscreen === true;\n const toolbarButtonsCount = this.toolbarItems.filter((c) => typeof c !== 'string' && c.text !== '-').length;\n if (this.deviceSize === 's' && toolbarButtonsCount > 1) {\n this.toolbarShouldOverflow = true;\n } else {\n if (toolbarButtonsCount > 5) {\n this.toolbarShouldOverflow = true;\n }\n }\n this._hanldeLayout();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const { formVisibilityStatus } = changes;\n if (\n formVisibilityStatus &&\n !formVisibilityStatus.firstChange &&\n formVisibilityStatus.currentValue === 'Visible'\n ) {\n this._dynamicPageComponent?.refreshSize();\n this._toolbarComponent?.updateCollapsibleItems();\n }\n }\n\n onWfChoiceSelect(wfChoice): void {\n this.workflowChoiceClick.emit(wfChoice);\n }\n onTabChanged(tab: TabPanelComponent): void {\n this.selectedTab = tab.title;\n }\n getNumber(val): number {\n return Number(val);\n }\n onDynamicComponentEvents(e) {}\n _hanldeLayout(): void {\n this.layout1 = GetFormLayoutGrid(true, this.colXl, this.colLg, this.colMd);\n this.layout2 = GetFormLayoutGrid(false, this.colXl, this.colLg, this.colMd);\n }\n}\n","@if (mask) {\n<div style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%\">\n <bsu-mask size=\"m\"></bsu-mask>\n</div>\n}\n\n<fd-dynamic-page\n [size]=\"isMobile ? 'small' : 'large'\"\n [class.header-border]=\"!removeHeaderBorder\"\n [attr.isMobile]=\"isMobile\"\n [attr.contentIsPage]=\"contentIsPage\"\n mobile\n formClose\n [isMobile]=\"isMobile\"\n>\n <fd-dynamic-page-header\n [class.simple-title]=\"!description\"\n [title]=\"(hideTitle === true ? '' : title) | bbbTranslate\"\n [subtitle]=\"subtitle | bbbTranslate\"\n [class.p-b0]=\"removeContentPadding\"\n [class.hide-title]=\"hideTitle === true && hideClose === true\"\n #titleRef\n >\n @if (!isMobile) {\n <fd-breadcrumb>\n @if (breadCrumbs && !isMobile) { @for (breadCrumb of breadCrumbs | slice: 0:breadCrumbs.length; track\n breadCrumb; let i = $index; let last = $last) {\n <fd-breadcrumb-item>\n <bsu-breadcrumb\n [index]=\"i\"\n [isLast]=\"last\"\n [breadCrumb]=\"breadCrumb\"\n [allBreadCrumb]=\"breadCrumbs\"\n ></bsu-breadcrumb>\n </fd-breadcrumb-item>\n } }\n </fd-breadcrumb>\n }\n <fd-dynamic-page-global-actions>\n <!-- global actions -->\n\n <fd-toolbar [shouldOverflow]=\"true\" Style=\"display:none\"> </fd-toolbar>\n <!-- added this because in mobile landscape toolbar disapper -->\n @if (toolbarVisible) {\n <bsu-form-toolbar\n [deviceSize]=\"deviceSize\"\n [buttons]=\"toolbarItems\"\n [dirValue]=\"dirValue\"\n [isFirefox]=\"isFirefox\"\n (toolbarClick)=\"toolbarClick.emit($event)\"\n #formToolbar\n ></bsu-form-toolbar>\n }\n <!-- <fd-toolbar\n *ngIf=\"toolbarVisible\"\n #formToolbar\n fdType=\"transparent\"\n [clearBorder]=\"true\"\n [shouldOverflow]=\"deviceSize === 's'\"\n [class.firefox]=\"isFirefox\"\n >\n <ng-container *ngFor=\"let btn of toolbarItems; let i = index; let last = last; let first = first\">\n <fd-toolbar-separator\n [attr.i]=\"i\"\n [attr.last]=\"last\"\n [attr.first]=\"first\"\n *ngIf=\"(btn === '-' || btn.text === '-') && !last && !first\"\n ></fd-toolbar-separator>\n <ng-container *ngIf=\"btn.IAmMenu; else simpleButton\">\n <fd-split-button\n *ngIf=\"btn.isBuiltin\"\n [dir]=\"dirValue\"\n fd-toolbar-item\n [attr.fdOverflowPriority]=\"'low'\"\n [mainAction]=\"{ mainActionTitle: btn.text, keepMainAction: true }\"\n [fdType]=\"btn.design ? btn.design : btn.Data?.JsonExtraProp?.Design\"\n (primaryButtonClicked)=\"btn.isBuiltin && onToolbarClick(btn)\"\n (click)=\"menu2.open()\"\n >\n <fd-menu #menu2>\n <li\n fd-menu-item\n *ngFor=\"let menuItem of btn.menu.items\"\n [disabled]=\"menuItem.disabled\"\n (click)=\"onToolbarClick(menuItem, menu2)\"\n >\n <div fd-menu-interactive>\n <fd-menu-addon\n position=\"before\"\n [glyph]=\"\n menuItem.newIcon ? menuItem.newIcon : menuItem.Data?.JsonExtraProp?.Icon\n \"\n >\n </fd-menu-addon>\n <img\n class=\"mr8\"\n *ngIf=\"!menuItem.newIcon && menuItem.icon\"\n [src]=\"menuItem.icon\"\n />\n <span fd-menu-title>{{ menuItem.text }}</span>\n </div>\n </li>\n </fd-menu>\n </fd-split-button>\n <button\n *ngIf=\"!btn.isBuiltin\"\n fd-button\n fd-toolbar-item\n [fdMenu]=\"true\"\n [glyph]=\"btn.FontIcon\"\n [style.color]=\"btn.IconColor\"\n [fdType]=\"btn.design ? btn.design : btn.Data?.JsonExtraProp?.Design\"\n [label]=\"btn.text | bbbTranslate\"\n [ariaLabel]=\"btn.text | bbbTranslate\"\n [fdMenuTrigger]=\"menu\"\n >\n <img\n *ngIf=\"!btn.Data?.JsonExtraProp?.Icon && !btn.newIcon && btn.icon\"\n width=\"16\"\n [src]=\"btn.icon\"\n />\n <fd-menu #menu>\n <li\n fd-menu-item\n *ngFor=\"let menuItem of btn.menu.items\"\n [disabled]=\"menuItem.disabled\"\n (click)=\"onToolbarClick(menuItem, menu)\"\n >\n <div fd-menu-interactive>\n <fd-menu-addon\n *ngIf=\"\n menuItem.newIcon ||\n menuItem.Data?.JsonExtraProp?.Icon ||\n menuItem.FontIcon ||\n menuItem.Data?.CustomUi?.Parameters?.Icon\n \"\n position=\"before\"\n [ngClass]=\"\n menuItem.Data?.CustomUi?.Parameters?.FdType$Caption\n ? 'fd-button--' +\n menuItem.Data?.CustomUi?.Parameters?.FdType$Caption\n : ''\n \"\n [style.color]=\"menuItem.IconColor\"\n [glyph]=\"\n menuItem.newIcon ||\n menuItem.Data?.JsonExtraProp?.Icon ||\n menuItem.FontIcon ||\n menuItem.Data?.CustomUi?.Parameters?.Icon\n \"\n >\n </fd-menu-addon>\n <img\n class=\"mr8\"\n *ngIf=\"\n !(\n menuItem.newIcon ||\n menuItem.Data?.JsonExtraProp?.Icon ||\n menuItem.Data?.CustomUi?.Parameters?.Icon ||\n menuItem.FontIcon\n ) && menuItem.icon\n \"\n [src]=\"menuItem.icon\"\n />\n <span fd-menu-title>{{ menuItem.text }}</span>\n </div>\n </li>\n </fd-menu>\n </button>\n </ng-container>\n <ng-template #simpleButton>\n <ng-container *ngIf=\"!(btn === '-' || btn.text === '-')\">\n <ng-container\n *ngTemplateOutlet=\"\n btn.Data?.CustomUi?.Selector ? dynamicBtnTemplate : btnTemplate;\n context: { $implicit: btn }\n \"\n ></ng-container>\n <ng-template #btnTemplate let-btn>\n <button\n fd-toolbar-item\n fd-button\n [disabled]=\"btn.disabled\"\n [attr.fdOverflowPriority]=\"btn.priority\"\n [fdType]=\"\n btn.isWorkflow\n ? 'positive'\n : btn.design\n ? btn.design\n : btn.Data?.JsonExtraProp?.Design\n \"\n [glyph]=\"btn.newIcon ? btn.newIcon : btn.Data?.JsonExtraProp?.Icon\"\n (click)=\"onToolbarClick(btn)\"\n >\n <img\n *ngIf=\"!btn.Data?.JsonExtraProp?.Icon && !btn.newIcon && btn.icon\"\n width=\"16\"\n [src]=\"btn.icon\"\n />\n <span *ngIf=\"btn.text\">{{ btn.text }}</span>\n </button>\n </ng-template>\n <ng-template #dynamicBtnTemplate let-btn>\n <bnrc-dynamic-form-toolbaritem\n fd-toolbar-item\n [component]=\"btn.Data.CustomUi\"\n [context]=\"btn\"\n [isEnable]=\"btn.Command?._isEnable\"\n (btnClick)=\"onToolbarClick(btn)\"\n ></bnrc-dynamic-form-toolbaritem>\n </ng-template>\n </ng-container>\n </ng-template>\n </ng-container>\n </fd-toolbar> -->\n <!-- <bsu-ui-form-panel-toolbar\n [buttons]=\"toolbarItems | tlbButtons: 'inFooter':false\"\n [size]=\"size\"\n [deviceSize]=\"deviceSize$ | async\"\n [visible]=\"toolbarVisible\"\n (toolClick)=\"onToolbarClick($event)\"\n ></bsu-ui-form-panel-toolbar> -->\n </fd-dynamic-page-global-actions>\n <fd-dynamic-page-layout-actions>\n <!-- layout actions -->\n <!-- <div [formActions]=\"this.toolbar\"></div> -->\n @if (!hideClose) {\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\n @if (deviceSize !== 's') {\n <fd-toolbar-separator></fd-toolbar-separator>\n }\n <ng-container *ngTemplateOutlet=\"fullscreenForm\"></ng-container>\n <ng-container *ngTemplateOutlet=\"closeForm\"></ng-container>\n </fd-toolbar>\n }\n </fd-dynamic-page-layout-actions>\n </fd-dynamic-page-header>\n @if (description || facetList.length > 0 || workflowInfoText || avatar) {\n <fd-dynamic-page-subheader\n [class.header-no-description]=\"!(description || workflowInfoText)\"\n [class.no-pin]=\"hidePin\"\n [collapsible]=\"!!workflowInfoText || (facetList && facetList.length > 0)\"\n [pinnable]=\"true\"\n [collapsed]=\"(!facetList || facetList.length === 0) && !workflowInfoText\"\n >\n @if (workflowInfoText) {\n <fd-message-strip [type]=\"'warning'\" [dismissible]=\"false\">\n {{ workflowInfoText | bbbTranslate }}\n </fd-message-strip>\n }\n <fd-facet-group ariaLabel=\"Facet Group\">\n @if (avatar) {\n <fd-facet type=\"image\">\n <fd-avatar\n title=\"avatar\"\n [glyph]=\"avatar\"\n [image]=\"!avatar?.FileId ? null : (avatar?.FileId | picFieldSrc: 'ID':null)\"\n [size]=\"deviceSize === 'xl' ? 'l' : deviceSize\"\n [transparent]=\"true\"\n ></fd-avatar>\n <!-- <div\n class=\"fd-avatar fd-avatar--circle\"\n [class]=\"'fd-avatar--' + (deviceSize === 'xl' ? 'l' : deviceSize)\"\n >\n <i *ngIf=\"avatar\" class=\"fd-avatar__icon\" [class]=\"avatar | sapFontClass\" role=\"presentation\"> </i>\n </div> -->\n </fd-facet>\n } @for (facet of facetList; track facet) {\n <fd-facet\n [type]=\"facet.type\"\n [facetTitle]=\"facet.mo.Title | bbbTranslate\"\n [subtitle]=\"facet.mo.SubTitle | facetValue | bbbTranslate\"\n >\n @for (item of facet.mo.ItemList?.MoDataList; track item) {\n <fd-facet-content>\n <label fd-form-label [colon]=\"true\" for=\"form-value-10\">{{ item.Title }}</label>\n <fd-text [text]=\"item.Value | facetValue\" id=\"form-value-10\"></fd-text>\n </fd-facet-content>\n } @if ( !facet.mo.IsNumber && facet.type === 'key-value' && !facet.mo.Component?.Selector) {\n <span\n fd-object-status\n [status]=\"facet.mo.Status | facetValue\"\n [label]=\"facet.mo.Component?.Selector ? '' : (facet.mo.Text | facetValue)\"\n [large]=\"facet.mo.IsLarge\"\n [title]=\"facet.mo.Text | facetValue\"\n [aria-label]=\"facet.mo.Text | facetValue\"\n [glyph]=\"facet.mo.Icon\"\n >\n </span>\n } @else {\n <bnrc-dynamic-component\n [class]=\"'fd-object-status--' + facet.mo.Status | facetValue\"\n [class.fd-object-status--large]=\"facet.mo.IsLarge\"\n [component]=\"facet.mo.Component\"\n [value]=\"facet.mo.Text\"\n ></bnrc-dynamic-component>\n } @if (facet.mo.IsNumber && facet.type === 'key-value') {\n <fd-object-number\n [number]=\"facet.mo.Text | facetValue\"\n [large]=\"facet.mo.IsLarge\"\n [unit]=\"facet.mo.Unit | facetValue\"\n [status]=\"facet.mo.Status | facetValue\"\n [decimal]=\"facet.mo.DecimalValue | facetValue\"\n ></fd-object-number>\n } @if (facet.type === 'plain-text') {\n <div [style.width.px]=\"facet.mo.Width\" style=\"white-space: normal\">\n <fd-text [text]=\"facet.mo.Text | facetValue\" hyphenation=\"auto\"></fd-text>\n </div>\n } @if (facet.type === 'rating-indicator') {\n <fd-facet-content>\n <fd-rating-indicator\n style=\"pointer-events: none\"\n size=\"md\"\n [dynamicTextIndicator]=\"facet.mo.Footer\"\n [displayMode]=\"true\"\n [value]=\"facet.mo | facetValue: facet.type\"\n ></fd-rating-indicator>\n </fd-facet-content>\n } @if (facet.type === 'progress') {\n <div [style.width]=\"'10rem'\">\n <!-- <span fd-form-label>{{ facet.mo.Subtitle | facetValue }}</span> -->\n <fd-progress-indicator\n style=\"width: 10r em\"\n [state]=\"facet.mo.State\"\n [valueText]=\"(facet.mo | facetValue: facet.type) + ' از 10 مرحله'\"\n [valueNow]=\"facet.mo | facetValue: facet.type\"\n [valueMax]=\"10\"\n [unit]=\"'مرحله'\"\n ></fd-progress-indicator>\n <!-- <ui5-progress-indicator\n style=\"width: 10rem\"\n [valueState]=\"facet.mo.State\"\n [value]=\"getNumber(facet.mo.Value)\"\n ></ui5-progress-indicator> -->\n </div>\n } @if (facet.type === 'microcharts') {\n <div>\n <label wrap>in progress ...</label>\n </div>\n }\n </fd-facet>\n }\n </fd-facet-group>\n @if (description) {\n <span>{{ description }}</span>\n }\n </fd-dynamic-page-subheader>\n } @if (!contentIsPage && modernTabs && modernTabs.length > 0 && !parameters?.LayoutComponent) {\n <fd-tab-list\n (selectedTabChange)=\"onTabChanged($event)\"\n [collapseOverflow]=\"true\"\n [stackContent]=\"false\"\n maxContentHeight=\"auto\"\n [expandOverflowText]=\"'More' | bbbTranslate\"\n #tablist\n >\n @for (tab of modernTabs; track tab; let i = $index) {\n <fd-tab [title]=\"tab.Title!! | bbbTranslate\">\n <fd-dynamic-page-content [id]=\"tab.id\">\n <fd-layout-grid>\n <div fdLayoutGridRow>\n <div\n [fdLayoutGridCol]=\"0\"\n [colMd]=\"layout1.colMd\"\n [colLg]=\"layout1.colLg\"\n [colXl]=\"layout1.colXl\"\n ></div>\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"colMd\" [colLg]=\"colLg\" [colXl]=\"colXl\">\n <bsu-ly-tab-page [config]=\"tab\" [tablist]=\"tablist\"></bsu-ly-tab-page>\n </div>\n <div\n [fdLayoutGridCol]=\"0\"\n [colMd]=\"layout2.colMd\"\n [colLg]=\"layout2.colLg\"\n [colXl]=\"layout2.colXl\"\n ></div>\n </div>\n </fd-layout-grid>\n </fd-dynamic-page-content>\n </fd-tab>\n }\n </fd-tab-list>\n } @else { @if (!contentIsPage) {\n <fd-tab-list\n [collapseOverflow]=\"true\"\n [stackContent]=\"false\"\n maxContentHeight=\"auto\"\n #tablist\n class=\"extra-hide-tabs\"\n >\n <fd-tab title=\"\">\n <fd-dynamic-page-content>\n <fd-layout-grid style=\"min-height: 100%\">\n <div fdLayoutGridRow>\n <div\n style=\"padding: 0\"\n [fdLayoutGridCol]=\"0\"\n [colMd]=\"layout1.colMd\"\n [colLg]=\"layout1.colLg\"\n [colXl]=\"layout1.colXl\"\n ></div>\n <div\n style=\"min-height: 100%\"\n [fdLayoutGridCol]=\"12\"\n [colMd]=\"colMd\"\n [colLg]=\"colLg\"\n [colXl]=\"colXl\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n parameters?.LayoutComponent ? renderLayoutComponent : renderDefaultLayout;\n context: {\n $implicit: parameters?.LayoutComponent,\n layout94: layout94\n }\n \"\n ></ng-container>\n </div>\n <div\n style=\"padding: 0\"\n [fdLayoutGridCol]=\"0\"\n [colMd]=\"layout2.colMd\"\n [colLg]=\"layout2.colLg\"\n [colXl]=\"layout2.colXl\"\n ></div>\n </div>\n </fd-layout-grid>\n </fd-dynamic-page-content>\n </fd-tab>\n </fd-tab-list>\n } }\n <fd-dynamic-page-footer>\n <bsu-layout-actions\n [canSend]=\"canSend\"\n [buttons]=\"layoutActions\"\n [isMobile]=\"isMobile\"\n [landscape]=\"landscape\"\n [standalone]=\"standalone\"\n [workflowButtons]=\"workflowButtons\"\n [workflowButtonsComboMode]=\"workflowButtonsComboMode\"\n [deviceSize]=\"deviceSize\"\n [rtl]=\"rtl\"\n (toolClick)=\"toolbarClick.emit($event)\"\n (workflowChoiceSelect)=\"onWfChoiceSelect($event)\"\n >\n </bsu-layout-actions>\n </fd-dynamic-page-footer>\n</fd-dynamic-page>\n@if (contentIsPage) {\n<ng-container\n *ngTemplateOutlet=\"\n renderLayoutComponent;\n context: {\n $implicit: parameters?.LayoutComponent,\n layout94: layout94\n }\n \"\n></ng-container>\n}\n<ng-template #renderDefaultLayout let-layout94=\"layout94\">\n <bsu-ly-layout-container-of-root\n [config]=\"layout94\"\n [isPanel]=\"false\"\n [isRoot]=\"true\"\n ></bsu-ly-layout-container-of-root>\n</ng-template>\n<ng-template #renderLayoutComponent let-component let-layout94=\"layout94\">\n <bnrc-dynamic-form-component\n [component]=\"component\"\n [removeContentPadding]=\"removeContentPadding\"\n [breadCrumbs]=\"breadCrumbs\"\n [description]=\"description\"\n [title]=\"title\"\n [subtitle]=\"subtitle\"\n [toolbarItems]=\"toolbarItems\"\n [layoutActions]=\"layoutActions\"\n [facetList]=\"facetList\"\n [settings]=\"component.Settings\"\n [workflowPanelUi]=\"workflowPanelUi\"\n [isMobile]=\"isMobile\"\n [mo]=\"mo\"\n [layout94]=\"layout94\"\n [context]=\"context\"\n [rtl]=\"rtl\"\n [fieldDict]=\"fieldDict\"\n [mask]=\"mask\"\n [dirValue]=\"dirValue\"\n [deviceSize]=\"deviceSize\"\n [contentDensity]=\"contentDensity\"\n [modernTabs]=\"modernTabs\"\n [avatar]=\"avatar\"\n (events)=\"onDynamicComponentEvents($event)\"\n ></bnrc-dynamic-form-component>\n</ng-template>\n<ng-template #closeForm>\n <button fd-button fdType=\"transparent\" aria-label=\"Close\" (click)=\"close.emit()\" title=\"Close\">\n <i [class]=\"'sap-icon--' + (isMobile ? (rtl ? 'arrow-right' : 'arrow-left') : 'decline')\"></i>\n </button>\n</ng-template>\n<ng-template #fullscreenForm>\n @if (canFullscreen) {\n <button\n fd-button\n fdType=\"transparent\"\n [attr.aria-label]=\"fullscreen ? 'exit fullscreen' : 'fullscreen'\"\n (click)=\"fullscreenRequest.emit()\"\n [title]=\"fullscreen ? 'exit fullscreen' : 'fullscreen'\"\n [glyph]=\"fullscreen ? 'exitfullscreen' : 'resize'\"\n ></button>\n }\n</ng-template>\n","import { ChangeDetectionStrategy, Component, HostListener, Input, OnInit, TemplateRef, ViewChild } from '@angular/core';\r\nimport { BehaviorSubject, Subject } from 'rxjs';\r\nimport { debounceTime, map, takeUntil, tap } from 'rxjs/operators';\r\nimport { DialogRef, MultiInputComponent } from '@fundamental-ngx/core';\r\nimport { BarsaApi, MetaobjectDataModel, ReportModel } from 'barsa-novin-ray-core';\r\nimport { DeviceInfoFieldBaseComponent } from '../device-info-field-base';\r\n\r\ninterface LinearItemMo extends MetaobjectDataModel {\r\n Data: MetaobjectDataModel;\r\n Id: string;\r\n Text: string;\r\n}\r\n\r\n@Component({\r\n selector: 'bsu-ui-linear-list-container-with-button',\r\n templateUrl: './ui-linear-list-container-with-button.component.html',\r\n styleUrls: ['./ui-linear-list-container-with-button.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class UiLinearListContainerWithButtonComponent extends DeviceInfoFieldBaseComponent implements OnInit {\r\n @ViewChild(MultiInputComponent, { static: true })\r\n multiInputComponent: MultiInputComponent;\r\n @ViewChild('container', { read: TemplateRef })\r\n dialogContainer: TemplateRef<any>;\r\n @Input() set UlvUi(val: { Setting: ReportModel }) {\r\n if (val) {\r\n const moList = val.Setting.Data.MoDataList;\r\n this.dropDownValuesSource.next(moList);\r\n } else {\r\n const moList = [];\r\n this.dropDownValuesSource.next(moList);\r\n }\r\n this._ulvUi = val;\r\n }\r\n mobile = false;\r\n dropDownValuesSource = new BehaviorSubject<MetaobjectDataModel[]>([]);\r\n dropDownValues$ = this.dropDownValuesSource.asObservable().pipe(\r\n map((moList) => {\r\n const t = moList.filter((c) => this.value.find((d) => d.Id === c.Id) === undefined);\r\n return t;\r\n }),\r\n tap(\r\n (moList) =>\r\n (this.firstItem = {\r\n $Caption: moList[0]?.$Caption,\r\n Id: moList[0]?.Id,\r\n Text: moList[0]?.$Caption,\r\n Data: moList[0]\r\n })\r\n ),\r\n map((molist) => molist.map((c) => c.Id))\r\n );\r\n selected: any[];\r\n report = null;\r\n term = '';\r\n termSource = new Subject<string>();\r\n originalMoList: MetaobjectDataModel[];\r\n value: MetaobjectDataModel[];\r\n rtl = BarsaApi.LoginFormData.IsRtl;\r\n dialogRef: DialogRef;\r\n dialogOpen: boolean;\r\n firstItem: LinearItemMo;\r\n idsOfMo: string[];\r\n parameters: UiLinearListContainerSetting;\r\n private showUlvSource = new Subject<void>();\r\n private _ulvUi: { [key: string]: any; Setting: ReportModel };\r\n private _triggerClicked: boolean;\r\n @HostListener('keydown.enter', ['$event'])\r\n onKeyEnter(): void {\r\n if (this.term) {\r\n if (!this.dropDownValuesSource.getValue().length) {\r\n this.fireContextEvent('RequestCommand', this.context, 'New');\r\n }\r\n }\r\n }\r\n @HostListener('keydown.arrowdown', ['$event'])\r\n onKeyDown(): void {\r\n if (!this.term && this.hidden()) {\r\n this.context.fireEvent('RequestFilter2');\r\n }\r\n }\r\n @HostListener('keydown.esc', ['$event'])\r\n onKeyEsc(): void {\r\n this._changeDropDownOpenState(false);\r\n }\r\n ngOnInit(): void {\r\n this.showUlvSource\r\n .asObservable()\r\n .pipe(takeUntil(this._onDestroy$))\r\n .subscribe(() => this._openUlv());\r\n super.ngOnInit();\r\n this.report = this.Setting.Report;\r\n this.originalMoList = [...this.value];\r\n this.termSource\r\n .asObservable()\r\n .pipe(\r\n takeUntil(this._onDestroy$),\r\n debounceTime(200),\r\n tap((term) => {\r\n this.term = term;\r\n if (!term) {\r\n this.dropDownValuesSource.next([]);\r\n } else {\r\n this.context.fireEvent('RequestFilter', term);\r\n }\r\n })\r\n )\r\n .subscribe();\r\n // this.multiInputComponent.selected = this.originalMoList;\r\n this._setIdsOMoByValue();\r\n\r\n // const oldHanlde = this.multiInputComponent._addOnButtonClicked;\r\n this.multiInputComponent._addOnButtonClicked = () => {\r\n this._handleAddonButtonClicked();\r\n };\r\n }\r\n valueFn(e: string): string {\r\n return e;\r\n }\r\n\r\n onSearchTermChange(term: string): void {\r\n this.termSource.next(term);\r\n }\r\n onOpenReport(): void {\r\n this._triggerClicked = true;\r\n this.termSource.next('');\r\n this.context.fireEvent('TriggerClick', this.context);\r\n }\r\n onSelectedChange(arr: string[]): void {\r\n this._selectedChanged(arr);\r\n }\r\n onRemoveSelected(mo): void {\r\n this._removeFromSelected(mo);\r\n this._ulvUi.viewerControl.DeSelectRecords([mo]);\r\n // this._ulvUi.viewerControl.fireEvent('rowdeselect', this._ulvUi.viewerControl, -1, mo);\r\n }\r\n onDismiss(): void {\r\n this._closeDialog();\r\n }\r\n onOk(): void {\r\n // this._selectedChanged(this.dialogRef.data.selectedItems);\r\n this._closeDialog();\r\n }\r\n onClear(): void {\r\n this.dialogRef.data.ulvUi.viewerControl.ClearAllSelected();\r\n this.dialogRef.data.selectedItems = [];\r\n }\r\n protected _handleAddonButtonClicked(): void {\r\n if (this.parameters?.ExecuteAddonButton) {\r\n this._executeCommand();\r\n return;\r\n }\r\n this.onOpenReport();\r\n }\r\n protected _executeCommand(): void {\r\n const { AddonButtonCommand } = this.parameters;\r\n this.context.fireEvent('AddonButtonClicked', this.context, AddonButtonCommand);\r\n }\r\n _trackBySelectedFn(_index: number, item: MetaobjectDataModel): number | string {\r\n return item.Id;\r\n }\r\n displayFunc = (id: string): string => {\r\n const allItems = [...this.value, ...this.dropDownValuesSource.getValue()];\r\n const existInValue = allItems.find((c) => c.Id === id);\r\n if (existInValue) {\r\n return existInValue.Text ?? existInValue.$Caption;\r\n }\r\n return '';\r\n };\r\n _setValue(value: any): void {\r\n this.originalMoList = [...value];\r\n this._setIdsOMoByValue();\r\n super._setValue(value);\r\n }\r\n /* eslint-disable */\r\n @Input() GetTextItemValue = () => this.term;\r\n /* eslint-disable */\r\n @Input() show = () => {\r\n this._openUlv();\r\n };\r\n /* eslint-disable */\r\n @Input() hide = () => {\r\n this._changeDropDownOpenState(false);\r\n };\r\n /* eslint-disable */\r\n @Input() hidden = () => {\r\n return this.multiInputComponent && !this.multiInputComponent.open && !this.dialogOpen;\r\n };\r\n @Input() GetSelectionData = () => {\r\n return this.multiInputComponent.selected;\r\n /* eslint-disable */\r\n };\r\n private _setIdsOMoByValue() {\r\n this.idsOfMo = this.originalMoList.map((c) => c.Id);\r\n }\r\n\r\n private _changeDropDownOpenState(val: boolean): void {\r\n if (this.multiInputComponent) {\r\n this.multiInputComponent.open = val;\r\n }\r\n }\r\n private _openUlv(): void {\r\n if (this.report && !this.term && this._triggerClicked) {\r\n if (this.dialogOpen || !this._ulvUi) {\r\n return;\r\n }\r\n const view: any = this._ulvUi.Setting.View;\r\n view.IsCheckList = true;\r\n this.dialogOpen = true;\r\n const deviceSize = this._portalService.deviceSize;\r\n const largeScreen = deviceSize === 'l' || deviceSize === 'xl';\r\n const dialogConfig: { [key: string]: any } = {\r\n data: {\r\n ulvUi: this._ulvUi,\r\n title: this._bbbPipe.transform('Select'),\r\n selectedItems: [...this.originalMoList]\r\n },\r\n escKeyCloseable: false,\r\n dialogPanelClass: `ulv-selection-form-dialog ${deviceSize ? 'ulv-selection-form-dialog-mobile' : ''}`\r\n };\r\n if (largeScreen) {\r\n dialogConfig.width = '60vw';\r\n dialogConfig.height = '60vh';\r\n dialogConfig.minWidth = '600';\r\n dialogConfig.minHeight = '360';\r\n } else {\r\n dialogConfig.mobile = true;\r\n dialogConfig.fullScreen = true;\r\n }\r\n if (this._ulvUi?.Setting?.Extra?.DefaultCommandsAccess?.View) {\r\n this._ulvUi.Setting.Extra.DefaultCommandsAccess.View = false;\r\n }\r\n const dataSetting = this._ulvUi.Setting.Data;\r\n if (largeScreen && dataSetting) {\r\n if (dataSetting.Paging?.HasPaging) {\r\n dialogConfig.height = '100vh';\r\n } else {\r\n dialogConfig.height = dataSetting.MoDataList.length > 10 ? '100vh' : '60vh';\r\n }\r\n }\r\n const dialogRef = this._dialogService.open(this.dialogContainer, dialogConfig);\r\n dialogRef.afterClosed.subscribe((value) => {\r\n this._dialogClose(this.dialogRef.data.selectedItems);\r\n });\r\n if (!this._ulvUi.$RegisterEvent) {\r\n this._ulvUi.$RegisterEvent = true;\r\n this._ulvUi.viewerControl.on({\r\n afterrender: () => {\r\n this._ulvUi.viewerControl.readyToSelect = true;\r\n this.dialogRef.data.selectedItems = [];\r\n this._ulvUi.viewerControl.ClearAllSelected();\r\n this._ulvUi.viewerControl.selectRecords(this.originalMoList);\r\n this.dialogRef.data.selectedItems = [...this.originalMoList];\r\n },\r\n rowSelectAll: (context) => {\r\n context.Setting.Data.MoDataList.forEach((mo) => {\r\n this._addMoToSelected(mo);\r\n });\r\n },\r\n rowDeselectAll: (context) => {\r\n context.Setting.Data.MoDataList.forEach((mo) => {\r\n this._removeFromSelected(mo);\r\n });\r\n },\r\n rowselect: (sender, index, mo) => {\r\n //if (this.originalMoList.length > 0) {\r\n // قبل از رندر شدن این اتفاق می افتاد\r\n this._addMoToSelected(mo);\r\n //}\r\n },\r\n rowdeselect: (sender, index, mo) => {\r\n this._removeFromSelected(mo);\r\n }\r\n });\r\n }\r\n this.dialogRef = dialogRef;\r\n } else {\r\n this._changeDropDownOpenState(true);\r\n }\r\n }\r\n private _closeDialog(): void {\r\n this._triggerClicked = false;\r\n this.dialogOpen = false;\r\n this.dialogRef.close();\r\n }\r\n private _addMoToSelected(mo: any): void {\r\n if (!mo) {\r\n return;\r\n }\r\n const selected = this.dialogRef.data.selectedItems;\r\n if (!selected.find((c) => c.Id === mo.Id)) {\r\n selected.push({\r\n Id: mo.Id,\r\n Text: mo.$Caption,\r\n Data: mo,\r\n $Caption: mo.$Caption\r\n });\r\n }\r\n }\r\n private _removeFromSelected(mo: any): void {\r\n const selected = this.dialogRef.data.selectedItems.filter((c) => c.Id !== mo.Id);\r\n this.dialogRef.data.selectedItems = selected;\r\n }\r\n private _dialogClose(moList: MetaobjectDataModel[]): void {\r\n this.dropDownValuesSource.next(moList);\r\n this._selectedChanged(moList.map((c) => c.Id));\r\n }\r\n private _selectedChanged(arr: string[]): void {\r\n const deletedItems: MetaobjectDataModel[] = [];\r\n const addedItems: MetaobjectDataModel[] = [];\r\n const value = [...this.value];\r\n value.forEach((mo) => {\r\n const selectedMo = arr.find((moId) => moId === mo.Id);\r\n if (!selectedMo) {\r\n mo.Data.$IsChecked = false;\r\n deletedItems.push(mo.Data);\r\n }\r\n });\r\n arr.forEach((moId) => {\r\n const selectedMo = this.originalMoList.find((c) => c.Id === moId);\r\n if (!selectedMo) {\r\n const mo2 = this.dropDownValuesSource.getValue().find((c) => c.Id === moId);\r\n if (mo2) {\r\n mo2.$IsChecked = true;\r\n addedItems.push(mo2);\r\n }\r\n }\r\n });\r\n if (deletedItems.length > 0) {\r\n this.fireContextEvent('RequestCommand', this.context, 'Delete', deletedItems);\r\n }\r\n if (addedItems.length > 0) {\r\n this.fireContextEvent('RequestCommand', this.context, 'Add', addedItems);\r\n // this._ulvUi.viewerControl.fireEvent('rowclick');\r\n }\r\n }\r\n}\r\n\r\ninterface UiLinearListContainerSetting extends MetaobjectDataModel {\r\n ExecuteAddonButton: boolean;\r\n AddonButtonCommand: MetaobjectDataModel;\r\n}\r\n","<fd-multi-input\n [inputId]=\"id\"\n [class.control-readonly]=\"(readonly$ | async) === true\"\n [dropdownValues]=\"(dropDownValues$ | async)!!\"\n [placeholder]=\"Setting.ControlFieldCaptionTranslated | bbbTranslate\"\n [displayFn]=\"displayFunc\"\n [showAllButton]=\"false\"\n [displayAddonButton]=\"(parameters?.ExecuteAddonButton || !!report) && (disableOrReadonly$ | async) !== true\"\n [allowNewTokens]=\"false\"\n [includes]=\"true\"\n [(ngModel)]=\"idsOfMo\"\n [disabled]=\"(disable$ | async) === true\"\n [valueFn]=\"valueFn\"\n (searchTermChange)=\"onSearchTermChange($event)\"\n (selectedChange)=\"onSelectedChange($event)\"\n (addOnButtonClicked)=\"_handleAddonButtonClicked()\"\n></fd-multi-input>\n\n<!-- <button\n*ngIf=\"report\"\nfd-button\n[attr.rtl]=\"rtl\"\n[aria-label]=\"'Advanced' | bbbTranslate\"\nglyph=\"value-help\"\n[disabled]=\"(disableOrReadonly$ | async)!!\"\n(click)=\"onOpenReport()\"\n></button> -->\n\n<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #container>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\" #dialogTpl>\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h1 id=\"fd-dialog-header-3\" fd-title>{{ dialog.data.title }}</h1>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n @if (dialogConfig.height !== '100vh') {\n <fd-button-bar\n ariaLabel=\"fullscreen\"\n [glyph]=\"dialog.data.fullscreen ? 'exitfullscreen' : 'resize'\"\n fullscreenDialog\n [fullscreen]=\"dialog.data.fullscreen\"\n (fullscreenChanged)=\"dialog.data.fullscreen = $event\"\n [dialog]=\"dialog\"\n [dialogComponent]=\"dialogTpl\"\n ></fd-button-bar>\n }\n <fd-button-bar ariaLabel=\"close\" glyph=\"decline\" (click)=\"onDismiss()\"></fd-button-bar>\n </div>\n </ng-template>\n <!-- <h3 fd-title>{{ dialog.data.title }}</h3>\n <button fd-dialog-close-button></button> -->\n </fd-dialog-header>\n <fd-dialog-body>\n @if (dialog.data.ulvUi; as ulvUi) {\n <bsu-ui-ulv-main-ui [context]=\"ulvUi\" class=\"linear-list-selection\"></bsu-ui-ulv-main-ui>\n }\n </fd-dialog-body>\n\n <fd-dialog-footer class=\"linear-footer\">\n <ng-template fdkTemplate=\"footer\">\n <div\n class=\"ulv-selection-form-dialog__row ulv-selection-form-dialog__selection-row\"\n [aria-label]=\"'SelectedItemsAndConditions' | bbbTranslate\"\n >\n <h5 fd-title class=\"selected-and-condition-title\">\n <ng-container>\n <ng-container>{{ 'SelectedItemsAndConditions' | bbbTranslate }} </ng-container>\n ({{ dialog.data.selectedItems?.length || 0 }})\n </ng-container>\n </h5>\n <div class=\"ulv-selection-form-dialog__tokens-wrapper\">\n <div class=\"ulv-selection-form-dialog__tokens\">\n @if (dialog.data.selectedItems) {\n <fd-toolbar>\n <!-- Selected items -->\n @for (\n item of dialog.data.selectedItems; track _trackBySelectedFn(selectedIndex,\n item); let selectedIndex = $index) {\n <fd-token\n fd-toolbar-item\n fdOverflowPriority=\"high\"\n class=\"fdp-value-help-dialog__selection-token\"\n (onCloseClick)=\"onRemoveSelected(item)\"\n >{{ item.Text }}\n </fd-token>\n }\n </fd-toolbar>\n }\n </div>\n <button\n class=\"ulv-selection-form-dialog__tokens-clear\"\n fd-button\n fdType=\"transparent\"\n glyph=\"decline\"\n [aria-label]=\"'Clear' | bbbTranslate\"\n (click)=\"onClear()\"\n ></button>\n </div>\n </div>\n <div class=\"ulv-selection-form-dialog__actions-row\">\n <button\n fd-button\n data-succes\n [label]=\"'OK' | bbbTranslate\"\n fdType=\"emphasized\"\n (click)=\"onOk()\"\n ></button>\n <button\n fd-button\n data-dismiss-dialog\n fd-dialog-decisive-button\n [label]=\"'Cancel' | bbbTranslate\"\n fdType=\"transparent\"\n (click)=\"onDismiss()\"\n ></button>\n </div>\n </ng-template>\n </fd-dialog-footer>\n </fd-dialog>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\n\r\nimport { FieldBaseComponent } from 'barsa-novin-ray-core';\r\n@Component({\r\n selector: 'bsu-message-strip',\r\n templateUrl: './message-strip.component.html',\r\n styleUrls: ['./message-strip.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MessageStripComponent extends FieldBaseComponent implements OnInit {\r\n safeHtml;\r\n\r\n ngOnInit(): void {\r\n this._setSafeHtml(this.value);\r\n super.ngOnInit();\r\n const staticText = this.parameters?.StaticText;\r\n if (staticText) {\r\n this._setSafeHtml(staticText);\r\n }\r\n }\r\n protected _setValue(value: any): void {\r\n super._setValue(value);\r\n this._setSafeHtml(value);\r\n }\r\n private _setSafeHtml(value: string): void {\r\n this.safeHtml = this._domSanitizer.bypassSecurityTrustHtml(value);\r\n }\r\n}\r\n","<fd-message-strip\r\n [type]=\"parameters?.Type$Caption\"\r\n [dismissible]=\"parameters.Dismissible\"\r\n [noIcon]=\"parameters.NoIcon\"\r\n [width]=\"parameters.Width\"\r\n [minWidth]=\"parameters.MinWidth\"\r\n>\r\n <span [innerHTML]=\"safeHtml\"></span>\r\n</fd-message-strip>\r\n","import { ChangeDetectionStrategy, Component, OnInit, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\r\nimport { MessageStripAlertService, MessageToastConfig } from '@fundamental-ngx/core';\r\n\r\nimport { BaseComponent, BarsaApi } from 'barsa-novin-ray-core';\r\n\r\ninterface Config {\r\n title: true; // Title of notification. Do not include it for default title or set custom string. Set this false to disable title\r\n size: 'mini'; // normal, mini, large\r\n soundPath: 'src/sounds/'; // The folder path where sounds are located\r\n soundExt: '.ogg'; // Default extension for all sounds\r\n showClass: 'fadeInDown'; // Show animation class.\r\n hideClass: 'zoomOut'; // Hide animation class. 'zoomOut'\r\n icon: true; // Icon of notification. Leave as is for default icon or set custom string\r\n msg: ''; // Message of notification\r\n img: null; // Image source string\r\n closable: true; // Make notifications closable\r\n delay: 6000; // Hide notification after this time (in miliseconds)\r\n delayIndicator: true; // Show timer indicator\r\n closeOnClick: true; // Close notifications by clicking on them\r\n width: 400; // Width of notification box\r\n sound: true; // Sound of notification. Set this false to disable sound. Leave as is for default sound or set custom soud path\r\n position: 'bottom right'; // Available options: \"top left\", \"top right\", \"bottom left\", \"bottom right\", \"center top\", \"center bottom\".\r\n iconSource: 'fontAwesome'; // \"bootstrap\" or \"fontAwesome\" the library which will be used for icons\r\n rounded: false; // Whether to make notification corners rounded\r\n messageHeight: 60; // Notification message maximum height. This is not for notification itself, this is for .lobibox-notify-msg\r\n pauseDelayOnHover: true; // When you mouse over on notification, delay will be paused, only if continueDelayOnInactiveTab is false.\r\n onClickUrl: null; // The url which will be opened when notification is clicked\r\n showAfterPrevious: false; // Set this to true if you want notification not to be shown until previous notification is closed.\r\n continueDelayOnInactiveTab: false; // Continue delay when browser tab is inactive\r\n onClick: () => void;\r\n}\r\n@Component({\r\n selector: 'bsu-ul-toast-adapter',\r\n templateUrl: './ul-toast-adapter.component.html',\r\n styleUrls: ['./ul-toast-adapter.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class UlToastAdapterComponent extends BaseComponent implements OnInit {\r\n @ViewChild('template', { read: TemplateRef }) templareRef: TemplateRef<any>;\r\n\r\n constructor(public messageStripAlertService: MessageStripAlertService) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n BarsaApi.Bw.Toast.Adapter.on({\r\n Show: (type, opt) => this._show(type, opt)\r\n });\r\n }\r\n protected _show(type, opt): void {\r\n const config: Config = opt;\r\n\r\n const toastConfig: MessageToastConfig = {};\r\n\r\n toastConfig.duration = config.delay;\r\n\r\n toastConfig.data = opt;\r\n toastConfig.data.type = type;\r\n\r\n if (type === 'info') {\r\n toastConfig.data.type = 'information';\r\n }\r\n\r\n const vPosition: 'top' | 'bottom' | 'middle' = 'bottom';\r\n this.messageStripAlertService.open({\r\n content: toastConfig.data.msg,\r\n closeOnNavigation: true,\r\n position: `${vPosition}-middle`,\r\n messageStrip: {\r\n dismissible: toastConfig.data.closable,\r\n duration: toastConfig.duration,\r\n type: toastConfig.data.type\r\n }\r\n });\r\n }\r\n}\r\n","<ng-template let-messageToast #template>\r\n {{ messageToast.data.content }}\r\n\r\n <fd-message-strip [type]=\"messageToast.data.type\" [dismissible]=\"messageToast.data.closable\">\r\n {{ messageToast.data.msg }}\r\n </fd-message-strip>\r\n</ng-template>\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\nimport { FieldBaseComponent } from 'barsa-novin-ray-core';\r\n@Component({\r\n selector: 'bsu-static-text',\r\n templateUrl: './static-text.component.html',\r\n styleUrls: ['./static-text.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class StaticTextComponent extends FieldBaseComponent {\r\n styleObj: Record<string, unknown>;\r\n}\r\n","<fd-text\r\n [text]=\"value || context._innerControl?.value | bbbTranslate\"\r\n [maxLines]=\"parameters.MaxLines\"\r\n [expandable]=\"parameters.Expandable\"\r\n [ngStyle]=\"parameters?.Style | removeNewline | convertToStyle\"\r\n></fd-text>\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\nimport { FieldBaseComponent } from 'barsa-novin-ray-core';\n@Component({\n selector: 'bsu-hyperlink',\n templateUrl: './hyperlink.component.html',\n styleUrls: ['./hyperlink.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class HyperlinkComponent extends FieldBaseComponent {\n onClick(e, link: string): void {\n if (link) {\n return;\n }\n e.preventDefault();\n this.context.fireEvent('click', this.context);\n }\n}\n","@if (parameters?.RouterLink) {\n<a\n [routerLink]=\"['./']\"\n fd-link\n [emphasized]=\"parameters?.Emphasized\"\n [ngStyle]=\"parameters?.Style | removeNewline | convertToStyle\"\n>\n {{ layoutInfo.UseLayoutItemTextForControl ? layoutInfo.Caption : context?.Setting?.ControlFieldCaptionTranslated }}\n</a>\n} @else {\n<a\n fd-link\n [emphasized]=\"parameters?.Emphasized\"\n (click)=\"onClick($event, parameters.Link)\"\n [ngStyle]=\"parameters?.Style | removeNewline | convertToStyle\"\n [href]=\"parameters.Link\"\n>\n {{ layoutInfo.UseLayoutItemTextForControl ? layoutInfo.Caption : context?.Setting?.ControlFieldCaptionTranslated }}\n</a>\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { BaseComponent, BarsaApi, MetaobjectDataModel } from 'barsa-novin-ray-core';\n@Component({\n selector: 'bsu-global-search',\n templateUrl: './global-search.component.html',\n styleUrls: ['./global-search.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class GlobalSearchComponent extends BaseComponent {\n @Input() mo: MetaobjectDataModel;\n @Input() compact;\n\n searchTerm: string;\n onSearchSubmit(): void {\n this.search();\n }\n search(): void {\n this.mo.SearchTerm = this.searchTerm;\n this.mo.$State = 'Modified';\n BarsaApi.Bw.Form.Show({ Mo: this.mo });\n }\n}\n","<fd-input-group\n style=\"width: 100%\"\n type=\"search\"\n glyph=\"search\"\n [glyphAriaLabel]=\"'Search' | bbbTranslate\"\n [placeholder]=\"'Search' | bbbTranslate\"\n [button]=\"true\"\n [disabled]=\"false\"\n [(ngModel)]=\"searchTerm\"\n (addOnButtonClicked)=\"onSearchSubmit()\"\n (keydown.enter)=\"onSearchSubmit()\"\n>\n</fd-input-group>\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, OnInit } from '@angular/core';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\n\r\nimport { BaseComponent, MetaobjectDataModel, FilePictureInfoModel, getImagePath } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bsu-global-search-module',\r\n templateUrl: './global-search-module.component.html',\r\n styleUrls: ['./global-search-module.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class GlobalSearchModuleComponent extends BaseComponent implements OnInit {\r\n @HostBinding('style.background')\r\n public background: SafeStyle;\r\n @Input() settings: {\r\n SearchField: string;\r\n Title: string;\r\n BackgroundImage: FilePictureInfoModel;\r\n GlobalSearchResult: MetaobjectDataModel;\r\n };\r\n constructor(private sanitizer: DomSanitizer) {\r\n super();\r\n }\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n if (this.settings?.BackgroundImage) {\r\n this.background = this.sanitizer.bypassSecurityTrustStyle(\r\n `linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,.6)),url(${getImagePath(\r\n 'ID',\r\n null,\r\n this.settings.BackgroundImage.FileId,\r\n '',\r\n 1704,\r\n 800\r\n )}) no-repeat top center`\r\n );\r\n }\r\n }\r\n}\r\n","@if (settings.Title) {\n <h2>{{ settings.Title }}</h2>\n}\n<bsu-global-search [mo]=\"settings.GlobalSearchResult\"></bsu-global-search>\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\nimport { takeUntil } from 'rxjs/operators';\nimport { FormBaseComponent, MetaobjectDataModel, FormPanelService } from 'barsa-novin-ray-core';\n@Component({\n selector: 'bsu-global-search-panel',\n templateUrl: './global-search-panel.component.html',\n styleUrls: ['./global-search-panel.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [FormPanelService]\n})\nexport class GlobalSearchPanelComponent extends FormBaseComponent implements OnInit {\n parentMo: MetaobjectDataModel;\n\n ngOnInit(): void {\n super.ngOnInit();\n this.view$.pipe(takeUntil(this._onDestroy$)).subscribe((view) => {\n this.parentMo = view.CustomUi.ParentMo;\n if (this.parentMo) {\n const fieldUi = this.context._listFieldUi[0];\n this.fieldChange(fieldUi.Setting.ControlName, this.parentMo.SearchTerm);\n this.searchClick();\n }\n });\n }\n}\n","<div [rootLayout]=\"layout94$ | async\" [component]=\"parameters?.LayoutComponent\" [context]=\"context\"></div>\r\n","import { ChangeDetectionStrategy, Component, HostBinding, OnInit } from '@angular/core';\r\n\r\nimport { LayoutItemBaseComponent } from 'barsa-novin-ray-core';\r\n@Component({\r\n selector: 'bsu-ly-simple-label',\r\n templateUrl: './ly-simple-label.component.html',\r\n styleUrls: ['./ly-simple-label.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class LySimpleLabelComponent extends LayoutItemBaseComponent implements OnInit {\r\n @HostBinding('style.flex') flex;\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n const { Bounds } = this.config;\r\n this.flex = Bounds.width;\r\n }\r\n}\r\n","<!-- <label fd-form-label [wrap]=\"true\">{{ config.Text }}</label> -->\n@if (!config.CustomUi) {\n<h6 fd-title [wrap]=\"true\">{{ config.Text }}</h6>\n} @if (config.CustomUi) {\n<bnrc-dynamic-component [component]=\"config.CustomUi\" [value]=\"config.Text\"></bnrc-dynamic-component>\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\nimport { FieldBaseComponent, BarsaApi } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bsu-captcha-field',\r\n templateUrl: './captcha-field.component.html',\r\n styleUrls: ['./captcha-field.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class CaptchaFieldComponent extends FieldBaseComponent {\r\n now: string = new Date().toString();\r\n capId = BarsaApi.LoginFormData.CaptchaId;\r\n onValueChange(e): void {\r\n this.value = e.target.value;\r\n this.valueChange.emit(this.value);\r\n }\r\n onRefresh(): void {\r\n this.now = new Date().toString();\r\n this._cdr.detectChanges();\r\n }\r\n}\r\n","<input\r\n fd-form-control\r\n [placeholder]=\"Setting.NullText || ''\"\r\n [attr.readonly]=\"(readonly$ | async) === true ? true : null\"\r\n [attr.disabled]=\"(disable$ | async) === true ? true : null\"\r\n type=\"text\"\r\n [value]=\"!value ? '' : value\"\r\n [id]=\"id\"\r\n (input)=\"onValueChange($event)\"\r\n/>\r\n<div id=\"captchaCommand\">\r\n <img [src]=\"'/api/auth/captcha?capId=' + capId + '&t=' + now\" />\r\n <button\r\n fd-button\r\n [fdType]=\"'transparent'\"\r\n [glyph]=\"'refresh'\"\r\n aria-label=\"refresh\"\r\n title=\"captcha\"\r\n (click)=\"onRefresh()\"\r\n ></button>\r\n</div>\r\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { debounceTime, filter, map, switchMap, takeUntil } from 'rxjs/operators';\r\n\r\nimport { FieldBaseComponent, BarsaApi } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bsu-ui-text-field-auto-complete',\r\n templateUrl: './ui-text-field-auto-complete.component.html',\r\n styleUrls: ['./ui-text-field-auto-complete.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class UiTextFieldAutoCompleteComponent extends FieldBaseComponent implements OnInit {\r\n inputTextChanged = new Subject<string>();\r\n suggestionList$: Observable<string[]>;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.suggestionList$ = this.inputTextChanged.asObservable().pipe(\r\n takeUntil(this._onDestroy$),\r\n filter((value) => value.length > 2),\r\n debounceTime(500),\r\n map((value) => this._createUlvParams(value)),\r\n switchMap(\r\n (ulvParams) =>\r\n new Promise<string[]>((resolve, reject) => {\r\n BarsaApi.Bw.ExecuteReport(\r\n { ulvParams },\r\n (result) => {\r\n // succeed\r\n const suggestionList = result.Data.MoDataList.map((item) => item.$Caption);\r\n resolve(suggestionList);\r\n },\r\n (err) => {\r\n reject(err);\r\n }\r\n );\r\n })\r\n )\r\n );\r\n this.suggestionList$.subscribe();\r\n }\r\n\r\n onValueChange(value): void {\r\n this.value = value;\r\n this.valueChange.emit(this.value);\r\n this.inputTextChanged.next(this.value);\r\n }\r\n\r\n private _createUlvParams(filterText): any {\r\n return new BarsaApi.Ul.UlvParams({\r\n FieldDefId: this.Setting.ControlFieldDefId,\r\n FilterText: filterText,\r\n UsageEnum: BarsaApi.Ul.UlvMainCtrlr.UlvUsageEnum.Combo,\r\n ColumnRequestEnum: BarsaApi.Common.Enums.ColumnRequestEnum.Title\r\n });\r\n }\r\n}\r\n","<fd-combobox\r\n [inputId]=\"id\"\r\n [placeholder]=\"Setting?.NullText || ''\"\r\n [readonly]=\"(readonly$ | async) === true\"\r\n [disabled]=\"(disable$ | async) === true\"\r\n [maxlength]=\"Setting?.MaxLength !== undefined ? Setting?.MaxLength : null\"\r\n [style.direction]=\"Setting?.IsLtr === true ? 'ltr' : 'rtl'\"\r\n [showDropdownButton]=\"false\"\r\n [dropdownValues]=\"(suggestionList$ | async) || []\"\r\n [ngModel]=\"value || ''\"\r\n (inputTextChange)=\"onValueChange($event)\"\r\n>\r\n</fd-combobox>\r\n","import { ChangeDetectionStrategy, Component, TemplateRef, ViewChild } from '@angular/core';\r\nimport { of } from 'rxjs';\r\nimport { debounceTime, delay, takeUntil } from 'rxjs/operators';\r\nimport { DialogRef, DialogService } from '@fundamental-ngx/core';\r\nimport { BarsaApi, BaseComponent } from 'barsa-novin-ray-core';\r\n@Component({\r\n selector: 'bsu-ul-loading-mask-ui',\r\n templateUrl: './ul-loading-mask-ui.component.html',\r\n styleUrls: ['./ul-loading-mask-ui.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class UlLoadingMaskUiComponent extends BaseComponent {\r\n @ViewChild('waitRef') waitRef: TemplateRef<any>;\r\n _dialogRefList: DialogRef<any>[] = [];\r\n constructor(private _dialogService: DialogService) {\r\n super();\r\n BarsaApi.Ul.CustomLoadingMaskUi.on({\r\n Mask: this.mask.bind(this),\r\n Unmask: this.unmask.bind(this),\r\n MaskBody: this.maskBody.bind(this),\r\n UnmaskBody: this.unmaskBody.bind(this),\r\n UnmaskAll: this.unmaskAll.bind(this)\r\n });\r\n }\r\n mask(element, option): void {\r\n const containerRef = this.resolveElement(element);\r\n this._mask(containerRef, option);\r\n }\r\n unmask(element): void {\r\n const containerRef = this.resolveElement(element);\r\n this._unmask(containerRef);\r\n }\r\n unmaskAll(): void {\r\n // this._dialogService.dismissAll();\r\n this._dialogRefList.forEach((item) => {\r\n item.dismiss();\r\n });\r\n }\r\n maskBody(duration): void {\r\n const body = this.getBody();\r\n this._unmask(body);\r\n this._mask(body, { delay: duration });\r\n }\r\n unmaskBody(): void {\r\n const body = this.getBody();\r\n this._unmask(body);\r\n }\r\n\r\n private _unmask(containerRef: any): void {\r\n if (containerRef && containerRef.maskDialog?.close) {\r\n containerRef.maskDialog.close();\r\n containerRef.maskDialog = null;\r\n }\r\n }\r\n\r\n private getBody(): any {\r\n return document.querySelector('body');\r\n }\r\n\r\n private _mask(containerRef: any, option?: any): void {\r\n if (containerRef.maskDialog) {\r\n return;\r\n }\r\n const maskDelay = 5000;\r\n containerRef.maskDialog = this._dialogService.open(this.waitRef, {\r\n container: containerRef,\r\n mobile: true,\r\n dialogPanelClass: 'maskloading-container'\r\n });\r\n this._dialogRefList.push(containerRef.maskDialog);\r\n of(true)\r\n .pipe(takeUntil(this._onDestroy$), delay(maskDelay), debounceTime(200))\r\n .subscribe(() => {\r\n if (containerRef.maskDialog?.close) {\r\n containerRef.maskDialog.close();\r\n }\r\n });\r\n }\r\n\r\n private resolveElement(element: any): any {\r\n let containerRef = element;\r\n if (containerRef.getEl) {\r\n containerRef.getEl();\r\n } else if (containerRef.controlUi) {\r\n containerRef = containerRef.controlUi;\r\n }\r\n return containerRef;\r\n }\r\n}\r\n","<!-- <ng-template let-dialog let-dialogConfig=\"dialogConfig\" #waitRef>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\n <fd-dialog-body>\n <bsu-mask></bsu-mask>\n </fd-dialog-body>\n </fd-dialog>\n</ng-template> -->\n<ng-template [fdDialogTemplate] let-dialog let-dialogConfig=\"dialogConfig\" #waitRef>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\" class=\"dialog-mask\">\n <fd-dialog-body>\n <bsu-mask></bsu-mask>\n </fd-dialog-body>\n </fd-dialog>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\n\r\nimport { BaseComponent } from 'barsa-novin-ray-core';\r\n@Component({\r\n selector: 'bsu-ui-workflow-panel-ui',\r\n templateUrl: './ui-workflow-panel-ui.component.html',\r\n styleUrls: ['./ui-workflow-panel-ui.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class UiWorkflowPanelUiComponent extends BaseComponent {\r\n @Input() context: any;\r\n @Input() infoHtml: string;\r\n @Input() showInfoBar: boolean;\r\n @Input() buttonList: {\r\n handler: () => void;\r\n text: string;\r\n Data: any;\r\n newIcon: string;\r\n }[];\r\n\r\n onToolClick(btn): void {\r\n btn.handler(btn, this.context);\r\n }\r\n}\r\n","<fd-bar-element>\n @for (btn of buttonList.slice().reverse(); track btn; let i = $index) {\n <button\n fd-button\n [fdType]=\"i === 0 ? 'emphasized' : 'standard'\"\n [label]=\"btn.text\"\n [glyph]=\"btn.Data?.JsonExtraProp?.Icon\"\n (click)=\"onToolClick(btn)\"\n ></button>\n }\n</fd-bar-element>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\n\r\nimport { BaseComponent } from 'barsa-novin-ray-core';\r\n@Component({\r\n selector: 'bsu-header-avatar',\r\n templateUrl: './header-avatar.component.html',\r\n styleUrls: ['./header-avatar.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class HeaderAvatarComponent extends BaseComponent {\r\n @Input() fileId: string;\r\n @Input() icon: string;\r\n}\r\n","@if (icon) {\n <fd-icon [glyph]=\"icon\"></fd-icon>\n}\n@if (fileId) {\n <img width=\"1.5rem\" height=\"auto\" [src]=\"fileId ? (fileId | picFieldSrc: 'ID':null:fileId) : ''\" />\n}\n<!-- <fd-avatar\n[transparent]=\"fileId ? false : true\"\n[circle]=\"true\"\n[border]=\"true\"\n[size]=\"size\"\n[glyph]=\"icon\"\n[image]=\"fileId ? (fileId | picFieldSrc: 'ID':null:fileId) : ''\"\n></fd-avatar> -->\n","import { ChangeDetectionStrategy, Component, Input, OnInit, TemplateRef, ViewChild } from '@angular/core';\r\nimport { Observable, of } from 'rxjs';\r\nimport { delay, takeUntil } from 'rxjs/operators';\r\nimport { ContentDensity, ContentDensityService, DialogConfig, DialogRef, DialogService } from '@fundamental-ngx/core';\r\n\r\nimport { BaseComponent, BarsaApi } from 'barsa-novin-ray-core';\r\n\r\ninterface MessageBoxObject extends DialogConfig {\r\n scope: any;\r\n title: string;\r\n delay: number;\r\n msg: string;\r\n buttons: { [key: string]: boolean };\r\n icon: string;\r\n iconType: string;\r\n fn: (key: string) => void;\r\n}\r\n@Component({\r\n selector: 'bsu-ul-msg-box-adapter',\r\n templateUrl: './ul-msg-box-adapter.component.html',\r\n styleUrls: ['./ul-msg-box-adapter.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class UlMsgBoxAdapterComponent extends BaseComponent implements OnInit {\r\n @ViewChild('templateRef') templateRef: TemplateRef<any>;\r\n @ViewChild('waitRef') waitRef: TemplateRef<any>;\r\n @Input() context;\r\n contentDensity$: Observable<ContentDensity>;\r\n constructor(private _dialogService: DialogService, private _contentDensityService: ContentDensityService) {\r\n super();\r\n BarsaApi.Ul.MsgBox.Adapter.on({\r\n Show: (msgBoxData) => this.show(msgBoxData),\r\n wait: (msg, title, msgBoxData) => this.wait(msg, title, msgBoxData),\r\n hide: () => this.hide()\r\n });\r\n this.contentDensity$ = this._contentDensityService.contentDensity.asObservable();\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n }\r\n onButton(btn, dialog: DialogRef, dialogConfig: MessageBoxObject): void {\r\n dialog.close();\r\n dialogConfig.fn.call(this, btn.key);\r\n }\r\n onClose(dialog, dialogConfig: MessageBoxObject): void {\r\n dialog.close();\r\n dialogConfig.fn.call(this, 'cancel');\r\n }\r\n reverseObj(obj): any {\r\n return Object.keys(obj)\r\n .reverse()\r\n .reduce((a, key) => {\r\n a[key] = obj[key];\r\n return a;\r\n }, {});\r\n }\r\n show = (object: MessageBoxObject): void => {\r\n object.iconType = this.getMsgType(object.icon);\r\n this._dialogService.open(this.templateRef, {\r\n ...object,\r\n responsivePadding: true\r\n });\r\n /* eslint-disable */\r\n };\r\n wait = (\r\n msg,\r\n title,\r\n object: {\r\n interval: number;\r\n duration: number;\r\n increment: number;\r\n text: string;\r\n icon: string;\r\n iconType: string;\r\n scope: any;\r\n fn: () => void;\r\n }\r\n ) => {\r\n object.iconType = this.getMsgType(object.icon);\r\n const waitDialog = this._dialogService.open(this.waitRef, {\r\n ...object,\r\n responsivePadding: true,\r\n mobile: true\r\n });\r\n if (!object.duration) {\r\n return;\r\n }\r\n\r\n of(true)\r\n .pipe(takeUntil(this._onDestroy$), delay(object.duration))\r\n .subscribe((c) => {\r\n waitDialog.close();\r\n });\r\n };\r\n hide = () => {\r\n this._dialogService.dismissAll();\r\n /* eslint-disable */\r\n };\r\n getMsgType(icon: string | any): string {\r\n switch (icon) {\r\n case BarsaApi.Ul.MsgBox.INFO:\r\n return 'information';\r\n case BarsaApi.Ul.MsgBox.WARNING:\r\n return 'warning';\r\n case BarsaApi.Ul.MsgBox.QUESTION:\r\n return 'default';\r\n case BarsaApi.Ul.MsgBox.ERROR:\r\n return 'error';\r\n }\r\n return 'default';\r\n }\r\n keepOrder = (a, b) => {\r\n return a;\r\n /* eslint-disable */\r\n };\r\n getBtnCaption(name: string | any): string {\r\n switch (name) {\r\n case 'ok':\r\n return 'تایید';\r\n case 'cancel':\r\n return 'انصراف';\r\n case 'yes':\r\n return 'بله';\r\n case 'no':\r\n return 'خیر';\r\n }\r\n return '';\r\n }\r\n}\r\n","<ng-template #waitRef>\n <bsu-mask></bsu-mask>\n</ng-template>\n<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #templateRef>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\n <fd-dialog-header>\n <h1 fd-title>\n {{ dialogConfig.title }}\n </h1>\n </fd-dialog-header>\n\n <fd-dialog-body style=\"padding: 15px; max-width: 480px\">\n <div style=\"min-height: 125px\">\n <label fd-label [type]=\"dialogConfig.iconType\" [innerHtml]=\"dialogConfig.msg\"> </label>\n </div>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n @for (btn of dialogConfig.buttons | keyvalue: keepOrder; track btn) {\n <fd-dialog-footer-button>\n <button\n fd-button\n fd-dialog-decisive-button\n [fdType]=\"\r\n btn.key === 'ok' || btn.key === 'yes'\r\n ? 'emphasized'\r\n : btn.key === 'no'\r\n ? 'standard'\r\n : 'transparent'\r\n \"\r\n [label]=\"btn.key + '' | titlecase | bbbTranslate\"\n (click)=\"onButton(btn, dialog, dialogConfig)\"\n ></button>\n </fd-dialog-footer-button>\n }\n </fd-dialog-footer>\n </fd-dialog>\n</ng-template>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\nimport { FieldBaseComponent } from 'barsa-novin-ray-core';\r\n@Component({\r\n selector: 'bsu-ui-mo-info-combo-viewer',\r\n templateUrl: './ui-mo-info-combo-viewer.component.html',\r\n styleUrls: ['./ui-mo-info-combo-viewer.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class UiMoInfoComboViewerComponent extends FieldBaseComponent {\r\n onBtnClick(): void {\r\n this.context.fireEvent('ButtonClick', this.context);\r\n }\r\n}\r\n","<fd-text class=\"bold\" [text]=\"value | bbbTranslate\" hyphenation=\"auto\"></fd-text>\n@if ((disableOrReadonly$ | async) !== true && !Setting.IsReadOnly && Setting.ViewRelatedFormType !== 'Hide') {\n<button fd-button [glyph]=\"'edit'\" [fdType]=\"'transparent'\" (click)=\"onBtnClick()\"></button>\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, OnInit, QueryList, ViewChildren } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { Nullable, TabPanelComponent } from '@fundamental-ngx/core';\r\nimport { LayoutItemBaseComponent, LayoutSetting } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bsu-ly-tab-container',\r\n templateUrl: './ly-tab-container.component.html',\r\n styleUrls: ['./ly-tab-container.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class LyTabContainerComponent extends LayoutItemBaseComponent implements OnInit {\r\n @ViewChildren(TabPanelComponent) tabpages: QueryList<TabPanelComponent>;\r\n @HostBinding('style.flex') flex;\r\n selected: number;\r\n _tabsSource = new BehaviorSubject<LayoutSetting[]>([]);\r\n tabs$ = this._tabsSource.asObservable();\r\n selectedTabTitle: Nullable<string>;\r\n ready = false;\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.flex = this.config.Bounds.width;\r\n this._setTabs();\r\n this.formPanelService.groupLayout$.pipe(takeUntil(this._onDestroy$)).subscribe(() => {\r\n this._setTabs();\r\n });\r\n setTimeout(() => {\r\n this.ready = true;\r\n this._cdr.detectChanges();\r\n }, 0);\r\n }\r\n private _setTabs(): void {\r\n const tabs: LayoutSetting[] = this.config.items;\r\n const visibleTabs = tabs.filter((c) => c.Visible !== false);\r\n this._tabsSource.next(visibleTabs);\r\n }\r\n onSelectedTabChange(selectedTab: TabPanelComponent): void {\r\n this.selectedTabTitle = selectedTab.title;\r\n this._cdr.detectChanges();\r\n }\r\n\r\n // ngAfterViewInit(): void {\r\n // super.ngAfterViewInit();\r\n\r\n // setTimeout(() => {\r\n // const selectedTab = this.tabpages.toArray()[this.selected];\r\n // if (selectedTab) {\r\n // selectedTab.open(true);\r\n // }\r\n // }, 0);\r\n // }\r\n}\r\n","@if (ready) {\r\n<fd-tab-list\r\n [collapseOverflow]=\"true\"\r\n [expandOverflowText]=\"'More' | bbbTranslate\"\r\n (selectedTabChange)=\"onSelectedTabChange($event)\"\r\n>\r\n @for (tabPage of tabs$ | async; track tabPage; let tabindex = $index) {\r\n <fd-tab\r\n [title]=\"tabPage.Title || '' | bbbTranslate\"\r\n [disabled]=\"tabPage.disabled\"\r\n [class.control-disabled]=\"tabPage.Enable === false\"\r\n [class.readonly]=\"tabPage.Readonly\"\r\n [class.is-expanded]=\"true || selectedTabTitle === (tabPage.Title || '' | bbbTranslate)\"\r\n >\r\n <bsu-ly-tab-page [config]=\"tabPage\"></bsu-ly-tab-page>\r\n </fd-tab>\r\n }\r\n</fd-tab-list>\r\n}\r\n","import {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n HostBinding,\r\n Input,\r\n OnInit,\r\n SkipSelf,\r\n ViewChild,\r\n ViewContainerRef\r\n} from '@angular/core';\r\n\r\nimport { LayoutItemBaseComponent, LayoutService, FormPanelService } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bsu-ly-vertical-layout',\r\n templateUrl: './ly-vertical-layout.component.html',\r\n styleUrls: ['./ly-vertical-layout.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class LyVerticalLayoutComponent extends LayoutItemBaseComponent implements OnInit, AfterViewInit {\r\n @HostBinding('style.flex') flex;\r\n @HostBinding('style.flex-direction') flexDirection = 'column';\r\n @HostBinding('style.flex-wrap') flexWrap;\r\n @Input() maxLabelWidth: number;\r\n @ViewChild('viewRefTemplate', { read: ViewContainerRef, static: true }) viewRef: ViewContainerRef;\r\n\r\n searchPanelIsObject: boolean;\r\n constructor(\r\n protected formPanelService: FormPanelService,\r\n @SkipSelf() private layoutService: LayoutService,\r\n protected _cdr: ChangeDetectorRef\r\n ) {\r\n super(formPanelService, _cdr);\r\n // if (this.isSearchPanel && !this.searchPanelIsObject) { // commented because it show search panel dirty\r\n // this.flexDirection = 'row';\r\n // this.flexWrap = 'wrap';\r\n // }\r\n\r\n layoutService.addHorizontal(this.id);\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.flex = this.config.Bounds.width;\r\n }\r\n ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n this.layoutService.removeHorizontal(this.id);\r\n }\r\n}\r\n","@for (item of config | filterToolbarControl; track item) { @switch (item.xtype) { @case ('Ly.LayoutTabPanel') {\n<ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, name: 'LyLayoutPanelComponent', selector: 'bsu-ly-tab-container' }\n \"\n></ng-container>\n<!-- <bsu-ly-tab-container [config]=\"item\"></bsu-ly-tab-container> -->\n} @case ('Ly.LayoutPanel') {\n<ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, name: 'LyLayoutPanelComponent', selector: 'bsu-ly-layout-panel' }\n \"\n></ng-container>\n<!-- <bsu-ly-layout-panel [config]=\"item\"></bsu-ly-layout-panel> -->\n} @case ('Ly.LayoutContainer') {\n<ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n name: 'LyLayoutContainerComponent',\n selector: 'bsu-ly-layout-container'\n }\n \"\n></ng-container>\n<!-- <bsu-ly-layout-container [config]=\"item\"></bsu-ly-layout-container> -->\n} @case ('Ly.EmptySpace') {\n<ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, name: 'LyEmptySpaceComponent', selector: 'bsu-ly-empty-space' }\n \"\n></ng-container>\n<!-- <bsu-ly-empty-space [config]=\"item\"></bsu-ly-empty-space> -->\n} @case ('Ly.SimpleLabel') {\n<ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, name: 'LySimpleLabelComponent', selector: 'bsu-ly-simple-label' }\n \"\n></ng-container>\n<!-- <bsu-ly-simple-label [config]=\"item\"></bsu-ly-simple-label> -->\n} @case ('Ly.LayoutLine') {\n<ng-container\n *ngTemplateOutlet=\"dynamicLayout; context: { $implicit: item, name: 'LyLineComponent', selector: 'bsu-ly-line' }\"\n></ng-container>\n<!-- <bsu-ly-line [isVertical]=\"item.IsVertical\"></bsu-ly-line> -->\n} @case ('Ly.LayoutJoin') { @if (item.Type === 'HorizontalJoin') {\n<ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n selector: 'bsu-ly-horizontal-layout',\n name: 'LyLayoutHorizontalComponent'\n }\n \"\n></ng-container>\n<!-- <bsu-ly-horizontal-layout [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-ly-horizontal-layout> -->\n} @else {\n<ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n selector: 'bsu-ly-vertical-layout',\n name: 'LyLayoutVerticalComponent'\n }\n \"\n></ng-container>\n<!-- <bsu-ly-vertical-layout [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-ly-vertical-layout> -->\n} } @case ('Ly.LayoutControl') {\n<ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n selector: 'bsu-layout-control',\n name: 'LayoutControlComponent'\n }\n \"\n></ng-container>\n<!-- <bsu-layout-control [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-layout-control> -->\n} } }\n<ng-template #dynamicLayout let-config let-selector=\"selector\" let-name=\"name\">\n <bnrc-dynamic-layout\n [config]=\"config\"\n [selector]=\"selector\"\n [name]=\"name\"\n [module]=\"'BarsaSapUi'\"\n [moduleFileName]=\"'BarsaSapUi'\"\n [maxLabelWidth]=\"maxLabelWidth\"\n >\n </bnrc-dynamic-layout>\n</ng-template>\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n HostBinding,\r\n Input,\r\n OnInit,\r\n SkipSelf,\r\n TemplateRef,\r\n ViewChild,\r\n ViewContainerRef\r\n} from '@angular/core';\r\n\r\nimport { LayoutItemBaseComponent, LayoutService, getDeviceIsMobile, FormPanelService } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bsu-ly-horizontal-layout',\r\n templateUrl: './ly-horizontal-layout.component.html',\r\n styleUrls: ['./ly-horizontal-layout.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class LyHorizontalLayoutComponent extends LayoutItemBaseComponent implements OnInit {\r\n @Input() renderItems: TemplateRef<any>;\r\n @Input() maxLabelWidth: number;\r\n @HostBinding('style.flex') flex;\r\n @HostBinding('class.horizontal-layout') horizontalLayoutClass = true;\r\n @HostBinding('class.wrap-content') wrapContent = false;\r\n @HostBinding('style.flex-direction') flexDirection = 'row';\r\n @HostBinding('style.opacity') opacity = 1;\r\n @ViewChild('viewRefTemplate', { read: ViewContainerRef, static: true }) viewRef: ViewContainerRef;\r\n\r\n hasHorizontalText: boolean;\r\n constructor(\r\n protected _el: ElementRef,\r\n protected formPanelService: FormPanelService,\r\n @SkipSelf() private layoutService: LayoutService,\r\n protected _cdr: ChangeDetectorRef\r\n ) {\r\n super(formPanelService, _cdr);\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n\r\n this.layoutService.addHorizontal(this.id);\r\n\r\n this.flex = this.config.Bounds.width;\r\n if (!this.config.$Reverse) {\r\n this.config.items = this.config.items.reverse();\r\n this.config.$Reverse = true;\r\n }\r\n\r\n if (getDeviceIsMobile()) {\r\n this.wrapContent = true;\r\n }\r\n this._setHasHorizontalText();\r\n }\r\n private _setHasHorizontalText(): void {\r\n if (!this.wrapContent) {\r\n this.config.items.forEach((c) => {\r\n if (c.TextVisible) {\r\n this.hasHorizontalText = !this.wrapContent;\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","@for (item of config | filterToolbarControl; track item) { @switch (item.xtype) { @case ('Ly.LayoutTabPanel') {\n<ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, name: 'LyLayoutPanelComponent', selector: 'bsu-ly-tab-container' }\n \"\n></ng-container>\n<!-- <bsu-ly-tab-container [config]=\"item\"></bsu-ly-tab-container> -->\n} @case ('Ly.LayoutPanel') {\n<ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, name: 'LyLayoutPanelComponent', selector: 'bsu-ly-layout-panel' }\n \"\n></ng-container>\n<!-- <bsu-ly-layout-panel [config]=\"item\"></bsu-ly-layout-panel> -->\n} @case ('Ly.LayoutContainer') {\n<ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n name: 'LyLayoutContainerComponent',\n selector: 'bsu-ly-layout-container'\n }\n \"\n></ng-container>\n<!-- <bsu-ly-layout-container [config]=\"item\"></bsu-ly-layout-container> -->\n} @case ('Ly.EmptySpace') {\n<ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, name: 'LyEmptySpaceComponent', selector: 'bsu-ly-empty-space' }\n \"\n></ng-container>\n<!-- <bsu-ly-empty-space [config]=\"item\"></bsu-ly-empty-space> -->\n} @case ('Ly.SimpleLabel') {\n<ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, name: 'LySimpleLabelComponent', selector: 'bsu-ly-simple-label' }\n \"\n></ng-container>\n<!-- <bsu-ly-simple-label [config]=\"item\"></bsu-ly-simple-label> -->\n} @case ('Ly.LayoutLine') {\n<ng-container\n *ngTemplateOutlet=\"dynamicLayout; context: { $implicit: item, name: 'LyLineComponent', selector: 'bsu-ly-line' }\"\n></ng-container>\n<!-- <bsu-ly-line [isVertical]=\"item.IsVertical\"></bsu-ly-line> -->\n} @case ('Ly.LayoutJoin') { @if (item.Type === 'HorizontalJoin') {\n<ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n selector: 'bsu-ly-horizontal-layout',\n name: 'LyLayoutHorizontalComponent'\n }\n \"\n></ng-container>\n<!-- <bsu-ly-horizontal-layout [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-ly-horizontal-layout> -->\n} @else {\n<ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n selector: 'bsu-ly-vertical-layout',\n name: 'LyLayoutVerticalComponent'\n }\n \"\n></ng-container>\n<!-- <bsu-ly-vertical-layout [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-ly-vertical-layout> -->\n} } @case ('Ly.LayoutControl') {\n<ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n selector: 'bsu-layout-control',\n name: 'LayoutControlComponent'\n }\n \"\n></ng-container>\n<!-- <bsu-layout-control [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-layout-control> -->\n} } }\n<ng-template #dynamicLayout let-config let-selector=\"selector\" let-name=\"name\">\n <bnrc-dynamic-layout\n [config]=\"config\"\n [selector]=\"selector\"\n [name]=\"name\"\n [module]=\"'BarsaSapUi'\"\n [moduleFileName]=\"'BarsaSapUi'\"\n [maxLabelWidth]=\"maxLabelWidth\"\n [flex]=\"isSearchPanel ? 'unset' : config.Bounds.width\"\n [hasHorizontalText]=\"hasHorizontalText\"\n [isSearchPanel]=\"isSearchPanel\"\n >\n </bnrc-dynamic-layout>\n</ng-template>\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnDestroy,\n OnInit,\n ViewChild,\n TemplateRef\n} from '@angular/core';\nimport { BehaviorSubject, Observable, of, Subject } from 'rxjs';\nimport { catchError, concatMap, takeUntil, tap } from 'rxjs/operators';\n\nimport { ContentDensity } from '@fundamental-ngx/core';\n\nimport {\n BarsaApi,\n UploadService,\n getDeviceIsMobile,\n FilesValidationHelper,\n IUploadingState\n} from 'barsa-novin-ray-core';\nimport { DeviceInfoFieldBaseComponent } from '../device-info-field-base';\n\n@Component({\n selector: 'bsu-ui-pictures-info',\n templateUrl: './ui-pictures-info.component.html',\n styleUrls: ['./ui-pictures-info.component.scss'],\n providers: [UploadService],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiPicturesInfoComponent extends DeviceInfoFieldBaseComponent implements OnInit, OnDestroy {\n @Input() value: {\n Id: string;\n FileId: string;\n FileName: string;\n Width: string;\n Height: string;\n Size: string;\n }[];\n @ViewChild('gallery') gallery!: ElementRef<HTMLElement>;\n @ViewChild('dialogTemplate', { read: TemplateRef }) dialogTemplate: TemplateRef<any>;\n\n uploadingState$: Observable<IUploadingState>;\n cancelation$ = new Subject<void>();\n contentDensity$: Observable<ContentDensity>;\n files: File[];\n mediaDataSource = new BehaviorSubject<Media[]>([]);\n mediaData$: Observable<Media[]>;\n isMobile: any;\n selectedIndex = -1;\n fillWidth: boolean;\n fillAll: boolean;\n fillOriginal: boolean;\n selectedZoom: 'zoom1' | 'zoom1-5' | 'zoom2' = 'zoom1';\n filesValidationHelper: FilesValidationHelper;\n maxFileCount: number;\n fileCount$: Observable<number>;\n\n private _fileCountSource = new BehaviorSubject<number>(0);\n\n ngOnInit(): void {\n this.fileCount$ = this._fileCountSource.asObservable();\n this.mediaData$ = this.mediaDataSource.asObservable();\n super.ngOnInit();\n this.isMobile = getDeviceIsMobile();\n this.uploadingState$ = this._uploadService.uploadingState$;\n this.value$.subscribe((value) => this._setFileCount(value));\n\n this.filesValidationHelper = new FilesValidationHelper(\n this.Setting.MaxPictureCount,\n this.Setting.MaxFileSizeKb,\n this.Setting.MaxTotalFileSizeKb\n );\n this.maxFileCount = this.filesValidationHelper.maxFileCount;\n\n this._prepareGallery(this.value);\n this.context.on({\n DisplayImages: this._displayImages.bind(this)\n });\n }\n ngOnDestroy(): void {\n super.ngOnDestroy();\n this.context.un('DisplayImages', this._displayImages);\n }\n onFullscreen(media, mediaData): void {\n const dialogConfig = {\n data: { media, mediaData },\n escKeyCloseable: false,\n fullScreen: true,\n verticalPadding: false\n };\n this._dialogService.open(this.dialogTemplate, dialogConfig);\n }\n onMedaiClick(media, index): void {\n this.gallery.nativeElement.querySelector('[id=\"' + String(index) + '\"]')?.scrollIntoView(true);\n }\n onThumbnailClicked(imgIndex: number): void {\n this.selectedIndex = imgIndex;\n this.gallery.nativeElement.querySelector('[id=\"' + String(imgIndex) + '\"]')?.scrollIntoView(true);\n }\n\n onDelete(index): void {\n const selectedMedia = this.value[index];\n this._deleteMedia(selectedMedia);\n }\n onScan(): void {\n this._scanHelper(false);\n }\n\n onAdvanceScan(): void {\n this._scanHelper(true);\n }\n\n onZoomIn(): void {\n switch (this.selectedZoom) {\n case 'zoom1':\n this.selectedZoom = 'zoom1-5';\n break;\n case 'zoom1-5':\n this.selectedZoom = 'zoom2';\n break;\n }\n }\n\n onZoomOut(): void {\n switch (this.selectedZoom) {\n case 'zoom2':\n this.selectedZoom = 'zoom1-5';\n break;\n case 'zoom1-5':\n this.selectedZoom = 'zoom1';\n break;\n }\n }\n\n onFillOriginal(): void {\n this.fillWidth = false;\n this.fillAll = false;\n this.fillOriginal = true;\n }\n\n onFillWidth(): void {\n this.fillWidth = true;\n this.fillAll = false;\n this.fillOriginal = false;\n }\n\n onFillAll(): void {\n this.fillAll = true;\n this.fillOriginal = false;\n this.fillWidth = false;\n }\n onFileSelection(files: File[]): void {\n this.filesValidationHelper.validateFiles(files);\n this.uploadToServer(files).pipe(takeUntil(this._onDestroy$)).subscribe();\n }\n protected _deleteMedia(selectedMedia): void {\n const { Id, FileId } = selectedMedia;\n let selectedId = Id;\n if (!selectedId) {\n selectedId = FileId;\n }\n const selectedPicIndex = this.value.findIndex((c) => c.Id === selectedId || c.FileId === selectedId);\n this.value = this.value.filter((c) => c.Id !== selectedId && c.FileId !== selectedId);\n this._prepareGallery(this.value);\n if (this.value && this.value.length > 0) {\n this.selectedIndex = 0;\n } else {\n this.selectedIndex = -1;\n }\n this.context.fireEvent('Change', {\n FileId: selectedId,\n IsDeleted: true,\n OldIndex: selectedPicIndex\n });\n }\n protected _scanHelper(isAdvanced): void {\n const scanner = new BarsaApi.Common.BarsaScanner({\n ScannerAgentParams: this.context.ScannerAgentParams\n });\n\n scanner.on(BarsaApi.Common.BarsaScanner.EventEnum.ScanResultReady, this._onScanResult_Ready, this);\n scanner.on(BarsaApi.Common.BarsaScanner.EventEnum.ScanError, this._onScan_Error, this);\n scanner.on(BarsaApi.Common.BarsaScanner.EventEnum.ShowWarrning, this._onScan_Warrning, this);\n BarsaApi.Ul.LoadingMask.Mask(this.el.nativeElement);\n scanner.Scan(isAdvanced);\n }\n\n protected _onScanResult_Ready(contents): void {\n this._uploadScan(contents);\n BarsaApi.Ul.LoadingMask.Unmask(this.el.nativeElement);\n }\n\n protected _onScan_Warrning(text): void {\n if (typeof text === 'string') {\n BarsaApi.Ul.MsgBox.Error(text);\n }\n BarsaApi.Ul.LoadingMask.Unmask(this.el.nativeElement);\n }\n\n protected _onScan_Error(err): void {\n if (typeof err === 'string') {\n BarsaApi.Ul.MsgBox.Error(err);\n }\n\n BarsaApi.Ul.LoadingMask.Unmask(this.el.nativeElement);\n }\n\n protected _uploadScan(contents): void {\n if (contents && contents.length > 0) {\n contents.forEach((content) => {\n BarsaApi.Common.BarsaScanner.UploadScanContent(this.context.FieldDefId, content, () => {\n // if (fileObj) this._onUploadWin_NewFileUpload(null, fileObj);\n // debugger;\n });\n });\n } else {\n BarsaApi.Ul.MsgBox.Warning(this._bbbPipe.transform('ScanResultNotFound'));\n }\n }\n\n protected _prepareGallery(value: any[]): void {\n const data: any[] = [];\n value.forEach((item) => {\n const mediaUrl = this._picFieldSrc.transform(item.FileId, 'BarsaPicture.Full', null);\n const thumbnailUrl = this._picFieldSrc.transform(item.FileId, 'BarsaPicture.Thumbnail', null);\n data.push({\n Id: item.Id,\n FileId: item.FileId,\n title: item.FileName,\n mediaType: 'image',\n label: item.FileName,\n mediaUrl,\n thumbnailUrl,\n alt: 'Failed to load ' + mediaUrl\n });\n });\n this.mediaDataSource.next(data);\n }\n\n protected uploadToServer(files: File[]): Observable<any> {\n return this._uploadService.compressFiles$(files).pipe(\n concatMap((formData) =>\n this._uploadService.upload(formData, this.Setting.ControlFieldDefId).pipe(\n tap((res) => {\n if (Array.isArray(res)) {\n this.updateValue(res);\n }\n }),\n catchError((err) => of(err))\n )\n )\n );\n }\n\n protected _setFileCount(value): void {\n this._fileCountSource.next(value.filter((c) => !c.IsDeleted).length);\n }\n\n protected updateValue(newVal: any[]): void {\n this.value = [...this.value, ...newVal];\n this._prepareGallery(this.value);\n this.fireContextEvent('Change', newVal);\n }\n\n protected _displayImages(\n value: {\n Id: string;\n FileId: string;\n FileName: string;\n Width: string;\n Height: string;\n Size: string;\n }[]\n ): void {\n this.value = value;\n }\n}\nexport interface Media {\n title: string;\n thumbnailUrl: string;\n mediaType: string;\n mediaUrl: string;\n captionFile?: string;\n audioDescFile?: string;\n alt: string;\n label: string;\n selected?: boolean;\n overlayRequired?: boolean;\n}\n","<fd-file-uploader\n #uploader\n [style.display]=\"'none'\"\n [id]=\"id\"\n [name]=\"'pictures_' + id\"\n [placeholder]=\"'AttachPicture' | bbbTranslate\"\n [buttonLabel]=\"'AttachPicture' | bbbTranslate\"\n [buttonAriaLabel]=\"'AttachPicture' | bbbTranslate\"\n accept=\".png,.jpg,.bpm,.jpeg,.gif,.png,.tif\"\n [fileLimit]=\"maxFileCount === 0 ? 100 : maxFileCount\"\n [multiple]=\"maxFileCount === 0 || maxFileCount > 1\"\n (selectedFilesChanged)=\"onFileSelection($event)\"\n></fd-file-uploader>\n\n<ng-container *ngTemplateOutlet=\"layoutGridTpl\"></ng-container>\n<ng-template #layoutGridTpl let-inDialog=\"inDialog\">\n <fd-layout-grid>\n @if (mediaData$ | async; as mediaData) {\n <div fdLayoutGridRow>\n @for (media of mediaData; track media; let i = $index) {\n <div [fdLayoutGridCol]=\"6\" [colMd]=\"3\" [colLg]=\"2\" [colXl]=\"2\" (click)=\"onMedaiClick(media, i)\">\n <ng-container\n *ngTemplateOutlet=\"\n cardTpl;\n context: { $implicit: media, mediaData: this.mediaData, inDialog: this.inDialog, index: i }\n \"\n ></ng-container>\n </div>\n } @if (!inDialog && (disableOrReadonly$ | async) === true ? false : true) {\n <div [fdLayoutGridCol]=\"6\" [colMd]=\"3\" [colLg]=\"2\" [colXl]=\"2\">\n <ng-container *ngTemplateOutlet=\"newFile\"></ng-container>\n </div>\n }\n </div>\n }\n </fd-layout-grid>\n</ng-template>\n<ng-template #cardTpl let-media let-mediaData=\"mediaData\" let-inDialog=\"inDialog\" let-index=\"index\">\n <fd-card class=\"media\" [class.inDialog]=\"inDialog\">\n <fd-card-content style=\"text-align: center; height: 120px\">\n <img imgLazy [imgLazy]=\"media.thumbnailUrl\" [src]=\"media.thumbnailUrl\" />\n </fd-card-content>\n @if (!inDialog) {\n <fd-card-footer>\n <button\n glyph=\"message-information\"\n *fdCardFooterActionItem\n fd-button\n fdType=\"transparent\"\n [fd-inline-help]=\"media.title\"\n [triggers]=\"['click']\"\n [closeOnOutsideClick]=\"true\"\n ></button>\n <button\n glyph=\"full-screen\"\n *fdCardFooterActionItem\n fd-button\n fdType=\"transparent\"\n (click)=\"onFullscreen(media, mediaData)\"\n ></button>\n @if ((disableOrReadonly$ | async) === true ? false : true) {\n <button\n glyph=\"delete\"\n *fdCardFooterActionItem\n fd-button\n fdType=\"transparent\"\n (click)=\"onDelete(index)\"\n ></button>\n }\n </fd-card-footer>\n }\n </fd-card>\n</ng-template>\n<ng-template #newFile>\n <div style=\"position: relative; height: 100%\">\n <fd-card>\n <fd-card-content style=\"display: flex; align-items: center; justify-content: center; min-height: 120px\">\n <button\n fd-button\n glyph=\"add-photo\"\n fdType=\"transparent\"\n [label]=\"'AttachFile' | bbbTranslate\"\n (click)=\"uploader.open()\"\n ></button>\n </fd-card-content>\n\n <fd-card-footer style=\"border-top: 1px solid #ccc\">\n <button fd-button [glyph]=\"'overflow'\" [fdType]=\"'transparent'\" [fdMenuTrigger]=\"menu\"></button>\n <fd-menu #menu>\n <li fd-menu-item (click)=\"onScan()\">\n <a fd-menu-interactive>\n <span fd-menu-title>{{ 'Scan' | bbbTranslate }}</span>\n </a>\n </li>\n <li fd-menu-item (click)=\"onAdvanceScan()\">\n <a fd-menu-interactive>\n <span fd-menu-title>{{ 'AdvancedScan' | bbbTranslate }}</span>\n </a>\n </li>\n </fd-menu>\n </fd-card-footer>\n </fd-card>\n @if ((uploadingState$ | async)?.uploading === true) {\n <bsu-mask></bsu-mask>\n }\n </div>\n</ng-template>\n<ng-template #dialogTemplate let-dialog let-dialogConfig=\"dialogConfig\">\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\" #dialogTpl class=\"vertical\">\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h1 fd-title>{{ Setting.ControlFieldCaptionTranslated }}</h1>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n @if (!dialogConfig.fullscreen) {\n <fd-button-bar\n ariaLabel=\"Fit image size\"\n [glyph]=\"'resize'\"\n [fdType]=\"fillWidth ? 'emphasized' : 'transparent'\"\n (click)=\"fillWidth = !fillWidth\"\n ></fd-button-bar>\n }\n <fd-button-bar ariaLabel=\"close\" glyph=\"decline\" (click)=\"dialog.close()\"></fd-button-bar>\n </div>\n </ng-template>\n </fd-dialog-header>\n <fd-dialog-body #fdbody>\n <div #gallery class=\"gallery inDialog\" style=\"flex: 1\">\n @for (media of dialog.data.mediaData; track media; let i = $index) {\n <div\n class=\"column big-imgs-box\"\n [class.fill-width]=\"fillWidth\"\n [class.fill-all]=\"fillAll\"\n [class.fill-original]=\"fillOriginal\"\n [ngClass]=\"selectedZoom\"\n >\n <div class=\"pics\" [id]=\"i\">\n <bsu-mask></bsu-mask>\n <img imgLazy [imgLazy]=\"media.mediaUrl\" [src]=\"media.mediaUrl\" />\n </div>\n </div>\n }\n </div>\n @if ((deviceSize$ | async) !== 's') {\n <div class=\"thumbnail\" style=\"flex-shrink: 1\">\n <ng-cotainer *ngTemplateOutlet=\"layoutGridTpl; context: { inDialog: true }\"></ng-cotainer>\n </div>\n }\n </fd-dialog-body>\n </fd-dialog>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, OnInit, SimpleChanges } from '@angular/core';\nimport { getFieldValue } from 'barsa-novin-ray-core';\n\nimport { FieldBaseComponent, BarsaApi, MetaobjectDataModel } from 'barsa-novin-ray-core';\n\ninterface SettingsMo extends MetaobjectDataModel {\n Text: string;\n Text$Caption: string;\n Placeholders: any;\n}\n@Component({\n selector: 'bsu-rich-text-static',\n templateUrl: './rich-text-static.component.html',\n styleUrls: ['./rich-text-static.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class RichTextStaticComponent extends FieldBaseComponent implements OnInit {\n @Input() settings: SettingsMo;\n @HostBinding('class') classList: string;\n parameters: any;\n text: any;\n placeholders: { MoDataList: [{ FieldCaption: string; Placeholder: string }] };\n\n ngOnInit(): void {\n super.ngOnInit();\n if (!this.parameters) {\n this.parameters = BarsaApi.Common.Util.TryGetValue(this.context, 'Setting.CustomUi.Parameters');\n if (!this.parameters) {\n this.parameters = this.settings;\n }\n }\n this._updateText(this.parameters);\n }\n ngOnChanges(changes: SimpleChanges): void {\n super.ngOnChanges(changes);\n const { parameters } = changes;\n if (parameters && !parameters.firstChange) {\n this._updateText(parameters.currentValue);\n }\n }\n protected _updateText(parameters: MetaobjectDataModel): void {\n let richText: string = BarsaApi.Common.Util.TryGetValue(parameters, 'Text', '');\n this.placeholders = BarsaApi.Common.Util.TryGetValue(parameters, 'Placeholders', null);\n this.classList = BarsaApi.Common.Util.TryGetValue(parameters, 'ClassList', null);\n this.placeholders?.MoDataList.forEach((placeholder) => {\n const placeholderInText = `[${placeholder.Placeholder}]`;\n const value = this._getPlaceholderValue(this.moContext, placeholder.FieldCaption);\n // const r = new RegExp(placeholderInText, 'g');\n const replaceWhat = placeholderInText.replace(/[-\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n const reg = new RegExp(replaceWhat, 'g');\n richText = richText.replace(reg, value);\n });\n this.text = this._domSanitizer.bypassSecurityTrustHtml(richText);\n }\n protected get moContext(): MetaobjectDataModel {\n return this.context.FormPanelUi.Mo;\n }\n protected _getPlaceholderValue(mo: MetaobjectDataModel, placeholder: string): any {\n if (!mo.$FieldDict) {\n console.warn(`$FieldDict can not be exist in mo ${mo.$Caption}`);\n return '';\n }\n let filedName = mo.$FieldDict[placeholder];\n if (!filedName) {\n if (!mo.InheritanceInfo) {\n console.warn(`filedname can not be exist in mo ${mo.$Caption}`);\n return;\n }\n const x = mo.InheritanceInfo.ParentFieldName;\n if (!mo[x] && !mo[x].$FieldDict && !mo[x].$FieldDict[placeholder]) {\n return;\n }\n filedName = mo[x].$FieldDict[placeholder];\n return getFieldValue(filedName, mo[x], true);\n }\n return getFieldValue(filedName, mo, true);\n }\n}\n","<div [innerHtml]=\"text\"></div>\r\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Inject,\n Injector,\n Optional,\n Renderer2,\n Self,\n Type,\n ViewContainerRef\n} from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\n\nimport {\n ContainerComponent,\n BarsaDialogService,\n DialogParams,\n PortalService,\n ContainerService,\n FORM_DIALOG_COMPONENT\n} from 'barsa-novin-ray-core';\n@Component({\n selector: 'bsu-form-dialog-less',\n templateUrl: './form-dialog-less.component.html',\n styleUrls: ['./form-dialog-less.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [ContainerService]\n})\nexport class FormDialogLessComponent extends ContainerComponent {\n formPanelCtrlr: any;\n\n params: {\n moId: string;\n typeDefId: string;\n reportId: string;\n inDialog: boolean;\n };\n constructor(\n protected dialogParams: DialogParams,\n protected _el: ElementRef,\n protected _activatedRoute: ActivatedRoute,\n protected _portalService: PortalService,\n protected _vcr: ViewContainerRef,\n protected _barsaDialogService: BarsaDialogService,\n protected _injector: Injector,\n protected _router: Router,\n protected _renderer2: Renderer2,\n protected _cdr: ChangeDetectorRef,\n @Self() @Optional() protected _containerService: ContainerService,\n @Optional() @Inject(FORM_DIALOG_COMPONENT) protected _formDialogComponent: Type<any>\n ) {\n super(\n _el,\n _activatedRoute,\n _portalService,\n _vcr,\n _barsaDialogService,\n _injector,\n _router,\n _cdr,\n _renderer2,\n _containerService,\n _formDialogComponent\n );\n this.formPanelCtrlr = this.dialogParams.context.formpanelCtrlr;\n const moId = this.dialogParams.context.queryParams.id;\n const typeDefId = this.dialogParams.context.queryParams.tyid;\n const reportId = this.dialogParams.context.queryParams.repid;\n this.params = { moId, typeDefId, reportId, inDialog: true };\n }\n\n onFormClose(): void {}\n}\n","@if (rendered) {\n<bnrc-form [formPanelCtrl]=\"formPanelCtrlr\" [params]=\"params\" (formClose)=\"onFormClose()\"></bnrc-form>\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\nimport { ContentDensity, TabPanelComponent, ToolbarComponent } from '@fundamental-ngx/core';\n\nimport {\n BaseComponent,\n BreadCrumbInfo,\n MetaobjectDataModel,\n LayoutSetting,\n isFirefox,\n FormVisibilityStatus\n} from 'barsa-novin-ray-core';\nimport { FormLayoutCol, GetFormLayoutGrid } from '../constants';\n\n@Component({\n selector: 'bsu-barsa-simple-form',\n templateUrl: './barsa-simple-form.component.html',\n styleUrls: ['./barsa-simple-form.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BarsaSimpleFormComponent extends BaseComponent implements OnInit, OnChanges {\n @ViewChild('formToolbar') _toolbarComponent: ToolbarComponent;\n @Output() toolbarClick = new EventEmitter<any>();\n @Output() workflowChoiceClick = new EventEmitter<any>();\n /* eslint-disable */\n @Output() close = new EventEmitter();\n @Input() breadCrumbs: BreadCrumbInfo[] | null;\n @Input() toolbarVisible: boolean;\n @Input() toolbarItems: any[];\n @Input() layoutActions: any[];\n @Input() layout94;\n @Input() parameters: MetaobjectDataModel;\n @Input() workflowPanelUi: any;\n @Input() context: any;\n @Input() title: string;\n @Input() subtitle: string;\n @Input() description: string;\n @Input() facetList: any[];\n @Input() fieldDict: { [key: string]: string } | undefined;\n @Input() removeHeaderBorder: boolean;\n @Input() removeContentPadding: boolean;\n @Input() isMobile: boolean;\n @Input() mo: MetaobjectDataModel;\n @Input() avatar: any;\n @Input() rtl: boolean;\n @Input() isModal: boolean;\n @Input() hideTitle = true;\n @Input() hideClose: boolean;\n @Input() hidePin: boolean;\n @Input() mask: boolean;\n @Input() canSend: boolean;\n @Input() contentIsPage: boolean;\n @Input() contentDensity: ContentDensity;\n @Input() deviceSize: 's' | 'm' | 'l' | 'xl';\n @Input() dirValue: 'rtl' | 'ltr';\n @Input() landscape: boolean;\n @Input() standalone: boolean;\n @Input() modernTabs: LayoutSetting[];\n @Input() workflowButtons: any[];\n @Input() layoutGridCol: number;\n @Input() colLg: number;\n @Input() colXl: number;\n @Input() colMd: number;\n @Input() formVisibilityStatus: FormVisibilityStatus;\n @ViewChild('titleRef', { read: ViewContainerRef }) titleRef: ViewContainerRef;\n @ViewChild('headerAvatar') headerAvatarRef: TemplateRef<any>;\n @ViewChild('closeForm', { static: true }) closeFormTemplate: TemplateRef<any>;\n selectedTab: any;\n\n toolbarShouldOverflow = false;\n workflowInfoText: string;\n workflowButtonsComboMode: boolean;\n isFirefox: boolean;\n layout1: FormLayoutCol;\n layout2: FormLayoutCol;\n constructor(public el: ElementRef) {\n super();\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.isFirefox = isFirefox();\n this.facetList ||= [];\n this.workflowInfoText = this.workflowPanelUi?.Setting?.Workflow?.InfoText;\n this.workflowButtonsComboMode = this.workflowPanelUi?.Setting?.Workflow?.ButtonsComboMode;\n\n const toolbarButtonsCount = this.toolbarItems.filter((c) => typeof c !== 'string' && c.text !== '-').length;\n if (this.deviceSize === 's' && toolbarButtonsCount > 1) {\n this.toolbarShouldOverflow = true;\n } else {\n if (toolbarButtonsCount > 5) {\n this.toolbarShouldOverflow = true;\n }\n }\n this._hanldeLayout();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const { formVisibilityStatus } = changes;\n if (\n formVisibilityStatus &&\n !formVisibilityStatus.firstChange &&\n formVisibilityStatus.currentValue === 'Visible'\n ) {\n this._toolbarComponent?.updateCollapsibleItems();\n }\n }\n onToolbarClick(btn, menu: any = null): void {\n if (menu) {\n menu.close();\n }\n this.toolbarClick.emit(btn);\n }\n onWfChoiceSelect(wfChoice): void {\n this.workflowChoiceClick.emit(wfChoice);\n }\n onTabChanged(tab: TabPanelComponent): void {\n this.selectedTab = tab.title;\n }\n getNumber(val): number {\n return Number(val);\n }\n onDynamicComponentEvents(e) {}\n _hanldeLayout(): void {\n this.layout1 = GetFormLayoutGrid(true, this.colXl, this.colLg, this.colMd);\n this.layout2 = GetFormLayoutGrid(false, this.colXl, this.colLg, this.colMd);\n }\n}\n","@if (mask) {\n<bsu-mask> </bsu-mask>\n}\n<fd-layout-grid>\n <div fdLayoutGridRow>\n <div\n class=\"grid-col\"\n [fdLayoutGridCol]=\"0\"\n [colMd]=\"layout1.colMd\"\n [colLg]=\"layout1.colLg\"\n [colXl]=\"layout1.colXl\"\n ></div>\n <div class=\"grid-col\" [fdLayoutGridCol]=\"12\" [colMd]=\"colMd\" [colLg]=\"colLg\" [colXl]=\"colXl\">\n <ng-container\n *ngTemplateOutlet=\"\n parameters?.LayoutComponent ? renderLayoutComponent : renderDefaultLayout;\n context: {\n $implicit: parameters?.LayoutComponent,\n layout94: layout94\n }\n \"\n ></ng-container>\n </div>\n <div\n class=\"grid-col\"\n [fdLayoutGridCol]=\"0\"\n [colMd]=\"layout2.colMd\"\n [colLg]=\"layout2.colLg\"\n [colXl]=\"layout2.colXl\"\n ></div>\n </div>\n</fd-layout-grid>\n\n<ng-template #renderDefaultLayout let-layout94=\"layout94\">\n <bsu-ly-layout-container-of-root\n [config]=\"layout94\"\n [isPanel]=\"false\"\n [isRoot]=\"true\"\n ></bsu-ly-layout-container-of-root>\n @if (workflowButtons && !isModal) { @if (workflowButtons.length) {\n <div class=\"workflow-buttons\">\n <div style=\"flex-grow: 1\"></div>\n <bsu-layout-actions\n style=\"display: flex; column-gap: 1rem\"\n [simple]=\"true\"\n [buttons]=\"[]\"\n [workflowButtons]=\"workflowButtons\"\n (toolClick)=\"onToolbarClick($event)\"\n >\n </bsu-layout-actions>\n </div>\n } }\n</ng-template>\n<ng-template #renderLayoutComponent let-component let-layout94=\"layout94\">\n <bnrc-dynamic-form-component\n [component]=\"component\"\n [removeContentPadding]=\"removeContentPadding\"\n [breadCrumbs]=\"breadCrumbs\"\n [description]=\"description\"\n [title]=\"title\"\n [subtitle]=\"subtitle\"\n [toolbarItems]=\"toolbarItems\"\n [layoutActions]=\"layoutActions\"\n [facetList]=\"facetList\"\n [settings]=\"component.Settings\"\n [workflowPanelUi]=\"workflowPanelUi\"\n [isMobile]=\"isMobile\"\n [mo]=\"mo\"\n [layout94]=\"layout94\"\n [context]=\"context\"\n [rtl]=\"rtl\"\n [fieldDict]=\"fieldDict\"\n [mask]=\"mask\"\n [dirValue]=\"dirValue\"\n [deviceSize]=\"deviceSize\"\n [contentDensity]=\"contentDensity\"\n [modernTabs]=\"modernTabs\"\n [avatar]=\"avatar\"\n (events)=\"onDynamicComponentEvents($event)\"\n ></bnrc-dynamic-form-component>\n</ng-template>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostBinding,\n OnInit,\n Self\n} from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Observable, takeUntil, tap } from 'rxjs';\nimport { ContentDensity, ContentDensityService } from '@fundamental-ngx/core';\n\nimport {\n FormBaseComponent,\n PortalService,\n BreadCrumbInfo,\n FormPanelService,\n BreadcrumbService,\n ControlUiPipe,\n FindLayoutSettingFromLayout94,\n FindToolbarItem,\n BarsaApi,\n MetaobjectDataModel,\n EjrayOlgo,\n MoForReportModel\n} from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-ui-form-panel',\n templateUrl: './ui-form-panel.component.html',\n styleUrls: ['./ui-form-panel.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [FormPanelService]\n})\nexport class UiFormPanelComponent extends FormBaseComponent implements OnInit {\n @HostBinding('attr.typeDefName') _typeDefName = '';\n\n breadCrumbs$: Observable<BreadCrumbInfo[]>;\n contentDensity$: Observable<ContentDensity>;\n deviceSize$: Observable<'s' | 'm' | 'l' | 'xl'>;\n dirValue$: Observable<'rtl' | 'ltr'>;\n rtl$: Observable<boolean>;\n canSend$: Observable<boolean>;\n extendLayout94$: Observable<any>;\n extendToolbarItems$: Observable<any[]>;\n parameters: FormPanelSetting;\n constructor(\n protected _breadcrumbService: BreadcrumbService,\n protected _portalService: PortalService,\n protected _router: Router,\n protected _el: ElementRef,\n protected _controlUiPipe: ControlUiPipe,\n @Self() protected _formPanelService: FormPanelService,\n protected _activatedRoute: ActivatedRoute,\n protected _cdr: ChangeDetectorRef,\n protected _contentDensityService: ContentDensityService\n ) {\n super(\n _breadcrumbService,\n _portalService,\n _router,\n _el,\n _controlUiPipe,\n _formPanelService,\n _activatedRoute,\n _cdr\n );\n this.breadCrumbs$ = _breadcrumbService.breadcrumbs$;\n this.contentDensity$ = _contentDensityService.contentDensity;\n this.deviceSize$ = _portalService.deviceSize$;\n this.dirValue$ = _portalService.dirValue$;\n this.rtl$ = _portalService.rtl$;\n this.canSend$ = this._formPanelService.canSend$;\n\n this._formPanelService.mo$.subscribe((c) => (this._typeDefName = c?.$TypeDefName ?? ''));\n }\n ngOnInit(): void {\n super.ngOnInit();\n const parameters = this.parameters;\n this.extendLayout94$ = this.layout94$.pipe(\n takeUntil(this._onDestroy$),\n tap((layout94) => {\n if (parameters?.FormLayoutItemsSetting) {\n parameters.FormLayoutItemsSetting.MoDataList.forEach((setting) => {\n const layoutItem = FindLayoutSettingFromLayout94(layout94, setting.Title);\n if (layoutItem) {\n if (layoutItem.Type === 'LayoutControlItem' && layoutItem.FieldUi) {\n BarsaApi.Common.Merger.FastMerge(layoutItem.FieldUi.Setting, setting);\n } else {\n BarsaApi.Common.Merger.FastMerge(layoutItem, setting);\n }\n }\n });\n }\n })\n );\n this.extendToolbarItems$ = this.toolbarItems$.pipe(\n takeUntil(this._onDestroy$),\n tap((toolbarItems) => {\n if (parameters?.FormLayoutItemsSetting) {\n parameters.FormLayoutItemsSetting.MoDataList.forEach((setting) => {\n const toolbarItem = FindToolbarItem(toolbarItems, setting.Title);\n if (toolbarItem) {\n BarsaApi.Common.Merger.FastMerge(toolbarItem, setting);\n }\n });\n }\n if (parameters?.SaveButtonCustomUi?.Selector) {\n const saveItem = FindToolbarItem(toolbarItems, 'SaveAndClose', 'itemId');\n BarsaApi.Common.Merger.FastMerge(saveItem, {\n Data: { CustomUi: parameters.SaveButtonCustomUi }\n });\n }\n if (parameters?.OkButtonCustomUi?.Selector) {\n const okItem = FindToolbarItem(toolbarItems, 'Ok', 'itemId');\n BarsaApi.Common.Merger.FastMerge(okItem, {\n Data: { CustomUi: parameters.OkButtonCustomUi }\n });\n }\n if (parameters?.CancelButtonCustomUi?.Selector) {\n const cancelItem = FindToolbarItem(toolbarItems, 'Cancel', 'itemId');\n BarsaApi.Common.Merger.FastMerge(cancelItem, {\n Data: { CustomUi: parameters.CancelButtonCustomUi }\n });\n }\n })\n );\n this.fullscreen = parameters?.FullscreenDefault === true && !this.isModal;\n }\n}\ninterface FormPanelSetting extends MetaobjectDataModel {\n LayoutComponent: EjrayOlgo;\n HeaderComponent: EjrayOlgo;\n FooterComponent: EjrayOlgo;\n SaveButtonCustomUi: EjrayOlgo;\n OkButtonCustomUi: EjrayOlgo;\n CancelButtonCustomUi: EjrayOlgo;\n FormLayoutItemsSetting: MoForReportModel;\n FullscreenDefault: boolean;\n CanFullscreen: boolean;\n IsSimple: boolean;\n IsModal: boolean;\n CssStyles: string;\n CanMove: boolean;\n CanResize: boolean;\n ContentIsPage: boolean;\n LayoutGridCol: number;\n ColLg: number;\n ColXl: number;\n ColMd: number;\n}\n","@if (isSearchPanel || (isSimple$ | async) || isSubForm || isModal || isFormReport) {\n<bsu-barsa-simple-form\n [canSend]=\"(canSend$ | async) === true\"\n [formVisibilityStatus]=\"formVisibilityStatus\"\n [removeContentPadding]=\"(headerRemoveContentPadding$ | async)!!\"\n [breadCrumbs]=\"breadCrumbs$ | async\"\n [description]=\"(headerDescription$ | async)!!\"\n [hideClose]=\"(hideClose$ | async)!!\"\n [hideTitle]=\"(hideTitle$ | async)!!\"\n [hidePin]=\"(hidePin$ | async)!!\"\n [title]=\"(title$ | async)!!\"\n [isModal]=\"isModal\"\n [subtitle]=\"(headerSubtitle$ | async)!!\"\n [toolbarItems]=\"extendToolbarItems$ | async | tlbButtons: 'inFooter':false\"\n [layoutActions]=\"extendToolbarItems$ | async | tlbButtons: 'inFooter':true\"\n [toolbarVisible]=\"(toolbarVisible$ | async)!!\"\n [facetList]=\"(headerLayout$ | async)?.FacetList2\"\n [parameters]=\"parameters\"\n [workflowPanelUi]=\"workflowPanelUi$ | async\"\n [workflowButtons]=\"(workflowButtons$ | async)!!\"\n [isMobile]=\"isMobile\"\n [layout94]=\"extendLayout94$ | async\"\n [layoutGridCol]=\"+(parameters?.LayoutGridCol || 12)\"\n [colLg]=\"+(parameters?.ColLg || 0)\"\n [colXl]=\"+(parameters?.ColXl || 0)\"\n [colMd]=\"+(parameters?.ColMd || 0)\"\n [rtl]=\"(rtl$ | async)!!\"\n [mask]=\"(mask$ | async)!!\"\n [mo]=\"(mo$ | async)!!\"\n [dirValue]=\"(dirValue$ | async)!!\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n [contentDensity]=\"(contentDensity$ | async)!!\"\n [modernTabs]=\"(modernTabs$ | async)!!\"\n [avatar]=\"(avatar$ | async)!!\"\n [fieldDict]=\"(fieldDict$ | async)!!\"\n [landscape]=\"(landscape$ | async) === true\"\n [standalone]=\"(standalone$ | async) === true\"\n (close)=\"onClose()\"\n (toolbarClick)=\"onToolbarClick($event)\"\n [contentIsPage]=\"parameters?.ContentIsPage === true\"\n (workflowChoiceClick)=\"onWorkflowChoiceClick($event)\"\n></bsu-barsa-simple-form>\n} @else {\n<bsu-fundamental-dynamic-form\n [style.position]=\"(mask$ | async) ? 'relative' : null\"\n [canSend]=\"(canSend$ | async) === true\"\n [formVisibilityStatus]=\"formVisibilityStatus\"\n [removeContentPadding]=\"(headerRemoveContentPadding$ | async)!!\"\n [breadCrumbs]=\"breadCrumbs$ | async\"\n [description]=\"(headerDescription$ | async)!!\"\n [hideClose]=\"(hideClose$ | async)!!\"\n [hideTitle]=\"(hideTitle$ | async)!!\"\n [hidePin]=\"(hidePin$ | async)!!\"\n [title]=\"(title$ | async)!!\"\n [subtitle]=\"(headerSubtitle$ | async)!!\"\n [toolbarItems]=\"extendToolbarItems$ | async | tlbButtons: 'inFooter':false\"\n [layoutActions]=\"extendToolbarItems$ | async | tlbButtons: 'inFooter':true\"\n [toolbarVisible]=\"(toolbarVisible$ | async)!!\"\n [facetList]=\"(headerLayout$ | async)?.FacetList2\"\n [parameters]=\"parameters\"\n [fullscreen]=\"fullscreen\"\n [workflowPanelUi]=\"workflowPanelUi$ | async\"\n [isMobile]=\"isMobile\"\n [layout94]=\"extendLayout94$ | async\"\n [rtl]=\"(rtl$ | async)!!\"\n [layoutGridCol]=\"+(parameters?.LayoutGridCol || 12)\"\n [colLg]=\"+(parameters?.ColLg || 0)\"\n [colXl]=\"+(parameters?.ColXl || 0)\"\n [colMd]=\"+(parameters?.ColMd || 0)\"\n [mask]=\"(mask$ | async)!!\"\n [mo]=\"(mo$ | async)!!\"\n [dirValue]=\"(dirValue$ | async)!!\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n [contentDensity]=\"(contentDensity$ | async)!!\"\n [modernTabs]=\"(modernTabs$ | async)!!\"\n [avatar]=\"(avatar$ | async)!!\"\n [fieldDict]=\"(fieldDict$ | async)!!\"\n [landscape]=\"(landscape$ | async) === true\"\n [standalone]=\"(standalone$ | async) === true\"\n (fullscreenRequest)=\"onFullscreen()\"\n (close)=\"onClose()\"\n (toolbarClick)=\"onToolbarClick($event)\"\n [contentIsPage]=\"parameters?.ContentIsPage === true\"\n (workflowChoiceClick)=\"onWorkflowChoiceClick($event)\"\n></bsu-fundamental-dynamic-form>\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ComponentRef,\n ElementRef,\n Input,\n OnInit,\n QueryList,\n ViewChild,\n ViewChildren\n} from '@angular/core';\nimport { WizardComponent, WizardSize, WizardStepComponent, WizardStepStatus } from '@fundamental-ngx/core';\nimport { takeUntil } from 'rxjs';\n\nimport { FormPropsBaseComponent, LayoutSetting } from 'barsa-novin-ray-core';\n@Component({\n selector: 'bsu-layout-wizard',\n templateUrl: './layout-wizard.component.html',\n styleUrls: ['./layout-wizard.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LayoutWizardComponent extends FormPropsBaseComponent implements OnInit {\n @ViewChild('layoutRef') layoutRef: ElementRef;\n @ViewChild('containerRootRef', { read: ElementRef })\n containerRootRef: ElementRef;\n @Input() root: LayoutSetting;\n @Input() parentContentRef: ComponentRef<any>;\n @Input() selectedIndex = 0;\n @Input() maxContentWidth = 0;\n @Input() minTabHeight = 0;\n @ViewChildren(WizardStepComponent)\n wizardStepComponents: QueryList<WizardStepComponent>;\n @ViewChild(WizardComponent, { read: ElementRef })\n wizardComponent: ElementRef;\n arrStatus: WizardStepStatus[] = [];\n wizardSize: WizardSize;\n\n ngOnInit(): void {\n super.ngOnInit();\n this._formPanelService.wizardNextStep$.pipe(takeUntil(this._onDestroy$)).subscribe(() => {\n this._nextStep();\n });\n this._formPanelService.wizardPreviousStep$.pipe(takeUntil(this._onDestroy$)).subscribe(() => {\n this._previousStep();\n });\n switch (this.deviceSize) {\n case 's':\n case 'm':\n this.wizardSize = 'sm';\n break;\n case 'l':\n case 'xl':\n this.wizardSize = 'md';\n break;\n default:\n this.wizardSize = 'sm';\n break;\n }\n this.modernTabs.forEach((c, i) => this.arrStatus.push(i === 0 ? 'current' : 'upcoming'));\n if (this.settings) {\n this.minTabHeight = this.settings.MinTabHeight;\n this.maxContentWidth = this.settings.MaxContentWidth;\n }\n }\n ngAfterViewInit(): void {\n super.ngAfterViewInit();\n setTimeout(() => {\n this.setHeightOfFormContent();\n }, 0);\n }\n\n resizeWorks(): void {\n setTimeout(() => {\n // this.setHeightOfFormContent();\n const rootHeight = this.containerRootRef?.nativeElement?.offsetHeight;\n if (this.minTabHeight && rootHeight > this.minTabHeight) {\n this.minTabHeight = rootHeight + 20;\n }\n this._cdr.detectChanges();\n }, 0);\n }\n\n onStatusChange(i, e): void {\n this.arrStatus[i] = e;\n this.refreshLayout();\n setTimeout(() => {\n if (this.wizardStepComponents) {\n const currentStepCmp = this.wizardStepComponents.toArray()[i];\n if (e !== 'current') {\n currentStepCmp.status = e;\n currentStepCmp.completed = false;\n currentStepCmp.visited = false;\n currentStepCmp.branching = false;\n }\n }\n this.setHeightOfFormContent();\n }, 10);\n }\n onStepClick(i, e): void {\n if (i > this.selectedIndex) {\n e.stopPropagation();\n return;\n }\n this.arrStatus[i] = 'current';\n for (let j = i + 1; j < this.arrStatus.length; j++) {\n this.arrStatus[j] = 'upcoming';\n }\n this.refreshLayout();\n }\n refreshLayout(): void {\n this.selectedIndex = this.arrStatus.findIndex((c) => c === 'current');\n const arrWizardStep = this.wizardStepComponents?.toArray();\n if (arrWizardStep) {\n arrWizardStep[this.selectedIndex].visited = false;\n arrWizardStep[this.selectedIndex].completed = false;\n arrWizardStep[this.selectedIndex].status = 'current';\n }\n this.resizeWorks();\n }\n private _nextStep(): void {\n // this.selectedIndex++;\n const currId = this.arrStatus.findIndex((c) => c === 'current');\n if (currId >= this.arrStatus.length) {\n return;\n }\n this.arrStatus[currId] = 'completed';\n this.arrStatus[currId + 1] = 'current';\n this.refreshLayout();\n }\n private _previousStep(): void {\n // this.selectedIndex++;\n const currId = this.arrStatus.findIndex((c) => c === 'current');\n if (currId <= 0) {\n return;\n }\n this.arrStatus[currId - 1] = 'current';\n this.arrStatus[currId] = 'upcoming';\n this.refreshLayout();\n }\n private setHeightOfFormContent(): void {\n const wizardEl = this.wizardComponent.nativeElement as HTMLElement;\n const formContentEl = wizardEl.querySelector('.fix-form-content');\n const bound = formContentEl?.getBoundingClientRect();\n if (bound) {\n this._renderer2.setStyle(formContentEl, 'height', `calc(100vh - ${Math.round(bound.top)}px)`);\n }\n }\n}\n","<fd-wizard [appendToWizard]=\"false\">\n <fd-wizard-navigation>\n <ul fd-wizard-progress-bar [size]=\"wizardSize\" role=\"list\" aria-label=\"Wizard Steps\">\n @for (step of modernTabs; track step; let i = $index) {\n <li\n fd-wizard-step\n [status]=\"arrStatus[i]\"\n (statusChange)=\"onStatusChange(i, $event)\"\n [label]=\"step.Title || '' | bbbTranslate\"\n (click)=\"onStepClick(i, $event)\"\n >\n <fd-wizard-step-indicator>{{ i + 1 }}</fd-wizard-step-indicator>\n <fd-wizard-content>\n <div class=\"fix-form-content\">\n <div\n #layoutRef\n [style.max-width]=\"maxContentWidth ? maxContentWidth + 'px' : 'auto'\"\n [style.min-height.px]=\"minTabHeight ? minTabHeight : 400\"\n >\n @if (i === selectedIndex) {\n <bsu-ly-layout-container-of-root\n #containerRootRef\n class=\"content-wizard\"\n [config]=\"step\"\n [isPanel]=\"false\"\n [isRoot]=\"true\"\n ></bsu-ly-layout-container-of-root>\n }\n </div>\n </div>\n </fd-wizard-content>\n </li>\n }\n </ul>\n </fd-wizard-navigation>\n</fd-wizard>\n","import {\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n ElementRef,\n Input,\n OnInit,\n ViewContainerRef\n} from '@angular/core';\nimport { BarsaApi, BaseDirective, BreadCrumbInfo, LayoutSetting, MetaobjectDataModel } from 'barsa-novin-ray-core';\nimport { LayoutWizardComponent } from './layout-wizard/layout-wizard.component';\n\n@Directive({\n selector: '[wizardLayout]'\n})\nexport class WizardLayoutDirective extends BaseDirective implements OnInit {\n @Input() wizardLayout: any;\n @Input() breadCrumbs: BreadCrumbInfo[] | null;\n @Input() toolbarVisible: boolean;\n @Input() toolbarItems: any[];\n @Input() layoutActions: any[];\n @Input() layout94;\n @Input() settings: MetaobjectDataModel;\n @Input() workflowPanelUi: any;\n @Input() title: string;\n @Input() subtitle: string;\n @Input() description: string;\n @Input() facetList: any[];\n @Input() removeHeaderBorder: boolean;\n @Input() removeContentPadding: boolean;\n @Input() isMobile: boolean;\n @Input() avatar: any;\n @Input() rtl: boolean;\n @Input() mask: boolean;\n @Input() fieldDict: { [key: string]: string } | undefined;\n @Input() contentDensity: any;\n @Input() deviceSize: 's' | 'm' | 'l' | 'xl';\n @Input() dirValue: 'rtl' | 'ltr';\n @Input() modernTabs: LayoutSetting[];\n\n wizardComponentRef: ComponentRef<LayoutWizardComponent>;\n constructor(\n private vcr: ViewContainerRef,\n private factoryResolver: ComponentFactoryResolver,\n protected _el: ElementRef\n ) {\n super(_el);\n }\n ngOnInit(): void {\n super.ngOnInit();\n const { layout94, context } = this.wizardLayout;\n const factory = this.factoryResolver.resolveComponentFactory(LayoutWizardComponent);\n this.wizardComponentRef = this.vcr.createComponent(factory);\n const maxContentWidth = BarsaApi.Common.Util.TryGetValue(\n context,\n 'Setting.View.CustomUi.Parameters.MaxContentWidth',\n null\n );\n const minTabHeight = BarsaApi.Common.Util.TryGetValue(\n context,\n 'Setting.View.CustomUi.Parameters.MinTabHeight',\n null\n );\n this.wizardComponentRef.instance.root = layout94;\n this.wizardComponentRef.instance.maxContentWidth = maxContentWidth;\n this.wizardComponentRef.instance.minTabHeight = minTabHeight;\n this.wizardComponentRef.instance.breadCrumbs = this.breadCrumbs;\n this.wizardComponentRef.instance.toolbarVisible = this.toolbarVisible;\n this.wizardComponentRef.instance.toolbarItems = this.toolbarItems;\n this.wizardComponentRef.instance.layoutActions = this.layoutActions;\n this.wizardComponentRef.instance.layout94 = this.layout94;\n this.wizardComponentRef.instance.settings = this.settings;\n this.wizardComponentRef.instance.workflowPanelUi = this.workflowPanelUi;\n this.wizardComponentRef.instance.title = this.title;\n this.wizardComponentRef.instance.subtitle = this.subtitle;\n this.wizardComponentRef.instance.description = this.description;\n this.wizardComponentRef.instance.facetList = this.facetList;\n this.wizardComponentRef.instance.removeHeaderBorder = this.removeHeaderBorder;\n this.wizardComponentRef.instance.removeContentPadding = this.removeContentPadding;\n this.wizardComponentRef.instance.isMobile = this.isMobile;\n this.wizardComponentRef.instance.avatar = this.avatar;\n this.wizardComponentRef.instance.rtl = this.rtl;\n this.wizardComponentRef.instance.mask = this.mask;\n this.wizardComponentRef.instance.fieldDict = this.fieldDict;\n this.wizardComponentRef.instance.contentDensity = this.contentDensity;\n this.wizardComponentRef.instance.deviceSize = this.deviceSize;\n this.wizardComponentRef.instance.dirValue = this.dirValue;\n this.wizardComponentRef.instance.modernTabs = this.modernTabs;\n }\n public nextStep(): void {\n // this.wizardComponentRef.instance._nextStep();\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewChild } from '@angular/core';\r\n\r\nimport { FormPanelService } from 'barsa-novin-ray-core';\r\nimport { UiFormPanelComponent } from '../ui-form-panel/ui-form-panel.component';\r\nimport { WizardLayoutDirective } from '../wizard-layout.directive';\r\n@Component({\r\n selector: 'bsu-form-wizard',\r\n templateUrl: './form-wizard.component.html',\r\n styleUrls: ['./form-wizard.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [FormPanelService]\r\n})\r\nexport class FormWizardComponent extends UiFormPanelComponent {\r\n @ViewChild(WizardLayoutDirective) wizardLayout: WizardLayoutDirective;\r\n}\r\n","<div [headerForm]=\"this\" class=\"sapBaseColor\"></div>\n<div infobar></div>\n<div workflow></div>\n<div\n wizardLayout\n [style.position]=\"(mask$ | async) ? 'relative' : null\"\n [canSend]=\"(canSend$ | async) === true\"\n [removeContentPadding]=\"(headerRemoveContentPadding$ | async)!!\"\n [breadCrumbs]=\"breadCrumbs$ | async\"\n [description]=\"(headerDescription$ | async)!!\"\n [title]=\"(title$ | async)!!\"\n [subtitle]=\"(headerSubtitle$ | async)!!\"\n [toolbarItems]=\"toolbarItems$ | async | tlbButtons: 'inFooter':false\"\n [layoutActions]=\"toolbarItems$ | async | tlbButtons: 'inFooter':true\"\n [toolbarVisible]=\"(toolbarVisible$ | async)!!\"\n [facetList]=\"(headerLayout$ | async)?.FacetList2\"\n [parameters]=\"parameters\"\n [workflowPanelUi]=\"workflowPanelUi$ | async\"\n [isMobile]=\"isMobile\"\n [layout94]=\"layout94$ | async\"\n [rtl]=\"(rtl$ | async)!!\"\n [mask]=\"(mask$ | async)!!\"\n [dirValue]=\"(dirValue$ | async)!!\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n [contentDensity]=\"(contentDensity$ | async)!!\"\n [modernTabs]=\"(modernTabs$ | async)!!\"\n [avatar]=\"(avatar$ | async)!!\"\n [fieldDict]=\"(fieldDict$ | async)!!\"\n></div>\n\n<div #footer></div>\n\n@if (mask$ | async) {\n<bsu-mask> </bsu-mask>\n}\n","import { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { SafeHtml } from '@angular/platform-browser';\r\n\r\nimport { FieldBaseComponent, MetaobjectDataModel } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bsu-ui-text-area',\r\n templateUrl: './ui-text-area.component.html',\r\n styleUrls: ['./ui-text-area.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class UiTextAreaComponent extends FieldBaseComponent implements OnInit, AfterViewInit {\r\n @ViewChild('textarea', { read: ElementRef }) textarea: ElementRef;\r\n rowCount: number;\r\n minHeight: number;\r\n parameters: TextAreaSetting;\r\n safeHtml: SafeHtml;\r\n isEmbedHtml: boolean;\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.rowCount = this.JsonExtraProp?.Row;\r\n const layoutInfo = this.layoutInfo;\r\n let minHeight = layoutInfo.Bounds.height;\r\n if (minHeight < layoutInfo.MinSize.height) {\r\n minHeight = layoutInfo.MinSize.height;\r\n }\r\n this.minHeight = minHeight;\r\n this.isEmbedHtml = this.parameters?.IsEmbedHtml;\r\n this.safeHtml = this._domSanitizer.bypassSecurityTrustHtml(this.value);\r\n }\r\n ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n this._calcTextAreaHeight2();\r\n }\r\n onValueChange(e): void {\r\n this.value = e.target.value;\r\n this.valueChange.emit(this.value);\r\n }\r\n onKeyup(): void {\r\n this._calcTextAreaHeight2();\r\n }\r\n private _calcTextAreaHeight2(): void {\r\n if (this.isEmbedHtml || !this.textarea) {\r\n return;\r\n }\r\n const elTextArea = this.textarea.nativeElement;\r\n elTextArea.style.height = '1px';\r\n elTextArea.style.height = 10 + elTextArea.scrollHeight + 'px';\r\n this._cdr.detectChanges();\r\n }\r\n}\r\ninterface TextAreaSetting extends MetaobjectDataModel {\r\n IsEmbedHtml: boolean;\r\n}\r\n","@if (!isEmbedHtml) {\n<textarea\n #textarea\n fd-form-control\n [id]=\"id\"\n [placeholder]=\"Setting.NullText || ''\"\n [readonly]=\"(readonly$ | async) === true ? true : null\"\n [disabled]=\"(disable$ | async) === true ? true : null\"\n growing=\"true\"\n wrapType=\"hard\"\n [value]=\"!value ? '' : value\"\n (input)=\"onValueChange($event)\"\n (keyup)=\"onKeyup()\"\n [style.min-height.px]=\"minHeight\"\n></textarea>\n} @else {\n<div [innerHTML]=\"safeHtml\"></div>\n}\n","import {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n Output,\r\n TemplateRef,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { fromEvent, Subscription } from 'rxjs';\r\nimport { debounceTime, tap } from 'rxjs/operators';\r\n\r\nimport { BaseComponent, UiService } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bsu-responsive-toolbar-renderer',\r\n templateUrl: './responsive-toolbar-renderer.component.html',\r\n styleUrls: ['./responsive-toolbar-renderer.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ResponsiveToolbarRendererComponent extends BaseComponent implements AfterViewInit, OnDestroy {\r\n @Input() buttons: any[];\r\n @Input() renderToolbar: TemplateRef<any>;\r\n @Output() btnClick = new EventEmitter<any>();\r\n @ViewChild('dialogRef') dialogRef: ElementRef;\r\n\r\n showPopupButton: boolean;\r\n resizeSubscription$: Subscription;\r\n\r\n constructor(private uiService: UiService, private el: ElementRef) {\r\n super();\r\n }\r\n get inToolbarBtn(): any {\r\n return this.buttons.filter((c) => !c.inPopup);\r\n }\r\n get inPopoverBtn(): any {\r\n return this.buttons.filter((c) => c.inPopup);\r\n }\r\n ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n\r\n this.resizeToolbar();\r\n this.resizeSubscription$ = fromEvent(window, 'resize')\r\n .pipe(\r\n debounceTime(100),\r\n tap(() => this.resizeToolbar())\r\n )\r\n .subscribe();\r\n this.uiService.tabSelected$.subscribe((tab: HTMLElement) => {\r\n const el = this.el.nativeElement as HTMLElement;\r\n if (tab.contains(el)) {\r\n this.resizeToolbar();\r\n } else {\r\n }\r\n });\r\n }\r\n ngOnDestroy(): void {\r\n super.ngOnDestroy();\r\n if (this.resizeSubscription$) {\r\n this.resizeSubscription$.unsubscribe();\r\n }\r\n }\r\n resizeToolbar(): void {\r\n const width = this.el.nativeElement.offsetWidth;\r\n let btnListWidth = 0;\r\n this.showPopupButton = false;\r\n this.buttons.forEach((btn) => {\r\n if (typeof btn !== 'string') {\r\n btn.inPopup = false;\r\n }\r\n });\r\n const containerWidth = width - 42;\r\n this.buttons.forEach((btn, i) => {\r\n btnListWidth += btn.width;\r\n if (btnListWidth > containerWidth) {\r\n this.showPopupButton = true;\r\n }\r\n if (this.showPopupButton && typeof this.buttons[i] !== 'string') {\r\n this.buttons[i].inPopup = true;\r\n }\r\n });\r\n }\r\n\r\n onShowPopover(el): void {\r\n this.dialogRef.nativeElement.openBy(el);\r\n }\r\n onButtonClick(btn): void {\r\n this.btnClick.emit(btn);\r\n }\r\n}\r\n","<div class=\"toolbar-container\">\n <ng-container *ngTemplateOutlet=\"renderToolbar; context: { $implicit: inToolbarBtn }\"></ng-container>\n @if (showPopupButton) {\n <ui5-button\n #showPopoverRef\n class=\"toolbar-btn overflow-btn\"\n icon=\"overflow\"\n (click)=\"onShowPopover(showPopoverRef)\"\n ></ui5-button>\n }\n</div>\n<ui5-popover #dialogRef horizontal-align=\"Center\" placement-type=\"Bottom\" vertical-align=\"Center\">\n <div class=\"toolbar-container modal-toolbar\">\n <ng-container *ngTemplateOutlet=\"renderToolbar; context: { $implicit: inPopoverBtn }\"></ng-container>\n </div>\n</ui5-popover>\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n QueryList,\r\n ViewChildren\r\n} from '@angular/core';\r\nimport { BaseComponent, PortalService } from 'barsa-novin-ray-core';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'bsu-responsive-toolbar',\r\n templateUrl: './responsive-toolbar.component.html',\r\n styleUrls: ['./responsive-toolbar.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ResponsiveToolbarComponent extends BaseComponent implements OnInit {\r\n @Input() buttons: any[];\r\n @Output() btnClick = new EventEmitter<any>();\r\n @ViewChildren('btnRef') btnListRef: QueryList<ElementRef>;\r\n\r\n dirValue$: Observable<string>;\r\n buttonsCalculated: any[];\r\n btns: any[];\r\n\r\n constructor(private portalService: PortalService) {\r\n super();\r\n this.dirValue$ = this.portalService.dirValue$;\r\n }\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.btns = this.buttons;\r\n }\r\n calculateWidthOfButtons(): void {\r\n const tempList: any = [];\r\n this.btnListRef.toArray().forEach((btnRef, i) => {\r\n let btnTemp = this.buttons[i];\r\n if (this.buttons[i] === '-') {\r\n btnTemp = { text: '-', width: btnRef.nativeElement.offsetWidth };\r\n } else {\r\n btnTemp.width = btnRef.nativeElement.offsetWidth + 10;\r\n }\r\n tempList.push(btnTemp);\r\n });\r\n this.buttonsCalculated = [...tempList];\r\n }\r\n onButtonClick(button): void {\r\n this.btnClick.emit(button);\r\n }\r\n}\r\n","<!-- <div style=\"width: 100%; height: 0; visibility: hidden\" #containerRef>\n<ng-container\n *ngTemplateOutlet=\"renderToolbar; context: { $implicit: buttons }\"\n></ng-container>\n</div>\n<bsu-responsive-toolbar-renderer\n *ngIf=\"buttonsCalculated\"\n [buttons]=\"buttonsCalculated\"\n (btnClick)=\"onButtonClick($event)\"\n [renderToolbar]=\"renderToolbar\"\n></bsu-responsive-toolbar-renderer>\n\n<ng-template #renderToolbar let-btnList>\n <ng-container *ngFor=\"let btn of btnList\">\n <ng-container *ngIf=\"btn === '-' || btn.text === '-'; else btnCommand\">\n <span #btnRef class=\"toolbar-btn toolbar-vseperator\"></span>\n </ng-container>\n <ng-template #btnCommand>\n <ui5-button\n #btnRef\n (click)=\"onButtonClick(btn)\"\n [attr.disabled]=\"btn.enable === false ? true : null\"\n [attr.disabled]=\"btn.readonly === true ? true : null\"\n class=\"toolbar-btn\"\n [attr.design]=\"btn.emphasized ? 'Emphasized' : 'Transparent'\"\n [attr.icon]=\"btn.newIcon ? btn.newIcon : null\"\n >{{ btn.text }}\n <img *ngIf=\"!btn.newIcon && !btn.isBuiltin\" width=\"16\" [src]=\"btn.icon\"\n /></ui5-button>\n </ng-template>\n </ng-container>\n </ng-template> -->\n\n<fd-toolbar [shouldOverflow]=\"true\" [style.direction]=\"dirValue$ | async\">\n @for (btn of btns; track btn) { @if (btn === '-' || btn.text === '-') {\n <fd-toolbar-separator></fd-toolbar-separator>\n } @else {\n <button\n fd-toolbar-item\n fd-button\n (click)=\"onButtonClick(btn)\"\n [attr.disabled]=\"btn.enable === false ? true : null\"\n [attr.disabled]=\"btn.readonly === true ? true : null\"\n [fdType]=\"btn.emphasized ? 'emphasized' : 'transparent'\"\n [label]=\"btn.text\"\n [glyph]=\"btn.newIcon ? btn.newIcon : null\"\n >\n @if (!btn.newIcon && !btn.isBuiltin) {\n <img width=\"16\" [src]=\"btn.icon\" />\n }\n </button>\n }\n <ng-template #btnCommand>\n <button\n fd-toolbar-item\n fd-button\n (click)=\"onButtonClick(btn)\"\n [attr.disabled]=\"btn.enable === false ? true : null\"\n [attr.disabled]=\"btn.readonly === true ? true : null\"\n [fdType]=\"btn.emphasized ? 'emphasized' : 'transparent'\"\n [label]=\"btn.text\"\n [glyph]=\"btn.newIcon ? btn.newIcon : null\"\n >\n @if (!btn.newIcon && !btn.isBuiltin) {\n <img width=\"16\" [src]=\"btn.icon\" />\n }\n </button>\n </ng-template>\n }\n</fd-toolbar>\n","import { ChangeDetectionStrategy, Component, HostBinding, OnDestroy, OnInit } from '@angular/core';\n\nimport { DeviceInfoFieldBaseComponent } from '../device-info-field-base';\n@Component({\n selector: 'bsu-ui-mo-info-sub-form-ui',\n templateUrl: './ui-mo-info-sub-form-ui.component.html',\n styleUrls: ['./ui-mo-info-sub-form-ui.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiMoInfoSubFormUiComponent extends DeviceInfoFieldBaseComponent implements OnInit, OnDestroy {\n @HostBinding('class.control-disabled') disabled = false;\n @HostBinding('class.control-readonly') readonly = false;\n\n customFormPanelUi: any;\n ngOnInit(): void {\n super.ngOnInit();\n this.customFormPanelUi = this.context.formControl;\n this._listenTitleChanged();\n this.context.on({\n AddFormControlUi: this._addFormControl.bind(this)\n });\n // this.disable$.subscribe((disable) => {\n // this.disabled = disable;\n // });\n // this.readonly$.subscribe((readonly) => {\n // this.readonly = readonly;\n // });\n }\n ngOnDestroy(): void {\n super.ngOnDestroy();\n this.context.un('AddFormControl', this._addFormControl);\n }\n protected _listenTitleChanged(): void {\n if (!this.customFormPanelUi) {\n return;\n }\n this.customFormPanelUi.on({\n TitleChanged: this._titleChanged.bind(this)\n });\n }\n protected _titleChanged(): void {}\n protected _addFormControl(formControl): void {\n this.customFormPanelUi = formControl;\n this._cdr.detectChanges();\n }\n}\n","@if (customFormPanelUi) {\n<bnrc-form *untilInView=\"el\" [customFormPanelUi]=\"customFormPanelUi\"></bnrc-form>\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, OnInit } from '@angular/core';\r\nimport { BaseComponent, MetaobjectDataModel } from 'barsa-novin-ray-core';\r\n@Component({\r\n selector: 'bsu-header-facet-plain-text',\r\n templateUrl: './header-facet-plain-text.component.html',\r\n styleUrls: ['./header-facet-plain-text.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class HeaderFacetPlainTextComponent extends BaseComponent implements OnInit {\r\n @Input() settings: MetaobjectDataModel;\r\n @HostBinding('style.width.px')\r\n @HostBinding('class.header-facet')\r\n headerFacetClass = true;\r\n\r\n width: number;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.width = this.settings.Width ? this.settings.Width : 300;\r\n }\r\n}\r\n","<div class=\"productInfo flex-column\">\r\n <!-- <label class=\"facet-title\" fd-form-label>{{ settings.Title }}</label>\r\n <label class=\"facet-plaintext text-wrap\" fd-form-label>{{\r\n settings.Text\r\n }}</label> -->\r\n <!-- <ui5-label class=\"facet-title\">{{ settings.Title }}</ui5-label> -->\r\n <!-- <ui5-label class=\"facet-plaintext\" wrap>{{ settings.Text }}</ui5-label> -->\r\n</div>\r\n","import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\r\nimport { BaseComponent, MetaobjectDataModel } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bsu-header-facet-microchart',\r\n templateUrl: './header-facet-microchart.component.html',\r\n styleUrls: ['./header-facet-microchart.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class HeaderFacetMicrochartComponent extends BaseComponent {\r\n @HostBinding('class.header-facet') headerFacetClass = true;\r\n\r\n @Input() settings: MetaobjectDataModel;\r\n}\r\n","<div class=\"productInfo flex-column\">\r\n <!-- <label class=\"facet-title\" fd-form-label>{{ settings.Title }} :</label> -->\r\n <!-- <ui5-label class=\"facet-title\" show-colon>{{ settings.Title }}</ui5-label> -->\r\n <p>در دست ساخت!</p>\r\n</div>\r\n","import { Component, HostBinding, Input, OnInit } from '@angular/core';\r\nimport { BaseComponent, MetaobjectDataModel } from 'barsa-novin-ray-core';\r\n@Component({\r\n selector: 'bsu-header-facet-progress',\r\n templateUrl: './header-facet-progress.component.html',\r\n styleUrls: ['./header-facet-progress.component.scss']\r\n})\r\nexport class HeaderFacetProgressComponent extends BaseComponent implements OnInit {\r\n @Input() settings: MetaobjectDataModel;\r\n @HostBinding('class.header-facet') headerFacetClass = true;\r\n\r\n value: number;\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.value = Number(this.settings.Value);\r\n }\r\n}\r\n","<div class=\"productInfo flex-column\">\n <!-- <label class=\"facet-title\" fd-form-label>{{ settings.Title }}</label>\n <label *ngIf=\"settings.SubTitle\" fd-form-label>{{ settings.SubTitle }}</label> -->\n <ui5-label class=\"facet-title\">{{ settings.Title }}</ui5-label>\n @if (settings.SubTitle) {\n <ui5-label>{{ settings.SubTitle }}</ui5-label>\n }\n <div class=\"progress-container\">\n <ui5-progress-indicator [valueState]=\"settings.State\" [value]=\"value\"></ui5-progress-indicator>\n </div>\n <!-- <label class=\"facet-footer\" fd-form-label>{{ settings.Footer }}</label> -->\n <ui5-label class=\"facet-footer\">{{ settings.Footer }}</ui5-label>\n</div>\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, OnInit } from '@angular/core';\r\nimport { BaseComponent, MetaobjectDataModel } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bsu-header-facet-rate',\r\n templateUrl: './header-facet-rate.component.html',\r\n styleUrls: ['./header-facet-rate.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class HeaderFacetRateComponent extends BaseComponent implements OnInit {\r\n @Input() settings: MetaobjectDataModel;\r\n @HostBinding('class.header-facet') headerFacetClass = true;\r\n value: number;\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.value = Number(this.settings.Value);\r\n }\r\n}\r\n","<div class=\"productInfo flex-column\">\n <!-- <label class=\"facet-title\" fd-form-label>{{ settings.Title }}</label>\n <label *ngIf=\"settings.SubTitle\">{{ settings.SubTitle }}</label> -->\n <ui5-label class=\"facet-title\">{{ settings.Title }}</ui5-label>\n @if (settings.SubTitle) {\n <ui5-label>{{ settings.SubTitle }}</ui5-label>\n }\n <ui5-rating-indicator [value]=\"value\" readonly style=\"font-size: 2rem\"></ui5-rating-indicator>\n <!-- <label class=\"facet-footer\">{{ settings.Footer }}</label> -->\n <ui5-label class=\"facet-footer\">{{ settings.Footer }}</ui5-label>\n</div>\n","import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\r\nimport { BaseComponent, getUniqueId, MetaobjectDataModel } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bsu-header-facet-form',\r\n templateUrl: './header-facet-form.component.html',\r\n styleUrls: ['./header-facet-form.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class HeaderFacetFormComponent extends BaseComponent {\r\n @Input() settings: MetaobjectDataModel;\r\n @HostBinding('class.header-facet') headerFacetClass = true;\r\n\r\n id = getUniqueId(4);\r\n}\r\n","<!-- <div>\r\n <h6 *ngIf=\"settings.Title\" fd-title>\r\n {{ settings.Title }}\r\n </h6>\r\n</div>\r\n<ng-container *ngFor=\"let item of settings.ItemList?.MoDataList; let i = index\">\r\n <div class=\"productInfo\">\r\n <fd-text [text]=\"item.Title + ':'\"></fd-text> \r\n <h6 fd-title>{{ item.Value | facetValue }}</h6>\r\n </div>\r\n</ng-container> -->\r\n<!-- \r\n<fd-facet type=\"form\" [facetTitle]=\"settings.Title\" >\r\n <fd-facet-content *ngFor=\"let item of settings.ItemList?.MoDataList; let i = index\">\r\n <label class=\"fd-form-label\" [for]=\"id+i\">{{item.Title}}:</label>\r\n <fd-text [text]=\"item.Value | facetValue\" [id]=\"id+i\"></fd-text>\r\n </fd-facet-content>\r\n</fd-facet> -->\r\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, OnInit } from '@angular/core';\r\nimport { BaseComponent, MetaobjectDataModel } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bsu-header-facet-key-value',\r\n templateUrl: './header-facet-key-value.component.html',\r\n styleUrls: ['./header-facet-key-value.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class HeaderFacetKeyValueComponent extends BaseComponent implements OnInit {\r\n @HostBinding('style.width.px') width: string;\r\n @Input() settings: MetaobjectDataModel;\r\n @HostBinding('class.header-facet') headerFacetClass = true;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.width = this.settings.Width;\r\n }\r\n}\r\n","<div class=\"productInfo flex-column\">\r\n <label fd-form-label class=\"facet-title\">{{ settings.Title }}:</label>\r\n <h3 fd-title class=\"facet-value\" [style.color]=\"settings.Color\">\r\n {{ settings.Text | facetValue }}\r\n </h3>\r\n</div>\r\n","import { ChangeDetectionStrategy, Component, ComponentRef, OnInit, TemplateRef, ViewChild } from '@angular/core';\r\nimport { DialogConfig, DialogRef, DialogService } from '@fundamental-ngx/core';\r\nimport {\r\n BarsaApi,\r\n DialogParams,\r\n FormComponent,\r\n PortalService,\r\n ContainerService,\r\n BaseComponent\r\n} from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bsu-form-dialog',\r\n templateUrl: './form-dialog.component.html',\r\n styleUrls: ['./form-dialog.component.scss'],\r\n providers: [ContainerService],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class FormDialogComponent extends BaseComponent implements OnInit {\r\n @ViewChild('dialog', { read: TemplateRef, static: true })\r\n dialogTemplateRef: TemplateRef<any>;\r\n\r\n formPanelCtrlr: any;\r\n formComponentRef: ComponentRef<FormComponent>;\r\n caption = '';\r\n fullscreen = false;\r\n dialogOpened: boolean;\r\n dialogRef: DialogRef;\r\n inDialog: any;\r\n params: {\r\n moId: string;\r\n typeDefId: string;\r\n reportId: string;\r\n inDialog: boolean;\r\n };\r\n parentContainer: any;\r\n deviceSize: string;\r\n isNonePersistance = false;\r\n showSaveButton = true;\r\n showToolbar = true;\r\n showFooter: boolean;\r\n canFullscreen: boolean;\r\n canMove: boolean;\r\n canResize: boolean;\r\n fullscreenDefault: boolean;\r\n constructor(\r\n private _dialogService: DialogService,\r\n private dialogParams: DialogParams,\r\n private _portalService: PortalService\r\n ) {\r\n super();\r\n this._portalService.deviceSize$.subscribe((deviceSize) => {\r\n this.deviceSize = deviceSize;\r\n });\r\n const formPanelCtrlr = this.dialogParams.context.formpanelCtrlr;\r\n const parameters = BarsaApi.Common.Util.TryGetValue(formPanelCtrlr, 'Setting.View.CustomUi.Parameters', null);\r\n const moId = this.dialogParams.context.id;\r\n const typeDefId = this.dialogParams.context.tyid;\r\n const reportId = this.dialogParams.context.repid;\r\n this.inDialog = this.dialogParams.context.inDialog;\r\n this.fullscreen = this.dialogParams.context.fullscreen;\r\n this.canFullscreen = parameters?.CanFullscreen;\r\n this.fullscreenDefault = parameters?.FullscreenDefault;\r\n if (this.fullscreenDefault) {\r\n this.fullscreen = true;\r\n }\r\n this.canMove = parameters?.CanMove;\r\n this.canResize = parameters?.CanResize;\r\n this.params = { moId, typeDefId, reportId, inDialog: true };\r\n this._setCaption(formPanelCtrlr);\r\n this.formPanelCtrlr = formPanelCtrlr;\r\n }\r\n get Adapter(): any {\r\n return this.formPanelCtrlr.Adapter;\r\n }\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n const formPanelCtrlr = this.formPanelCtrlr;\r\n this.showSaveButton = BarsaApi.Common.Util.TryGetValue(\r\n formPanelCtrlr,\r\n 'Setting.View.FormSettings.ShowSaveButton'\r\n );\r\n this.showToolbar = BarsaApi.Common.Util.TryGetValue(formPanelCtrlr, 'Setting.View.FormSettings.ShowToolbar');\r\n this.isNonePersistance = formPanelCtrlr?.Setting?.View?.IsNonePersistance;\r\n this.showFooter = this.isNonePersistance\r\n ? this.showSaveButton !== false && this.showToolbar !== false\r\n : this.showSaveButton;\r\n if (typeof this.showFooter == typeof null || formPanelCtrlr?.Setting?.Workflow) {\r\n this.showFooter = true;\r\n }\r\n this.openDialog();\r\n }\r\n\r\n openDialog(): void {\r\n const smallDevice = this.deviceSize === 's' || this.deviceSize === 'm';\r\n const width = smallDevice ? '100%' : '30vw';\r\n let height = smallDevice ? '100%' : 'auto';\r\n const viewWidth = BarsaApi.Common.Util.TryGetValue(this.formPanelCtrlr, 'Setting.View.MinSize.width', null);\r\n const viewHieght = BarsaApi.Common.Util.TryGetValue(this.formPanelCtrlr, 'Setting.View.MinSize.height', null);\r\n const minWidth = smallDevice ? '100%' : viewWidth ? viewWidth + 'px' : 'auto';\r\n const minHeight = smallDevice ? '100%' : viewHieght ? viewHieght + 'px' : 'auto';\r\n if (viewHieght) {\r\n height = smallDevice ? '100%' : `${viewHieght + 100}px`;\r\n }\r\n const modalSetting = BarsaApi.Common.Util.TryGetValue(\r\n this.formPanelCtrlr,\r\n 'Setting.View.CustomUi.Parameters.ModalSetting',\r\n null\r\n );\r\n\r\n let setting: DialogConfig = {\r\n escKeyCloseable: false,\r\n responsivePadding: true,\r\n backdropClickCloseable: false,\r\n mobile: smallDevice,\r\n width,\r\n height,\r\n // bodyMinHeight: minHeight,\r\n minHeight,\r\n minWidth, \r\n verticalPadding: true,\r\n draggable: this.canMove,\r\n resizable: this.canResize,\r\n data: { caption: this.caption, canFullscreen: this.canFullscreen, canMove: this.canMove }\r\n };\r\n if (modalSetting) {\r\n setting = { ...setting, ...modalSetting };\r\n }\r\n this.dialogRef = this._dialogService.open(this.dialogTemplateRef, setting);\r\n }\r\n\r\n onCancel(): void {\r\n const adapter = this.Adapter;\r\n adapter.fireEvent('ToolClick', adapter, { Key: 'Cancel' });\r\n this._close();\r\n }\r\n onSave(): void {\r\n const adapter = this.Adapter;\r\n adapter.fireEvent('ToolClick', adapter, { Key: 'SaveAndClose' });\r\n }\r\n onOk(): void {\r\n const adapter = this.Adapter;\r\n adapter.fireEvent('ToolClick', adapter, { Key: 'Ok' });\r\n }\r\n\r\n onFormClose(): void {\r\n this.dialogRef.close();\r\n this.dialogParams.close();\r\n this.dialogOpened = false;\r\n }\r\n // /* eslint-disable */\r\n // @Input() ShowFormPanelControl = (formpanelCtrlr) => {};\r\n // /* eslint-disable */\r\n // @Input() ForceCloseChild = () => {};\r\n // /* eslint-disable */\r\n // @Input() RefreshFormPanelControl = (formpanelCtrlr) => {};\r\n private _close(): void {\r\n // this.dialogRef.nativeElement.close();\r\n if (this.Adapter) {\r\n this.Adapter.Control.fireEvent('RequestForClose', this.Adapter.Control, true);\r\n }\r\n // this.dialogRef.close();\r\n // this.dialogParams.close();\r\n // this.dialogOpened = false;\r\n }\r\n\r\n private _setCaption(formPanelCtrlr: any): void {\r\n const typeDefName = BarsaApi.Common.Util.TryGetValue(formPanelCtrlr, 'Mo.$TypeDefName', '');\r\n const moCaption = BarsaApi.Common.Util.TryGetValue(formPanelCtrlr, 'Mo.$Caption', '');\r\n this.caption = typeDefName + ':' + moCaption;\r\n }\r\n}\r\n","<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #dialog>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\" #dialogTplRef>\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <h1 fd-title>{{ dialogConfig.data.caption }}</h1>\n </div>\n <div fd-bar-right>\n @if (dialogConfig.data.canFullscreen) {\n <fd-button-bar\n ariaLabel=\"fullscreen\"\n [glyph]=\"fullscreen ? 'exitfullscreen' : 'resize'\"\n fullscreenDialog\n [dialog]=\"dialog\"\n [fullscreen]=\"fullscreen\"\n (fullscreenChanged)=\"fullscreen = $event\"\n [dialogComponent]=\"dialogTplRef\"\n ></fd-button-bar>\n }\n <fd-button-bar ariaLabel=\"close\" glyph=\"decline\" (click)=\"onCancel()\"></fd-button-bar>\n </div>\n </ng-template>\n </fd-dialog-header>\n\n <fd-dialog-body>\n <bnrc-form [formPanelCtrl]=\"formPanelCtrlr\" [params]=\"params\" (formClose)=\"onFormClose()\"></bnrc-form>\n </fd-dialog-body>\n <fd-dialog-footer [style.display]=\"!showFooter ? 'none' : null\">\n @for (btn of formPanelCtrlr?.Adapter?.Control?.toolbar?.items; track btn) { @if (!(btn === '-' || btn.text\n === '-') && ((btn.isBuiltin && btn.inFooter) || btn.isWorkflow)) {\n <ng-container\n *ngTemplateOutlet=\"\n btn.Data?.CustomUi?.Selector ? dynamicBtnTemplate : btnTemplate;\n context: { $implicit: btn }\n \"\n ></ng-container>\n <ng-template #btnTemplate let-btn>\n <fd-dialog-footer-button>\n <fd-button-bar\n fd-dialog-decisive-button\n [fdType]=\"btn.isWorkflow ? 'attention' : btn.design\"\n [label]=\"btn.text | bbbTranslate\"\n [glyph]=\"btn.newIcon ? btn.newIcon : null\"\n (click)=\"btn.handler(btn, formPanelCtrlr?.Adapter?.Control)\"\n ></fd-button-bar>\n </fd-dialog-footer-button>\n </ng-template>\n <ng-template #dynamicBtnTemplate let-btn>\n <fd-dialog-footer-button>\n <bnrc-dynamic-form-toolbaritem\n fd-toolbar-item\n [component]=\"btn.Data.CustomUi\"\n [context]=\"btn\"\n [isEnable]=\"btn.Command?._isEnable\"\n (btnClick)=\"btn.handler(btn, formPanelCtrlr?.Adapter?.Control)\"\n ></bnrc-dynamic-form-toolbaritem>\n </fd-dialog-footer-button>\n </ng-template>\n } }\n <!-- <ng-template #saveBtn>\n <fd-dialog-footer-button>\n <fd-button-bar\n fd-dialog-decisive-button\n fdType=\"emphasized\"\n [label]=\"'Save' | bbbTranslate\"\n (click)=\"onSave()\"\n ></fd-button-bar>\n </fd-dialog-footer-button>\n </ng-template>-->\n\n @if (!isNonePersistance && showSaveButton !== false) {\n <fd-dialog-footer-button>\n <fd-button-bar\n fd-initial-focus\n fd-dialog-decisive-button\n [label]=\"'Cancel' | bbbTranslate\"\n (click)=\"onCancel()\"\n ></fd-button-bar>\n </fd-dialog-footer-button>\n }\n </fd-dialog-footer>\n </fd-dialog>\n</ng-template>\n","import { AfterViewInit, Component, ElementRef, OnInit, Input, ViewChild, ChangeDetectionStrategy } from '@angular/core';\n\nimport {\n MetaobjectDataModel,\n BarsaApi,\n FieldBaseComponent,\n DateService,\n LogService,\n getDateService\n} from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-ui-date-time',\n templateUrl: './ui-date-time.component.html',\n styleUrls: ['./ui-date-time.component.scss'],\n providers: [\n {\n provide: DateService,\n useFactory: getDateService,\n deps: [LogService]\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiDateTimeComponent extends FieldBaseComponent implements OnInit, AfterViewInit {\n @ViewChild('datetimePicker') datetimePickerRef: ElementRef;\n @ViewChild('datePicker') datePickerRef: ElementRef;\n @ViewChild('durationPicker') durationPickerRef: ElementRef;\n fullCalendar: boolean;\n value: Date;\n valueCaption = '';\n formatPattern: string;\n parameters: UiDateTimeSetting;\n ngOnInit(): void {\n super.ngOnInit();\n if (this.parameters?.DateRangeMode && this.parameters?.DateRangeOtherField) {\n const formpanel = BarsaApi.Common.Util.TryGetValue(this.context, 'LayoutControl.config.FormPanelUi', null);\n if (formpanel) {\n formpanel.fireEvent('ChangeFieldVisible', this.parameters.DateRangeOtherField, false);\n }\n }\n if (typeof this.value === 'string' && this.value) {\n this.value = this.context.value = new Date(this.value);\n }\n this.fullCalendar = this.Setting.ShowTime1 && this.Setting.ShowDate1;\n this._setTimeFormat();\n // this.value$.pipe(takeUntil(this._onDestroy$)).subscribe((value) => {\n // this.value = <Date>value;\n\n // // this._setValueCaption(value);\n // });\n // // this._setValueCaption(this.value);\n }\n\n ngAfterViewInit(): void {\n super.ngAfterViewInit();\n this._setCaption(this.value);\n }\n onDateTimeChange(): void {\n const datetimePickerControl = this.datetimePickerRef.nativeElement;\n this.value = datetimePickerControl.dateValue;\n this.valueCaption = datetimePickerControl.value;\n this.valueChange.emit(this.value);\n }\n onDateChange(): void {\n const datePickerControl = this.datePickerRef.nativeElement;\n this._valueDateChange(datePickerControl.dateValue);\n }\n onDateChange2(date): void {\n this._valueDateChange(date);\n }\n\n onDurationChange(e): void {\n const { value } = e.detail;\n if (!this.value) {\n this.value = new Date();\n }\n const time = value.split(':');\n this.value.setHours(Number(time[0]), Number(time[1]), Number(time[2]));\n this.valueCaption = this.durationPickerRef.nativeElement.value;\n this.valueChange.emit(this.value);\n }\n onRangeChange(rangeValue: { startDay: Date; endDay: Date }): void {\n console.log('endDate', rangeValue);\n }\n protected _setTimeFormat(): void {\n const timeFormat: string = this.Setting.TimeFormat?.toLowerCase();\n let timeFormat2 = '';\n if (timeFormat) {\n timeFormat2 = ' ';\n timeFormat.split(':').forEach((val) => {\n switch (val) {\n case 'h':\n timeFormat2 += 'HH';\n break;\n case 'i':\n timeFormat2 += ':mm';\n break;\n case 's':\n timeFormat2 += ':SS';\n break;\n }\n });\n }\n const dateFormat = !this.Setting.ShowDate1 ? '' : 'YYYY/MM/DD';\n const timeFormat3 = !this.Setting.ShowTime1 ? '' : timeFormat2;\n\n // timeFormat2 += ' A';\n this.formatPattern = `${dateFormat}${timeFormat3}`;\n }\n protected _configChaned(options): void {\n // implemented by child components\n this._setTimeFormat();\n\n const temp = this.value;\n if (!this.Setting.ShowTime1) {\n if (typeof temp === 'object') {\n temp.setHours(0);\n temp.setMinutes(0);\n temp.setSeconds(0);\n }\n }\n if (typeof temp === 'object') {\n this._valueDateChange(new Date(temp));\n }\n super._configChaned(options);\n }\n protected _setValue(value: Date): void {\n this._setCaption(value);\n super._setValue(value);\n }\n private _valueDateChange(dateValue: Date): void {\n this.value = dateValue;\n this.valueCaption = this._setCaption(dateValue); // datePickerControl.value;\n this.valueChange.emit(this.value);\n }\n private _setCaption(value: Date): string {\n const caption =\n (this.context.caption =\n this.valueCaption =\n this._dateService.format(value, this.formatPattern));\n this._cdr.detectChanges();\n return caption;\n }\n /* eslint-disable */\n @Input() GetCaption = () => this.valueCaption;\n}\ninterface UiDateTimeSetting extends MetaobjectDataModel {\n ButtonMenuMode: boolean;\n Placeholder: string;\n InlineMode: boolean;\n DateRangeMode: boolean;\n DateRangeOtherField: string;\n}\n","@if ((disableOrReadonly$ | async)!!) {\n<input\n fd-form-control\n type=\"text\"\n [attr.readonly]=\"(readonly$ | async) === true ? true : null\"\n [attr.disabled]=\"(disable$ | async) === true ? true : null\"\n [value]=\"value ? valueCaption : ''\"\n/>\n} @else {\n<div\n [style.display]=\"(disableOrReadonly$ | async)!! ? 'hidden' : 'block'\"\n [attr.dir]=\"Setting.IsLtr === true ? 'ltr' : 'rtl'\"\n>\n <bc-date-time-picker\n [value]=\"value\"\n [buttonMenuMode]=\"parameters?.ButtonMenuMode === true\"\n [showDate]=\"Setting.ShowDate1\"\n [showTime]=\"Setting.ShowTime1\"\n [placeholder]=\"parameters?.ButtonMenuMode === true ? parameters.Placeholder : formatPattern\"\n [primaryCalendarType]=\"Setting.CalendarType\"\n [formatPattern]=\"formatPattern\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n [isMobile]=\"isMobile\"\n [daterangeMode]=\"parameters?.DateRangeMode === true\"\n [inlineMode]=\"parameters?.InlineMode === true\"\n [readonly]=\"(readonly$ | async) === true ? true : false\"\n [disabled]=\"(disable$ | async) === true ? true : false\"\n (valueChange)=\"onDateChange2($event)\"\n (rangeChange)=\"onRangeChange($event)\"\n >\n </bc-date-time-picker>\n</div>\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, OnInit } from '@angular/core';\r\n\r\nimport { FieldBaseComponent } from 'barsa-novin-ray-core';\r\n@Component({\r\n selector: 'bsu-ui-button',\r\n templateUrl: './ui-button.component.html',\r\n styleUrls: ['./ui-button.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class UiButtonComponent extends FieldBaseComponent implements OnInit {\r\n @HostBinding('style.margin') designMode: string;\r\n label: string;\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.label = this.context.text;\r\n this.designMode = this.JsonExtraProp?.Design ? '3px 1px' : '0';\r\n if (this.layoutInfo?.UseLayoutItemTextForControl && !this.layoutInfo.TextVisible) {\r\n this.label = this.layoutInfo.Caption;\r\n }\r\n }\r\n onClick(): void {\r\n if (this.context.fireEvent) {\r\n this.context.fireEvent('click', this.context);\r\n }\r\n }\r\n}\r\n","<button\n (click)=\"onClick()\"\n [disabled]=\"(disable$ | async)!!\"\n fd-button\n [fdType]=\"parameters?.FdType$Caption\"\n [glyph]=\"parameters?.Icon\"\n>\n @if (!parameters?.Icon && context?.Setting?.FieldIcon && !JsonExtraProp?.Icon) {\n <img [src]=\"context?.Setting.FieldIcon\" />\n } @if (label && !JsonExtraProp?.OnlyIcon && !parameters?.OnlyIcon) {\n <span class=\"fd-button__text\">{{ label | bbbTranslate }}</span>\n }\n</button>\n","import { ChangeDetectionStrategy, Component, HostBinding, OnChanges, OnInit, SimpleChanges } from '@angular/core';\nimport { SafeHtml } from '@angular/platform-browser';\n\nimport { BarsaApi, FieldBaseComponent, MetaobjectDataModel } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-ui-tinymce',\n templateUrl: './ui-tinymce.component.html',\n styleUrls: ['./ui-tinymce.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiTinymceComponent extends FieldBaseComponent implements OnInit, OnChanges {\n @HostBinding('style.min-height') tinyHeight = '100px';\n isReadonly: boolean;\n sefeValue: SafeHtml;\n tinyInit = false;\n isAnonymous: boolean;\n parameters: UiTinymceSetting;\n ngOnInit(): void {\n super.ngOnInit();\n this.isReadonly = this.Setting.IsReadOnly || this.Setting.ControlIsReadOnly;\n const el = this._el.nativeElement as HTMLElement;\n if (el.parentElement) {\n el.parentElement.style.alignSelf = 'stretch';\n }\n if (this.Setting.IsHtmlViewer) {\n this.tinyHeight = 'auto';\n this.sefeValue = this._domSanitizer.bypassSecurityTrustHtml(this.value);\n }\n this.isAnonymous = !BarsaApi.LoginFormData.IsUserLoggedIn;\n // this.tinyHeight = this.layoutInfo.ControlBounds.height;\n }\n ngOnChanges(simpleChanges: SimpleChanges): void {\n super.ngOnChanges(simpleChanges);\n if (simpleChanges.value && !simpleChanges.value.firstChange) {\n if (this.Setting.IsHtmlViewer) {\n this.sefeValue = this._domSanitizer.bypassSecurityTrustHtml(this.value);\n }\n }\n }\n onTinyInit(): void {\n this.tinyInit = true;\n }\n onTinyChanged(newValue): void {\n this.context.value = newValue;\n this.context.fireEvent('change', this, newValue, this.value, {});\n }\n}\ninterface UiTinymceSetting extends MetaobjectDataModel {\n IsInline: boolean;\n}\n","<ng-container *untilInView=\"el\">\n <div\n class=\"html-readonly\"\n *ngIf=\"Setting.IsHtmlViewer || (disableOrReadonly$ | async); else textarea\"\n [class.readonly]=\"readonly$ | async\"\n [class.anonymous]=\"isAnonymous\"\n [class.disable]=\"disable$ | async\"\n [innerHtml]=\"Setting.IsHtmlViewer ? sefeValue : ''\"\n ></div>\n <ng-template #textarea>\n <bsu-mask *ngIf=\"!tinyInit\"></bsu-mask>\n <bsu-barsa-tinyemce\n [Setting]=\"Setting\"\n [IsInline]=\"parameters?.IsInline === true\"\n [value]=\"value\"\n [defaultVerbs]=\"context.defaultVerbs\"\n (tinyInit)=\"onTinyInit()\"\n (valueChange)=\"onTinyChanged($event)\"\n [readonly]=\"isReadonly\"\n ></bsu-barsa-tinyemce>\n </ng-template>\n</ng-container>\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n QueryList,\r\n TemplateRef,\r\n ViewChild,\r\n ViewChildren\r\n} from '@angular/core';\r\nimport { DialogConfig, DialogRef, DialogService } from '@fundamental-ngx/core';\r\nimport { BarsaApi, BaseComponent, getDeviceIsMobile, BbbTranslatePipe } from 'barsa-novin-ray-core';\r\nimport { UiGridColumnsComponent } from '../ui-grid-columns/ui-grid-columns.component';\r\nimport { UiGridSortSettingComponent } from '../ui-grid-sort-setting/ui-grid-sort-setting.component';\r\n\r\n@Component({\r\n selector: 'bsu-ulv-settings',\r\n templateUrl: './ulv-settings.component.html',\r\n styleUrls: ['./ulv-settings.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class UlvSettingsComponent extends BaseComponent implements OnInit {\r\n @Input() context: any;\r\n @Output() changed = new EventEmitter<any>();\r\n @Output() restore = new EventEmitter();\r\n @ViewChild('dialogTemplateRef', { read: TemplateRef })\r\n dialogTemplateRef: TemplateRef<any>;\r\n @ViewChild('gridColumnsRef') gridColumnsComponent: UiGridColumnsComponent;\r\n @ViewChild('gridSortRef') gridSortComponent: UiGridSortSettingComponent;\r\n @ViewChild('gridGroupRef') gridGroupComponent: UiGridSortSettingComponent;\r\n @ViewChildren('settingButtons') settingButtonRef: QueryList<ElementRef>;\r\n settingButtons: any = [];\r\n selectedSettingButton = 0;\r\n dialogRef: DialogRef;\r\n options: { Event: string } = { Event: '' };\r\n allColumns: any;\r\n sortSettings: { IsGrouped: boolean; Name: string; SortDirection: string }[];\r\n isMobile: boolean;\r\n\r\n constructor(private dialogService: DialogService, private bbbPipe: BbbTranslatePipe) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.isMobile = getDeviceIsMobile();\r\n this.allColumns = BarsaApi.Common.Util.TryGetValue(this.context, 'Setting.View.Columns', []).filter(\r\n (c) => c.Name !== 'Id' && c.Name !== '$Caption' && c.Name !== '$StyleIndex'\r\n );\r\n this.sortSettings = BarsaApi.Common.Util.TryGetValue(\r\n this.context,\r\n 'Setting.View.GridSetting.SortSettingList',\r\n []\r\n );\r\n this._initSelectBtns();\r\n }\r\n\r\n close(): void {\r\n this.dialogRef.close();\r\n }\r\n /* eslint-disable */\r\n @Input() open = (): void => {\r\n const dialogConfig: DialogConfig = {\r\n escKeyCloseable: false,\r\n responsivePadding: true,\r\n backdropClickCloseable: false\r\n };\r\n\r\n if (!this.isMobile) {\r\n dialogConfig.width = '60%';\r\n dialogConfig.height = '56%';\r\n }\r\n // this.dialogRef.nativeElement.open(htmlElement);\r\n this.dialogRef = this.dialogService.open(this.dialogTemplateRef, dialogConfig);\r\n };\r\n\r\n onCancelSettings(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n onOkClick(): void {\r\n const colList = this.gridColumnsComponent.columns;\r\n const sortSetting = this.gridSortComponent.getSettings();\r\n const grouped = this.gridGroupComponent.getSettings();\r\n sortSetting.forEach((c) => {\r\n const groupItem = grouped.find((d) => d.Name === c.Name);\r\n if (groupItem) {\r\n c.IsGrouped = groupItem.IsGrouped;\r\n }\r\n });\r\n const autoSizeColumns = BarsaApi.Common.Util.TryGetValue(\r\n this.context,\r\n 'Setting.View.GridSetting.AutoSizeColumns',\r\n false\r\n );\r\n const setting = {\r\n ColSettingList: colList,\r\n SortSettingList: sortSetting,\r\n AutoSizeColumns: autoSizeColumns\r\n };\r\n this.changed.emit({ setting, options: this.options });\r\n this.close();\r\n }\r\n\r\n onRestoreClick(): void {\r\n this.restore.emit();\r\n }\r\n\r\n onSettingButtonsSelectionChange(index): void {\r\n this.selectedSettingButton = index;\r\n }\r\n\r\n onChangeSetting(): void {\r\n this.options.Event = 'SortChange';\r\n }\r\n\r\n private _initSelectBtns(): void {\r\n this.settingButtons = [\r\n { text: this.bbbPipe.transform('Columns') },\r\n { text: this.bbbPipe.transform('Sort') },\r\n // { text: this.bbbPipe.transform('Filter') },\r\n { text: this.bbbPipe.transform('Groups') }\r\n ];\r\n }\r\n}\r\n","<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #dialogTemplateRef>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\n <fd-dialog-header>\n <h1 fd-title>{{ 'Settings' | bbbTranslate }}</h1>\n <button fd-dialog-close-button (click)=\"dialog.dismiss('Close button')\"></button>\n </fd-dialog-header>\n <fd-dialog-body class=\"setting-wrapper\">\n <fd-segmented-button>\n @for (button of settingButtons; track button; let i = $index) {\n <button\n (click)=\"onSettingButtonsSelectionChange(i)\"\n #settingButtons\n [class.is-selected]=\"selectedSettingButton === i ? true : null\"\n fd-button\n [label]=\"button.text\"\n ></button>\n }\n </fd-segmented-button>\n <div\n class=\"setting-section\"\n [class.section-visible]=\"settingButtons[selectedSettingButton]?.text === ('Columns' | bbbTranslate)\"\n >\n <bsu-ui-grid-columns [columns]=\"allColumns\" #gridColumnsRef></bsu-ui-grid-columns>\n </div>\n <div\n class=\"setting-section\"\n [class.section-visible]=\"settingButtons[selectedSettingButton]?.text === ('Sort' | bbbTranslate)\"\n >\n <bsu-ui-grid-sort-setting\n #gridSortRef\n [columns]=\"allColumns\"\n [sortSettings]=\"sortSettings\"\n (changeSetting)=\"onChangeSetting()\"\n ></bsu-ui-grid-sort-setting>\n </div>\n\n <div\n class=\"setting-section\"\n [class.section-visible]=\"settingButtons[selectedSettingButton]?.text === ('Groups' | bbbTranslate)\"\n >\n <bsu-ui-grid-sort-setting\n #gridGroupRef\n [columns]=\"allColumns\"\n [class.section-visible]=\"selectedSettingButton === 1\"\n [sortSettings]=\"sortSettings\"\n [showGroups]=\"true\"\n (changeSetting)=\"onChangeSetting()\"\n ></bsu-ui-grid-sort-setting>\n </div>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-dialog-footer-button>\n <button fd-button fdType=\"emphasized\" (click)=\"onOkClick()\" [label]=\"'OK' | bbbTranslate\"></button>\n </fd-dialog-footer-button>\n <fd-dialog-footer-button>\n <button fd-button (click)=\"onCancelSettings()\" [label]=\"'Cancel' | bbbTranslate\"></button>\n </fd-dialog-footer-button>\n <fd-dialog-footer-button>\n <button\n fd-button\n fdType=\"transparent\"\n (click)=\"onRestoreClick()\"\n [label]=\"'Restore' | bbbTranslate\"\n ></button>\n </fd-dialog-footer-button>\n </fd-dialog-footer>\n </fd-dialog>\n</ng-template>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\nimport { FieldBaseComponent } from 'barsa-novin-ray-core';\r\n@Component({\r\n selector: 'bsu-ui-search-command-info-ui',\r\n templateUrl: './ui-search-command-info-ui.component.html',\r\n styleUrls: ['./ui-search-command-info-ui.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class UiSearchCommandInfoUiComponent extends FieldBaseComponent {\r\n searchTerm = '';\r\n\r\n onSearch(): void {\r\n this.context.fireEvent('SearchClick');\r\n }\r\n onClear(): void {\r\n this.context.fireEvent('ClearClick');\r\n }\r\n}\r\n","<button (click)=\"onSearch()\" fd-button [label]=\"'Search' | bbbTranslate\" [fdType]=\"'emphasized'\"></button>\r\n<button (click)=\"onClear()\" fd-button [label]=\"'Clear' | bbbTranslate\" [fdType]=\"'transparent'\"></button>\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'bsu-ui-info-bar-panel',\r\n templateUrl: './ui-info-bar-panel.component.html',\r\n styleUrls: ['./ui-info-bar-panel.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class UiInfoBarPanelComponent {}\r\n","<p>ui-info-bar-panel works!</p>\r\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n OnInit,\n Output,\n SimpleChanges\n} from '@angular/core';\nimport { BbbTranslatePipe, BaseComponent, PagingSetting } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-ulv-paging',\n templateUrl: './ulv-paging.component.html',\n styleUrls: ['./ulv-paging.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UlvPagingComponent extends BaseComponent implements OnInit {\n @Output() pageChange = new EventEmitter<number>();\n @Output() pageSizeChange = new EventEmitter<number>();\n @HostBinding('height.px') height = 60;\n @Input() pagingSetting: PagingSetting;\n context: any;\n currentPage = 0;\n totalPage = 0;\n totalPageStr: string;\n constructor(private _cdr: ChangeDetectorRef, private bbbPipe: BbbTranslatePipe) {\n super();\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this._initValues(this.pagingSetting);\n }\n ngOnChanges(changes: SimpleChanges): void {\n super.ngOnChanges(changes);\n const { pagingSetting } = changes;\n if (pagingSetting && !pagingSetting.firstChange) {\n this._initValues(pagingSetting.currentValue);\n this._cdr.detectChanges();\n }\n }\n\n onPageSizeChange(e): void {\n const selectedValue = e.target.selectedOption.value;\n this.pageSizeChange.emit(selectedValue);\n }\n onEndClick(): void {\n this.currentPage = this.totalPage - 1;\n this._pageChanged();\n }\n onFirstClick(): void {\n this.currentPage = 0;\n this._pageChanged();\n }\n onNextClick(): void {\n this.currentPage++;\n this._pageChanged();\n }\n onPreviousClick(): void {\n this.currentPage--;\n this._pageChanged();\n }\n onPageChange(pageNumber: number): void {\n this._pageChanged(pageNumber - 1);\n this.currentPage = pageNumber;\n }\n private _initValues(pagingSetting: PagingSetting): void {\n if (pagingSetting === null) {\n this.height = 0;\n return;\n }\n this.currentPage = pagingSetting.Page + 1;\n this.totalPage = Number(pagingSetting.TotalPages);\n const totalRows = pagingSetting.TotalRows.toString();\n this.totalPageStr = this.bbbPipe.transform('CountWithParenthesis').replace('{0}', totalRows);\n }\n private _pageChanged(pageNumber?: number): void {\n pageNumber = typeof pageNumber === 'undefined' ? this.currentPage : pageNumber;\n this.pageChange.emit(pageNumber);\n }\n}\n","<!-- <ng-container *ngIf=\"config?.Setting?.Data?.Paging?.HasPaging\">\n<div class=\"icons\">\n <button\n fd-button\n [attr.disabled]=\"currentPage === totalPage - 1 ? true : null\"\n fdType=\"transparent\"\n glyph=\"begin\"\n (click)=\"onEndClick()\"\n ></button>\n <button\n fd-button\n [attr.disabled]=\"currentPage + 1 >= totalPage ? true : null\"\n fdType=\"transparent\"\n glyph=\"navigation-left-arrow\"\n (click)=\"onNextClick()\"\n ></button>\n <button\n fd-button\n [attr.disabled]=\"currentPage - 1 < 0 ? true : null\"\n fdType=\"transparent\"\n glyph=\"navigation-right-arrow\"\n (click)=\"onPreviousClick()\"\n ></button>\n <button\n fd-button\n [attr.disabled]=\"currentPage === 0 ? true : null\"\n fdType=\"transparent\"\n glyph=\"begin\"\n (click)=\"onFirstClick()\"\n ></button>\n</div>\n<div class=\"pagesize\">\n <label style=\"padding: 0 5px\"\n >{{ currentPage * pageSize }}-{{ currentPage * pageSize + pageSize }} از\n {{ config.Setting.Data.Paging.TotalRows }}</label\n >\n <fd-select (valueChange)=\"onPageSizeChange($event)\" [value]=\"pageSize\">\n <fd-option [value]=\"24\">24</fd-option>\n <fd-option [value]=\"100\">100</fd-option>\n <fd-option [value]=\"100\">100</fd-option>\n </fd-select>\n\n <label style=\"padding: 0 5px\">{{ ItemsPerPage }}:</label>\n </div>\n</ng-container> -->\n@if (pagingSetting) {\n @if (pagingSetting && pagingSetting.HasPaging) {\n <fd-pagination\n dir=\"rtl\"\n [totalItems]=\"pagingSetting.TotalRows\"\n (pageChangeStart)=\"onPageChange($event)\"\n [itemsPerPage]=\"pagingSetting.PageSize\"\n [currentPage]=\"currentPage\"\n [displayTextTemplate]=\"showingItems\"\n ></fd-pagination>\n }\n}\n<ng-template #showingItems let-showing=\"showing\">\n <span dir=\"ltr\">\n {{ 'From' | bbbTranslate }} {{ showing.from }} {{ 'To' | bbbTranslate }} {{ showing.to }} {{ totalPageStr }}\n </span>\n</ng-template>\n","import {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n Input,\r\n TemplateRef,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport { DialogRef } from '@fundamental-ngx/core';\r\n\r\nimport { BaseComponent, getDeviceIsMobile, MetaobjectDataModel } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bsu-ulv-selection',\r\n templateUrl: './ulv-selection.component.html',\r\n styleUrls: ['./ulv-selection.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class UlvSelectionComponent extends BaseComponent implements AfterViewInit {\r\n @Input() context: {\r\n [key: string]: any;\r\n };\r\n @Input() config: {\r\n _icon: null;\r\n ShowSecondPanel: string;\r\n FormTitle: string;\r\n };\r\n @Input() body;\r\n\r\n @ViewChild('dialogRef', { read: TemplateRef })\r\n dialogTemplateRef: TemplateRef<any>;\r\n\r\n @ViewChild('content', { read: ElementRef })\r\n contentRef: ElementRef;\r\n visibility = false;\r\n onParams: {\r\n scope: any;\r\n beforeclose: () => void;\r\n AddRemoveButtonClick: () => void;\r\n };\r\n hasUlv: boolean;\r\n isMobile: any;\r\n ulvMainUi: any;\r\n caption: any;\r\n data: any;\r\n\r\n constructor(public dailogRef: DialogRef) {\r\n super();\r\n this.data = this.dailogRef.data;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.isMobile = getDeviceIsMobile();\r\n }\r\n\r\n getCaption(): void {\r\n return this.ulvMainUi?.Setting?.Extra?.Report?.Caption || '';\r\n }\r\n\r\n onOk(): void {}\r\n\r\n onClear(): void {}\r\n\r\n onDismiss(): void {\r\n this.dailogRef.close();\r\n }\r\n\r\n _trackBySelectedFn(_index: number, item: MetaobjectDataModel): number | string {\r\n return item.Id;\r\n }\r\n\r\n onRemoveSelected(): void {}\r\n\r\n beforeClose(): void {\r\n this.onParams.beforeclose.bind(this.context)();\r\n }\r\n\r\n onBeforeClose(): void {\r\n this.beforeClose();\r\n }\r\n\r\n onClose(): void {\r\n this.beforeClose();\r\n }\r\n\r\n onBeforeOpen(): void {\r\n this.visibility = this.visibility ? true : false;\r\n }\r\n}\r\n","<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #container>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\n <fd-dialog-header>\n <h3 fd-title>{{ data.title }}</h3>\n </fd-dialog-header>\n\n <fd-dialog-body>\n @if (data.ulvUi; as ulvUi) {\n <bsu-ui-ulv-main-ui [context]=\"ulvUi\"></bsu-ui-ulv-main-ui>\n }\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <ng-template fdkTemplate=\"footer\">\n <div\n class=\"ulv-selection-form-dialog__row ulv-selection-form-dialog__selection-row\"\n aria-label=\"Selected and condition items\"\n i18n-aria-label=\"@@platformI18nValueHelpDialog.SelectionBarLabel\"\n >\n <h5 fd-title class=\"selected-and-condition-title\">\n <ng-container>\n <ng-container i18n=\"@@platformI18nValueHelpDialog.SelectedAndConditionLabel\"\n >Selected Items and Conditions\n </ng-container>\n ({{ data.selectedItems?.length || 0 }})\n </ng-container>\n </h5>\n\n <div class=\"ulv-selection-form-dialog__tokens-wrapper\">\n <div class=\"ulv-selection-form-dialog__tokens\">\n @if (data.selectedItems) {\n <fd-toolbar [shouldOverflow]=\"true\">\n <!-- Selected items -->\n @for (\n item of data.selectedItems; track _trackBySelectedFn(selectedIndex,\n item); let selectedIndex = $index) {\n <fd-token\n fd-toolbar-item\n fdOverflowPriority=\"high\"\n class=\"fdp-value-help-dialog__selection-token\"\n (onCloseClick)=\"onRemoveSelected()\"\n >{{ item.$Caption }}\n </fd-token>\n }\n </fd-toolbar>\n }\n </div>\n <button\n class=\"ulv-selection-form-dialog__tokens-clear\"\n fd-button\n fdType=\"transparent\"\n glyph=\"decline\"\n i18n-aria-label=\"@@platformI18nValueHelpDialog.ClearSelectedAriaLabel\"\n aria-label=\"clear selected items\"\n (click)=\"onClear()\"\n ></button>\n </div>\n </div>\n <div class=\"ulv-selection-form-dialog__actions-row\">\n <button\n fd-button\n data-succes\n i18n-label=\"@@platformI18nValueHelpDialog.SuccessButton\"\n label=\"OK\"\n fdType=\"emphasized\"\n (click)=\"onOk()\"\n ></button>\n <button\n fd-button\n data-dismiss-dialog\n fd-dialog-decisive-button\n i18n-label=\"@@platformI18nValueHelpDialog.CancelButton\"\n label=\"Cancel\"\n fdType=\"transparent\"\n (click)=\"onDismiss()\"\n ></button>\n </div>\n </ng-template>\n </fd-dialog-footer>\n </fd-dialog>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, HostListener, OnDestroy, OnInit } from '@angular/core';\r\n\r\nimport { FieldBaseComponent } from 'barsa-novin-ray-core';\r\n@Component({\r\n selector: 'bsu-ui-single-picture',\r\n templateUrl: './ui-single-picture.component.html',\r\n styleUrls: ['./ui-single-picture.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class UiSinglePictureComponent extends FieldBaseComponent implements OnInit, OnDestroy {\r\n imageUrl: string;\r\n pos: any;\r\n @HostListener('click', ['$event.target'])\r\n hostClick(): void {\r\n this.context?.fireEvent('click', this.context);\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.imageUrl = this.context.Setting.ImageUrl;\r\n this.imageUrl = this.imageUrl || this.context.imageUrl;\r\n this.pos = this.context.pos;\r\n this.context.on({\r\n DispalyImage: this._displayImage.bind(this)\r\n });\r\n }\r\n ngOnDestroy(): void {\r\n super.ngOnDestroy();\r\n this.context.un('DisplayImage', this._displayImage);\r\n }\r\n private _displayImage(imageUrl, pos): void {\r\n this.imageUrl = imageUrl;\r\n this.pos = pos;\r\n }\r\n}\r\n","<div\n style=\"width: 100%; overflow: hidden\"\n [style.max-height.px]=\"Setting.SizeMode === 2 ? layoutInfo.ControlBounds.height : null\"\n [class.center]=\"Setting.SizeMode === 3\"\n>\n <img\n [style.max-height.px]=\"Setting.SizeMode === 1 ? layoutInfo.ControlBounds.height : null\"\n [style.max-width.px]=\"Setting.SizeMode === 1 ? layoutInfo.ControlBounds.width : null\"\n [src]=\"imageUrl\"\n [ngClass]=\"Setting.SizeMode === 1 ? 'cover' : 'contain'\"\n />\n</div>\n","import { ChangeDetectionStrategy, Component, HostBinding, OnInit } from '@angular/core';\n\nimport { LayoutItemBaseComponent } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-ly-empty-space',\n templateUrl: './ly-empty-space.component.html',\n styleUrls: ['./ly-empty-space.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LyEmptySpaceComponent extends LayoutItemBaseComponent implements OnInit {\n @HostBinding('class.empty-space') emptyClass = true;\n @HostBinding('class.big') isBig = false;\n @HostBinding('style.flex') flex;\n @HostBinding('style.max-width.px') maxWidth;\n height;\n ngOnInit(): void {\n super.ngOnInit();\n const { Bounds, MaxSize } = this.config;\n this.height = Bounds.height;\n if (this.height > 30) {\n this.isBig = true;\n }\n\n this.flex = Bounds.width;\n if (MaxSize.width > 0) {\n this.maxWidth = MaxSize.width;\n }\n // if (MaxSize.height > 0) this.maxHeight = MaxSize.height;\n }\n}\n","<div [style.height.px]=\"height\"></div>\r\n","import { ChangeDetectionStrategy, Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\n\r\nimport { NumberBaseComponent } from 'barsa-novin-ray-core';\r\n@Component({\r\n selector: 'bsu-ui-time-span',\r\n templateUrl: './ui-time-span.component.html',\r\n styleUrls: ['./ui-time-span.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class UiTimeSpanComponent extends NumberBaseComponent implements OnInit {\r\n @ViewChild('inputRef', { read: ElementRef, static: true })\r\n inputRef: ElementRef;\r\n inputElement: HTMLInputElement | null | undefined;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.Setting.DecimalPrecision = 2;\r\n this.Setting.ShowThousandSeperator = false;\r\n this.inputElement = this.inputRef.nativeElement;\r\n super.ngOnInit(); // this is required.\r\n }\r\n}\r\n","<input\r\n fd-form-control\r\n #inputRef\r\n [placeholder]=\"Setting.NullText || ''\"\r\n [id]=\"id\"\r\n [attr.readonly]=\"(readonly$ | async) === true ? true : null\"\r\n [attr.disabled]=\"(disable$ | async) === true ? true : null\"\r\n [style.direction]=\"Setting.IsLtr === true ? 'ltr' : null\"\r\n (keydown)=\"onKeyDown($event)\"\r\n (input)=\"onValueChange($event)\"\r\n class=\"number-input\"\r\n/>\r\n","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\n\r\nimport { NumberBaseComponent } from 'barsa-novin-ray-core';\r\n@Component({\r\n selector: 'bsu-ui-num-int-ui',\r\n templateUrl: './ui-num-int-ui.component.html',\r\n styleUrls: ['./ui-num-int-ui.component.scss']\r\n})\r\nexport class UiNumIntUiComponent extends NumberBaseComponent implements OnInit {\r\n @ViewChild('inputRef', { read: ElementRef, static: true })\r\n inputRef: ElementRef;\r\n inputElement: HTMLInputElement | null | undefined;\r\n\r\n ngOnInit(): void {\r\n this.inputElement = this.inputRef.nativeElement;\r\n super.ngOnInit();\r\n }\r\n}\r\n","<input\r\n #inputRef\r\n fd-form-control\r\n [placeholder]=\"Setting.NullText || ''\"\r\n [attr.readonly]=\"(readonly$ | async) === true ? true : null\"\r\n [attr.disabled]=\"(disable$ | async) === true ? true : null\"\r\n [type]=\"Setting.IsPassword ? 'password' : 'text'\"\r\n [type]=\"hasMask ? 'text' : 'number'\"\r\n [id]=\"id\"\r\n [style.direction]=\"'ltr'\"\r\n [style.text-align]=\"Setting.IsLtr === true ? 'left' : 'right'\"\r\n (keydown)=\"onKeyDown($event)\"\r\n (input)=\"onValueChange($event)\"\r\n/>\r\n","import { ChangeDetectionStrategy, Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\n\r\nimport { NumberBaseComponent } from 'barsa-novin-ray-core';\r\n@Component({\r\n selector: 'bsu-ui-num-decimal-ui',\r\n templateUrl: './ui-num-decimal-ui.component.html',\r\n styleUrls: ['./ui-num-decimal-ui.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class UiNumDecimalUiComponent extends NumberBaseComponent implements OnInit {\r\n @ViewChild('inputRef', { read: ElementRef, static: true })\r\n inputRef: ElementRef;\r\n inputElement: HTMLInputElement | null | undefined;\r\n ngOnInit(): void {\r\n this.inputElement = this.inputRef.nativeElement;\r\n super.ngOnInit();\r\n }\r\n protected raiseValueChange(val): void {\r\n this.valueChange.emit(val);\r\n }\r\n}\r\n","<input\n #inputRef\n fd-form-control\n [id]=\"id\"\n [placeholder]=\"Setting.NullText || ''\"\n [attr.readonly]=\"(readonly$ | async) === true ? true : null\"\n [attr.disabled]=\"(disable$ | async) === true ? true : null\"\n class=\"number-input\"\n [style.direction]=\"Setting.IsLtr === true ? 'ltr' : null\"\n (keydown)=\"onKeyDown($event)\"\n (input)=\"onValueChange($event)\"\n/>\n@if (Setting.CurrencySymbol) {\n<label fd-form-label flexShrink=\"0\">{{ Setting.CurrencySymbol }} </label>\n}\n","import { ChangeDetectionStrategy, Component, OnDestroy, OnInit } from '@angular/core';\nimport { MultiInputComponent } from '@fundamental-ngx/core';\n\nimport { FieldBaseComponent } from 'barsa-novin-ray-core';\n@Component({\n selector: 'bsu-ui-multi-select-combo',\n templateUrl: './ui-multi-select-combo.component.html',\n styleUrls: ['./ui-multi-select-combo.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiMultiSelectComboComponent extends FieldBaseComponent implements OnInit, OnDestroy {\n selectedItems: { id: string; txt: string }[] = [];\n maxWidth: any;\n dataList: any;\n ngOnInit(): void {\n super.ngOnInit();\n this.context.on({\n DataListChanged: this._setDataList.bind(this)\n });\n this._initSelectedItems();\n }\n\n ngAfterViewInit(): void {\n super.ngAfterContentInit();\n setTimeout(() => {\n const width = this._el.nativeElement.clientWidth;\n const layoutWidth = this.layoutInfo.Bounds.width;\n if (width > layoutWidth) {\n this.maxWidth = width;\n } else {\n this.maxWidth = layoutWidth;\n }\n }, 0);\n }\n ngOnDestroy(): void {\n super.ngOnDestroy();\n this.context.un('DataListChanged', this._setDataList);\n }\n onOpenChange(isOpen: boolean, multiInput: MultiInputComponent): void {\n if (isOpen) {\n setTimeout(() => {\n this.context.fireEvent('TriggerClick', this.context, '');\n multiInput?.searchInputElement?.nativeElement?.focus();\n }, 0);\n }\n }\n\n onSelectedChange(): void {\n this.value = this.selectedItems.map((c) => (typeof c === 'string' ? c : c.id)).join(',');\n this._raiseValueChanged();\n }\n // IsSelected(item): boolean {\n // if (!this.value) {\n // return false;\n // }\n // const arr = this.value.split(',');\n // return arr.indexOf(item.id) > -1;\n // }\n displayFunc(obj: any): string {\n return obj.txt;\n }\n valueFunc(obj: { id: string; txt: string }): any {\n return obj;\n }\n protected _initSelectedItems(): void {\n const store = this.context.store;\n if (this.value) {\n const splitedValue: string[] = this.value.split(',');\n const dropDownValues: { id: string; txt: string }[] = store.data[store.root];\n dropDownValues.forEach((item) => {\n const selected = splitedValue.find((c) => c === item.id);\n if (selected) {\n this.selectedItems.push(item);\n }\n });\n }\n this.dataList = store.data[store.root];\n }\n protected _setDataList(): void {\n const store = this.context.store;\n this.dataList = store.data[store.root];\n this._cdr.detectChanges();\n }\n protected _raiseValueChanged(): void {\n this.valueChange.emit(this.value);\n this.fireContextEvent('select', this.value);\n }\n}\n","<fd-multi-input\n #multiInput\n inputId=\"multiInput\"\n [disabled]=\"(disableOrReadonly$ | async)!!\"\n [dropdownValues]=\"dataList\"\n [placeholder]=\"'Search' | bbbTranslate\"\n [(ngModel)]=\"selectedItems\"\n [displayFn]=\"displayFunc\"\n [valueFn]=\"valueFunc\"\n [itemTemplate]=\"template\"\n (openChange)=\"onOpenChange($event, multiInput)\"\n (selectedChange)=\"onSelectedChange()\"\n [style.max-width.px]=\"maxWidth\"\n></fd-multi-input>\n<ng-template #template let-item>\n <div style=\"display: flex; align-items: center\">\n @if (item.url) {\n <img [attrRtl] [src]=\"item.url\" />\n }\n <span fd-list-title>{{ item.txt | bbbTranslate }}</span>\n </div>\n</ng-template>\n","import {\r\n Component,\r\n HostListener,\r\n Input,\r\n ViewChild,\r\n ChangeDetectionStrategy,\r\n OnInit,\r\n AfterViewInit\r\n} from '@angular/core';\r\nimport { Observable, of, Subject } from 'rxjs';\r\nimport { debounceTime, filter, distinctUntilChanged, tap, takeUntil, switchMap } from 'rxjs/operators';\r\nimport { ComboboxComponent, ComboboxItem, DialogRef } from '@fundamental-ngx/core';\r\n\r\nimport {\r\n FieldBaseComponent,\r\n BarsaApi,\r\n ReportExtraInfo,\r\n MoForReportModel,\r\n ClassNamesModel,\r\n ViewTypes,\r\n MetaobjectDataModel,\r\n PreventDefaulEvent,\r\n PagingSetting,\r\n ReportViewColumn,\r\n getUniqueId,\r\n GridView\r\n} from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bsu-ui-mo-info-ulv-combo',\r\n templateUrl: './ui-mo-info-ulv-combo.component.html',\r\n styleUrls: ['./ui-mo-info-ulv-combo.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class UiMoInfoUlvComboComponent extends FieldBaseComponent implements OnInit, AfterViewInit {\r\n @Input() ulvAdapter: {\r\n [key: string]: any;\r\n Setting: {\r\n [key: string]: any;\r\n View: ViewTypes;\r\n ClassNames: ClassNamesModel;\r\n Extra: ReportExtraInfo;\r\n Data: MoForReportModel;\r\n };\r\n };\r\n @Input() Control: any;\r\n @Input() UlvMainCtrlr: any;\r\n @ViewChild(ComboboxComponent) fdComboRef: ComboboxComponent;\r\n\r\n @Input() set UlvUi(value: any) {\r\n this._UlvUi = value;\r\n if (value) {\r\n value.viewerControl.on({\r\n MoDataListChanged: () => {\r\n this._cdr.detectChanges();\r\n }\r\n });\r\n }\r\n }\r\n get UlvUi(): any {\r\n return this._UlvUi;\r\n }\r\n\r\n _UlvUi: any;\r\n isExpand: boolean;\r\n smartChange = new Subject<string>();\r\n loading$: Observable<boolean>;\r\n tickRef: any;\r\n inputElement: HTMLInputElement;\r\n isFirstLoad: boolean;\r\n popoverElement: any;\r\n rawValue: string;\r\n formSelectionDialog: DialogRef;\r\n isOpenSelectionDialog: boolean;\r\n hasReport: any;\r\n originalValue: any;\r\n isDataLoadedFirstTime: boolean;\r\n valueText: string;\r\n allColumns: ReportViewColumn[] = [];\r\n hasValue: boolean;\r\n comboboxId: string;\r\n private _openPopupFormSelectionSource = new Subject<void>();\r\n private _closeDialogSource = new Subject<void>();\r\n private _loadingSource = new Subject<boolean>();\r\n\r\n @HostListener('keydown', ['$event']) onKeyDown(e): void {\r\n e = new BarsaApi.Ext.EventObjectImpl(e);\r\n const k = e.getKey();\r\n if (e.keyCode === e.ENTER || k === BarsaApi.Ext.EventObject.TAB) {\r\n this.context.fireEvent('keydown', this.context, e);\r\n }\r\n }\r\n @HostListener('keydown.alt', ['$event'])\r\n onAlt(e): void {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n }\r\n ngOnInit(): void {\r\n this.comboboxId = getUniqueId(3);\r\n this._checkHasValue(this.value);\r\n this.loading$ = this._loadingSource.asObservable().pipe(takeUntil(this._onDestroy$));\r\n this.loading$.subscribe(() => {\r\n this.isDataLoadedFirstTime =\r\n typeof this.ulvAdapter?.Setting?.Data?.MoDataList === 'object' ||\r\n typeof this.UlvUi?.Setting?.Data?.MoDataList === 'object';\r\n });\r\n this.smartChange\r\n .pipe(\r\n takeUntil(this._onDestroy$),\r\n debounceTime(200),\r\n filter((value) => this._filterSmartChange(value)),\r\n distinctUntilChanged(),\r\n tap((value) => (this.rawValue = value))\r\n )\r\n .subscribe((value) => {\r\n this.context.fireEvent('SmartChange', this.context, value);\r\n });\r\n this._openPopupFormSelectionSource\r\n .asObservable()\r\n .pipe(\r\n takeUntil(this._closeDialogSource),\r\n takeUntil(this._onDestroy$),\r\n switchMap(() => this._openPopupFormSelection())\r\n )\r\n .subscribe();\r\n super.ngOnInit();\r\n this.originalValue = this.value;\r\n this.hasReport = this.Setting.RelationViewType === 'ReportView' || this.Setting.ReportName === 'Hierarchical';\r\n this.Control = this;\r\n setTimeout(() => {\r\n this._setValueText(this.value);\r\n });\r\n }\r\n onPagingClick(e): void {\r\n PreventDefaulEvent(e);\r\n }\r\n onPageChange(e: number): void {\r\n this._loadingSource.next(true);\r\n if (this.UlvUi) {\r\n this.UlvUi.fireEvent('PageChange', this.UlvUi, e);\r\n return;\r\n }\r\n this.ulvAdapter.DataCtrlr.MoveToPage(e, () => {\r\n this._loadingSource.next(false);\r\n });\r\n }\r\n onItemClick(e: ComboboxItem, moDataList: MetaobjectDataModel[]): void {\r\n this._handleItemSelect(moDataList, e.item);\r\n }\r\n onPageChange2(pageSetting: PagingSetting, e): void {\r\n PreventDefaulEvent(e);\r\n if (!this.ulvAdapter) {\r\n this.UlvUi.fireEvent('PageChange', this.UlvUi, pageSetting.Page + 1);\r\n return;\r\n }\r\n this._loadingSource.next(true);\r\n const ulvAdapter = this.ulvAdapter;\r\n const temp1 = ulvAdapter.Setting.Data.MoDataList;\r\n temp1.splice(temp1.length - 1, 1);\r\n const moDataListOld = [...temp1];\r\n moDataListOld.forEach((c) => (c.$__IsLast = false));\r\n this.ulvAdapter.DataCtrlr.MoveToPage(pageSetting.Page + 1, () => {\r\n const moDataList: MetaobjectDataModel[] = ulvAdapter.Setting.Data.MoDataList;\r\n moDataList.splice(0, 0, ...moDataListOld);\r\n this._loadingSource.next(false);\r\n });\r\n }\r\n onOpenChange(fdCombobox, isOpen: boolean): void {\r\n if (isOpen) {\r\n this._focus();\r\n // fdCombobox.open = false; // it close popup when click on dropdown button in component\r\n } else {\r\n const inputText = this.fdComboRef?.inputTextValue;\r\n if (!this.value && inputText) {\r\n this._raiseSmartChange(inputText);\r\n }\r\n }\r\n }\r\n onInputChange(e): void {\r\n this._raiseSmartChange(e);\r\n }\r\n onInputChange2(e): void {\r\n this._raiseSmartChange(e.target.value);\r\n }\r\n onValueChange(e): void {\r\n this._raiseValueChanged(e.target.value);\r\n }\r\n onNew(): void {\r\n this._triggerClick('New');\r\n }\r\n onClear(): void {\r\n this._triggerClick('Delete');\r\n }\r\n onEdit(): void {\r\n this._triggerClick('Edit');\r\n }\r\n onSearch(): void {\r\n this._triggerClick('Popup');\r\n }\r\n /* eslint-disable */\r\n customFilter(content: any[], searchTerm: string): any[] {\r\n return content;\r\n }\r\n\r\n displayFunc = (obj: MetaobjectDataModel) => {\r\n if (obj) {\r\n const colName = this.getFirstColumnName();\r\n return this.getMoValueCaption(obj, colName, obj.$Caption);\r\n }\r\n return '';\r\n };\r\n getMoValueCaption(valueMo: MetaobjectDataModel | null, colName: string, defaultValue: string): string {\r\n if (valueMo === null) {\r\n return defaultValue;\r\n }\r\n let captionValueMo;\r\n const molist: MetaobjectDataModel[] = BarsaApi.Common.Util.TryGetValue(\r\n this.ulvAdapter,\r\n 'Setting.Data.MoDataList',\r\n []\r\n );\r\n const foundedMo = molist.find((c) => c.Id === valueMo.Id);\r\n if (colName && foundedMo && foundedMo[colName]) {\r\n if (foundedMo[colName + '$Caption']) {\r\n captionValueMo = foundedMo[colName + '$Caption'];\r\n } else if (foundedMo[colName].$Caption) {\r\n captionValueMo = foundedMo[colName].$Caption;\r\n } else {\r\n captionValueMo = foundedMo[colName];\r\n }\r\n }\r\n return this._bbbPipe.transform(captionValueMo || defaultValue);\r\n }\r\n getFirstColumnName() {\r\n let colName = '$Caption';\r\n if (this.UlvMainCtrlr && this.UlvMainCtrlr?.Dd?.Setting?.View) {\r\n if (this.UlvMainCtrlr.Dd.Setting.View.Columns) {\r\n const firstCol = this.UlvMainCtrlr.Dd.Setting.View.Columns.find(\r\n (c) => !c.Name.startsWith('$') && c.Name !== 'Id'\r\n );\r\n if (firstCol?.Name) {\r\n colName = firstCol.Name;\r\n }\r\n }\r\n }\r\n return colName;\r\n }\r\n\r\n /* eslint-disable */\r\n @Input() IsExpanded = (type) => {\r\n if (type === 'Dd') {\r\n return false;\r\n }\r\n return this.fdComboRef?.popoverComponent?.isOpen;\r\n };\r\n // return this.comboRef.nativeElement.responsivePopover.isOpen();\r\n /* eslint-disable */\r\n @Input() Collapse = (type) => {};\r\n /* eslint-disable */\r\n @Input() Expand = (type) => {\r\n this.ulvAdapter = this.UlvMainCtrlr[type];\r\n };\r\n /* eslint-disable */\r\n @Input() on = () => {};\r\n /* eslint-disable */\r\n @Input() Focus = () => {};\r\n @Input()\r\n SetUlvAdapter = (type, ulvAdapter) => {\r\n this.ulvAdapter = ulvAdapter;\r\n this._setColumns();\r\n /* eslint-disable */\r\n };\r\n @Input()\r\n IsUiCreated = (type) => {\r\n return true;\r\n /* eslint-disable */\r\n };\r\n @Input()\r\n Mask = (type) => {\r\n this._loadingSource.next(true);\r\n /* eslint-disable */\r\n };\r\n @Input()\r\n hide = (type) => {\r\n if (this.formSelectionDialog) {\r\n this.formSelectionDialog.close();\r\n }\r\n /* eslint-disable */\r\n };\r\n @Input()\r\n show = (type) => {\r\n if (this.UlvUi && !this.isOpenSelectionDialog && this.context._showPopup) {\r\n this._openPopupFormSelectionSource.next(); // rabete taki general info .popup baz mishod ke baiad dropdown bashe.\r\n } else {\r\n this.fdComboRef && (this.fdComboRef.open = true);\r\n }\r\n this._cdr.detectChanges();\r\n\r\n /* eslint-disable */\r\n };\r\n @Input()\r\n Unmask = (type) => {\r\n this._loadingSource.next(false);\r\n /* eslint-disable */\r\n };\r\n @Input()\r\n getRawValue = () => {\r\n return this.rawValue;\r\n /* eslint-disable */\r\n };\r\n\r\n protected _handleItemSelect(moDataList: MetaobjectDataModel[], mo: MetaobjectDataModel): void {\r\n moDataList.forEach((c) => (c.$IsChecked = false));\r\n this._fireValueChange(mo);\r\n }\r\n protected _setValue(value: any): void {\r\n this._setValueText(value);\r\n this._checkHasValue(value);\r\n super._setValue(value);\r\n // this._setComboText(value);\r\n }\r\n protected _checkHasValue(value): void {\r\n this.hasValue = typeof value !== 'undefined' && value !== null && value !== '';\r\n }\r\n protected _setValueText(value): void {\r\n this.valueText = this._getValueText(value);\r\n this._setComboText(this.valueText);\r\n }\r\n protected _getValueText(value) {\r\n if (!value) {\r\n return '';\r\n } else if (typeof value === 'string') {\r\n return value;\r\n } else if (typeof value === 'object') {\r\n return value.$Caption;\r\n }\r\n if (typeof value !== 'string' && value && this.UlvMainCtrlr && this.UlvMainCtrlr.Dd) {\r\n const view = this.UlvMainCtrlr.Dd.Setting.View;\r\n let colName = '$Caption';\r\n if (view.Columns) {\r\n const firstCol = view.Columns.find((c) => !c.Name.startsWith('$') && c.Name !== 'Id');\r\n colName = firstCol?.Name ? firstCol.Name : '$Caption';\r\n }\r\n return this._bbbPipe.transform(value);\r\n }\r\n }\r\n protected _setComboText(value: string): void {\r\n // if (value === null || typeof value === 'undefined') {\r\n // this._valueMo = null;\r\n //this.fdComboRef.inputTextValue = '';\r\n //this.fdComboRef._cdRef.detectChanges();\r\n // }\r\n const fdComboRef = this.fdComboRef;\r\n const inputText = fdComboRef?.inputTextValue;\r\n if (fdComboRef && value != inputText) {\r\n // const UlvMainCtrlr = this.UlvMainCtrlr;\r\n // if (UlvMainCtrlr && UlvMainCtrlr.Dd) {\r\n // const view = UlvMainCtrlr.Dd.Setting.View;\r\n // let colName = '$Caption';\r\n // if (view.Columns) {\r\n // const firstCol = view.Columns.find((c) => !c.Name.startsWith('$') && c.Name !== 'Id');\r\n // colName = firstCol?.Name ? firstCol.Name : '$Caption';\r\n // }\r\n // value = this.getMoValueCaption(this._valueMo, colName, value);\r\n // }\r\n fdComboRef.inputText = value ? this._bbbPipe.transform(value) + '' : '';\r\n this._cdr.detectChanges();\r\n }\r\n }\r\n protected _openPopupFormSelection(): Observable<boolean> {\r\n this.isOpenSelectionDialog = true;\r\n this.UlvUi.viewerControl.ShowOkCancelButtons = true; // this is useful to ulv manage toolbar buttons.for example move in tree does not shown\r\n this.formSelectionDialog = BarsaApi.Bw.UlvFormMultiSelect.Show(this.context, {\r\n ulv1: this.UlvUi,\r\n title: this._bbbPipe.transform('Select'),\r\n IsLoaded: true\r\n });\r\n setTimeout(() => {\r\n this.isOpenSelectionDialog = false;\r\n }, 500);\r\n return of(true);\r\n }\r\n protected _filterSmartChange(value): boolean {\r\n let canRequest = (this.ulvAdapter || this.UlvUi) && value !== this.value;\r\n // if (canRequest) {\r\n // const molist: MetaobjectDataModel[] = BarsaApi.Common.Util.TryGetValue(\r\n // this.ulvAdapter,\r\n // 'Setting.Data.MoDataList',\r\n // []\r\n // );\r\n // if (!molist) {\r\n // return true;\r\n // }\r\n // const colName = this.getFirstColumnName();\r\n\r\n // const findMo = molist.find((mo) => {\r\n // const caption = this.getMoValueCaption(mo, colName, mo.$Caption);\r\n // return caption === value;\r\n // });\r\n // if (findMo) {\r\n // canRequest = false;\r\n // //this._fireValueChange(findMo);\r\n // }\r\n // }\r\n return canRequest;\r\n }\r\n protected _setColumns(): void {\r\n const ulvAdapter = this.ulvAdapter;\r\n const view = <GridView>ulvAdapter?.Setting?.View;\r\n if (view && view.Columns?.length && this.allColumns.length === 0) {\r\n this.allColumns = view.Columns.filter((c) => Number(c.MetaFieldTypeId) > 0);\r\n }\r\n }\r\n protected _focus(): void {\r\n this._triggerClick('Normal');\r\n this._setColumns();\r\n }\r\n\r\n protected _raiseSmartChange(value): void {\r\n this.smartChange.next(value);\r\n }\r\n\r\n protected _triggerClick(eventName, value = null): void {\r\n this.context.fireEvent('TriggerClick', this.context, eventName, value);\r\n }\r\n\r\n protected _raiseValueChanged(caption): void {\r\n const inputValue = caption;\r\n const molist: MetaobjectDataModel[] = BarsaApi.Common.Util.TryGetValue(\r\n this.ulvAdapter,\r\n 'Setting.Data.MoDataList',\r\n []\r\n );\r\n if (!molist || molist.length === 0) {\r\n return;\r\n }\r\n //const colName = this.getFirstColumnName();\r\n\r\n const mo = molist.find((c) => c.$Caption === inputValue);\r\n if (!mo) {\r\n return;\r\n }\r\n molist.forEach((c) => (c.$IsChecked = false));\r\n\r\n this._fireValueChange(mo);\r\n }\r\n protected _fireValueChange(mo): void {\r\n this.value = mo;\r\n mo.$IsChecked = true;\r\n this._setValueText(this.value);\r\n // this._setComboText(mo.$Caption);\r\n // this._cdr.detectChanges();\r\n if (this.UlvUi) {\r\n this.UlvUi.viewerControl.fireEvent('rowclick', this.UlvUi, 0, mo);\r\n } else if (this.ulvAdapter) {\r\n this.ulvAdapter.ViewerAdapter.Control.fireEvent('rowclick', this.ulvAdapter.ViewerAdapter.Control, 0, mo);\r\n }\r\n // this._triggerClick('ItemSelect', this.value);\r\n }\r\n}\r\n","<ng-container\n *ngTemplateOutlet=\"\n context._showPopup || context._showDropDown === false ? inputTemplate : comboTemplate;\n context: {\n $implicit:\n (loading$ | async) === true\n | moInfoUlvMoList\n : isDataLoadedFirstTime\n : ulvAdapter?.Setting?.Data?.MoDataList\n : UlvUi?.Setting?.Data?.MoDataList\n : ulvAdapter?.Setting?.Data?.Paging\n : UlvUi?.Setting?.Data?.Paging,\n deviceSize: deviceSize$ | async,\n disableOrReadonly: disableOrReadonly$ | async,\n disable: disable$ | async,\n readonly: readonly$ | async\n }\n \"\n>\n</ng-container>\n<ng-template\n #inputTemplate\n let-deviceSize=\"deviceSize\"\n let-disableOrReadonly=\"disableOrReadonly\"\n let-disable=\"disable\"\n let-readonly=\"readonly\"\n>\n <div style=\"display: flex\" class=\"fd-input-group\">\n <input\n fd-input-group-input\n fd-form-control\n #inputRef\n [placeholder]=\"Setting.NullText || ''\"\n [attr.readonly]=\"true\"\n [attr.disabled]=\"disable === true ? true : null\"\n [value]=\"!value ? '' : (value | bbbTranslate)\"\n [id]=\"id\"\n [style.direction]=\"Setting.IsLtr === true ? 'ltr' : null\"\n (input)=\"onValueChange($event)\"\n />\n <ng-container *ngTemplateOutlet=\"btnsTpl; context: { disableOrReadonly: disableOrReadonly }\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #btnsTpl let-disableOrReadonly=\"disableOrReadonly\">\n <div class=\"extra-buttons fd-input-group fd-input-group--control\">\n @if (hasValue && disableOrReadonly !== true) {\n <span class=\"fd-input-group__addon--button combo-popup-btn\" fd-input-group-addon>\n <button fd-button fdType=\"transparent\" glyph=\"decline\" (click)=\"onClear()\"></button>\n </span>\n } @if (!hasValue && disableOrReadonly !== true && Setting.ShowNewButton) {\n <span fd-input-group-addon class=\"fd-input-group__addon--button combo-popup-btn\">\n <button fd-button fdType=\"transparent\" glyph=\"add\" (click)=\"onNew()\"></button>\n </span>\n } @if (hasValue && disableOrReadonly !== true && Setting.ViewRelatedFormType !== 'Hide') {\n <span fd-input-group-addon class=\"fd-input-group__addon--button combo-popup-btn\">\n <button fd-button fdType=\"transparent\" glyph=\"edit\" (click)=\"onEdit()\"></button>\n </span>\n } @if (context._showPopup && !value && disableOrReadonly !== true) {\n <span fd-input-group-addon class=\"fd-input-group__addon--button combo-popup-btn\">\n <button fd-button fdType=\"transparent\" glyph=\"search\" (click)=\"onSearch()\"></button>\n </span>\n }\n </div>\n</ng-template>\n<ng-template\n #comboTemplate\n let-moDataList\n let-deviceSize=\"deviceSize\"\n let-disableOrReadonly=\"disableOrReadonly\"\n let-disable=\"disable\"\n let-readonly=\"readonly\"\n>\n <div class=\"simple-combo-wrapper\">\n <fd-combobox\n #fdCombobox\n class=\"combo-mo-ulv\"\n [class.canAdd]=\"!hasValue && disableOrReadonly !== true && Setting.ShowNewButton\"\n [class.canEdit]=\"hasValue && disableOrReadonly !== true\"\n [comboboxId]=\"comboboxId\"\n [class.has-report]=\"hasReport\"\n [class.has-Value]=\"hasValue\"\n [placeholder]=\"'Select' | bbbTranslate\"\n [mobile]=\"deviceSize === 's'\"\n [mobileConfig]=\"mobileConfig\"\n [fillOnSelect]=\"true\"\n [readOnly]=\"readonly === true ? true : false\"\n [disabled]=\"disable === true ? true : false\"\n [dropdownValues]=\"moDataList\"\n [filterFn]=\"customFilter\"\n [openOnKeyboardEvent]=\"true\"\n [byline]=\"allColumns.length > 0\"\n [itemTemplate]=\"itemTemplate\"\n [displayFn]=\"displayFunc\"\n [showDropdownButton]=\"disableOrReadonly !== true\"\n (itemClicked)=\"onItemClick($event, moDataList)\"\n (inputTextChange)=\"onInputChange($event)\"\n (openChange)=\"onOpenChange(fdCombobox, $event)\"\n >\n </fd-combobox>\n <ng-container *ngTemplateOutlet=\"btnsTpl\"></ng-container>\n </div>\n <ng-template #itemTemplate let-item>\n @if (item.$isLoading) {\n <div fd-list-content style=\"width: 100%; height: 20px\">\n <bsu-mask [size]=\"'s'\" [top]=\"'10px'\"></bsu-mask>\n </div>\n } @else {\n <ng-container\n *ngTemplateOutlet=\"item.$LoadMore ? loadMoreButton : showItem; context: { ulv: ulvAdapter || UlvUi }\"\n >\n </ng-container>\n }\n <ng-template #loadMoreButton let-ulv=\"ulv\">\n @if (ulv) {\n <bsu-ulv-paging\n (click)=\"onPagingClick($event)\"\n (pageChange)=\"onPageChange($event)\"\n [pagingSetting]=\"ulv.Setting.Data.Paging\"\n >\n </bsu-ulv-paging>\n }\n <!-- <button\n style=\"width: 100%\"\n *ngIf=\"ulv && ulv.Setting.Data.Paging.Page + 1 < ulv.Setting.Data.Paging.TotalPages\"\n fd-button\n (click)=\"onPageChange2(ulv.Setting.Data.Paging, $event)\"\n [label]=\"'More' | bbbTranslate\"\n ></button> -->\n </ng-template>\n <ng-template #showItem>\n @if (allColumns?.length && !item.isEmpty) { @if (!item.$__IsLast) {\n <div class=\"moinfoulv devider\"></div>\n } @if (item.$Icon) {\n <span fd-list-thumbnail><fd-icon [glyph]=\"item.$Icon\"></fd-icon></span>\n }\n <div fd-list-content class=\"moinfoulv hasColumns\">\n <div fd-list-title class=\"title\">{{ allColumns[0].Alias | rval: item:allColumns:true }}</div>\n @if (allColumns[1]) {\n <div fd-list-byline class=\"byline\">\n {{ allColumns[1].Alias | rval: item:allColumns:true }}\n </div>\n }\n <div style=\"display: flex; column-gap: 8px; flex-wrap: wrap\">\n @for (column of allColumns; track column; let index = $index) { @if (index > 1) { @if (column.Alias\n | rval: item:allColumns:true; as value) {\n <span> {{ column.Alias }}:{{ value }}</span>\n } } }\n </div>\n </div>\n } @else {\n <span fd-list-title [class.list-empty-item]=\"item.isEmpty\"\n >{{ item.isEmpty ? ('NoData' | bbbTranslate) : (item.$MoCaption || item.$Caption | bbbTranslate) }}\n </span>\n }\n </ng-template>\n </ng-template>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, OnDestroy, OnInit } from '@angular/core';\nimport { FileUploaderComponent } from '@fundamental-ngx/core';\n\nimport {\n FieldBaseComponent,\n BarsaApi,\n UploadService,\n getValidExtension,\n FilesValidationHelper,\n ImageMimeType,\n IUploadingState\n} from 'barsa-novin-ray-core';\n\nimport { Observable, of } from 'rxjs';\nimport { concatMap, exhaustMap, takeUntil, tap } from 'rxjs/operators';\n\n@Component({\n selector: 'bsu-ui-picture-file',\n templateUrl: './ui-picture-file.component.html',\n styleUrls: ['./ui-picture-file.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [UploadService]\n})\nexport class UiPictureFileComponent extends FieldBaseComponent implements OnInit, OnDestroy {\n @HostBinding('class.editable') _editable = true;\n @Input() imageUrl: any;\n @Input() sizeMode: any;\n files: File[] = [];\n uploadingState$: Observable<IUploadingState>;\n validExtensions: any;\n filesValidationHelper: FilesValidationHelper;\n ngOnInit(): void {\n super.ngOnInit();\n if (this.Setting?.IsReadOnly === true) {\n this._editable = false;\n }\n this.uploadingState$ = this._uploadService.uploadingState$;\n this.context.on({\n DispalyImage: this._displayImage.bind(this)\n });\n this.imageUrl = this.context.imageUrl;\n this.value = this.context._value;\n this.validExtensions = getValidExtension(this.Setting.ValidExtensions) || ImageMimeType;\n this.filesValidationHelper = new FilesValidationHelper(\n 1,\n this.Setting.MaxFileSizeKb,\n this.Setting.MaxFileSizeKb\n );\n }\n ngOnDestroy(): void {\n super.ngOnDestroy();\n this.context.un('DisplayImage', this._displayImage);\n }\n onFileSelection(files: File[]): void {\n this.filesValidationHelper.validateFiles(files);\n this.uploadFile(files).pipe(takeUntil(this._onDestroy$)).subscribe();\n }\n onFileDeleted(uploaderComponent: FileUploaderComponent): void {\n uploaderComponent.inputRef.nativeElement.value = '';\n this.value = null;\n this.fireContextEvent('Change', this.context, null);\n }\n\n onDownloadFile(): void {\n BarsaApi.Common.File.OpenFile(this.value.FileId, false, this, true, false);\n }\n\n onRetry(): void {\n this._upload(this.files);\n }\n\n onTerminate(): void {\n this._uploadService.cancelation$.next();\n this._cdr.detectChanges();\n }\n private _displayImage(imageUrl, sizeMode, value): void {\n this.imageUrl = imageUrl;\n this.value = value;\n this.sizeMode = sizeMode;\n }\n\n private _upload(files: File[]): void {\n of(true)\n .pipe(\n takeUntil(this._onDestroy$),\n exhaustMap(() => this.uploadFile(files))\n )\n .subscribe();\n }\n\n private uploadFile(files: File[]): Observable<any> {\n return this._uploadService.compressFiles$(files).pipe(\n concatMap((formData: FormData) =>\n this._uploadService.upload(formData, this.Setting.ControlFieldDefId).pipe(\n tap((res) => {\n if (Array.isArray(res)) {\n const picture = res[0];\n if (picture.ErrorMsg) {\n BarsaApi.Bw.Msg.Error(picture.ErrorMsg);\n return;\n }\n const value = {\n ...picture,\n FileId: picture.FileId\n };\n this.fireContextEvent('Change', this.context, value);\n }\n })\n )\n )\n );\n }\n}\n","<div\n [style.max-height.px]=\"Setting.SizeMode === '2' ? null : layoutInfo.ControlBounds.height\"\n [class.no-inlineEdit]=\"!inlineEdit\"\n [style.min-height.px]=\"!value && !inlineEdit ? null : 140\"\n [class.inlineEdit]=\"inlineEdit\"\n>\n @if (!((disableOrReadonly$ | async) === true || Setting.IsReadOnly === true)) {\n <div>\n <fd-toolbar [fdType]=\"'transparent'\" [clearBorder]=\"value && imageUrl ? false : true\">\n <fd-file-uploader\n #uploader\n fd-toolbar-item\n [style.display]=\"'none'\"\n [id]=\"id\"\n [name]=\"'uploader_' + id\"\n [placeholder]=\"'AttachPicture' | bbbTranslate\"\n [buttonLabel]=\"'AttachPicture' | bbbTranslate\"\n [buttonAriaLabel]=\"'AttachPicture' | bbbTranslate\"\n [accept]=\"validExtensions\"\n [(ngModel)]=\"files\"\n [multiple]=\"false\"\n (selectedFilesChanged)=\"onFileSelection($event)\"\n ></fd-file-uploader>\n <button\n fd-toolbar-item\n fd-button\n [disabled]=\"this.value && value?.IsDeleted !== true\"\n glyph=\"attachment\"\n [fdType]=\"'transparent'\"\n (click)=\"uploader.open()\"\n ></button>\n <button\n class=\"delete\"\n fd-button\n fd-toolbar-item\n [disabled]=\"!this.value || value?.IsDeleted\"\n glyph=\"delete\"\n [fdType]=\"'transparent'\"\n (click)=\"onFileDeleted(uploader)\"\n ></button>\n <ng-container\n *ngTemplateOutlet=\"\n loadingTpl;\n context: {\n uploadingState: uploadingState$ | async\n }\n \"\n >\n </ng-container>\n </fd-toolbar>\n </div>\n } @if (!inlineEdit) {\n <div\n [style.max-height.px]=\"Setting.SizeMode === '0' ? layoutInfo.ControlBounds.height : null\"\n [style.max-width.px]=\"Setting.SizeMode === '0' ? layoutInfo.ControlBounds.width : null\"\n [class.centerImage]=\"Setting.SizeMode === '3'\"\n >\n @if (value && imageUrl) {\n <bsu-mask [top]=\"'0px'\"></bsu-mask>\n } @if ((value && imageUrl) || Setting.HasDefaultPicture) {\n <img\n imgLazy\n [imgLazy]=\"imageUrl\"\n [src]=\"imageUrl\"\n [ngClass]=\"Setting.SizeMode === '1' ? 'cover' : 'contain'\"\n [style.height.px]=\"Setting.SizeMode !== '2' ? layoutInfo.ControlBounds.height : null\"\n />\n }\n </div>\n } @else {\n <fd-avatar [size]=\"'m'\" [image]=\"imageUrl\"></fd-avatar>\n }\n</div>\n<ng-template #loadingTpl let-uploadingState=\"uploadingState\">\n @if (uploadingState && uploadingState.state !== 'Complete' && uploadingState.uploading) {\n <fd-slider\n [(ngModel)]=\"uploadingState.progress\"\n [name]=\"'slider_' + id\"\n fd-toolbar-item\n [id]=\"id + '1'\"\n [min]=\"0\"\n [max]=\"100\"\n [step]=\"1\"\n >\n </fd-slider>\n @if (uploadingState.state === 'Uploading') {\n <button fd-toolbar-item fd-button glyph=\"stop\" fdType=\"transparent\" (click)=\"onTerminate()\"></button>\n } @if (uploadingState.state === 'Error') {\n <button fd-toolbar-item fd-button glyph=\"refresh\" [fdType]=\"'transparent'\" (click)=\"onRetry()\"></button>\n } }\n</ng-template>\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\n\r\nimport { FieldBaseComponent } from 'barsa-novin-ray-core';\r\n@Component({\r\n selector: 'bsu-ui-container-with-button',\r\n templateUrl: './ui-container-with-button.component.html',\r\n styleUrls: ['./ui-container-with-button.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class UiContainerWithButtonComponent extends FieldBaseComponent implements OnInit {\r\n btnVisible = true;\r\n btnEnable = true;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.context.on({\r\n enablebuttons: (btnIdList, enable) => {\r\n this.btnEnable = enable;\r\n },\r\n visiblebuttons: (btnIdList, visible) => {\r\n this.btnVisible = visible;\r\n }\r\n });\r\n }\r\n onBtnClick(btn): void {\r\n btn.handler.bind(this.context)();\r\n }\r\n}\r\n","<bnrc-field-ui class=\"inner-control\" [customField]=\"context._innerControl\" [layoutInfo]=\"layoutInfo\"></bnrc-field-ui>\n@if (btnVisible && btnEnable) { @for (btn of context._buttonsConfig; track btn) {\n<button\n fd-button\n [label]=\"btn.text\"\n [glyph]=\"btn.itemId === 'Recalculate' ? 'synchronize' : ''\"\n [fdType]=\"'transparent'\"\n (click)=\"onBtnClick(btn)\"\n [disabled]=\"(disableOrReadonly$ | async) === true\"\n></button>\n} }\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\nimport { MetaobjectDataModel, FieldBaseComponent } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-ui-read-only-field',\n templateUrl: './ui-read-only-field.component.html',\n styleUrls: ['./ui-read-only-field.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiReadOnlyFieldComponent extends FieldBaseComponent implements OnInit {\n text: string;\n isEllipsis = true;\n parameters: UiReadOnlyFieldSetting;\n ngOnInit(): void {\n super.ngOnInit();\n this._setText();\n }\n protected _setValue(value: any): void {\n super._setValue(value);\n this._setText();\n }\n private _setText(): void {\n const value = this.value;\n const text = value?.$Caption ? value.$Caption : value;\n // eslint-disable-next-line\n this.text = text?.replace(/<br\\s*[\\/]?>/gi, '\\n');\n this._cdr.markForCheck();\n }\n}\ninterface UiReadOnlyFieldSetting extends MetaobjectDataModel {\n ColorValue: string;\n MaxLines: number;\n ShowCopy: boolean;\n NotBold: boolean;\n HideTextOnEmpty: boolean;\n}\n","<ng-container *ngTemplateOutlet=\"controlTpl; context: { maxlines: parameters?.MaxLines }\"></ng-container>\n\n@if (parameters?.ShowCopy && text) {\n<button fd-button glyph=\"copy\" [fdCompact] fdType=\"transparent\" [copy]=\"text | bbbTranslate\"></button>\n}\n<!-- <fd-popover *ngIf=\"text\">\n<fd-popover-control>\n <button\n *ngIf=\"isEllipsis\"\n fd-button\n glyph=\"overflow\"\n [fdCompact]\n fdType=\"transparent\"\n [title]=\"text | bbbTranslate\"\n ></button>\n</fd-popover-control>\n<fd-popover-body>\n <ng-container *ngTemplateOutlet=\"controlTpl\"></ng-container>\n</fd-popover-body>\n</fd-popover>\n-->\n<ng-template #controlTpl let-maxlines>\n <fd-text\n style=\"color: var(--fdIcon_Tab_Bar_Selection_Color)\"\n [class.empty-bracket]=\"!text\"\n [text]=\"!text && parameters?.HideTextOnEmpty ? '' : (text || 'Empty_Bracket' | bbbTranslate)\"\n [class.bold]=\"text !== null && text !== '' && !parameters?.NotBold\"\n [whitespaces]=\"true\"\n [maxLines]=\"maxlines ? maxlines : 0\"\n [style.color]=\"parameters?.ColorValue ? parameters?.ColorValue : null\"\n ></fd-text>\n</ng-template>\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Input,\n OnInit,\n TemplateRef,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\nimport { filter, Observable, takeUntil } from 'rxjs';\nimport { LayoutPanelBaseComponent, LayoutService, LayoutSetting } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-ly-layout-panel',\n templateUrl: './ly-layout-panel.component.html',\n styleUrls: ['./ly-layout-panel.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [LayoutService]\n})\nexport class LyLayoutPanelComponent extends LayoutPanelBaseComponent implements OnInit {\n @Input() renderItems: TemplateRef<any>;\n @Input() isRoot: boolean;\n @Input() hideTitle: boolean;\n @HostBinding('attr.maxLabelWidth') maxLabelWidth = 0;\n @HostBinding('style.flex') flex;\n @HostBinding('style.display') display;\n @ViewChild('viewRefTemplate', { read: ViewContainerRef, static: true }) viewRef: ViewContainerRef;\n\n columnDirection = false;\n rowDirection = false;\n visible = true;\n selectedTabIndex: any;\n rootRendered$: Observable<boolean>;\n enable: boolean;\n readonly: boolean;\n maxWidth: number;\n\n ngOnInit(): void {\n super.ngOnInit();\n this.setDisplay();\n this.config.controlUi = this;\n this._setBRule();\n this.flex = this.config.Bounds.width;\n this.columnDirection = this.config.IsVertical;\n if (this.isSearchPanel) {\n this.columnDirection = false;\n this.rowDirection = this.isSearchPanel;\n } else {\n if (!this.columnDirection) {\n this.rowDirection = true;\n }\n }\n this.formPanelService.groupLayout$\n .pipe(\n takeUntil(this._onDestroy$),\n filter((c) => c.ControlId === this.config.ControlId)\n )\n .subscribe((groupItem: LayoutSetting) => {\n this._setBRule();\n });\n }\n setDisplay(): void {\n this.display = this.visible ? 'flex' : 'none';\n this._cdr.detectChanges();\n }\n protected _setBRule(): void {\n this.visible = this.config.Visible === false ? false : true;\n this.readonly = this.config.Readonly === false ? false : true;\n this.enable = this.config.Enable === false ? false : true;\n this.setDisplay();\n }\n}\n","@if (visible) {\n<fd-panel\n [fixed]=\"!config.ExpandButtonVisible\"\n [class.hide-header]=\"!config.TextVisible || hideTitle\"\n [attr.maxWidth]=\"maxWidth\"\n [expanded]=\"config.Expanded\"\n>\n @if (!hideTitle) {\n <h5 fd-panel-title>\n <div style=\"display: flex; gap: 0.5rem; align-items: center\">\n @if (config.FontIcon) {\n <i\n style=\"font-size: 1.5rem\"\n [style.color]=\"config.IconColor || null\"\n [class]=\"'sap-icon--' + config.FontIcon\"\n ></i>\n }\n <span>{{ (config.TextVisible ? config.Title ?? '' : '') | bbbTranslate }}</span>\n </div>\n </h5>\n }\n <div fd-panel-content [class.row-reverse-direction]=\"rowDirection\" [class.column-direction]=\"columnDirection\">\n @for (item of config | filterToolbarControl; track item) { @switch (item.xtype) { @case ('Ly.LayoutTabPanel') {\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n name: 'LyLayoutPanelComponent',\n selector: 'bsu-ly-tab-container'\n }\n \"\n ></ng-container>\n <!-- <bsu-ly-tab-container [config]=\"item\"></bsu-ly-tab-container> -->\n } @case ('Ly.LayoutPanel') {\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n name: 'LyLayoutPanelComponent',\n selector: 'bsu-ly-layout-panel'\n }\n \"\n ></ng-container>\n <!-- <bsu-ly-layout-panel [config]=\"item\"></bsu-ly-layout-panel> -->\n } @case ('Ly.LayoutContainer') {\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n name: 'LyLayoutContainerComponent',\n selector: 'bsu-ly-layout-container'\n }\n \"\n ></ng-container>\n <!-- <bsu-ly-layout-container [config]=\"item\"></bsu-ly-layout-container> -->\n } @case ('Ly.EmptySpace') {\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, name: 'LyEmptySpaceComponent', selector: 'bsu-ly-empty-space' }\n \"\n ></ng-container>\n <!-- <bsu-ly-empty-space [config]=\"item\"></bsu-ly-empty-space> -->\n } @case ('Ly.SimpleLabel') {\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n name: 'LySimpleLabelComponent',\n selector: 'bsu-ly-simple-label'\n }\n \"\n ></ng-container>\n <!-- <bsu-ly-simple-label [config]=\"item\"></bsu-ly-simple-label> -->\n } @case ('Ly.LayoutLine') {\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, name: 'LyLineComponent', selector: 'bsu-ly-line' }\n \"\n ></ng-container>\n <!-- <bsu-ly-line [isVertical]=\"item.IsVertical\"></bsu-ly-line> -->\n } @case ('Ly.LayoutJoin') { @if (item.Type === 'HorizontalJoin') {\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n selector: 'bsu-ly-horizontal-layout',\n name: 'LyLayoutHorizontalComponent'\n }\n \"\n ></ng-container>\n <!-- <bsu-ly-horizontal-layout [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-ly-horizontal-layout> -->\n } @else {\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n selector: 'bsu-ly-vertical-layout',\n name: 'LyLayoutVerticalComponent'\n }\n \"\n ></ng-container>\n <!-- <bsu-ly-vertical-layout [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-ly-vertical-layout> -->\n } } @case ('Ly.LayoutControl') {\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n selector: 'bsu-layout-control',\n name: 'LayoutControlComponent'\n }\n \"\n ></ng-container>\n <!-- <bsu-layout-control [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-layout-control> -->\n } } }\n <ng-template\n #dynamicLayout\n let-config\n let-selector=\"selector\"\n let-maxLabelWidth=\"maxLabelWidth\"\n let-name=\"name\"\n >\n <bnrc-dynamic-layout\n [config]=\"config\"\n [selector]=\"selector\"\n [name]=\"name\"\n [module]=\"'BarsaSapUi'\"\n [moduleFileName]=\"'BarsaSapUi'\"\n [maxLabelWidth]=\"(maxLabelWidth$ | async)!!\"\n [flex]=\"isSearchPanel ? 'unset' : config.Bounds.width\"\n [isSearchPanel]=\"isSearchPanel\"\n >\n </bnrc-dynamic-layout>\n </ng-template>\n </div>\n</fd-panel>\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\n\r\nimport { UiReportViewBaseSetting } from 'barsa-novin-ray-core';\r\nimport { SapUiReportBaseComponent } from '../sap-ui-report-base.component';\r\nimport { WidthTypeEnum } from '../ui-editable-grid/ui-editable-grid.component';\r\n\r\n@Component({\r\n selector: 'bsu-ui-grid',\r\n templateUrl: './ui-grid.component.html',\r\n styleUrls: ['./ui-grid.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class UiGridComponent extends SapUiReportBaseComponent<UiReportViewBaseSetting> {\r\n @Input() showOkCancelButtons;\r\n enableResizing = true;\r\n rowResizer = false;\r\n widthTypeEnum = WidthTypeEnum;\r\n}\r\n","<!--render container-->\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n renderContainer;\r\n context: {\r\n $implicit: gridDataSource.data$ | async,\r\n allChecked: allChecked$ | async,\r\n groupby: groupby$ | async,\r\n isCheckList: context.Setting.View?.IsCheckList,\r\n hasSummary: context.Setting.View?.HasSummaryRow,\r\n columns: columns$ | async,\r\n columnsCount: columnsCount$ | async,\r\n allowInlineEdit: allowInlineEdit$ | async,\r\n inlineEditMode: inlineEditMode$ | async,\r\n onlyInlineEdit: onlyInlineEdit$ | async,\r\n secondaryColumns: secondaryColumns$ | async,\r\n toolbarButtons: (toolbarButtons$ | async)!! | seperatorFix,\r\n popin: (mobileOrTablet$ | async) || (secondaryColumnsCount$ | async)!! > 0 ? true : false,\r\n contextMenuItems: menuItems$ | async | contextMenu: context.Setting.View?.IsCheckList,\r\n conditionalFormats: conditionalFormats$ | async,\r\n deviceName: deviceName$ | async,\r\n deviceSize: deviceSize$ | async,\r\n mobileOrTablet: mobileOrTablet$ | async,\r\n access: context.Setting.Extra?.DefaultCommandsAccess,\r\n extraRelation: context.Setting.Extra?.Relation,\r\n title: title$ | async,\r\n rtl: rtl$ | async,\r\n hideToolbar: hideToolbar$ | async,\r\n allColumns: allColumns,\r\n gridSetting: gridSetting$ | async,\r\n contentDensity: contentDensity$ | async,\r\n formSetting: context.Setting.FormTemplate,\r\n hasSelected: hasSelected$ | async,\r\n showOkCancelButtons: showOkCancelButtons,\r\n disableOverflowContextMenu: viewSetting?.DisableOverflowContextMenu,\r\n navigationArrow: navigationArrow$ | async,\r\n containerWidth: containerWidth$ | async,\r\n newInlineEditMo: newInlineEditMo$ | async,\r\n typeDefId: context.Setting.Extra.Report.TypeDefId,\r\n reportId: context.Setting.Extra.Report.Id,\r\n listEditViewId: context.Setting.Extra.Report.ListEditViewId,\r\n typeViewId: context.Setting.Extra.Report.TypeViewId,\r\n contextView: context.Setting.View,\r\n cartableTemplates: cartableTemplates$ | async,\r\n cartableChildsMo: cartableChildsMo$ | async,\r\n inDialog: inDialog$ | async,\r\n isMultiSelect: isMultiSelect$ | async,\r\n disableResponsive: disableResponsive$ | async,\r\n fullscreen: fullscreen$ | async,\r\n selectedMo: selectedMo$ | async,\r\n gridFreeColumnSizing: gridFreeColumnSizing$ | async,\r\n allowGridColumnSort: context.ViewSetting?.AllowGridColumnSort,\r\n UlvMainCtrlr: context.Adapter?.UlvMainCtrlr,\r\n pagingSetting: pagingSetting$ | async\r\n }\r\n \"\r\n></ng-container>\r\n<!--render container -->\r\n<ng-template\r\n #renderContainer\r\n let-moDataList\r\n let-allChecked=\"allChecked\"\r\n let-isCheckList=\"isCheckList\"\r\n let-columns=\"columns\"\r\n let-columnsCount=\"columnsCount\"\r\n let-groupby=\"groupby\"\r\n let-secondaryColumns=\"secondaryColumns\"\r\n let-contextMenuItems=\"contextMenuItems\"\r\n let-conditionalFormats=\"conditionalFormats\"\r\n let-deviceName=\"deviceName\"\r\n let-deviceSize=\"deviceSize\"\r\n let-access=\"access\"\r\n let-toolbarButtons=\"toolbarButtons\"\r\n let-popin=\"popin\"\r\n let-mobileOrTablet=\"mobileOrTablet\"\r\n let-title=\"title\"\r\n let-inlineEditMode=\"inlineEditMode\"\r\n let-allowInlineEdit=\"allowInlineEdit\"\r\n let-hideToolbar=\"hideToolbar\"\r\n let-gridSetting=\"gridSetting\"\r\n let-contentDensity=\"contentDensity\"\r\n let-formSetting=\"formSetting\"\r\n let-hasSelected=\"hasSelected\"\r\n let-showOkCancelButtons=\"showOkCancelButtons\"\r\n let-disableOverflowContextMenu=\"disableOverflowContextMenu\"\r\n let-navigationArrow=\"navigationArrow\"\r\n let-containerWidth=\"containerWidth\"\r\n let-newInlineEditMo=\"newInlineEditMo\"\r\n let-hasSummary=\"hasSummary\"\r\n let-extraRelation=\"extraRelation\"\r\n let-typeDefId=\"typeDefId\"\r\n let-contextView=\"contextView\"\r\n let-cartableTemplates=\"cartableTemplates\"\r\n let-cartableChildsMo=\"cartableChildsMo\"\r\n let-inDialog=\"inDialog\"\r\n let-isMultiSelect=\"isMultiSelect\"\r\n let-fullscreen=\"fullscreen\"\r\n let-selectedMo=\"selectedMo\"\r\n let-disableResponsive=\"disableResponsive\"\r\n let-gridFreeColumnSizing=\"gridFreeColumnSizing\"\r\n let-reportId=\"reportId\"\r\n let-listEditViewId=\"listEditViewId\"\r\n let-typeViewId=\"typeViewId\"\r\n let-UlvMainCtrlr=\"UlvMainCtrlr\"\r\n let-rtl=\"rtl\"\r\n let-allColumns=\"allColumns\"\r\n let-allowGridColumnSort=\"allowGridColumnSort\"\r\n let-pagingSetting=\"pagingSetting\"\r\n>\r\n <bsu-ulv-toolbar\r\n [hideToolbar]=\"hideToolbar\"\r\n [deviceName]=\"deviceName\"\r\n [hideTitle]=\"true\"\r\n [deviceSize]=\"deviceSize\"\r\n [toolbarButtons]=\"toolbarButtons\"\r\n [gridSetting]=\"gridSetting\"\r\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\r\n [title]=\"title\"\r\n [hasSelected]=\"hasSelected\"\r\n [access]=\"access\"\r\n [disableResponsive]=\"disableResponsive\"\r\n [inDialog]=\"inDialog\"\r\n [isMultiSelect]=\"isMultiSelect\"\r\n [contentDensity]=\"contentDensity\"\r\n [inlineEditMode]=\"inlineEditMode && allowInlineEdit\"\r\n [allowInlineEdit]=\"allowInlineEdit\"\r\n [moDataListCount]=\"moDataList.length\"\r\n [gridFreeColumnSizing]=\"gridFreeColumnSizing\"\r\n [allowGridColumnSort]=\"allowGridColumnSort\"\r\n (sortClick)=\"onSortSettings(deviceName)\"\r\n (groupbyClick)=\"onGroupbySettings(deviceName)\"\r\n (columnClick)=\"onColumnSettings(deviceName)\"\r\n (editModeClick)=\"onEditMode()\"\r\n (createNewInlineMo)=\"onToolbarCreateNewInlineMo()\"\r\n ></bsu-ulv-toolbar>\r\n <bsu-ui-table-view\r\n [gridFreeColumnSizing]=\"gridFreeColumnSizing\"\r\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\r\n [cartableTemplates]=\"cartableTemplates\"\r\n [pagingSetting]=\"pagingSetting\"\r\n [parentHeight]=\"parentHeight\"\r\n [fullscreen]=\"fullscreen\"\r\n [selectedMo]=\"selectedMo\"\r\n [rtl]=\"rtl\"\r\n [allowGridColumnSort]=\"allowGridColumnSort\"\r\n [inDialog]=\"inDialog\"\r\n [isMultiSelect]=\"isMultiSelect\"\r\n [allColumns]=\"allColumns\"\r\n [cartableChildsMo]=\"cartableChildsMo\"\r\n [contextView]=\"contextView\"\r\n [containerWidth]=\"containerWidth\"\r\n [isCheckList]=\"isCheckList\"\r\n [allChecked]=\"allChecked\"\r\n [moDataList]=\"moDataList\"\r\n [access]=\"access\"\r\n [groupby]=\"groupby\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [navigationArrow]=\"navigationArrow\"\r\n [title]=\"title\"\r\n [mobileOrTablet]=\"mobileOrTablet\"\r\n [disableResponsive]=\"disableResponsive\"\r\n [popin]=\"popin\"\r\n [secondaryColumns]=\"secondaryColumns\"\r\n [contextMenuItems]=\"contextMenuItems\"\r\n [inlineEditMode]=\"inlineEditMode && allowInlineEdit\"\r\n [allowInlineEdit]=\"allowInlineEdit\"\r\n [columns]=\"columns\"\r\n [columnWidth]=\"100 / columns.length\"\r\n [columnsCount]=\"columnsCount\"\r\n [rowHoverable]=\"rowHoverable\"\r\n [rowActivable]=\"rowActivable\"\r\n [formSetting]=\"formSetting\"\r\n [typeDefId]=\"typeDefId\"\r\n [reportId]=\"reportId\"\r\n [listEditViewId]=\"listEditViewId\"\r\n [typeViewId]=\"typeViewId\"\r\n [extraRelation]=\"extraRelation\"\r\n [showOkCancelButtons]=\"showOkCancelButtons\"\r\n [fitWidth]=\"false\"\r\n [hasSummary]=\"hasSummary\"\r\n [rowResizer]=\"rowResizer\"\r\n [enableResizing]=\"enableResizing\"\r\n [newInlineEditMo]=\"newInlineEditMo\"\r\n (escapeKey)=\"onEscapeKey($event)\"\r\n (deselectAll)=\"onDeselectAll()\"\r\n (ulvCommandClick)=\"onUlvCommand($event)\"\r\n (selectNextInlineRecord)=\"onSelectNextInlineRecord($event)\"\r\n (editFormPanelCancel)=\"onEditFormPanelCancel($event)\"\r\n (editFormPanelSave)=\"onEditFormPanelSave($event)\"\r\n (editFormPanelValueChange)=\"onEditFormPanelValueChange($event)\"\r\n (sortAscending)=\"onSortAscending($event)\"\r\n (sortDescending)=\"onSortDescending($event)\"\r\n (filter)=\"onFilter($event)\"\r\n (rowClick)=\"onRowClick($event)\"\r\n (rowCheck)=\"onRowCheck($event)\"\r\n (allCheckbox)=\"onAllCheckbox($event)\"\r\n (expandClick)=\"onExpandClick($event)\"\r\n (columnResized)=\"onColumnResized($event)\"\r\n (workflowShareButtons)=\"onWorkflowShareButtons($event)\"\r\n >\r\n </bsu-ui-table-view>\r\n</ng-template>\r\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\nimport { DeviceInfoFieldBaseComponent } from '../device-info-field-base';\n@Component({\n selector: 'bsu-ui-radio-group',\n templateUrl: './ui-radio-group.component.html',\n styleUrls: ['./ui-radio-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiRadioGroupComponent extends DeviceInfoFieldBaseComponent implements OnInit {\n isVertically = false;\n onlyInMobileVertically = false;\n selectedItem: ItemType;\n get items(): ItemType[] {\n return this.context.items;\n }\n ngOnInit(): void {\n super.ngOnInit();\n const parameters = this.parameters;\n if (typeof this.value == 'object') {\n this.value = this.items.find((c) => c.inputValue === this.value.inputValue);\n } else {\n this.value = this.items.find((c) => c.inputValue === this.value);\n }\n this.onlyInMobileVertically = parameters?.OnlyInMobileVertically;\n this.isVertically = parameters?.IsVertically;\n }\n\n onRadioClicked(item): void {\n this.value = item;\n this.valueChange.emit(item);\n }\n protected _setValue(value: any): void {\n let val = this.items.find((c) => c.IsEmpty);\n const item = this.items.find((c) => c.inputValue === value);\n if (item) {\n val = item;\n }\n super._setValue(val);\n }\n}\ntype ItemType = {\n [key: string]: any;\n IsEmpty: boolean;\n inputValue: string;\n};\n","<fd-form-group [isInline]=\"!isVertically && !(isMobileDevice && onlyInMobileVertically)\">\n @for (item of context.items; track item; let i = $index; let first = $first) {\n <div fd-form-item>\n @if (!item.IsEmpty) {\n <fd-radio-button\n [value]=\"item.inputValue\"\n [id]=\"'radio-' + id + i\"\n [name]=\"'radio' + id + i\"\n [disabled]=\"(disableOrReadonly$ | async)!!\"\n [ngModel]=\"value?.inputValue\"\n (click)=\"onRadioClicked(item)\"\n [selectedValue]=\"value?.inputValue\"\n >\n {{ item.boxLabel }}\n </fd-radio-button>\n }\n </div>\n }\n</fd-form-group>\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\nimport { FieldBaseComponent } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bsu-ui-label',\r\n templateUrl: './ui-label.component.html',\r\n styleUrls: ['./ui-label.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class UiLabelComponent extends FieldBaseComponent {}\r\n","<label fd-label>{{ value }}</label>\r\n","import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\r\n\r\nimport { FieldBaseComponent } from 'barsa-novin-ray-core';\r\n@Component({\r\n selector: 'bsu-ui-simple-combo',\r\n templateUrl: './ui-simple-combo.component.html',\r\n styleUrls: ['./ui-simple-combo.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class UiSimpleComboComponent extends FieldBaseComponent implements OnInit {\r\n caption: string;\r\n popupMode: boolean;\r\n @Input() get MinSize(): { width: number; height: number } {\r\n return { width: 0, height: 27 };\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.mobileConfig.approveButtonText = false;\r\n this.mobileConfig.cancelButtonText = false;\r\n this.popupMode = this.parameters?.PopupMode;\r\n }\r\n onValueChange(value): void {\r\n const selectedValue = value;\r\n this._handleValueChange(selectedValue);\r\n }\r\n\r\n protected _handleValueChange(selectedValue: any): void {\r\n this.value = selectedValue;\r\n this.valueChange.emit(this.value);\r\n this.fireContextEvent('select', this.value);\r\n }\r\n}\r\n","@if (Setting.IconDisplayType !== 'Image' && !popupMode) {\n<fd-select\n style=\"width: 100%\"\n [placeholder]=\"'Select' | bbbTranslate\"\n [value]=\"value\"\n [mobile]=\"(deviceSize$ | async) === 's'\"\n [mobileConfig]=\"mobileConfig\"\n (valueChange)=\"onValueChange($event)\"\n [style.direction]=\"Setting.IsLtr === true ? 'ltr' : null\"\n [style.text-align]=\"Setting.IsLtr === true ? 'left' : null\"\n [readonly]=\"(readonly$ | async) === true ? true : false\"\n [disabled]=\"(disable$ | async) === true ? true : false\"\n>\n @for (item of context.store.data[context.store.root]; track item) {\n <fd-option\n [value]=\"item.id\"\n [style.direction]=\"Setting.IsLtr === true ? 'ltr' : null\"\n [class.control-disabled]=\"item.IsEmpty\"\n [class.list-empty-item]=\"item.IsEmpty\"\n >\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item, popupMode: true }\"></ng-container>\n </fd-option>\n }\n</fd-select>\n} @if (Setting.IconDisplayType === 'Image' || popupMode) {\n<fd-popover #popover [focusTrapped]=\"true\" [focusAutoCapture]=\"true\">\n <fd-popover-control>\n <button fd-button fdType=\"transparent\" [fdMenu]=\"true\">\n @if (value && value !== '0') {\n <img [src]=\"value | comboRowImg: context.store.data.Rows\" />\n }\n </button>\n </fd-popover-control>\n <fd-popover-body class=\"combo-popupmode\">\n @for (item of context.store.data[context.store.root]; track item) {\n <button fd-button fdType=\"transparent\" [title]=\"item.txt\" (click)=\"popover.close(); onValueChange(item.id)\">\n @if (item.url) {\n <img [attrRtl]=\"Setting.IsLtr === true ? false : undefined\" [src]=\"item.url\" />\n }\n </button>\n }\n </fd-popover-body>\n</fd-popover>\n}\n<ng-template #itemTemplate let-item let-popupMode=\"popupMode\">\n @if (Setting.IconDisplayType !== 'NoImage') { @if (item.url) {\n <img [attrRtl]=\"Setting.IsLtr === true ? false : undefined\" [src]=\"item.url\" />\n } } @if (Setting.IconDisplayType !== 'Image') {\n {{ item.IsEmpty ? ('Select' | bbbTranslate) : (item.txt | bbbTranslate) }}\n }\n</ng-template>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { DeviceInfoFieldBaseComponent } from '../device-info-field-base';\n@Component({\n selector: 'bsu-ui-check-box',\n templateUrl: './ui-check-box.component.html',\n styleUrls: ['./ui-check-box.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiCheckBoxComponent extends DeviceInfoFieldBaseComponent {\n @Input() get MinSize(): { width: number; height: number } {\n return { width: 0, height: 33 };\n }\n\n showText: boolean;\n ngOnInit(): void {\n super.ngOnInit();\n this.showText =\n this.layoutInfo.TextVisible === false && this.layoutInfo.UseLayoutItemTextForControl ? true : false;\n }\n onValueChange(): void {\n this._valueChanged(!this.value);\n // this._valueSource.next(!this.value);\n }\n protected _valueChanged(val: boolean): void {\n this.value = val;\n this.valueChange.emit(val);\n this.fireContextEvent('check', val);\n }\n}\n","<fd-checkbox\n [id]=\"id\"\n (change)=\"onValueChange()\"\n [ngModel]=\"value\"\n [disabled]=\"(disableOrReadonly$ | async)!!\"\n [label]=\"!showText ? '' : layoutInfo.Caption\"\n>\n</fd-checkbox>\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\nimport { UiCheckBoxComponent } from '../ui-check-box/ui-check-box.component';\n\n@Component({\n selector: 'bsu-ui-switch-button',\n templateUrl: './ui-switch-button.component.html',\n styleUrls: ['./ui-switch-button.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiSwitchButtonComponent extends UiCheckBoxComponent implements OnInit {\n activeText: string;\n inactiveText: string;\n semantic: boolean;\n ngOnInit(): void {\n super.ngOnInit();\n this.activeText = this.parameters?.ActiveText;\n this.inactiveText = this.parameters?.InactiveText;\n this.semantic = this.parameters?.Semantic;\n }\n}\n","<fd-switch\n [activeText]=\"showText ? activeText : ''\"\n [inactiveText]=\"showText ? inactiveText : ''\"\n (change)=\"onValueChange()\"\n [checked]=\"value\"\n [semantic]=\"semantic\"\n [disabled]=\"(disableOrReadonly$ | async)!!\"\n></fd-switch>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'bsu-ly-layout-field-label',\r\n templateUrl: './ly-layout-field-label.component.html',\r\n styleUrls: ['./ly-layout-field-label.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class LyLayoutFieldLabelComponent {\r\n @Input() caption: string;\r\n @Input() isBold: boolean;\r\n @Input() isMandatory: boolean;\r\n @Input() inputId: string;\r\n @Input() get MaxSize(): { width: number; height: number } {\r\n return { width: 0, height: 30 };\r\n }\r\n}\r\n","<label\r\n [attr.for]=\"inputId\"\r\n show-colon\r\n [attr.required]=\"isMandatory === true ? true : null\"\r\n [style.font-weight]=\"isBold ? 'bold' : 'normal'\"\r\n >{{ caption }}</label\r\n>\r\n","import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\n\nimport { FieldBaseComponent, MetaobjectDataModel } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-ui-text-field',\n templateUrl: './ui-text-field.component.html',\n styleUrls: ['./ui-text-field.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiTextFieldComponent extends FieldBaseComponent implements OnInit {\n @Input() value: string;\n safeHtml: any;\n @Input() get MinSize(): { width: number; height: number } {\n return { width: 0, height: 30 };\n }\n parameters: TextSetting;\n isEmbedHtml: boolean;\n ngOnInit(): void {\n super.ngOnInit();\n this.isEmbedHtml = this.parameters?.IsEmbedHtml;\n this.safeHtml = this._domSanitizer.bypassSecurityTrustHtml(this.value);\n }\n onValueChange(e): void {\n this.value = e.target.value;\n this.valueChange.emit(this.value);\n }\n onKeyDown(e): void {\n if (this.context.maskRe) {\n const isCharacter = this._isCharacter(e);\n if (!isCharacter) {\n return;\n }\n const isValid = new RegExp('^[' + this.context.maskRe + ']*$').test(e.currentTarget.value + e.key);\n if (!isValid) {\n e.preventDefault();\n e.stopPropagation();\n }\n }\n }\n private _isCharacter(evt): boolean {\n if (typeof evt.which === 'undefined') {\n return true;\n } else if (typeof evt.which === 'number' && evt.which > 0) {\n return !evt.ctrlKey && !evt.metaKey && !evt.altKey && evt.which !== 8 && evt.key.length === 1;\n }\n return false;\n }\n}\ninterface TextSetting extends MetaobjectDataModel {\n IsEmbedHtml: boolean;\n}\n","@if (!isEmbedHtml) {\n<input\n fd-form-control\n [placeholder]=\"Setting.NullText || ''\"\n [attr.readonly]=\"(readonly$ | async) === true ? true : null\"\n [disabled]=\"(disable$ | async) === true ? true : null\"\n [type]=\"Setting.IsPassword ? 'password' : 'text'\"\n [value]=\"!value ? '' : value\"\n [attr.maxLength]=\"Setting.MaxLength !== undefined ? Setting.MaxLength : null\"\n [id]=\"id\"\n [style.direction]=\"Setting.IsLtr === true ? 'ltr' : null\"\n (input)=\"onValueChange($event)\"\n (keydown)=\"onKeyDown($event)\"\n/>\n} @else {\n<div [innerHTML]=\"safeHtml\"></div>\n}\n","import { Directive, Input, OnInit } from '@angular/core';\n\nimport { BaseDirective, MetaobjectDataModel } from 'barsa-novin-ray-core';\n\n@Directive({\n selector: '[colRenderer]'\n})\nexport class ColRendererDirective extends BaseDirective implements OnInit {\n @Input() colRenderer: any;\n @Input() mo: MetaobjectDataModel;\n ngOnInit(): void {\n super.ngOnInit();\n const column = this.colRenderer;\n const colName = column.Name;\n const data = this.mo[colName];\n let caption = this.mo[colName + '$Caption'];\n let icon = this.mo[colName + '$Icon'];\n\n if (typeof data === 'object') {\n if (data.$Caption) {\n caption = data.$Caption;\n }\n icon = data.$Icon;\n if (column.FieldTypeId === '6' && column.Tag === 'Image') {\n // Column is enum with image\n caption = '';\n }\n }\n if (!caption && typeof data !== 'object') {\n caption = data;\n }\n\n if (column.OnlyImage || (column.FieldTypeId === '6' && column.Tag === 'Image')) {\n caption = '';\n }\n\n if (icon) {\n caption = `<img src=\"${icon}\" aling=\"middle\"> ${caption}`;\n }\n (this._el.nativeElement as HTMLElement).innerHTML = caption || '';\n }\n}\n","import { PipeTransform, Pipe } from '@angular/core';\r\n\r\nimport { IconTNT, IconBusinessSuite } from './constants';\r\n\r\n@Pipe({\r\n name: 'sapFontClass'\r\n})\r\nexport class SapFontClassPipe implements PipeTransform {\r\n transform(iconName: string): string {\r\n const fontName = this._getFontName(iconName);\r\n return `sap-icon${fontName}--${iconName}`;\r\n }\r\n protected _getFontName(iconName): string {\r\n const saptnt = '-TNT';\r\n const sapbusiness = '-businessSuiteInAppSymbols';\r\n if (IconTNT.indexOf(iconName) > -1) {\r\n return saptnt;\r\n }\r\n if (IconBusinessSuite.indexOf(iconName) > -1) {\r\n return sapbusiness;\r\n }\r\n return '';\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { MetaobjectDataModel } from 'barsa-novin-ray-core';\r\n\r\n@Pipe({\r\n name: 'nodeHasOneDepthLevel',\r\n pure: true\r\n})\r\nexport class NodeHasOneDepthLevelPipe implements PipeTransform {\r\n transform(node: MetaobjectDataModel): boolean {\r\n let hasOneDepth = true;\r\n node.children?.forEach((child: MetaobjectDataModel) => (hasOneDepth = !(child.Data?.$HasChildren === true)));\r\n return hasOneDepth;\r\n }\r\n}\r\n","import { Component, ChangeDetectionStrategy, ViewChild, OnInit, OnChanges, SimpleChanges } from '@angular/core';\nimport { DynamicPageComponent } from '@fundamental-ngx/core';\nimport { UiCardViewComponent } from '../ui-card-view/ui-card-view.component';\nimport { isFirefox } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-ui-card-view-horizontal-group',\n templateUrl: './ui-card-view-horizontal-group.component.html',\n styleUrls: ['./ui-card-view-horizontal-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiCardViewHorizontalGroupComponent extends UiCardViewComponent implements OnInit, OnChanges {\n @ViewChild(DynamicPageComponent, { static: true }) dynamicPage: DynamicPageComponent;\n isFirefox = false;\n ngOnInit(): void {\n super.ngOnInit();\n this.isFirefox = isFirefox();\n this._ulvMainService.hideSearchpanel$.subscribe(() => this.dynamicPage.refreshSize());\n }\n ngOnChanges(changes: SimpleChanges): void {\n super.ngOnChanges(changes);\n const { hideSearchpanel } = changes;\n if (hideSearchpanel && !hideSearchpanel.firstChange) {\n setTimeout(() => {\n this.dynamicPage.refreshSize();\n });\n }\n }\n}\n","<fd-dynamic-page [size]=\"deviceSize | dynamicPageSize\">\n @if (moDataList?.length) {\n <fd-tab-list [expandOverflowText]=\"'More' | bbbTranslate\" [stackContent]=\"true\">\n @for ( tab of moDataList | groupBy: groupby[0].Name | reverse: isFirefox; track _trackByRow(index, tab); let\n index = $index) {\n <fd-tab [title]=\"tab.key | bbbTranslate\" [id]=\"'h_' + index\">\n <fd-dynamic-page-content>\n <h4 fd-title [id]=\"'h_' + index + '_h'\">{{ tab.key | bbbTranslate }}</h4>\n <bsu-card-view-content\n [moDataList]=\"tab.value\"\n [groupby]=\"[]\"\n [title]=\"tab.key\"\n [setting]=\"cardSetting\"\n [editMode]=\"inlineEditMode\"\n [rtl]=\"rtl\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [allColumns]=\"allColumns\"\n [contextMenuItems]=\"contextMenuItems\"\n [canView]=\"canView\"\n [conditionalFormats]=\"conditionalFormats\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [navigationArrow]=\"navigationArrow\"\n [isCheckList]=\"isCheckList\"\n (rowCheck)=\"onRowCheck($event)\"\n (rowClick)=\"onRowClick($event)\"\n (ulvCommand)=\"onUlvCommand($event)\"\n (editFormPanelSave)=\"onEditFormPanelSave($event)\"\n (editFormPanelCancel)=\"onEditFormPanelCancel($event)\"\n (action)=\"onAction($event)\"\n ></bsu-card-view-content>\n </fd-dynamic-page-content>\n </fd-tab>\n }\n </fd-tab-list>\n } @else {\n <fd-dynamic-page-content>\n <bsu-no-data [simple]=\"true\"></bsu-no-data>\n </fd-dynamic-page-content>\n }\n</fd-dynamic-page>\n","import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\r\nimport { FieldBaseComponent } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bsu-title',\r\n templateUrl: './title.component.html',\r\n styleUrls: ['./title.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class TitleComponent extends FieldBaseComponent implements OnInit {}\r\n","<h1\r\n fd-title\r\n [ngStyle]=\"parameters?.Style | removeNewline | convertToStyle\"\r\n [headerSize]=\"parameters.Size\"\r\n [wrap]=\"parameters.Wrap\"\r\n>\r\n {{ value }}\r\n</h1>\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\n\r\nconst routes: Routes = [];\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class BarsaSapUiRoutingModule {}\r\n","import {\n Component,\n ChangeDetectionStrategy,\n Input,\n Output,\n EventEmitter,\n OnInit,\n ViewChild,\n SimpleChanges,\n OnChanges\n} from '@angular/core';\nimport { ButtonType, InlineHelpDirective } from '@fundamental-ngx/core';\nimport { BaseFormToolbaritemPropsComponent } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-form-toolbar-button',\n templateUrl: './form-toolbar-button.component.html',\n styleUrls: ['./form-toolbar-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormToolbarButtonComponent extends BaseFormToolbaritemPropsComponent implements OnInit, OnChanges {\n @ViewChild(InlineHelpDirective, { static: true }) inlineHelpDirective: InlineHelpDirective;\n @Input() parameters;\n @Output() btnClick = new EventEmitter<void>();\n onlyIcon: boolean;\n icon: string;\n inlineHelp: string;\n fdType: ButtonType;\n text: string;\n customText: string;\n minWidth: number;\n ngOnInit(): void {\n super.ngOnInit();\n this.onlyIcon = this.parameters.OnlyIcon;\n this.icon = this.parameters.Icon;\n this.fdType = this.parameters.FdType$Caption;\n this.minWidth = this.parameters.MinWidth;\n this.customText = this.parameters.Title;\n this.text = this.inlineHelp = this.customText || this.context.text;\n // this.inlineHelpDirective.disabled = this.parameters.ShowTooltip === false;\n }\n ngOnChanges(changes: SimpleChanges): void {\n super.ngOnChanges(changes);\n const { isEnable } = changes;\n if (isEnable && !isEnable.firstChange && isEnable.currentValue !== this.isEnable) {\n this.isEnable = isEnable.currentValue;\n this._cdr.markForCheck();\n }\n }\n}\n","<button\n fd-toolbar-item\n fd-button\n [title]=\"inlineHelp | bbbTranslate\"\n [glyph]=\"deviceSize === 's' ? null : icon\"\n [class.control-disabled]=\"isEnable === false ? true : false\"\n [fdType]=\"fdType || (!isEnable ? 'transparent' : fdType)\"\n (click)=\"btnClick.emit()\"\n [style.min-width.px]=\"minWidth ? minWidth : null\"\n>\n @if (!onlyIcon || showText || deviceSize === 's') {\n <span>{{ customText || text | bbbTranslate }}</span>\n }\n</button>\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { FormPanelService } from 'barsa-novin-ray-core';\nimport { UiFormPanelComponent } from '../ui-form-panel/ui-form-panel.component';\nimport { takeUntil } from 'rxjs';\n@Component({\n selector: 'bsu-barsa-search-form',\n templateUrl: './barsa-search-form.component.html',\n styleUrls: ['./barsa-search-form.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [FormPanelService]\n})\nexport class BarsaSearchFormComponent extends UiFormPanelComponent {\n ngOnInit(): void {\n super.ngOnInit();\n this._activatedRoute.queryParams.pipe(takeUntil(this._onDestroy$)).subscribe((params) => {\n const searchTerm = params.term;\n if (searchTerm && typeof searchTerm === 'string') {\n this._portalService.setSearchTerm(searchTerm);\n }\n });\n }\n onClose2(): void {\n this._router.navigate(['..']);\n }\n}\n","<bsu-fundamental-dynamic-form\n [removeContentPadding]=\"(headerRemoveContentPadding$ | async)!!\"\n [breadCrumbs]=\"breadCrumbs$ | async\"\n [description]=\"(headerDescription$ | async)!!\"\n [title]=\"(title$ | async)!!\"\n [subtitle]=\"(headerSubtitle$ | async)!!\"\n [toolbarItems]=\"toolbarItems$ | async | tlbButtons: 'inFooter':false\"\n [layoutActions]=\"toolbarItems$ | async | tlbButtons: 'inFooter':true\"\n [toolbarVisible]=\"(toolbarVisible$ | async)!!\"\n [facetList]=\"(headerLayout$ | async)?.FacetList2\"\n [parameters]=\"parameters\"\n [workflowPanelUi]=\"workflowPanelUi$ | async\"\n [isMobile]=\"isMobile\"\n [layout94]=\"layout94$ | async\"\n [rtl]=\"(rtl$ | async)!!\"\n [mask]=\"(mask$ | async)!!\"\n [dirValue]=\"(dirValue$ | async)!!\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n [contentDensity]=\"(contentDensity$ | async)!!\"\n [modernTabs]=\"(modernTabs$ | async)!!\"\n [avatar]=\"(avatar$ | async)!!\"\n [fieldDict]=\"(fieldDict$ | async)!!\"\n (close)=\"onClose2()\"\n (toolbarClick)=\"onToolbarClick($event)\"\n [contentIsPage]=\"parameters?.ContentIsPage === true\"\n (workflowChoiceClick)=\"onWorkflowChoiceClick($event)\"\n></bsu-fundamental-dynamic-form>\n","import { Component, ChangeDetectionStrategy, ViewChild, TemplateRef } from '@angular/core';\nimport { DialogRef, DialogService } from '@fundamental-ngx/core';\nimport { AbbrevationDeviceSize, BaseComponent, NetworkStatusService, PortalService } from 'barsa-novin-ray-core';\n@Component({\n selector: 'bsu-barsa-network-offline',\n templateUrl: './barsa-network-offline.component.html',\n styleUrls: ['./barsa-network-offline.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BarsaNetworkOfflineComponent extends BaseComponent {\n @ViewChild('container', { read: TemplateRef })\n dialogContainer: TemplateRef<any>;\n _dialogRef: DialogRef<any> | null;\n size: AbbrevationDeviceSize;\n constructor(\n private _dialogService: DialogService,\n _networkStatusService: NetworkStatusService,\n _portalService: PortalService\n ) {\n super();\n _portalService.deviceSize$.pipe().subscribe((c) => (this.size = c));\n _networkStatusService.networkStatus$.subscribe((status) => {\n if (!status) {\n this.openOfflineDialog();\n } else if (this._dialogRef) {\n this._dialogRef.close();\n this._dialogRef = null;\n }\n });\n }\n openOfflineDialog(): void {\n const dialogConfig: { [key: string]: any } = {\n escKeyCloseable: false,\n dialogPanelClass: `offline-internet-dialog`,\n verticalPadding: false\n };\n\n // dialogConfig.mobile = true;\n if (this.size === 's') {\n dialogConfig.fullScreen = true;\n } else {\n dialogConfig.width = '380px';\n dialogConfig.height = 'auto';\n dialogConfig.minHeight = '320px';\n }\n\n this._dialogRef = this._dialogService.open(this.dialogContainer, dialogConfig);\n }\n}\n","<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #container>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\" #dialogTpl>\n <fd-dialog-header>\n <h1 fd-title>{{ 'ErrorInConnection' | bbbTranslate }}</h1>\n </fd-dialog-header>\n\n <fd-dialog-body class=\"offline-wrapper\">\n <img src=\"assets/svg/offline-internet-icon.svg\" />\n <div>\n <h3 fd-title>{{ 'NetworkOffline' | bbbTranslate }}</h3>\n <fd-text [text]=\"'NetworkOfflineDescription' | bbbTranslate\"></fd-text>\n </div>\n </fd-dialog-body>\n <fd-dialog-footer>\n <ng-template fdkTemplate=\"footer\">\n <div fd-bar-right>\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'Continue' | bbbTranslate\"\n (click)=\"dialog.dismiss('Close button')\"\n >\n </fd-button-bar>\n </div>\n </ng-template>\n </fd-dialog-footer>\n </fd-dialog>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\n\nimport { BarsaApi, MetaobjectDataModel } from 'barsa-novin-ray-core';\nimport { RichTextStaticComponent } from '../rich-text-static/rich-text-static.component';\n\n@Component({\n selector: 'bsu-barsa-cartable-template',\n templateUrl: './barsa-cartable-template.component.html',\n styleUrls: ['./barsa-cartable-template.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BarsaCartableTemplateComponent extends RichTextStaticComponent implements OnInit {\n @Input() parameters: MetaobjectDataModel;\n @Input() mo: MetaobjectDataModel;\n text: string;\n relatedMo: MetaobjectDataModel;\n ngOnInit(): void {\n this.relatedMo = BarsaApi.Ext.decode(this.mo.SerializedRelatedMo);\n super.ngOnInit();\n }\n protected get moContext(): MetaobjectDataModel {\n return this.relatedMo;\n }\n}\n","<div [innerHtml]=\"text\"></div>\n","import { ChangeDetectionStrategy, Component, HostBinding, OnInit } from '@angular/core';\nimport { FormBaseComponent, FormPanelService, AbbrevationDeviceSize } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-barsa-cartable-form',\n templateUrl: './barsa-cartable-form.component.html',\n styleUrls: ['./barsa-cartable-form.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [FormPanelService]\n})\nexport class BarsaCartableFormComponent extends FormBaseComponent implements OnInit {\n @HostBinding('class.smallDevice') _isSmallDevice = false;\n\n ngOnInit(): void {\n this._isSmallDevice = this._isSmalDeviceSize(this._portalService.deviceSize);\n super.ngOnInit();\n this._portalService.deviceSize$.subscribe((c: AbbrevationDeviceSize) => {\n const isSmallDevice = this._isSmalDeviceSize(c);\n isSmallDevice !== this._isSmallDevice && (this._isSmallDevice = isSmallDevice) && this._cdr.detectChanges();\n });\n }\n protected _isSmalDeviceSize(deviceSize: AbbrevationDeviceSize): boolean {\n const isSmallDevice = deviceSize === 's' || deviceSize === 'm' ? true : false;\n const dom = this._el.nativeElement as HTMLElement;\n if (isSmallDevice) {\n dom.parentElement?.classList.remove('h_100');\n } else {\n dom.parentElement?.classList.add('h_100');\n }\n return isSmallDevice;\n }\n}\n","@if (layout94$ | async; as layout94) {\n<div class=\"groups-wrapper\">\n @if ('جستجو گروه' | controlUi: layout94; as configUi) {\n <bsu-layout-control\n class=\"search-group\"\n [caption]=\"'گروههای کارتابل'\"\n [config]=\"configUi\"\n [showLabel]=\"false\"\n ></bsu-layout-control>\n } @if ('گروههای کارتابل کاربر' | controlUi: layout94; as configUi) {\n <bsu-layout-control\n class=\"cartable-groups\"\n [caption]=\"'گروههای کارتابل'\"\n [config]=\"configUi\"\n [showLabel]=\"false\"\n ></bsu-layout-control>\n }\n</div>\n@if ('ردیفهای کارتابل' | controlUi: layout94; as configUi) {\n<bsu-layout-control\n class=\"cartable-radif\"\n [caption]=\"'ردیفهای کارتابل'\"\n [config]=\"configUi\"\n [showLabel]=\"false\"\n></bsu-layout-control>\n} }\n","import { ChangeDetectionStrategy, Component, OnInit, SimpleChanges } from '@angular/core';\nimport { BaseViewItemPropsComponent, MetaobjectDataModel } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-barsa-cartable-group',\n templateUrl: './barsa-cartable-group.component.html',\n styleUrls: ['./barsa-cartable-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BarsaCartableGroupComponent extends BaseViewItemPropsComponent implements OnInit {\n /**\n *\n */\n allItem: { unreadCount: number; allCount: number };\n allItemChecked: boolean;\n builtinGroups: MetaobjectDataModel[];\n isLastBuiltin = false;\n isBuiltin: any;\n ngOnInit(): void {\n super.ngOnInit();\n if (this.index === 0) {\n this._calcAll(this.moDataList);\n }\n this._checkSystemi();\n }\n ngOnChanges(changes: SimpleChanges): void {\n super.ngOnChanges(changes);\n let detectChanges = false;\n const keys = ['mo', 'moDataList', 'isChecked'];\n\n keys.forEach((key) => {\n if (changes[key] && !changes[key].firstChange) {\n this[key] = changes[key].currentValue;\n detectChanges = true;\n if (key === 'moDataList') {\n this._calcAll(changes[key].currentValue);\n this._checkSystemi();\n }\n }\n });\n if (detectChanges) {\n this.detectChanges();\n }\n }\n detectChanges(): void {\n this._cdr.detectChanges();\n }\n _rowCheckAll(): void {\n if (this.allItemChecked) {\n return;\n }\n this.allItemChecked = true;\n this.events.emit({ title: 'deselectAll', data: null });\n this.events.emit({ title: 'rowCheck', data: { mo: { Id: '01' }, index: -1 } });\n }\n onClick(isAll: boolean): void {\n if (isAll) {\n this._rowCheckAll();\n } else {\n this._rowCheck();\n }\n }\n _rowCheck(): void {\n if (this.isChecked) {\n return;\n }\n this.events.emit({ title: 'rowCheck', data: { mo: this.mo, index: this.index } });\n }\n private _checkSystemi(): void {\n this.isBuiltin = this._reportValuePipe.transform('سیستمی', this.mo, this.allColumns);\n if (this.index + 1 < this.moDataList.length && this.isBuiltin) {\n this.isLastBuiltin = !this._reportValuePipe.transform(\n 'سیستمی',\n this.moDataList[this.index + 1],\n this.allColumns\n );\n }\n }\n private _calcAll(moDataList: MetaobjectDataModel[]): void {\n if (this.index !== 0) {\n return;\n }\n let allCount = 0;\n let unreadCount = 0;\n let isChecked = false;\n moDataList.forEach((c) => {\n if (c.$IsChecked) {\n isChecked = true;\n }\n const allCountTemp = this._reportValuePipe.transform(this.parameters.AllCountField, c, this.allColumns);\n allCount += isNaN(+allCountTemp) ? 0 : +allCountTemp;\n const unreadCountTemp = this._reportValuePipe.transform(\n this.parameters.UnreadCountField,\n c,\n this.allColumns\n );\n unreadCount += isNaN(+unreadCountTemp) ? 0 : +unreadCountTemp;\n });\n this.allItemChecked = !isChecked;\n this.allItem = { allCount, unreadCount };\n }\n}\n","<!-- <li\n[interactive]=\"true\"\nfd-list-item\n[selected]=\"allItemChecked ? true : false\"\n(click)=\"onRowCheckAll()\"\n*ngIf=\"allItem\"\n>\n<div class=\"title-container\">\n <div style=\"background-color: transparent; width: 0.2rem; height: 100%\"></div>\n <span fd-list-title>\n <div style=\"height: 100%; display: flex; align-items: center\">\n <span [style.fontSize]=\"allItem.unreadCount > 0 ? 'bold' : null\">{{ 'همه موارد' | bbbTranslate }}</span>\n <ng-container *ngIf=\"allItem.unreadCount > 0\">\n <strong style=\"padding: 0 2px; direction: ltr\">({{ allItem.unreadCount }})</strong>\n </ng-container>\n <span style=\"padding: 0 5px\" *ngIf=\"allItem.allCount > 0\">{{ allItem.allCount }}</span>\n </div>\n </span>\n</div>\n</li> -->\n\n<ng-container>\n @if (allItem) {\n <ng-container\n *ngTemplateOutlet=\"\n itemTemplate;\n context: {\n $implicit: 'همه موارد' | bbbTranslate,\n unreadCount: allItem.unreadCount,\n allCount: allItem.allCount,\n backColor: 'transparent',\n isAll: true,\n isChecked: allItemChecked\n }\n \"\n ></ng-container>\n }\n\n <ng-container\n *ngTemplateOutlet=\"\n itemTemplate;\n context: {\n $implicit: parameters.CartableGroupField | rval: mo:allColumns:true,\n unreadCount: parameters.UnreadCountField | rval: mo:allColumns,\n allCount: parameters.AllCountField | rval: mo:allColumns,\n backColor: (columns[0].Caption | rval: mo:columns),\n isChecked: isChecked,\n icon: parameters.IconField | rval: mo:allColumns:true,\n isBuiltin: isBuiltin\n }\n \"\n ></ng-container>\n</ng-container>\n@if (isLastBuiltin) {\n<li fd-list-item class=\"space\">\n <span fd-list-title></span>\n</li>\n}\n<!-- <ng-container *ngIf=\"last\">\n<ul fd-list>\n <li fd-list-group-header>\n <span fd-list-title style=\"background:#f7f7f7\"></span>\n </li>\n <ng-container *ngFor=\"let mo2 of moDataList\">\n <ng-container *ngIf=\"'سیستمی' | rval: mo2:allColumns\">\n <ng-container\n *ngTemplateOutlet=\"\n itemTemplate;\n context: {\n $implicit: parameters.CartableGroupField | rval: mo2:allColumns:true,\n unreadCount: parameters.UnreadCountField | rval: mo2:allColumns,\n allCount: parameters.AllCountField | rval: mo2:allColumns,\n backColor: columns[0].Caption | rval: mo2:columns,\n isChecked: isChecked\n }\n \"\n ></ng-container>\n </ng-container>\n</ng-container>\n</ul>\n</ng-container> -->\n\n<!-- <li fd-list-item [selected]=\"isChecked ? true : false\" (click)=\"onRowCheck()\" [interactive]=\"true\">\n<div class=\"title-container\">\n <div [style.backgroundColor]=\"columns[0].Caption | rval: mo:columns\" style=\"width: 0.2rem; height: 100%\"></div>\n <span fd-list-title>\n <div style=\"height: 100%; display: flex; align-items: center\">\n <span [style.fontSize]=\"parameters.UnreadCountField | rval: mo:allColumns:(true ? 'bold' : null)\"\n >{{ parameters.CartableGroupField | rval: mo:allColumns:true }}\n </span>\n <ng-container *ngIf=\"parameters.UnreadCountField | rval: mo:allColumns:true\">\n <strong style=\"padding: 0 2px; direction: ltr\"\n >({{ parameters.UnreadCountField | rval: mo:allColumns:true }})</strong\n >\n </ng-container>\n <span style=\"padding: 0 5px\">{{ parameters.AllCountField | rval: mo:allColumns:true }}</span>\n </div>\n </span>\n </div>\n</li> -->\n<ng-template\n #itemTemplate\n let-caption\n let-unreadCount=\"unreadCount\"\n let-allCount=\"allCount\"\n let-backColor=\"backColor\"\n let-isAll=\"isAll\"\n let-isChecked=\"isChecked\"\n let-icon=\"icon\"\n let-isBuiltin=\"isBuiltin\"\n>\n @if (isBuiltin || allCount > 0 || isAll) {\n <li fd-list-item [selected]=\"isChecked ? true : false\" (click)=\"onClick(isAll)\" [interactive]=\"true\">\n <div class=\"title-container\">\n <div [style.backgroundColor]=\"backColor\" style=\"width: 0.2rem; height: 100%\"></div>\n @if (icon) {\n <i fd-list-icon [glyph]=\"icon\"></i>\n }\n <span fd-list-title>\n <div style=\"height: 100%; display: flex; align-items: center; column-gap: 5px\">\n @if (unreadCount && unreadCount > 0) {\n <strong>{{ caption }}</strong>\n <strong style=\"padding: 0 2px; direction: ltr\">({{ unreadCount }})</strong>\n } @else {\n <span>{{ caption }}</span>\n } @if (allCount && allCount > 0) {\n <span style=\"padding: 0 5px\">{{ allCount }}</span>\n }\n </div>\n </span>\n </div>\n </li>\n }\n</ng-template>\n","import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\nimport { ObjectStatus } from '@fundamental-ngx/core';\n\nimport { UploadService, MetaobjectDataModel } from 'barsa-novin-ray-core';\nimport { FieldBaseComponent } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-barsa-field-key-value',\n templateUrl: './barsa-field-key-value.component.html',\n styleUrls: ['./barsa-field-key-value.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [UploadService]\n})\nexport class BarsaFieldKeyValueComponent extends FieldBaseComponent implements OnInit {\n @Input() parameters: BarsaKeyValueSetting;\n status: ObjectStatus;\n valueNumber: number;\n valueString: string;\n ngOnInit(): void {\n super.ngOnInit();\n this._setStatus();\n }\n protected _setValue(value: any): void {\n super._setValue(value);\n this._setStatus();\n this._cdr.detectChanges();\n }\n _setStatus(): void {\n /* eslint-disable */\n const value: string = this.value;\n this.valueString = value;\n if (value && this.parameters.IsNumber) {\n if (value.charCodeAt(0) === 8234) {\n this.valueString = value.substr(1, value.length);\n this.valueNumber = +this.valueString;\n } else {\n this.valueNumber = +this.value;\n }\n }\n const scopedEval = (script) => new Function(`${script}`).bind(this)();\n this.status = scopedEval(\n this.parameters.Status.replace(/value/gi, `${this.parameters.IsNumber ? 'this.valueNumber' : 'this.value'}`)\n );\n if (this.parameters.Unit) {\n this.valueString += ` ${this.parameters.Unit}`;\n }\n }\n}\n\ninterface BarsaKeyValueSetting extends MetaobjectDataModel {\n Status: string;\n Icon: string;\n IsNumber: boolean;\n Unit: string;\n Postfix: string;\n DecimalCount: number;\n IsLarge: boolean;\n}\n","<fd-facet type=\"key-value\" [facetTitle]=\"Setting.ControlFieldCaptionTranslated\">\n <span\n fd-object-status\n [status]=\"status\"\n [label]=\"valueString\"\n [glyph]=\"parameters.Icon\"\n [large]=\"parameters.IsLarge\"\n [title]=\"valueString\"\n [aria-label]=\"valueString\"\n ></span>\n</fd-facet>\n","import { ChangeDetectionStrategy, Component, HostListener, OnInit } from '@angular/core';\nimport { PreventDefaulEvent, BaseFormToolbaritemPropsComponent, executeUlvCommandHandler } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-barsa-toolbaritem-search',\n templateUrl: './barsa-toolbaritem-search.component.html',\n styleUrls: ['./barsa-toolbaritem-search.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BarsaToolbaritemSearchComponent extends BaseFormToolbaritemPropsComponent implements OnInit {\n searchMode = false;\n searchTerm = '';\n @HostListener('click', ['$event'])\n onClick(e): void {\n PreventDefaulEvent(e);\n }\n onSearchSubmit(): void {\n executeUlvCommandHandler(this.context, { searchText: this.searchTerm });\n }\n onSearchModeChange(): void {\n this.searchMode = !this.searchMode;\n this._cdr.detectChanges();\n }\n}\n","<ng-container *ngTemplateOutlet=\"searchTpl\"> </ng-container>\n<!-- <ng-container *ngTemplateOutlet=\"deviceSize !== 's' ? searchTpl : btnTpl\"> </ng-container> -->\n\n<ng-template #btnTpl>\n <button fd-button glyph=\"search\" fdType=\"transparent\" (click)=\"onSearchModeChange()\"></button>\n @if (searchMode) {\n <div style=\"z-index: 1; position: absolute; left: 0; top: 0; bottom: 0; right: 0\">\n <ng-container *ngTemplateOutlet=\"searchTpl\"></ng-container>\n </div>\n }\n</ng-template>\n<ng-template #searchTpl>\n <!-- <button fd-button glyph=\"arrow-right\" fdType=\"transparent\"></button> -->\n <!-- <fd-input-group placement=\"before\" glyph=\"arrow-right\" glyphAriaLabel=\"search\" placeholder=\"Search\">\n</fd-input-group> -->\n <fd-input-group\n [style.width]=\"deviceSize === 's' ? '100%' : '220px'\"\n fd-toolbar-item\n type=\"search\"\n glyph=\"search\"\n [glyphAriaLabel]=\"'Search' | bbbTranslate\"\n [placeholder]=\"'Search' | bbbTranslate\"\n [button]=\"true\"\n [disabled]=\"false\"\n [(ngModel)]=\"searchTerm\"\n (addOnButtonClicked)=\"onSearchSubmit()\"\n (keydown.enter)=\"onSearchSubmit()\"\n >\n </fd-input-group>\n</ng-template>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { SafeHtml } from '@angular/platform-browser';\n\nimport { FieldBaseComponent } from 'barsa-novin-ray-core';\n@Component({\n selector: 'bsu-ui-html-viewer',\n templateUrl: './ui-html-viewer.component.html',\n styleUrls: ['./ui-html-viewer.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiHtmlViewerComponent extends FieldBaseComponent {\n safeHtml: SafeHtml;\n protected _setValue(value: any): void {\n super._setValue(value);\n this.safeHtml = this._domSanitizer.bypassSecurityTrustHtml(this.value ?? '');\n }\n}\n","<div [innerHTML]=\"safeHtml\"></div>\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\nimport {\n FieldBaseComponent,\n DateService,\n getDateService,\n LogService,\n DateInfo,\n BarsaApi,\n FileAttachmentInfo\n} from 'barsa-novin-ray-core';\n@Component({\n selector: 'bsu-barsa-pishnamayesh-payam',\n templateUrl: './barsa-pishnamayesh-payam.component.html',\n styleUrls: ['./barsa-pishnamayesh-payam.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: DateService,\n useFactory: getDateService,\n deps: [LogService]\n }\n ]\n})\nexport class BarsaPishnamayeshPayamComponent extends FieldBaseComponent implements OnInit {\n data: PayamClassType;\n expanded = true;\n ngOnInit(): void {\n super.ngOnInit();\n const mo = this.context?.FormPanelUi?.Mo;\n if (mo) {\n let mailContent = mo[this.Setting.ControlName];\n\n const $FieldDict = mailContent.$FieldDict;\n if ($FieldDict) {\n mailContent = mailContent[$FieldDict['محتوای پیام']];\n }\n this.data = new PayamClassType(mailContent, this._domSanitizer, this._dateService);\n }\n }\n protected _setValue(val: any): void {\n super._setValue(val);\n }\n}\n\ntype PayamType = {\n AccessLevel: number;\n Attachments?: PayamAttachment[]; // null\n BccText: string;\n Subject: string;\n CategoryString: string;\n CcText: string;\n ContentHtml: string;\n CustomText: string;\n FromText: string;\n FromPhoto: string;\n Order: number; // 1\n Importance: number;\n ReadDate: string; // \"new Date(2023,6,20,11,21,19)\"\n SendDate: string; // \"new Date(2023,6,20,11,20,55)\"\n ToText: string;\n Todo: PayamTodo; // null\n Details?: PayamType[];\n};\nclass PayamClassType {\n $content?: SafeHtml;\n $sendDate?: string;\n $readDate?: string;\n $fromPhoto?: string;\n $toText?: string[];\n $ccText?: string[];\n $bccText?: string[];\n $details?: PayamClassType[];\n $attachments?: FileAttachmentInfo[];\n $importance: { icon: string | null; text: string | null };\n $accessLevel: { icon: string | null; text: string | null };\n $todo: { text: string; color: string };\n\n constructor(public payam: PayamType, private _domSanitizer: DomSanitizer, private _dateService: DateService) {\n this.$content = this._domSanitizer.bypassSecurityTrustHtml(payam.ContentHtml);\n this.$sendDate = this._getDateString(payam.SendDate);\n this.$readDate = !payam.ReadDate ? '' : this._getDateString(payam.ReadDate);\n\n this.$toText = payam.ToText.split(';');\n this.$ccText = payam.CcText?.split(';');\n this.$bccText = payam.BccText?.split(';');\n this.$fromPhoto = BarsaApi.Common.Util.GetIconUrl(payam.FromPhoto, null, null, 64);\n this.$details = payam.Details?.map((c) => new PayamClassType(c, _domSanitizer, _dateService));\n this.$attachments = payam.Attachments?.map((c) => ({\n Id: c.Id,\n IsNew: false,\n IsDeleted: false,\n Type: c.Extension,\n FileName: `${c.Name}.${c.Extension}`\n }));\n this.$importance = {\n icon: this._iconImportance(payam.Importance),\n text: this._textImportance(payam.Importance)\n };\n this.$accessLevel = {\n icon: this._iconAccessLevel(payam.AccessLevel),\n text: this._textAccessLevel(payam.AccessLevel)\n };\n\n if (payam.Todo?.DueDate) {\n this.$todo = this._textTodo(payam.Todo);\n }\n }\n private _textTodo(todo: PayamTodo): { text: string; color: string } {\n if (!todo || !todo.DueDate) {\n return { text: '', color: '10' };\n }\n let dueDateStr = '';\n let doneDateStr = '';\n if (BarsaApi.Ext.isString(todo.DueDate)) {\n dueDateStr = this._getDateString(todo.DueDate);\n }\n if (todo.DoneDate) {\n doneDateStr = this._getDateString(todo.DoneDate);\n }\n // eslint-disable-next-line no-eval\n const dueDate = eval(todo.DueDate);\n if (todo.State === 2) {\n return { text: BarsaApi.BBB.Mail_TodoCompleted + ': ' + doneDateStr, color: '8' };\n } else if (new Date().getTime() < dueDate.getTime()) {\n return { text: BarsaApi.BBB.Mail_TodoDueDate + ': ' + dueDateStr, color: '1' };\n } else {\n return {\n text: BarsaApi.BBB.Mail_TodoOverdue + ': ' + (doneDateStr ? doneDateStr : dueDateStr),\n color: '2'\n };\n }\n }\n private _textImportance(i): string | null {\n if (i) {\n return BarsaApi.BBB['Mail_Importance' + i];\n }\n return null;\n }\n private _textAccessLevel(i): string | null {\n if (i) {\n return BarsaApi.BBB['Mail_Sensitivity' + i];\n }\n return null;\n }\n private _iconImportance(i): string | null {\n if (i) {\n return 'priority_' + i.toString() + '.png';\n }\n return null;\n }\n private _iconAccessLevel(i): string | null {\n if (i) {\n return 'lock_' + i.toString() + '.png';\n }\n return null;\n }\n private _getSize(size: string): string {\n size = size.replace('KB', 'کیلوبایت');\n size = size.replace('MB', 'مگابایت');\n size = size.replace('B', 'بایت');\n return size;\n }\n private _getAttachmentIcon(extension): string | null {\n if (BarsaApi.Ext.isEmpty(extension) === false) {\n return '/assets/Images/FileTypeIcons/' + '_' + extension + '.PNG';\n }\n return null;\n }\n private _getDateString(date: string): string {\n // eslint-disable-next-line no-eval\n const dateInfo: DateInfo = this._dateService.getDateInfo(eval(date));\n return `${dateInfo.dayName} ${dateInfo.day} ${dateInfo.monthName} ${dateInfo.year} ${dateInfo.hour}:${dateInfo.minutes}`;\n }\n}\n\ntype PayamAttachment = {\n Attachtype: string; // \"attachContent\"\n Extension: string; // \"docx\"\n Id: string; // \"_OQ2X_SN0og2Y4S-X_ACxBtJMf5oig1\"\n Name: string; // \"Document 10\"\n Size: string; // \"14.9 KB\"\n};\ntype PayamTodo = { DueDate: string; State: number; DoneDate?: string };\n","@if (data) {\n<ng-container\n *ngTemplateOutlet=\"\n showPayamClass;\n context: {\n $implicit: data,\n primary: !data?.$details?.length,\n isFirst: true\n }\n \"\n>\n</ng-container>\n}\n<ng-template #showPayamClass let-data let-primary=\"primary\" let-isFirst=\"isFirst\">\n <ng-container\n *ngTemplateOutlet=\"\n namayeshPayam;\n context: {\n $implicit: data.payam.Subject,\n fromText: data.payam.FromText,\n toText: data.$toText,\n importance: data.$importance,\n readDate: data.$readDate,\n sendDate: data.$sendDate,\n ccText: data.$ccText,\n bccText: data.$bccText,\n accessLevel: data.$accessLevel,\n content: data.$content,\n fromPhoto: data.$fromPhoto,\n details: data.$details,\n attachments: data.$attachments,\n todo: data.$todo,\n customText: data.payam.CustomText,\n primary: primary,\n isFirst: isFirst\n }\n \"\n >\n </ng-container>\n</ng-template>\n\n<ng-template\n #namayeshPayam\n let-subject\n let-content=\"content\"\n let-fromText=\"fromText\"\n let-toText=\"toText\"\n let-importance=\"importance\"\n let-readDate=\"readDate\"\n let-sendDate=\"sendDate\"\n let-ccText=\"ccText\"\n let-bccText=\"bccText\"\n let-fromPhoto=\"fromPhoto\"\n let-details=\"details\"\n let-accessLevel=\"accessLevel\"\n let-primary=\"primary\"\n let-isFirst=\"isFirst\"\n let-attachments=\"attachments\"\n let-todo=\"todo\"\n let-customText=\"customText\"\n>\n <fd-card cardType=\"object\">\n <fd-card-header>\n <fd-avatar\n [image]=\"fromPhoto\"\n [circle]=\"true\"\n size=\"s\"\n [ariaLabel]=\"fromText\"\n [label]=\"fromText\"\n [title]=\"fromText\"\n ></fd-avatar>\n <div fd-card-title class=\"header-fields\">\n <h5 fd-title>\n <a fd-link [emphasized]=\"true\" aria-label=\"Sender\"> {{ fromText }}</a>\n </h5>\n <fd-object-identifier [description]=\"'(' + sendDate + ')'\"> </fd-object-identifier>\n </div>\n <div fd-card-subtitle>\n <h5 fd-title>{{ subject }}</h5>\n <fd-popover>\n <fd-popover-control>\n <button fd-button fdType=\"transparent\" [fdMenu]=\"true\">{{ 'Recievers' | bbbTranslate }}</button>\n </fd-popover-control>\n <fd-popover-body>\n <ul fd-list>\n @for (rec of toText; track rec) {\n <li fd-list-item>\n <a fd-list-link>{{ rec }}</a>\n </li>\n }\n </ul>\n </fd-popover-body>\n </fd-popover>\n </div>\n </fd-card-header>\n <fd-card-content>\n <fd-panel [expanded]=\"isFirst\">\n <div fd-panel-title id=\"panel-expandable-title-1\">\n <h5 fd-title>{{ 'محتوای پیام' | bbbTranslate }}</h5>\n <div class=\"payamIcons\">\n @if (importance.icon) {\n <fd-popover>\n <fd-popover-control>\n <img [src]=\"'/Customization/Mail/' + importance.icon\" />\n </fd-popover-control>\n <fd-popover-body>\n <ul fd-list>\n <li fd-list-item>{{ importance.text }}</li>\n </ul>\n </fd-popover-body>\n </fd-popover>\n } @if (accessLevel.icon) {\n <fd-popover>\n <fd-popover-control>\n <img [src]=\"'/Customization/Mail/' + accessLevel.icon\" />\n </fd-popover-control>\n <fd-popover-body>\n <ul fd-list>\n <li fd-list-item>{{ accessLevel.text }}</li>\n </ul>\n </fd-popover-body>\n </fd-popover>\n } @if (todo) {\n <fd-info-label [label]=\"todo.text\" [color]=\"todo.color\" [title]=\"todo.text\"></fd-info-label>\n }\n </div>\n </div>\n <div fd-panel-content>\n @if (customText) {\n <div>\n <fd-message-strip type=\"information\" [noIcon]=\"true\" [dismissible]=\"false\">\n {{ customText }}\n </fd-message-strip>\n </div>\n }\n <div [innerHtml]=\"content\" [disable]=\"!primary || attachments?.length\"></div>\n\n @if (attachments?.length) {\n <div class=\"file-viewer-attachments\">\n @for (file of attachments; track file) { @if (!file.IsDeleted) {\n <bsu-file-viewer-popover\n [file]=\"file\"\n [files]=\"attachments\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n [canDownload]=\"true\"\n [disableRemove]=\"true\"\n ></bsu-file-viewer-popover>\n } } @if (attachments.length > 1) {\n <button\n fd-button\n [title]=\"'Download' | bbbTranslate\"\n [glyph]=\"'download'\"\n downloadFiles\n [files]=\"attachments\"\n ></button>\n }\n </div>\n }\n <div class=\"readAt\">\n @if (readDate) {\n <fd-object-identifier [description]=\"('ReadAt' | bbbTranslate) + ': (' + readDate + ')'\">\n </fd-object-identifier>\n }\n </div>\n </div>\n </fd-panel>\n </fd-card-content>\n <!-- <fd-card-footer>\n <button *fdCardFooterActionItem fd-button fdCompact>Assign to Project</button>\n </fd-card-footer> -->\n </fd-card>\n @for (detail of details; track detail) {\n <ng-contianer>\n <ng-container\n *ngTemplateOutlet=\"\n showPayamClass;\n context: {\n $implicit: detail\n }\n \"\n >\n </ng-container>\n </ng-contianer>\n }\n</ng-template>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n AfterViewInit,\n OnInit,\n Renderer2,\n ElementRef\n} from '@angular/core';\nimport { AbbrevationDeviceSize, BaseComponent } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-barsa-text-ellipsis,[textEllipsis]',\n templateUrl: './barsa-text-ellipsis.component.html',\n styleUrls: ['./barsa-text-ellipsis.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BarsaTextEllipsisComponent extends BaseComponent implements OnInit, AfterViewInit {\n @Input() text: string;\n @Input() fontSize: string;\n @Input() deviceSize: AbbrevationDeviceSize;\n\n ellipsised = false;\n width: number;\n constructor(protected _el: ElementRef, protected _renderer2: Renderer2, protected _cdr: ChangeDetectorRef) {\n super();\n }\n ngAfterViewInit(): void {\n super.ngAfterViewInit();\n }\n onEllapsised(val: boolean): void {\n this.ellipsised = val;\n this._cdr.detectChanges();\n }\n}\n","<div (ellapsised)=\"onEllapsised($event)\" ellapsisText [ellapsisText]=\"text | bbbTranslate\">\n {{ text | bbbTranslate }}\n</div>\n@if (ellipsised) {\n<fd-popover>\n <fd-popover-control>\n <button style=\"position: absolute; left: 0\" fd-button glyph=\"overflow\" fdType=\"transparent\" fdCompact></button>\n </fd-popover-control>\n <fd-popover-body style=\"max-width: 320px\">\n <fd-text [text]=\"text | bbbTranslate\" [whitespaces]=\"true\"></fd-text>\n </fd-popover-body>\n</fd-popover>\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { UploadService, FileAttachmentInfo } from 'barsa-novin-ray-core';\nimport { UiFileLinearListBoxComponent } from '../ui-file-linear-list-box/ui-file-linear-list-box.component';\n\n@Component({\n selector: 'bsu-barsa-list-file-linear-gmail',\n templateUrl: './barsa-list-file-linear-gmail.component.html',\n styleUrls: ['./barsa-list-file-linear-gmail.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [UploadService]\n})\nexport class BarsaListFileLinearGmailComponent extends UiFileLinearListBoxComponent {\n onRetry(fileAttachment: FileAttachmentInfo): void {\n this.retry(fileAttachment);\n }\n}\n","<ul fd-list>\n @for (item of value; track item) { @if (!item.IsDeleted) {\n <li fd-list-item style=\"background-color: #f5f5f5; margin: 0.5rem 0 0 30%\">\n @if (item.inEdit) {\n <input\n style=\"width: 90%\"\n fd-form-control\n [value]=\"item.fileName\"\n (click)=\"$event.preventDefault(); $event.stopPropagation()\"\n />\n } @if (!item.inEdit) {\n <span fd-list-title>\n {{ item.fileName }}\n </span>\n }\n <span fd-list-secondary>\n <button\n ariaLabel=\"Edit Or Save\"\n fdType=\"transparent\"\n class=\"fd-button--compact\"\n fd-button\n fdCompact\n [glyph]=\"item.inEdit ? 'save' : 'edit'\"\n (click)=\"item.inEdit = !item.inEdit\"\n ></button>\n @if (!item.inEdit) {\n <button ariaLabel=\"Remove\" fdType=\"transparent\" title=\"Remove\" fd-button glyph=\"delete\"></button>\n }\n </span>\n </li>\n } }\n</ul>\n<ul fd-list [byline]=\"true\">\n @if (fileCount$ | async; as fileCount) { @if (fileCount === 0) {\n <li fd-list-item>\n <div fd-list-content style=\"text-align: center\">\n <span>{{ 'NoFiles' | bbbTranslate }}</span>\n </div>\n </li>\n } } @for (file of value; track file) { @if (valueExtra$ | async; as valueExtra) { @if (!file.IsDeleted) {\n <li fd-list-item>\n <span fd-list-thumbnail>\n @if (valueExtra[file.Id].IsIcon) {\n <fd-icon [glyph]=\"valueExtra[file.Id].FileUrl\"></fd-icon>\n } @else {\n <fd-avatar size=\"m\" [image]=\"valueExtra[file.Id].FileUrl || ''\"></fd-avatar>\n }\n </span>\n <!-- for byline, fd-list-content is mandatory -->\n <div fd-list-content>\n <div fd-list-title>{{ file.FileName }}</div>\n <div fd-list-byline [twoCol]=\"true\">\n <div fd-list-byline-left></div>\n <div fd-list-byline-right style=\"display: flex; justify-content: flex-end\">\n <fd-toolbar [fdType]=\"'transparent'\" [clearBorder]=\"true\">\n @if (file.IsNew) {\n <span\n fd-toolbar-item\n fd-object-status\n [status]=\"file.Id | uploadFileStatus: valueExtra\"\n [label]=\"valueExtra[file.Id]?.UploadState || ''\"\n [title]=\"valueExtra[file.Id]?.UploadState\"\n [aria-label]=\"'File Upload Status Is ' + valueExtra[file.Id]?.UploadState\"\n ></span>\n @if (valueExtra[file.Id].UploadState === 'Uploading') {\n <fd-slider\n [contentDensity]=\"(contentDensity$ | async)!!\"\n [(ngModel)]=\"valueExtra[file.Id].Progress\"\n [name]=\"'filerLinear_' + id\"\n fd-toolbar-item\n [id]=\"id\"\n [min]=\"0\"\n [max]=\"100\"\n [step]=\"1\"\n >\n </fd-slider>\n } }\n </fd-toolbar>\n </div>\n </div>\n </div>\n @if ((disableOrReadonly$ | async) === false && valueExtra[file.Id].UploadState !== 'Uploading') {\n <button fd-button fdType=\"transparent\" glyph=\"decline\" (click)=\"onFileDeleted(file.Id)\"></button>\n } @if (valueExtra[file.Id].UploadState === 'Uploading') {\n <button fd-button [fdType]=\"'transparent'\" [glyph]=\"'stop'\" (click)=\"onTerminate(file)\"></button>\n } @if (valueExtra[file.Id].UploadState === 'Error') {\n <button fd-button [fdType]=\"'transparent'\" [glyph]=\"'refresh'\" (click)=\"onRetry(file)\"></button>\n }\n </li>\n } } }\n</ul>\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\nimport { LayoutPanelBaseComponent, LayoutService, LayoutSetting, FillAllLayoutControls } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-barsa-linkable-items-panel',\n templateUrl: './barsa-linkable-items-panel.component.html',\n styleUrls: ['./barsa-linkable-items-panel.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [LayoutService]\n})\nexport class BarsaLinkableItemsPanelComponent extends LayoutPanelBaseComponent implements OnInit {\n layoutControls: LayoutSetting[] = [];\n visibleControls: LayoutSetting[] = [];\n hideControls: LayoutSetting[] = [];\n ngOnInit(): void {\n super.ngOnInit();\n FillAllLayoutControls(this.config, this.layoutControls);\n this.layoutControls.forEach((c, index) => {\n if (index === 0) {\n this.visibleControls.push(c);\n } else {\n this.hideControls.push(c);\n }\n });\n }\n onAddToVisibleControls(item: LayoutSetting): void {\n this.visibleControls.push(item);\n this.hideControls = this.hideControls.filter((c) => c.Caption !== item.Caption);\n }\n}\n","@for (item of visibleControls; track item; let i = $index) {\n<ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n selector: 'bsu-layout-control',\n name: 'LayoutControlComponent',\n index: i\n }\n \"\n></ng-container>\n}\n<ng-template\n #dynamicLayout\n let-index\n let-config\n let-selector=\"selector\"\n let-maxLabelWidth=\"maxLabelWidth\"\n let-name=\"name\"\n>\n <bnrc-dynamic-layout\n [config]=\"config\"\n [selector]=\"selector\"\n [name]=\"name\"\n [module]=\"'BarsaSapUi'\"\n [moduleFileName]=\"'BarsaSapUi'\"\n [maxLabelWidth]=\"(maxLabelWidth$ | async)!!\"\n [flex]=\"isSearchPanel ? 'unset' : config.Bounds.width\"\n [isSearchPanel]=\"isSearchPanel\"\n >\n </bnrc-dynamic-layout>\n</ng-template>\n<div style=\"display: flex; column-gap: 3px; padding: 0 5px\">\n @for (item of hideControls; track item; let i = $index) {\n <a fd-link [attr.aria-label]=\"item.Caption\" (click)=\"onAddToVisibleControls(item)\"> {{ item.Caption }}</a>\n @if (i < hideControls.length - 1) {\n <span>/</span>\n } }\n</div>\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\nimport { ButtonType } from '@fundamental-ngx/core';\n\nimport { MetaobjectDataModel, FieldBaseComponent, MoForReportModel } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-barsa-enum-menu-button',\n templateUrl: './barsa-enum-menu-button.component.html',\n styleUrls: ['./barsa-enum-menu-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BarsaEnumMenuButtonComponent extends FieldBaseComponent implements OnInit {\n parameters: BarsaEnumMenuButtonSetting;\n valueCaption: string;\n valueStatus: ButtonType = 'transparent';\n valueItem: any;\n ngOnInit(): void {\n super.ngOnInit();\n this._setValueCaption();\n }\n onValueChange(menu: any, value: string): void {\n menu.close();\n const selectedValue = value;\n this.setValue(selectedValue);\n }\n protected _setValueCaption(): void {\n const store = this.context.store;\n const item = store.data[store.root].find((c) => c.id === this.value);\n if (item) {\n this.valueItem = item;\n }\n this.valueCaption = item?.txt;\n if (!item || item.IsEmpty) {\n this.valueCaption = this._getPlaceholder();\n }\n if (item?.id) {\n if (this.parameters?.ValuesStatus?.MoDataList.length) {\n const x = this.parameters.ValuesStatus.MoDataList.find((c) => c.ValueOfEnum === item.id);\n this.valueStatus = x ? x.StatusOfEnum$Caption : 'standard';\n } else {\n this.valueStatus = 'standard';\n }\n }\n }\n protected _getPlaceholder(): string {\n return this.parameters?.Placeholder ? this.parameters?.Placeholder : this.Setting.ControlFieldCaptionTranslated;\n }\n protected _setValue(value: string): void {\n this._setValueCaption();\n super._setValue(value);\n }\n protected setValue(selectedValue: any): void {\n this.value = selectedValue;\n this.valueChange.emit(this.value);\n this._setValueCaption();\n this.fireContextEvent('select', this.value);\n }\n}\n\ninterface BarsaEnumMenuButtonSetting extends MetaobjectDataModel {\n ValuesStatus: MoForReportModel;\n Placeholder: string;\n}\n","<button\n fd-button\n [label]=\"valueCaption ? valueCaption : Setting.ControlFieldCaptionTranslated\"\n [title]=\"Setting.ControlFieldCaptionTranslated\"\n [fdType]=\"valueStatus\"\n [fdMenu]=\"(disableOrReadonly$ | async) === true ? false : true\"\n [fdMenuTrigger]=\"(disableOrReadonly$ | async) === true ? undefined : menu\"\n [class.placeholder-custom]=\"!valueItem || valueItem?.IsEmpty\"\n></button>\n<fd-menu #menu>\n @for (item of context.store.data[context.store.root]; track item) {\n <li fd-menu-item>\n <a fd-menu-interactive (click)=\"onValueChange(menu, item.id)\">\n <span fd-menu-title [class.list-empty-item]=\"item.IsEmpty\">{{ item.txt }}</span>\n </a>\n </li>\n }\n</fd-menu>\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\nimport {\n LayoutPanelBaseComponent,\n LayoutService,\n LayoutSetting,\n FillAllLayoutControls,\n MetaobjectDataModel\n} from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-barsa-card-layout-panel',\n templateUrl: './barsa-card-layout-panel.component.html',\n styleUrls: ['./barsa-card-layout-panel.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [LayoutService]\n})\nexport class BarsaCardLayoutPanelComponent extends LayoutPanelBaseComponent implements OnInit {\n layoutControls: LayoutSetting[] = [];\n parameters: BarsaCardLayoutPanelSetting;\n ngOnInit(): void {\n super.ngOnInit();\n FillAllLayoutControls(this.config, this.layoutControls);\n }\n}\ninterface BarsaCardLayoutPanelSetting extends MetaobjectDataModel {\n HideTitle: boolean;\n Margin: string;\n}\n","<fd-card [style.margin]=\"parameters?.Margin\">\n @if (parameters?.HideTitle !== true) {\n <fd-card-header [class.hideBorder]=\"parameters?.HideHeaderBorder\">\n <h3 fd-title fd-card-title>\n {{ (config.TextVisible ? config.Title ?? '' : '') | bbbTranslate }}\n </h3>\n </fd-card-header>\n }\n <fd-card-content>\n <bsu-ly-layout-panel [config]=\"config\" [hideTitle]=\"true\"> </bsu-ly-layout-panel>\n </fd-card-content>\n <fd-card-footer> </fd-card-footer>\n</fd-card>\n","import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\nimport { BaseComponent, LayoutSetting } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-barsa-base-layout-panel',\n templateUrl: './barsa-base-layout-panel.component.html',\n styleUrls: ['./barsa-base-layout-panel.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BarsaBaseLayoutPanelComponent extends BaseComponent implements OnInit {\n @Input() layoutControls: LayoutSetting[] = [];\n @Input() config: LayoutSetting;\n @Input() maxLabelWidth: number;\n @Input() isSearchPanel: boolean;\n\n ngOnInit(): void {\n super.ngOnInit();\n }\n}\n","@for (item of layoutControls; track item; let i = $index) {\n<ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n selector: 'bsu-layout-control',\n name: 'LayoutControlComponent',\n index: i,\n maxLabelWidth: maxLabelWidth\n }\n \"\n></ng-container>\n}\n<ng-template\n #dynamicLayout\n let-index\n let-config\n let-selector=\"selector\"\n let-maxLabelWidth=\"maxLabelWidth\"\n let-name=\"name\"\n>\n <bnrc-dynamic-layout\n [config]=\"config\"\n [selector]=\"selector\"\n [name]=\"name\"\n [module]=\"'BarsaSapUi'\"\n [moduleFileName]=\"'BarsaSapUi'\"\n [maxLabelWidth]=\"maxLabelWidth\"\n [flex]=\"isSearchPanel ? 'unset' : config.Bounds.width\"\n [isSearchPanel]=\"isSearchPanel\"\n >\n </bnrc-dynamic-layout>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\nimport {\n FillAllLayoutControls,\n MetaobjectDataModel,\n LayoutPanelBaseComponent,\n LayoutService,\n LayoutSetting\n} from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-barsa-horizontal-flex-panel',\n templateUrl: './barsa-horizontal-flex-panel.component.html',\n styleUrls: ['./barsa-horizontal-flex-panel.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [LayoutService]\n})\nexport class BarsaHorizontalFlexPanelComponent extends LayoutPanelBaseComponent implements OnInit {\n layoutControls: LayoutSetting[] = [];\n parameters: HorizontalFlexPanelSettings;\n ngOnInit(): void {\n super.ngOnInit();\n FillAllLayoutControls(this.config, this.layoutControls);\n }\n}\ninterface HorizontalFlexPanelSettings extends MetaobjectDataModel {\n Gap: string;\n}\n","<bsu-barsa-base-layout-panel\n [layoutControls]=\"layoutControls\"\n [maxLabelWidth]=\"(maxLabelWidth$ | async)!!\"\n [isSearchPanel]=\"isSearchPanel\"\n [config]=\"config\"\n [style.gap]=\"parameters?.Gap\"\n></bsu-barsa-base-layout-panel>\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\nimport { FillAllLayoutControls, LayoutPanelBaseComponent, LayoutService, LayoutSetting } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-barsa-bar-panel',\n templateUrl: './barsa-bar-panel.component.html',\n styleUrls: ['./barsa-bar-panel.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [LayoutService]\n})\nexport class BarsaBarPanelComponent extends LayoutPanelBaseComponent implements OnInit {\n layoutControls: LayoutSetting[] = [];\n\n ngOnInit(): void {\n super.ngOnInit();\n FillAllLayoutControls(this.config, this.layoutControls);\n }\n}\n","<fd-card>\n <fd-card-content>\n <bsu-barsa-base-layout-panel\n [layoutControls]=\"layoutControls\"\n [maxLabelWidth]=\"(maxLabelWidth$ | async)!!\"\n [isSearchPanel]=\"isSearchPanel\"\n [config]=\"config\"\n ></bsu-barsa-base-layout-panel>\n </fd-card-content>\n</fd-card>\n","import { ChangeDetectionStrategy, Component, HostBinding, OnInit } from '@angular/core';\nimport {\n AbbrevationDeviceSize,\n MetaobjectDataModel,\n LayoutSetting,\n FindLayoutSettingFromLayout94,\n FormPropsBaseComponent,\n LayoutService\n} from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-barsa-form-side-content',\n templateUrl: './barsa-form-side-content.component.html',\n styleUrls: ['./barsa-form-side-content.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [LayoutService]\n})\nexport class BarsaFormSideContentComponent extends FormPropsBaseComponent implements OnInit {\n @HostBinding('class.smallDevice') _isSmallDevice = false;\n @HostBinding('style.background') _background: string;\n parameters: BarsaFormSideContentSetting;\n sideContentLayout: LayoutSetting | null;\n mainContentLayout: LayoutSetting | null;\n autoHeight: boolean;\n ngOnInit(): void {\n super.ngOnInit();\n this.sideContentLayout = FindLayoutSettingFromLayout94(this.layout94, this.parameters.SideContent);\n this.mainContentLayout = FindLayoutSettingFromLayout94(this.layout94, this.parameters.MainContent);\n this._background = this.parameters.BgColor || 'var(--sapBaseColor)';\n this.autoHeight = this.parameters.AutoHeight;\n }\n protected _isSmalDeviceSize(deviceSize: AbbrevationDeviceSize): boolean {\n const isSmallDevice = deviceSize === 's' || deviceSize === 'm' ? true : false;\n return isSmallDevice;\n }\n}\ninterface BarsaFormSideContentSetting extends MetaobjectDataModel {\n SideContent: string;\n MainContent: string;\n HideSideContentTitle: boolean;\n HideMainContentTitle: boolean;\n BgColor: string;\n MainContentWidth: string;\n AutoHeight: boolean;\n}\n","@if (sideContentLayout && mainContentLayout) {\n<fd-dynamic-side-content\n [class.rtl]=\"rtl\"\n fillEmptySpace\n [decrement]=\"'40px'\"\n [disable]=\"autoHeight\"\n [setMinHeight]=\"true\"\n>\n <fd-dynamic-side-content-side>\n <bsu-ly-layout-panel [config]=\"sideContentLayout\" [hideTitle]=\"parameters?.HideSideContentTitle === true\">\n </bsu-ly-layout-panel>\n </fd-dynamic-side-content-side>\n <fd-dynamic-side-content-main [style.width]=\"parameters?.MainContentWidth\">\n <bsu-ly-layout-panel [config]=\"mainContentLayout\" [hideTitle]=\"parameters?.HideMainContentTitle === true\">\n </bsu-ly-layout-panel>\n </fd-dynamic-side-content-main>\n</fd-dynamic-side-content>\n} @else {\n<fd-message-strip type=\"error\" [dismissible]=\"false\"\n >side content and main content does not defined correctly.</fd-message-strip\n>\n}\n<ng-template #error>\n <fd-message-strip type=\"error\" [dismissible]=\"false\"\n >side content and main content does not defined correctly.</fd-message-strip\n >\n</ng-template>\n","import { Directive, HostListener, Input, TemplateRef, Type } from '@angular/core';\nimport { DialogConfig, DialogService } from '@fundamental-ngx/core';\nimport { FileViewerComponent } from './file-viewer/file-viewer.component';\n\n@Directive({\n selector: '[diaogHandler]'\n})\nexport class DialogHandlerDirective {\n @Input() config: DialogConfig;\n @Input() component: Type<any> | TemplateRef<any>;\n constructor(private _dialogService: DialogService) {}\n @HostListener('click') _handleClick(): void {\n this._dialogService.open(this.component ?? FileViewerComponent, this.config);\n }\n}\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\nimport { LayoutPanelBaseComponent, LayoutService, LayoutSetting, FillAllLayoutControls } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-barsa-list-layout-panel',\n templateUrl: './barsa-list-layout-panel.component.html',\n styleUrls: ['./barsa-list-layout-panel.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [LayoutService]\n})\nexport class BarsaListLayoutPanelComponent extends LayoutPanelBaseComponent implements OnInit {\n layoutControls: LayoutSetting[] = [];\n ngOnInit(): void {\n super.ngOnInit();\n FillAllLayoutControls(this.config, this.layoutControls);\n }\n}\n","<ul fd-list>\n @for (item of layoutControls; track item; let i = $index) {\n <li fd-list-item>\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n selector: 'bsu-layout-control',\n name: 'LayoutControlComponent',\n index: i\n }\n \"\n ></ng-container>\n </li>\n }\n</ul>\n<ng-template\n #dynamicLayout\n let-index\n let-config\n let-selector=\"selector\"\n let-maxLabelWidth=\"maxLabelWidth\"\n let-name=\"name\"\n>\n <bnrc-dynamic-layout\n [config]=\"config\"\n [selector]=\"selector\"\n [name]=\"name\"\n [module]=\"'BarsaSapUi'\"\n [moduleFileName]=\"'BarsaSapUi'\"\n [maxLabelWidth]=\"(maxLabelWidth$ | async)!!\"\n [flex]=\"isSearchPanel ? 'unset' : config.Bounds.width\"\n [isSearchPanel]=\"isSearchPanel\"\n >\n </bnrc-dynamic-layout>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\nimport {\r\n LayoutPanelBaseComponent,\r\n LayoutService,\r\n LayoutSetting,\r\n MetaobjectDataModel,\r\n FindLayoutSettingFromLayout94,\r\n MoForReportModel\r\n} from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bsu-barsa-grid-layout-panel',\r\n templateUrl: './barsa-grid-layout-panel.component.html',\r\n styleUrls: ['./barsa-grid-layout-panel.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [LayoutService]\r\n})\r\nexport class BarsaGridLayoutPanelComponent extends LayoutPanelBaseComponent implements OnInit {\r\n layoutControls: LayoutSetting[] = [];\r\n parameters: BarsaGridLayoutPanelSetting;\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.parameters?.GridColumns?.MoDataList?.forEach((mo: MetaobjectDataModel) => {\r\n const gridColumn = <GridLayoutPanelColumnSetting>mo;\r\n gridColumn.$LayoutGroup = FindLayoutSettingFromLayout94(this.config, gridColumn.LayoutItemCaption);\r\n });\r\n }\r\n}\r\ninterface BarsaGridLayoutPanelSetting extends MetaobjectDataModel {\r\n GridColumns: MoForReportModel;\r\n Margin: string;\r\n CardMode: boolean;\r\n}\r\ninterface GridLayoutPanelColumnSetting extends MetaobjectDataModel {\r\n LayoutGridCol: number;\r\n ColLg: number;\r\n ColXl: number;\r\n ColMd: number;\r\n LayoutItemCaption: string;\r\n $LayoutGroup: LayoutSetting | null;\r\n}\r\n","@if (parameters?.CardMode) {\n<fd-card [style.margin]=\"parameters?.Margin\">\n <fd-card-content>\n <ng-container *ngTemplateOutlet=\"layoutGridTpl; context: { $implicit: true }\"></ng-container>\n </fd-card-content>\n</fd-card>\n} @else { @if (config) {\n<fd-layout-grid [style.margin]=\"parameters?.CardMode ? null : parameters?.Margin\">\n <div fdLayoutGridRow>\n @for (gridCol of parameters?.GridColumns?.MoDataList; track gridCol) {\n <div\n class=\"container\"\n [fdLayoutGridCol]=\"gridCol.LayoutGridCol\"\n [colMd]=\"gridCol.ColMd\"\n [colLg]=\"gridCol.ColLg\"\n [colXl]=\"gridCol.ColXl\"\n >\n @if (gridCol.$LayoutGroup) {\n <bnrc-dynamic-layout\n [config]=\"gridCol.$LayoutGroup\"\n [selector]=\"'bsu-ly-layout-panel'\"\n [name]=\"'LyLayoutPanelComponent'\"\n [module]=\"'BarsaSapUi'\"\n [moduleFileName]=\"'BarsaSapUi'\"\n [maxLabelWidth]=\"(maxLabelWidth$ | async)!!\"\n [flex]=\"isSearchPanel ? 'unset' : config.Bounds.width\"\n [isSearchPanel]=\"isSearchPanel\"\n >\n </bnrc-dynamic-layout>\n }\n <!-- <bsu-ly-layout-panel [hideTitle]=\"true\" class=\"panel-inside-layout\"> </bsu-ly-layout-panel> -->\n </div>\n }\n </div>\n</fd-layout-grid>\n} }\n<ng-template #layoutGridTpl let-cardMode>\n @if (config) {\n <fd-layout-grid [style.margin]=\"cardMode ? null : parameters?.Margin\">\n <div fdLayoutGridRow>\n @for (gridCol of parameters?.GridColumns?.MoDataList; track gridCol) {\n <div\n class=\"container\"\n [fdLayoutGridCol]=\"gridCol.LayoutGridCol\"\n [colMd]=\"gridCol.ColMd\"\n [colLg]=\"gridCol.ColLg\"\n [colXl]=\"gridCol.ColXl\"\n >\n @if (gridCol.$LayoutGroup) {\n <bnrc-dynamic-layout\n [config]=\"gridCol.$LayoutGroup\"\n [selector]=\"'bsu-ly-layout-panel'\"\n [name]=\"'LyLayoutPanelComponent'\"\n [module]=\"'BarsaSapUi'\"\n [moduleFileName]=\"'BarsaSapUi'\"\n [maxLabelWidth]=\"(maxLabelWidth$ | async)!!\"\n [flex]=\"isSearchPanel ? 'unset' : config.Bounds.width\"\n [isSearchPanel]=\"isSearchPanel\"\n >\n </bnrc-dynamic-layout>\n }\n <!-- <bsu-ly-layout-panel [hideTitle]=\"true\" class=\"panel-inside-layout\"> </bsu-ly-layout-panel> -->\n </div>\n }\n </div>\n </fd-layout-grid>\n }\n</ng-template>\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\nimport { BarsaApi, EjrayOlgo, FieldBaseComponent, LayoutSetting, MetaobjectDataModel } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-barsa-dynamic-field',\n templateUrl: './barsa-dynamic-field.component.html',\n styleUrls: ['./barsa-dynamic-field.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BarsaDynamicFieldComponent extends FieldBaseComponent implements OnInit {\n layoutControls: LayoutSetting[] = [];\n parameters: BarsaDynamicFieldSetting;\n error: string;\n componentUi: EjrayOlgo;\n ngOnInit(): void {\n super.ngOnInit();\n\n const paramFieldField = this.parameters.FieldEjrayOlgo;\n const mo: MetaobjectDataModel = BarsaApi.Common.Util.TryGetValue(this.context, 'FormPanelUi.Mo', null);\n let componentUiField = paramFieldField;\n if (!mo || !paramFieldField) {\n return;\n }\n if (!mo[paramFieldField] && mo.$FieldDict) {\n componentUiField = mo.$FieldDict[paramFieldField];\n if (!componentUiField) {\n this.error = 'invlaid setting for barsa dynamic field component.not found field component ui.';\n return;\n }\n }\n\n const componentUi = BarsaApi.Common.Util.TryGetValue(this.context, 'FormPanelUi.Mo.' + componentUiField, null);\n if (!componentUi) {\n this.error = 'component ui is null';\n return;\n }\n this.componentUi = componentUi;\n // ChangeLayoutInfoCustomUi(this.layoutInfo, componentUi);\n }\n}\ninterface BarsaDynamicFieldSetting extends MetaobjectDataModel {\n FieldEjrayOlgo: string;\n}\n","@if (!error) {\n<bnrc-field-ui\n [customField]=\"layoutInfo.FieldUi\"\n [componentUi]=\"componentUi\"\n [layoutInfo]=\"layoutInfo\"\n [inlineEdit]=\"inlineEdit\"\n [formHeight]=\"formHeight\"\n [focusControl]=\"focusControl\"\n></bnrc-field-ui>\n} @else {\n<fd-message-strip type=\"error\" [dismissible]=\"false\">\n {{ error }}\n</fd-message-strip>\n}\n","import { ChangeDetectionStrategy, Component, OnDestroy, OnInit } from '@angular/core';\nimport { getUniqueId } from 'barsa-novin-ray-core';\nimport { UiMultiSelectComboComponent } from '../ui-multi-select-combo/ui-multi-select-combo.component';\n\n@Component({\n selector: 'bsu-ui-multi-select-radio',\n templateUrl: './ui-multi-select-radio.component.html',\n styleUrls: ['./ui-multi-select-radio.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiMultiSelectRadioComponent extends UiMultiSelectComboComponent implements OnInit, OnDestroy {\n selectedItems: { id: string; txt: string }[] = [];\n maxWidth: any;\n dataList: any;\n id = getUniqueId(4);\n ngOnInit(): void {\n super.ngOnInit();\n\n this.context.fireEvent('TriggerClick', this.context, '');\n }\n ngAfterViewInit(): void {\n // overriede parent to avoid do more\n // super.ngAfterContentInit();\n }\n onItemClicked(item): void {\n this.selectedItems = [];\n this.selectedItems.push(item);\n this.value = item.id;\n this._raiseValueChanged();\n }\n}\n","<fd-form-group [isInline]=\"!parameters?.IsVertically && !(isMobile && parameters?.OnlyInMobileVertically)\">\n @for (item of dataList; track item; let i = $index; let first = $first) {\n <div fd-form-item>\n <fd-radio-button\n [value]=\"item.id\"\n [id]=\"'radio-' + id + i\"\n [name]=\"'radio' + id + i\"\n [disabled]=\"(disableOrReadonly$ | async)!!\"\n (click)=\"onItemClicked(item)\"\n [ngModel]=\"value\"\n [selectedValue]=\"value\"\n >\n {{ item.txt }}\n </fd-radio-button>\n </div>\n }\n</fd-form-group>\n","import { ChangeDetectionStrategy, Component, OnChanges, OnDestroy, OnInit } from '@angular/core';\nimport { getUniqueId } from 'barsa-novin-ray-core';\nimport { UiMultiSelectComboComponent } from '../ui-multi-select-combo/ui-multi-select-combo.component';\n\n@Component({\n selector: 'bsu-ui-multi-select-checkbox',\n templateUrl: './ui-multi-select-checkbox.component.html',\n styleUrls: ['./ui-multi-select-checkbox.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiMultiSelectCheckboxComponent\n extends UiMultiSelectComboComponent\n implements OnInit, OnDestroy, OnChanges\n{\n selectedItems: { id: string; txt: string }[] = [];\n maxWidth: any;\n dataList: any;\n id = getUniqueId(4);\n ngOnInit(): void {\n super.ngOnInit();\n\n this.context.fireEvent('TriggerClick', this.context, '');\n }\n\n protected _setDataList(): void {\n const store = this.context.store;\n this.dataList = store.data[store.root];\n this._handleSetValue();\n this._cdr.detectChanges();\n }\n _handleSetValue(): void {\n const store = this.context.store;\n const splitedValue: string[] = this.value.split(',');\n const dropDownValues: { id: string; txt: string; checked: boolean }[] = store.data[store.root];\n dropDownValues.forEach((item) => {\n const selected = splitedValue.find((c) => c === item.id);\n if (selected) {\n item.checked = true;\n this.selectedItems.push(item);\n }\n });\n }\n ngAfterViewInit(): void {\n // overriede parent to avoid do more\n // super.ngAfterContentInit();\n }\n onCheckedChange(item): void {\n item.checked = !item.checked;\n if (item.checked) {\n this.selectedItems.push(item);\n } else {\n this.selectedItems = this.selectedItems.filter((c) => c.id === item.id);\n }\n this.value = this.selectedItems.map((c) => (typeof c === 'string' ? c : c.id)).join(',');\n this._raiseValueChanged();\n }\n}\n","<fd-form-group [isInline]=\"!parameters?.IsVertically && !(isMobile && parameters?.OnlyInMobileVertically)\">\n @for (item of dataList; track item; let i = $index; let first = $first) {\n <div fd-form-item>\n <fd-checkbox\n [id]=\"id + i\"\n (change)=\"onCheckedChange(item)\"\n [ngModel]=\"item.checked\"\n [disabled]=\"(disableOrReadonly$ | async)!!\"\n [label]=\"item.txt\"\n >\n </fd-checkbox>\n </div>\n }\n</fd-form-group>\n","import { ChangeDetectionStrategy, Component, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { SliderComponent } from '@fundamental-ngx/core';\nimport { UiMultiSelectComboComponent } from '../ui-multi-select-combo/ui-multi-select-combo.component';\nimport { MetaobjectDataModel } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-ui-multi-select-slider',\n templateUrl: './ui-multi-select-slider.component.html',\n styleUrls: ['./ui-multi-select-slider.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiMultiSelectSliderComponent extends UiMultiSelectComboComponent implements OnInit, OnDestroy {\n @ViewChild(SliderComponent, { static: true }) slider: SliderComponent;\n selectedValue: { value: string; label: string };\n sliderWidth: number;\n parameters: MultiSelectSliderSetting | MetaobjectDataModel;\n ngOnInit(): void {\n super.ngOnInit();\n this.context.fireEvent('TriggerClick', this.context, '');\n if (this.slider) {\n this.slider.registerOnChange((val: any) => {\n if (this.value !== val.value) {\n this.value = val.value;\n this._raiseValueChanged();\n }\n });\n }\n }\n\n protected _setDataList(): void {\n const store = this.context.store;\n this.dataList = store.data[store.root];\n this.dataList.forEach((c) => {\n c.value = c.id;\n c.label = c.txt;\n });\n\n this._handleSetValue();\n\n this._cdr.detectChanges();\n }\n _handleSetValue(): void {\n const store = this.context.store;\n const splitedValue: string[] = this.value.split(',');\n const dropDownValues: { id: string; txt: string; checked: boolean }[] = store.data[store.root];\n dropDownValues.forEach((item) => {\n const selected = splitedValue.find((c) => c === item.id);\n if (selected) {\n this.selectedValue = { value: item.id, label: item.txt };\n }\n });\n }\n ngAfterViewInit(): void {\n // overriede parent to avoid do more\n // super.ngAfterContentInit();\n }\n}\ninterface MultiSelectSliderSetting extends MetaobjectDataModel {\n MaxWidth: number;\n}\n","<fd-slider\n [style.width.px]=\"parameters?.MaxWidth > 0 ? parameters.MaxWidth : null\"\n [disabled]=\"(disableOrReadonly$ | async) === true ? true : false\"\n [(ngModel)]=\"selectedValue\"\n [showTicks]=\"true\"\n [showTicksLabels]=\"true\"\n [customValues]=\"dataList\"\n>\n</fd-slider>\n","import { ChangeDetectionStrategy, Component, OnDestroy, OnInit } from '@angular/core';\nimport { getUniqueId } from 'barsa-novin-ray-core';\nimport { UiMultiSelectComboComponent } from '../ui-multi-select-combo/ui-multi-select-combo.component';\n\n@Component({\n selector: 'bsu-ui-multi-select-card',\n templateUrl: './ui-multi-select-card.component.html',\n styleUrls: ['./ui-multi-select-card.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiMultiSelectCardComponent extends UiMultiSelectComboComponent implements OnInit, OnDestroy {\n selectedItems: { id: string; txt: string }[] = [];\n maxWidth: any;\n dataList: any;\n id = getUniqueId(4);\n ngOnInit(): void {\n super.ngOnInit();\n this.context.fireEvent('TriggerClick', this.context, '');\n }\n ngAfterViewInit(): void {\n // overriede parent to avoid do more\n // super.ngAfterContentInit();\n }\n onRadioClicked(item): void {\n this.selectedItems.push(item);\n this.value = item.id;\n this._raiseValueChanged();\n }\n}\n","<fd-form-group [isInline]=\"!parameters?.IsVertically && !(isMobile && parameters?.OnlyInMobileVertically)\">\n @for (item of dataList; track item; let i = $index; let first = $first) {\n <div fd-form-item>\n <fd-card>\n <fd-card-content>\n <img\n width=\"90px\"\n [src]=\"item.fileId | picFieldSrc: 'PictureFileInfo':item.Id:item.fieldDefId\"\n [alt]=\"item.txt\"\n [attr.aria-label]=\"item.txt\"\n [title]=\"item.txt\"\n />\n </fd-card-content>\n <fd-card-header (click)=\"onRadioClicked(item)\">\n <fd-radio-button\n fd-card-title\n [value]=\"item.id\"\n [id]=\"'radio-' + id + i\"\n [name]=\"'radio' + id + i\"\n [disabled]=\"(disableOrReadonly$ | async)!!\"\n [ngModel]=\"value\"\n [selectedValue]=\"value\"\n >\n {{ item.txt }}\n </fd-radio-button>\n </fd-card-header>\n </fd-card>\n </div>\n }\n</fd-form-group>\n","import { ChangeDetectionStrategy, Component, OnDestroy, OnInit } from '@angular/core';\nimport { MetaobjectDataModel, MoForReportModel } from 'barsa-novin-ray-core';\nimport { UiMultiSelectSliderComponent } from '../ui-multi-select-slider/ui-multi-select-slider.component';\n\n@Component({\n selector: 'bsu-ui-multi-select-smile',\n templateUrl: './ui-multi-select-smile.component.html',\n styleUrls: ['./ui-multi-select-smile.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiMultiSelectSmileComponent extends UiMultiSelectSliderComponent implements OnInit, OnDestroy {\n smileIcons: SmileSetting[];\n parameters: MultiSelectSmileSetting;\n ngOnInit(): void {\n super.ngOnInit();\n this.smileIcons = this.parameters.FacesMode.MoDataList as SmileSetting[];\n }\n onItemClicked(smile: SmileSetting): void {\n const item = this.dataList.find((c) => c.txt === smile.FaceModeValue);\n if (item) {\n this.value = item.id;\n this.selectedValue = { value: item.id, label: item.txt };\n this._raiseValueChanged();\n }\n }\n}\ninterface MultiSelectSmileSetting extends MetaobjectDataModel {\n FacesMode: MoForReportModel;\n SizeValue$Caption: string;\n}\ninterface SmileSetting extends MetaobjectDataModel {\n FaceMode$Caption: string;\n FaceModeText: string;\n FaceModeValue: string;\n FaceColor: string;\n}\n","<fd-form-group [isInline]=\"!parameters?.IsVertically && !(isMobile && parameters?.OnlyInMobileVertically)\">\n @for (item of smileIcons; track item; let i = $index; let first = $first) {\n <div fd-form-item (click)=\"onItemClicked(item)\">\n <div class=\"fd-avatar\" [ngClass]=\"'fd-avatar--' + parameters.SizeValue$Caption\">\n <fd-icon\n class=\"fd-avatar__icon\"\n [glyph]=\"item.FaceMode$Caption\"\n font=\"BusinessSuiteInAppSymbols\"\n [style.color]=\"selectedValue?.label === item.FaceModeValue ? item.FaceColor : '#d4d4d4'\"\n >\n </fd-icon>\n <span>{{ item.FaceModeText | bbbTranslate }}</span>\n </div>\n </div>\n }\n</fd-form-group>\n<!-- [class.selected]=\"selectedValue?.label === item.FaceModeValue\" -->\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { SliderComponent } from '@fundamental-ngx/core';\n\nimport { FieldBaseComponent, MetaobjectDataModel } from 'barsa-novin-ray-core';\n@Component({\n selector: 'bsu-ui-num-int-slider',\n templateUrl: './ui-num-int-slider.component.html',\n styleUrls: ['./ui-num-int-slider.component.scss']\n})\nexport class UiNumIntSliderComponent extends FieldBaseComponent implements OnInit {\n @ViewChild(SliderComponent, { static: true }) slider: SliderComponent;\n parameters: NumIntSliderSetting;\n ngOnInit(): void {\n super.ngOnInit();\n this.slider.registerOnChange((val) => {\n if (this.value !== val) {\n this.value = val;\n this.valueChange.emit(this.value);\n }\n });\n }\n}\ninterface NumIntSliderSetting extends MetaobjectDataModel {\n Min: number;\n Max: number;\n Step: number;\n MaxWidth: number;\n}\n","<fd-slider\n [disabled]=\"(disableOrReadonly$ | async) === true ? true : false\"\n [min]=\"+parameters.Min\"\n [max]=\"+parameters.Max\"\n [step]=\"+parameters.Step\"\n [value]=\"+value\"\n [tickmarksBetweenLabels]=\"1\"\n [showTicks]=\"true\"\n [showTicksLabels]=\"true\"\n [style.width.px]=\"parameters.MaxWidth > 0 ? parameters.MaxWidth : null\"\n>\n</fd-slider>\n","import { Component, ChangeDetectionStrategy, Output, EventEmitter } from '@angular/core';\nimport { BaseComponent, MetaobjectDataModel } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-barsa-report-checkbox-switch-button',\n templateUrl: './barsa-report-checkbox-switch-button.component.html',\n styleUrls: ['./barsa-report-checkbox-switch-button.component.scss'],\n providers: [],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BarsaReportCheckboxSwitchButtonComponent extends BaseComponent {\n @Output() events = new EventEmitter<void>();\n activeText: string;\n inactiveText: string;\n semantic: boolean;\n parameters: MetaobjectDataModel;\n value: boolean;\n ngOnInit(): void {\n super.ngOnInit();\n this.activeText = this.parameters?.ActiveText;\n this.inactiveText = this.parameters?.InactiveText;\n this.semantic = this.parameters?.Semantic;\n }\n onCheckChange(): void {\n this.events.emit();\n }\n}\n","<fd-switch\n [activeText]=\"activeText\"\n [inactiveText]=\"inactiveText\"\n (change)=\"onCheckChange()\"\n [checked]=\"value\"\n [semantic]=\"semantic\"\n></fd-switch>\n","import { ChangeDetectionStrategy, Component, inject, Input, ViewChild } from '@angular/core';\nimport {\n getDeviceIsMobile,\n MetaobjectDataModel,\n ReportViewBaseComponent,\n UiReportViewBaseSetting,\n MenuItem\n} from 'barsa-novin-ray-core';\nimport { DialogConfig, DialogService, InputGroupComponent, PopoverComponent } from '@fundamental-ngx/core';\nimport { ActivatedRoute, Router } from '@angular/router';\n\n@Component({\n selector: 'bsu-barsa-report-one-of-list',\n templateUrl: './barsa-report-one-of-list.component.html',\n styleUrls: ['./barsa-report-one-of-list.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BarsaReportOneOfListComponent extends ReportViewBaseComponent<BarsaReportOneOfListSetting> {\n @Input() disabled: boolean;\n @ViewChild('InputGroupRef', { static: true }) _inputGroupRef: InputGroupComponent;\n @ViewChild('popover', { static: true }) popover: PopoverComponent;\n private _dialogService = inject(DialogService);\n private _router = inject(Router);\n private _activatedRoute = inject(ActivatedRoute);\n records: MetaobjectDataModel[];\n lastRecord: any;\n caption = '';\n isMobile = getDeviceIsMobile();\n customButtons: MenuItem[] = [];\n ngOnInit(): void {\n super.ngOnInit();\n this._mapMoListToRecords(this.moDataList);\n this.customButtons = this.toolbarButtons.filter((tb) => tb && tb.Command && !tb.Command.IsBuiltin);\n }\n private _mapMoListToRecords(molist: MetaobjectDataModel[]): void {\n this.records = molist;\n this.lastRecord = this.records[0];\n }\n onAdd(popover): void {\n popover?.close();\n const addBtn = this.getNewButton;\n if (addBtn) {\n (addBtn as any).handler(addBtn);\n }\n }\n get getNewButton(): MenuItem | undefined {\n return this.toolbarButtons.find((tb) => tb?.itemId === 'New');\n }\n open(popover, dialogTemplate): void {\n if (this.isMobile) {\n const dialogConfig: DialogConfig = {\n mobile: true\n };\n this._dialogService.open(dialogTemplate, dialogConfig);\n } else {\n popover.open();\n }\n }\n close(popover, dialogRef): void {\n if (dialogRef) {\n dialogRef.dismiss('Cancel');\n } else {\n popover.close();\n }\n }\n openInIndependentFormClicked(): void {\n const queryParams = {\n id: this.viewSetting.RelatedReport.Id\n };\n this._router.navigate(\n [\n 'formfieldshow',\n {\n outlets: {\n main: ['fieldshow', { ...queryParams }]\n }\n }\n ],\n {\n relativeTo: this._activatedRoute,\n state: {},\n queryParamsHandling: 'preserve',\n skipLocationChange: false\n }\n );\n }\n}\n\ninterface BarsaReportOneOfListSetting extends UiReportViewBaseSetting {\n DbColumnName: string;\n OpenInIndependentForm: string;\n RelatedReport: MetaobjectDataModel;\n}\n","<div class=\"relative\" #containerRef>\n <input\n fd-form-control\n [readonly]=\"true\"\n [ngModel]=\"viewSetting.DbColumnName | rval: lastRecord:allColumns:true\"\n class=\"revert-readonly-bg\"\n />\n <div class=\"!absolute left-0 top-[0.1875rem] flex\">\n @if (viewSetting.OpenInIndependentForm) {\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"popup-window\"\n ariaLabel=\"Open in an independent form\"\n title=\"Open in an independent form\"\n (click)=\"openInIndependentFormClicked()\"\n ></button>\n }\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"list\"\n ariaLabel=\"Show list\"\n title=\"Show list\"\n (click)=\"open(popover, dialogTemplate)\"\n ></button>\n </div>\n <fd-popover\n #popover\n placement=\"bottom-end\"\n [focusTrapped]=\"true\"\n [focusAutoCapture]=\"true\"\n [appendTo]=\"containerRef\"\n class=\"!block\"\n >\n <fd-popover-body [style.width.px]=\"containerRef.offsetWidth\">\n <ng-container *ngTemplateOutlet=\"middle\"></ng-container>\n <div fd-popover-body-footer>\n <ng-container *ngTemplateOutlet=\"footer\"></ng-container>\n </div>\n </fd-popover-body>\n </fd-popover>\n</div>\n<ng-template #middle>\n <bsu-ulv-toolbar\n [hideToolbar]=\"customButtons.length === 0\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [toolbarButtons]=\"customButtons\"\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\n [title]=\"isMobile ? title : ''\"\n [access]=\"access\"\n [isMultiSelect]=\"isMultiSelect\"\n [inDialog]=\"inDialog\"\n [hasSelected]=\"hasSelected\"\n [contentDensity]=\"contentDensity\"\n [inlineEditMode]=\"false\"\n [allowInlineEdit]=\"false\"\n [moDataListCount]=\"moDataList.length\"\n [gridFreeColumnSizing]=\"gridFreeColumnSizing\"\n ></bsu-ulv-toolbar>\n <bsu-ui-table-view\n [gridFreeColumnSizing]=\"gridFreeColumnSizing\"\n [cartableTemplates]=\"cartableTemplates\"\n [parentHeight]=\"parentHeight\"\n [fullscreen]=\"fullscreen\"\n [selectedMo]=\"selectedMo\"\n [rtl]=\"rtl\"\n [inDialog]=\"inDialog\"\n [isMultiSelect]=\"isMultiSelect\"\n [cartableChildsMo]=\"cartableChildsMo\"\n [contextView]=\"contextView\"\n [isCheckList]=\"isCheckList\"\n [allChecked]=\"allChecked\"\n [moDataList]=\"moDataList\"\n [access]=\"access\"\n [hasInlineDeleteButton]=\"true\"\n [hasInlineEditButton]=\"true\"\n [toolbarButtons]=\"toolbarButtons\"\n [groupby]=\"groupby\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [conditionalFormats]=\"conditionalFormats\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [navigationArrow]=\"navigationArrow\"\n [title]=\"title\"\n [mobileOrTablet]=\"mobileOrTablet\"\n [disableResponsive]=\"disableResponsive\"\n [popin]=\"popin\"\n [secondaryColumns]=\"secondaryColumns\"\n [contextMenuItems]=\"contextMenuItems\"\n [inlineEditMode]=\"inlineEditMode && allowInlineEdit\"\n [allowInlineEdit]=\"allowInlineEdit\"\n [columns]=\"columns\"\n [columnWidth]=\"100 / columns.length\"\n [columnsCount]=\"columnsCount\"\n [rowHoverable]=\"rowHoverable\"\n [rowActivable]=\"rowActivable\"\n [formSetting]=\"formSetting\"\n [typeDefId]=\"typeDefId\"\n [reportId]=\"reportId\"\n [listEditViewId]=\"listEditViewId\"\n [typeViewId]=\"typeViewId\"\n [extraRelation]=\"extraRelation\"\n [showOkCancelButtons]=\"showOkCancelButtons\"\n [fitWidth]=\"false\"\n [hasSummary]=\"hasSummary\"\n [newInlineEditMo]=\"newInlineEditMo\"\n (ulvCommandClick)=\"onUlvCommand($event)\"\n (selectNextInlineRecord)=\"onSelectNextInlineRecord($event)\"\n (editFormPanelCancel)=\"onEditFormPanelCancel($event)\"\n (editFormPanelSave)=\"onEditFormPanelSave($event)\"\n (editFormPanelValueChange)=\"onEditFormPanelValueChange($event)\"\n (sortAscending)=\"onSortAscending($event)\"\n (sortDescending)=\"onSortDescending($event)\"\n (filter)=\"onFilter($event)\"\n (rowClick)=\"onRowClick($event)\"\n (rowCheck)=\"onRowCheck($event)\"\n (allCheckbox)=\"onAllCheckbox($event)\"\n (expandClick)=\"onExpandClick($event)\"\n (workflowShareButtons)=\"onWorkflowShareButtons($event)\"\n >\n </bsu-ui-table-view>\n</ng-template>\n<ng-template #footer let-dialog=\"dialog\" let-popover=\"popover\">\n <div fd-bar [barDesign]=\"'footer'\">\n <div fd-bar-right>\n <fd-button-bar\n [label]=\"getNewButton?.text ?? ''\"\n fdType=\"emphasized\"\n (click)=\"onAdd(popover)\"\n bodyClick\n glyph=\"add\"\n ></fd-button-bar>\n <fd-button-bar\n fdType=\"transparent\"\n label=\"بستن\"\n (click)=\"close(popover, dialog)\"\n ariaLabel=\"Close\"\n ></fd-button-bar>\n </div>\n </div>\n</ng-template>\n\n<ng-template [fdDialogTemplate] let-dialog let-dialogConfig=\"dialogConfig\" #dialogTemplate>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\n <fd-dialog-header>\n <h1 id=\"fd-dialog-header-3\" fd-title>{{ title }}</h1>\n <button fd-dialog-close-button (click)=\"dialog.dismiss()\"></button>\n </fd-dialog-header>\n <fd-dialog-body class=\"!pt-0\">\n <ng-container *ngTemplateOutlet=\"middle\"></ng-container>\n </fd-dialog-body>\n <fd-dialog-footer>\n <ng-container *ngTemplateOutlet=\"footer; context: { dialog: dialog }\"></ng-container>\n </fd-dialog-footer>\n </fd-dialog>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\nimport { SafeHtml } from '@angular/platform-browser';\r\n\r\nimport { BaseViewItemPropsComponent, MetaobjectDataModel } from 'barsa-novin-ray-core';\r\n@Component({\r\n selector: 'bsu-barsa-card-row-payam',\r\n templateUrl: './barsa-card-row-payam.component.html',\r\n styleUrls: ['./barsa-card-row-payam.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class BarsaCardRowPayamComponent extends BaseViewItemPropsComponent implements OnInit {\r\n hideContent = false;\r\n content: SafeHtml;\r\n parameters: BarsaCardRowPayam;\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.content = this._domSanitizer.bypassSecurityTrustHtml(\r\n `<div style=\"color:black;font-size:12pt;font-family:Calibri,Helvetica,sans-serif;\">okkkk</div>`\r\n );\r\n }\r\n}\r\ninterface BarsaCardRowPayam extends MetaobjectDataModel {\r\n FieldTitle: string;\r\n FieldDateTimeLeft: string;\r\n FieldDateTimeRight: string;\r\n ShowAttachments: boolean;\r\n FieldAttachments: string;\r\n}\r\n","<fd-card cardType=\"object\" class=\"docs-flex-item-margin\">\n <fd-card-header (click)=\"hideContent = !hideContent\" bodyClick style=\"border-bottom: none\">\n <fd-avatar\n image=\"http://picsum.photos/id/1018/400\"\n [circle]=\"true\"\n size=\"s\"\n ariaLabel=\"avatar image\"\n title=\"avatar image\"\n ></fd-avatar>\n <h2 fd-card-title>\n <div style=\"display: flex; column-gap: 1.275rem\">\n <span>محمدرضامحمدی</span>\n <fd-object-attribute style=\"direction: ltr\">خوانده در: 1402/12/28 14:20 </fd-object-attribute>\n <span fd-object-status status=\"negative\" label=\"خیلی مهم\" aria-label=\"خیلی مهم\"></span>\n </div>\n <div style=\"position: absolute; left: 1.2rem; top: 50%\"><fd-icon [glyph]=\"'attachment'\"></fd-icon></div>\n </h2>\n\n <h3 fd-card-subtitle>\n @if (hideContent) {\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n } @if (!hideContent) {\n <ng-container *ngTemplateOutlet=\"toTpl\"></ng-container>\n }\n </h3>\n @if (hideContent) {\n <span fd-card-counter><div style=\"direction: ltr\">1402/12/28 14:20</div> </span>\n } @if (!hideContent) {\n <span\n fd-card-counter\n ulvContextMenu\n [menuItems]=\"contextMenuItems\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n ></span>\n }\n </fd-card-header>\n @if (!hideContent) {\n <fd-card-content>\n <ng-container *ngTemplateOutlet=\"attachmentsTpl\"></ng-container>\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n </fd-card-content>\n }\n</fd-card>\n\n<ng-template #contentTpl>\n <div style=\"padding-top: 0.5rem; margin-top: 1rem; border-top: 1px solid #ccc\" [innerHtml]=\"content\"></div>\n</ng-template>\n\n<ng-template #toTpl>\n <div>To: من</div>\n <div>Cc: من</div>\n</ng-template>\n<ng-template #attachmentsTpl>\n <div class=\"file-viewer-attachments\">\n @for (file of mo.F5.Files; track file) { @if (!file.IsDeleted) {\n <bsu-file-viewer-popover\n [file]=\"file\"\n [files]=\"mo.F5.Files\"\n [deviceSize]=\"deviceSize\"\n [canDownload]=\"true\"\n [disableRemove]=\"true\"\n [fdType]=\"'transparent'\"\n ></bsu-file-viewer-popover>\n } }\n </div>\n @if (mo.F5.Files.length > 1) {\n <button\n fd-button\n [fdType]=\"'transparent'\"\n [label]=\"'Download' | bbbTranslate: 'All'\"\n [glyph]=\"'download'\"\n downloadFiles\n [files]=\"mo.F5.Files\"\n ></button>\n }\n</ng-template>\n","import { ChangeDetectionStrategy, Component, SimpleChanges } from '@angular/core';\nimport { BaseViewItemPropsComponent, getDeviceIsMobile } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-barsa-question-post',\n templateUrl: './barsa-question-post.component.html',\n styleUrls: ['./barsa-question-post.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BarsaQuestionPostComponent extends BaseViewItemPropsComponent {\n isMobile = getDeviceIsMobile();\n ngOnChanges(changes: SimpleChanges): void {\n super.ngOnChanges(changes);\n const { mo } = changes;\n if (mo && !mo.firstChange) {\n this.mo = mo.currentValue;\n this._cdr.detectChanges();\n }\n }\n onRowClick(): void {\n this.events.emit({ title: 'rowClick', data: { mo: this.mo, index: this.index } });\n }\n}\n","<div class=\"tw-w-full tw-flex tw-items-start tw-gap-2 tw-pt-8\">\n @if (!isMobile) {\n <div class=\"tw-shrink-0 tw-grow-0 tw-w-12\">\n <div class=\"tw-size-10 tw-rounded-full tw-bg-gray-500 tw-overflow-hidden\">\n <img src=\"https://picsum.photos/50/50?x={{ 'عنوان' | rval: mo:allColumns:true }}\" class=\"w-full h-full\" />\n </div>\n </div>\n } @if (isMobile) {\n <div\n class=\"tw-shrink-0 tw-grow-0 tw-py-1 tw-text-center tw-w-10 tw-border tw-rounded-md\"\n [ngClass]=\"{\n 'tw-border-gray-500 tw-text-gray-500': mo.F4 === '0',\n 'tw-border-green-600 tw-text-green-600': mo.F4 !== '0',\n 'tw-bg-green-600 tw-text-white': !!('پاسخ صحیح' | rval: mo:allColumns:true)\n }\"\n >\n {{ mo.TotalVotes$Caption }}\n </div>\n }\n <div class=\"tw-grow tw-shrink tw-flex tw-flex-col tw-gap-2\">\n <div class=\"tw-w-full tw-flex tw-justify-between\">\n <div class=\"tw-grow tw-flex tw-flex-col tw-gap-1\">\n <span class=\"!tw-text-[.75rem]\">\n <span class=\"tw-font-bold\">{{ 'کاربر ایجاد کننده' | rval: mo:allColumns:true }}</span>\n پرسیده است\n <span class=\"tw-font-bold\">|</span>\n {{ 'زمان ایجاد' | rval: mo:allColumns:true }}\n </span>\n <a\n fd-link\n aria-label=\"Standard\"\n (click)=\"onRowClick()\"\n class=\"!tw-text-[1rem] hover:tw-cursor-pointer !tw-no-underline tw-transition-all\"\n >\n {{ 'عنوان' | rval: mo:allColumns:true }}\n @if (mo.IsClosed) {\n <span class=\"tw-black tw-text-sm tw-ms-1\">[بسته شده]</span>\n }\n </a>\n <div class=\"!tw-text-[.75rem] tw-flex tw-gap-2\">\n <span>\n <span class=\"tw-font-bold\">{{ 'کاربر ایجاد کننده' | rval: mo:allColumns:true }}</span>\n ویرایش کرده است\n </span>\n <span class=\"tw-font-bold\">|</span>\n {{ 'زمان آخرین تغییر' | rval: mo:allColumns:true }}\n </div>\n @if (!isMobile && mo.Tags.MoDataList.length) {\n <div class=\"tw-text-small tw-flex tw-gap-2 tw-flex-wrap\">\n @for (tag of mo.Tags.MoDataList; track tag; let last = $last) {\n <a\n class=\"tw-text-[.625rem] tw-block hover:tw-cursor-pointer tw-border tw-border-solid tw-border-transparent tw-whitespace-nowrap tw-text-blue-800 hover:tw-text-blue-700 tw-py-0.5 tw-px-1.5 tw-rounded-md tw-bg-[rgb(237,245,253)] tw-no-underline hover:tw-border-[rgb(203,231,255)] tw-transition-all\"\n >{{ tag.$Caption }}</a\n >\n }\n </div>\n }\n </div>\n @if (!isMobile) {\n <div class=\"tw-shrink-0 tw-grow-0 tw-flex tw-gap-1 tw-items-start\">\n <div\n class=\"!tw-text-[.75rem] tw-px-2 py-1 tw-rounded-md tw-flex tw-flex-col tw-gap-2 tw-items-center\"\n [ngClass]=\"{\n 'tw-bg-green-100': mo.CorrectAnswer\n }\"\n >\n <span>پاسخ ها</span>\n <span>{{ mo.CountOfAnswers }}</span>\n </div>\n <div\n class=\"!tw-text-[.75rem] tw-px-2 tw-py-1 tw-rounded-lg tw-flex tw-flex-col tw-gap-2 tw-items-center\"\n >\n <span>رای ها</span>\n <span>{{ 'مجموع رای ها' | rval: mo:allColumns:true }}</span>\n </div>\n </div>\n }\n </div>\n </div>\n</div>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n HostBinding,\n HostListener,\n inject,\n Input,\n OnChanges,\n Output\n} from '@angular/core';\n\n@Component({\n selector: 'bsu-barsa-chip',\n templateUrl: './barsa-chip.component.html',\n styleUrls: ['./barsa-chip.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BarsaChipComponent implements OnChanges {\n @Input() title = '';\n @Input() moreInfo = '';\n @Input() canCheck: boolean;\n @Output() checkedChange = new EventEmitter<any>();\n @Input() set isChecked(value: boolean) {\n this._isChecked = value;\n }\n private _cdr = inject(ChangeDetectorRef);\n private _isChecked = false;\n @HostBinding('class') get getClass(): string {\n return `tw-block tw-rounded-md tw-whitespace-nowrap tw-w-fit tw-max-w-full tw-truncate tw-border\n tw-border-transparent tw-bg-blue-50 tw-py-0.5 tw-px-1.5 tw-text-blue-800 tw-transition-all`;\n }\n @HostBinding('class.tw-cursor-pointer') get cursorPointer(): boolean {\n return this.canCheck;\n }\n @HostBinding('class.hover:tw-text-blue-700') get hoverTextColor(): boolean {\n return this.canCheck;\n }\n @HostBinding('class.!tw-border-blue-800') get border(): boolean {\n return this.canCheck && this._isChecked;\n }\n @HostBinding('class.!tw-bg-blue-100') get bgSelectedHover(): boolean {\n return this.canCheck && this._isChecked;\n }\n @HostListener('click') onRowClick(): void {\n this.checkedChange.emit(this.isChecked);\n }\n ngOnChanges(changes): void {\n this._isChecked = !!changes.isChecked?.currentValue;\n this._cdr.detectChanges();\n }\n}\n","{{ title }} @if (moreInfo) { ({{ moreInfo }}) }\n","import { Component, EventEmitter, inject, Input, Output } from '@angular/core';\nimport { MetaobjectDataModel, UploadService } from 'barsa-novin-ray-core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Component({\n selector: 'bsu-barsa-question-answer-content-actions-section',\n templateUrl: './barsa-question-answer-content-actions-section.component.html',\n styleUrls: ['./barsa-question-answer-content-actions-section.component.css'],\n providers: [UploadService],\n host: {\n class: 'w-full flex grow shrink flex-col'\n }\n})\nexport class BarsaQuestionAnswerContentActionsSectionComponent {\n @Input() mo: MetaobjectDataModel;\n @Input() buttons: any[];\n @Output() btnClick = new EventEmitter();\n\n private _domSanitizer = inject(DomSanitizer);\n safeHtml(html): SafeHtml {\n return this._domSanitizer.bypassSecurityTrustHtml(html ?? '');\n }\n}\n","<div class=\"tw-my-4 [&_*]:!tw-bg-transparent\" [innerHTML]=\"safeHtml(mo.Post.Content)\"></div>\n<div class=\"tw-grow tw-shrink\"></div>\n<div class=\"tw-flex tw-justify-between tw-items-center\">\n @if (mo.Tags?.MoDataList) {\n <div class=\"tw-flex tw-gap-3\">\n @for (tag of mo.Tags.MoDataList; track tag) {\n <bsu-barsa-chip [title]=\"tag.$Caption\"></bsu-barsa-chip>\n }\n </div>\n }\n <div class=\"tw-flex tw-gap-3\">\n @for (item of buttons; track item) { @if (!item.hidden && !item.isBuiltin) {\n <a\n fd-link\n aria-label=\"Emphasized\"\n class=\"!hover:tw-cursor-pointer !tw-no-underline\"\n (click)=\"btnClick.emit(); item.handler(item, item)\"\n [disabled]=\"item.disabled\"\n >{{ item.text }}</a\n >\n } }\n </div>\n</div>\n","import { Component, EventEmitter, Input, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { BaseComponent, UploadService } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-barsa-question-answer-vote-section',\n templateUrl: './barsa-question-answer-vote-section.component.html',\n styleUrls: ['./barsa-question-answer-vote-section.component.css'],\n providers: [UploadService]\n})\nexport class BarsaQuestionAnswerVoteSectionComponent extends BaseComponent implements OnInit {\n @Input() vote: boolean | string;\n @Input() voteDowns: number;\n @Input() voteUps: number;\n @Output() voteChange = new EventEmitter<boolean>();\n\n ngOnChanges(changes: SimpleChanges): void {\n super.ngOnChanges(changes);\n }\n onVote(isPositive: boolean): void {\n this.voteChange.emit(isPositive);\n // if (this.post.CurrentUserVote?.Vote !== isPositive) {\n // let previousVote = { ...this.post.CurrentUserVote };\n // if (this.post.CurrentUserVote.Vote !== '') {\n // if (!this.post.CurrentUserVote.Vote && isPositive) {\n // this.post.VoteUps++;\n // this.post.VoteDowns--;\n // } else if (this.post.CurrentUserVote.Vote && !isPositive) {\n // this.post.VoteUps--;\n // this.post.VoteDowns++;\n // }\n // this.post.CurrentUserVote.Vote = isPositive;\n // } else {\n // if (isPositive) {\n // this.post.VoteUps++;\n // } else {\n // this.post.VoteDowns++;\n // }\n // this.post.CurrentUserVote = {\n // Vote: isPositive\n // };\n // }\n // BarsaApi.Bw.RunBlMethodAsync({\n // Method: 'VoteOnPost',\n // Parameters: [this.post.Id, isPositive],\n // SuccessFn: () => {\n // }, FailedFn: () => {\n // this.post.CurrentUserVote = previousVote;\n // if (this.post.CurrentUserVote.Vote !== '') {\n // if (!this.post.CurrentUserVote.Vote && isPositive) {\n // this.post.VoteUps--;\n // this.post.VoteDowns++;\n // } else if (this.post.CurrentUserVote.Vote && !isPositive) {\n // this.post.VoteUps++;\n // this.post.VoteDowns--;\n // }\n // } else {\n // if (isPositive) {\n // this.post.VoteUps--;\n // } else {\n // this.post.VoteDowns--;\n // }\n // }\n // this._cdr.markForCheck();\n // }\n // });\n // }\n }\n protected readonly toolbar = toolbar;\n}\n","<div class=\"tw-flex tw-items-stretch tw-grow tw-shrink-0\">\n <div class=\"tw-flex tw-flex-col tw-tems-center tw-gap-1 tw-shrink-0 tw-grow-0\">\n <button\n fd-button\n [fdType]=\"vote === '' ? 'standard' : vote ? 'positive' : 'standard'\"\n glyph=\"add\"\n class=\"!tw-max-w-8 !tw-max-h-8 !tw-size-8 !tw-rounded-full !tw-border-2\"\n (click)=\"onVote(true)\"\n ></button>\n <span class=\"tw-text-lg tw-font-bold\" dir=\"ltr\">{{ voteUps - voteDowns }}</span>\n <button\n fd-button\n [fdType]=\"vote === '' ? 'standard' : !vote ? 'negative' : 'standard'\"\n glyph=\"less\"\n class=\"!tw-max-w-8 !tw-max-h-8 !tw-size-8 !tw-rounded-full !tw-border-2\"\n (click)=\"onVote(false)\"\n ></button>\n </div>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { MetaobjectDataModel, UploadService } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-barsa-question-answer-creator-time-section',\n templateUrl: './barsa-question-answer-creator-time-section.component.html',\n styleUrls: ['./barsa-question-answer-creator-time-section.component.css'],\n providers: [UploadService]\n})\nexport class BarsaQuestionAnswerCreatorTimeSectionComponent {\n @Input() post: MetaobjectDataModel;\n}\n","<p>\n {{ post.CreatorUser$Caption }}\n</p>\n<p>\n {{ post.CreationDate$Caption }}\n</p>\n","import { ChangeDetectorRef, Component, EventEmitter, inject, Input, Output } from '@angular/core';\nimport { BarsaApi } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-barsa-question-answer-form-add-comment',\n templateUrl: './barsa-question-answer-form-add-comment.component.html',\n styleUrls: ['./barsa-question-answer-form-add-comment.component.css'],\n host: {\n class: 'w-full'\n }\n})\nexport class BarsaQuestionAnswerFormAddCommentComponent {\n @Input() postId: string;\n @Output() addComment = new EventEmitter<any>();\n private _cdr = inject(ChangeDetectorRef);\n newCommentText = '';\n showAddCommentTextArea = false;\n sending = false;\n onAddComment(): void {\n this.sending = true;\n BarsaApi.Bw.RunBlMethodAsync({\n Method: 'SabteNazar',\n Parameters: [this.postId, this.newCommentText],\n SuccessFn: (res) => {\n this.addComment.emit(res);\n this.sending = false;\n this.showAddCommentTextArea = false;\n this.newCommentText = '';\n this._cdr.markForCheck();\n },\n FailedFn: () => {\n this.sending = false;\n this._cdr.markForCheck();\n }\n });\n }\n}\n","@if (!showAddCommentTextArea) {\n<div class=\"tw-w-full tw-mt-2 tw-flex tw-gap-3\">\n <a\n fd-link\n aria-label=\"Emphasized\"\n class=\"hover:tw-cursor-pointer\"\n (click)=\"showAddCommentTextArea = true; newCommentText = ''\"\n >ارسال نظر</a\n >\n <ng-content></ng-content>\n</div>\n}\n<div [class.!flex]=\"showAddCommentTextArea\" class=\"tw-hidden tw-items-end tw-w-full tw-gap-4\">\n <textarea\n rows=\"3\"\n class=\"tw-block tw-p-2.5 tw-w-full tw-text-sm tw-text-gray-900 tw-bg-gray-50 tw-rounded-lg tw-border tw-border-gray-300\"\n placeholder=\"نظر شما...\"\n [disabled]=\"sending\"\n [(ngModel)]=\"newCommentText\"\n ></textarea>\n <div class=\"tw-flex tw-justify-end\">\n <button fd-button fdType=\"standard\" [disabled]=\"sending || newCommentText.length < 3\" (click)=\"onAddComment()\">\n ارسال\n </button>\n </div>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { MetaobjectDataModel, UploadService } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-barsa-question-answer-comments-section',\n templateUrl: './barsa-question-answer-comments-section.component.html',\n styleUrls: ['./barsa-question-answer-comments-section.component.css'],\n providers: [UploadService]\n})\nexport class BarsaQuestionAnswerCommentsSectionComponent {\n @Input() post: MetaobjectDataModel;\n}\n","<div class=\"tw-flex tw-w-full tw-flex-col tw-items-start\">\n <div class=\"tw-border-b tw-border-gray-300 tw-w-full tw-mt-2\"></div>\n @if (post.Comments.MoDataList.length > 2 && !post.showAllCommnets) {\n <ng-container\n *ngTemplateOutlet=\"CommentRows; context: { $implicit: post.Comments.MoDataList.slice(0, 2) }\"\n ></ng-container>\n } @else {\n <ng-container *ngTemplateOutlet=\"CommentRows; context: { $implicit: post.Comments.MoDataList }\"></ng-container>\n }\n <ng-template #CommentRows let-comments>\n @for (comment of comments; track comment) {\n <div class=\"tw-py-2 tw-border-b tw-border-gray-200 tw-text-sm tw-w-full\">\n <p>\n <a fd-link class=\"tw-inline\">{{ comment.CreatorUser$Caption.trim() }}</a>\n <span class=\"tw-text-gray-500\">({{ comment.CreationDate$Caption.trim() }}):</span>\n {{ comment.$Caption.trim() }}\n @if ( comment.LastUpdateDate && comment.LastUpdateDate.getTime() !== comment.CreationDate.getTime() ) {\n <span class=\"tw-italic tw-text-gray-500\">\n -\n {{ comment.LastUpdateDate$Caption }}\n ویرایش شده\n </span>\n }\n </p>\n </div>\n }\n </ng-template>\n <bsu-barsa-question-answer-form-add-comment\n [postId]=\"post.Id\"\n (addComment)=\"post.Comments.MoDataList.push($event); post.showAllCommnets = true\"\n >\n @if (post.Comments.MoDataList.length > 2 && !post.showAllCommnets) {\n <span>|</span>\n <a fd-link aria-label=\"Emphasized\" class=\"hover:tw-cursor-pointer\" (click)=\"post.showAllCommnets = true\">\n نمایش\n {{ post.Comments.MoDataList.length - 2 }}\n نظر دیگر\n </a>\n }\n </bsu-barsa-question-answer-form-add-comment>\n</div>\n","import { ChangeDetectionStrategy, Component, SimpleChanges } from '@angular/core';\nimport { FormPropsBaseComponent, UploadService } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-barsa-question-answer-form',\n templateUrl: './barsa-question-answer-form.component.html',\n styleUrls: ['./barsa-question-answer-form.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [UploadService]\n})\nexport class BarsaQuestionAnswerFormComponent extends FormPropsBaseComponent {\n ngOnChanges(changes: SimpleChanges): void {\n super.ngOnChanges(changes);\n const { mo } = changes;\n if (mo && !mo.firstChange) {\n this.mo = mo.currentValue;\n this._cdr.detectChanges();\n }\n }\n onVoteChange(isPositive: boolean): void {\n const vote = this._controlUiPipe.transform(isPositive ? 'ثبت رای مثبت' : 'ثبت رای منفی', this.layout94);\n vote && vote?.FieldUi.fireEvent('click', vote.FieldUi);\n }\n protected readonly toolbar = toolbar;\n}\n","<div class=\"tw-absolute tw-z-0 tw-bg-white tw-w-screen tw-top-0 tw-left-0\"></div>\n<div class=\"tw-w-full tw-py-8 tw-relative\">\n <div class=\"tw-w-full tw-max-w-[80rem] tw-mx-auto tw-grid tw-grid-cols-4 tw-gap-12\">\n <div class=\"tw-col-span-3 tw-flex tw-flex-col tw-gap-8\">\n <div class=\"tw-flex tw-gap-8 tw-pb-8\">\n <div class=\"tw-grow-0 tw-shrink-0 tw-flex tw-flex-col tw-items-center tw-gap-6\">\n <img src=\"https://picsum.photos/64/64\" class=\"tw-size-12 tw-rounded-full\" />\n <bsu-barsa-question-answer-vote-section\n [vote]=\"mo.Post.CurrentUserVote.Vote\"\n [voteUps]=\"mo.Post.VoteUps\"\n [voteDowns]=\"mo.Post.VoteDowns\"\n (voteChange)=\"onVoteChange($event)\"\n ></bsu-barsa-question-answer-vote-section>\n </div>\n <div class=\"tw-grow tw-shrink\">\n <bsu-barsa-question-answer-creator-time-section\n [post]=\"mo.Post\"\n ></bsu-barsa-question-answer-creator-time-section>\n <p class=\"tw-text-2xl tw-mt-4\">\n {{ mo.Title }}\n </p>\n <bsu-barsa-question-answer-content-actions-section\n [mo]=\"mo\"\n [buttons]=\"toolbarItems\"\n ></bsu-barsa-question-answer-content-actions-section>\n <bsu-barsa-question-answer-comments-section\n [post]=\"mo.Post\"\n ></bsu-barsa-question-answer-comments-section>\n </div>\n </div>\n <p class=\"tw-z-10 tw-text-2xl tw-pb-4 tw-border-b tw-border-gray-200 tw-relative\">\n {{ mo.Answers.MoDataList.length }}\n پاسخ\n </p>\n <div class=\"tw-flex tw-flex-col tw-gap-8 tw-z-10 tw-relative\">\n @if (mo.Answers.MoDataList.length) { @if ('پاسخ ها' | controlUi: layout94; as answers) {\n <bsu-layout-control [config]=\"answers\"></bsu-layout-control>\n } }\n </div>\n </div>\n <div class=\"tw-col-span-1\">\n @if ('سوالات مرتبط' | controlUi: layout94; as relevantQuestions) {\n <bsu-layout-control [config]=\"relevantQuestions\"></bsu-layout-control>\n }\n </div>\n </div>\n <div class=\"tw-w-full tw-max-w-[80rem] tw-mx-auto tw-grid tw-grid-cols-4 tw-mt-4\">\n <div\n class=\"tw-col-span-4 tw-flex tw-flex-col tw-gap-4 tw-p-4 border tw-border-gray-200 tw-rounded-md tw-bg-white\"\n >\n <span class=\"tw-text-xl\">ارسال پاسخ</span>\n @if ('پاسخ جدید' | controlUi: layout94; as newAnswerText) {\n <bsu-layout-control [config]=\"newAnswerText\"></bsu-layout-control>\n }\n <div class=\"tw-flex tw-justify-end\">\n @if ('ارسال پاسخ جدید' | controlUi: layout94; as newAnswerSubmit) {\n <bsu-layout-control\n class=\"tw-w-fit tw-min-w-fit tw-max-w-fit\"\n [config]=\"newAnswerSubmit\"\n ></bsu-layout-control>\n }\n </div>\n </div>\n </div>\n</div>\n","import { Component, SimpleChanges } from '@angular/core';\nimport { BaseViewItemPropsComponent, UploadService } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-barsa-answer-card',\n templateUrl: './barsa-answer-card.component.html',\n styleUrls: ['./barsa-answer-card.component.css'],\n providers: [UploadService]\n})\nexport class BarsaAnswerCardComponent extends BaseViewItemPropsComponent {\n ngOnChanges(changes: SimpleChanges): void {\n super.ngOnChanges(changes);\n const { mo } = changes;\n if (mo && !mo.firstChange) {\n this.mo = mo.currentValue;\n this._cdr.detectChanges();\n }\n }\n onRowCheck(): boolean {\n if (this.mo.$IsChecked) {\n return false;\n }\n this.events.emit({ title: 'rowCheck', data: { mo: this.mo, index: this.index } });\n return true;\n }\n onVoteChange(_: boolean): void {\n // const vote = this._controlUiPipe.transform(isPositive ? 'ثبت رای مثبت' : 'ثبت رای منفی', this.layout94);\n // vote && vote?.FieldUi.fireEvent('click',vote.FieldUi);\n }\n protected readonly toolbar = toolbar;\n protected readonly onvolumechange = onvolumechange;\n}\n","<div\n class=\"tw-flex tw-flex-col tw-p-4 tw-border tw-border-gray-200 tw-bg-white tw-rounded-md tw-mb-8\"\n [ngClass]=\"{\n '!tw-bg-green-50 tw-border-t-2 tw-border-t-green-500': mo.CorrectAnswer\n }\"\n>\n @if (mo.CorrectAnswer) {\n <p class=\"tw-w-full tw-text-green-500 tw-mb-6\">بهترین پاسخ</p>\n }\n <div class=\"tw-flex tw-grow tw-gap-8\">\n <div class=\"tw-grow-0 tw-shrink-0 tw-flex tw-flex-col tw-items-center tw-gap-8\">\n <img src=\"https://picsum.photos/64/64\" class=\"size-12 rounded-full\" />\n <bsu-barsa-question-answer-vote-section\n [vote]=\"mo.Post.CurrentUserVote.Vote\"\n [voteUps]=\"mo.Post.VoteUps\"\n [voteDowns]=\"mo.Post.VoteDowns\"\n (voteChange)=\"onVoteChange($event)\"\n ></bsu-barsa-question-answer-vote-section>\n </div>\n <div class=\"tw-flex tw-flex-col tw-grow tw-shrink\">\n <bsu-barsa-question-answer-creator-time-section\n [post]=\"mo.Post\"\n ></bsu-barsa-question-answer-creator-time-section>\n <bsu-barsa-question-answer-content-actions-section\n [mo]=\"mo\"\n [buttons]=\"contextMenuItems\"\n (btnClick)=\"onRowCheck()\"\n ></bsu-barsa-question-answer-content-actions-section>\n </div>\n </div>\n <div class=\"tw-flex tw-grow tw-gap-8\">\n <div class=\"tw-grow-0 tw-shrink-0 tw-w-12\"></div>\n <div class=\"tw-flex tw-flex-col tw-grow tw-shrink\">\n <bsu-barsa-question-answer-comments-section [post]=\"mo.Post\"></bsu-barsa-question-answer-comments-section>\n </div>\n </div>\n</div>\n","import { ChangeDetectionStrategy, Component, SimpleChanges } from '@angular/core';\nimport { BaseViewItemPropsComponent } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-barsa-tag-chip',\n templateUrl: './barsa-tag-chip.component.html',\n styleUrls: ['./barsa-tag-chip.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BarsaTagChipComponent extends BaseViewItemPropsComponent {\n isChecked = false;\n ngOnChanges(changes: SimpleChanges): void {\n super.ngOnChanges(changes);\n const { isChecked } = changes;\n this.isChecked = isChecked?.currentValue;\n this._cdr.detectChanges();\n }\n rowChecked(): void {\n this.events.emit({ title: 'rowCheck', data: { mo: this.mo, index: this.index } });\n }\n}\n","<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","import { ChangeDetectionStrategy, Component, SimpleChanges } from '@angular/core';\nimport { BarsaApi, ReportViewBaseComponent, UiReportViewBaseSetting } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-barsa-report-card-flex-view',\n templateUrl: './barsa-report-card-flex-view.component.html',\n styleUrls: ['./barsa-report-card-flex-view.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BarsaReportCardFlexViewComponent extends ReportViewBaseComponent<UiReportViewBaseSetting> {\n ngOnChanges(changes: SimpleChanges): void {\n super.ngOnChanges(changes);\n const { moDataList } = changes;\n if (moDataList && !moDataList.firstChange) {\n this._cdr.detectChanges();\n }\n }\n showAll(): void {\n BarsaApi.Bw.Form.Show({\n SystemTypeDefCaption: ['QuestionsAnswers', 'دسته بندی برچسب'],\n MoContext: {\n ViewName: 'نمای اصلی'\n },\n EventHandlers: {}\n });\n }\n}\n","<div class=\"tw-flex tw-flex-col tw-border tw-border-gray-200 tw-bg-white tw-rounded-md\">\n <div class=\"tw-px-4 tw-py-2 tw-border-b tw-border-gray-200 tw-text-lg\">{{ title }}</div>\n <div\n class=\"tw-flex tw-flex-wrap\"\n [ngClass]=\"{\n 'tw-px-4 tw-py-3': !viewSetting.NoContentPadding,\n 'tw-flex-col': viewSetting.FlexCol,\n 'tw-gap-2': viewSetting.RowOlgo.Selector\n }\"\n >\n @for (mo of moDataList; track mo; let index = $index) { @if (viewSetting?.RowOlgo.Selector) {\n <bnrc-dynamic-item-component\n [component]=\"viewSetting.RowOlgo\"\n [mo]=\"mo\"\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\n [moDataList]=\"moDataList\"\n [hideOpenIcon]=\"hideOpenIcon\"\n [showRowNumber]=\"contextView?.Grid_ShowRowNumber\"\n [rowNumber]=\"mo.Id | rowNumber: pagingSetting:moDataList\"\n [columnComponents]=\"viewSetting?.ColumnComponents || null\"\n [cartableMo]=\"mo.RelatedMo\"\n [cartableWorkflowData]=\"mo.SerializedWorkflowData\"\n [serializedRelatedMo]=\"mo.SerializedRelatedMo\"\n [detailsText]=\"viewSetting?.DetailsSetting?.ButtonText\"\n [isChecked]=\"mo.$IsChecked\"\n [visibility]=\"mo.$Visibility\"\n [expanded]=\"mo.$Expanded\"\n [styleIndex]=\"mo.$StyleIndex\"\n [level]=\"mo.$Level\"\n [parentExpanded]=\"mo.$Parent?.$Expanded\"\n [typeDefId]=\"typeDefId\"\n [extraRelation]=\"extraRelation\"\n [formSetting]=\"formSetting\"\n [index]=\"index\"\n [setting]=\"viewSetting\"\n [secondaryColumns]=\"secondaryColumns\"\n [columns]=\"columns\"\n [isNewInlineMo]=\"mo.$NewInlineMo\"\n [access]=\"access\"\n [inlineEditMode]=\"inlineEditMode\"\n [allowInlineEdit]=\"allowInlineEdit\"\n [rtl]=\"rtl\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [index]=\"index\"\n [allColumns]=\"allColumns\"\n [contextMenuItems]=\"contextMenuItems\"\n [canView]=\"canView\"\n [conditionalFormats]=\"conditionalFormats\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [navigationArrow]=\"navigationArrow\"\n [isCheckList]=\"isCheckList\"\n (events)=\"onOlgoEvents($event)\"\n >\n </bnrc-dynamic-item-component>\n } @else {\n <div\n class=\"tw-group hover:tw-bg-[#fdfdfd] tw-px-4 tw-py-2 tw-transition-all hover:tw-cursor-pointer\"\n (click)=\"onRowClick({mo, index})\"\n >\n <a fd-link class=\"tw-block group-hover:tw-text-black !tw-no-underline\">\n <div\n class=\"tw-inline-block tw-w-8 tw-h-5 tw-p-.5 tw-text-small tw-text-center tw-rounded-md tw-border tw-border-gray-400 tw-text-gray-400\"\n [class.!text-green-500]=\"\n ('تعداد پاسخ ها' | rval: mo:allColumns) > 0 && !('پاسخ صحیح' | rval: mo:allColumns)\n \"\n [class.!tw-border-green-500]=\"('تعداد پاسخ ها' | rval: mo:allColumns) > 0\"\n [class.!tw-bg-green-500]=\"'پاسخ صحیح' | rval: mo:allColumns\"\n [class.!tw-text-white]=\"'پاسخ صحیح' | rval: mo:allColumns\"\n >\n {{ 'مجموع رای ها' | rval: mo:allColumns:true }}\n </div>\n {{ mo.$Caption }}\n </a>\n </div>\n } }\n </div>\n @if (!viewSetting.HideShowAllButton) {\n <div class=\"tw-px-4 tw-py-2 tw-border-t tw-border-gray-200 tw-flex tw-justify-center\">\n @for (button of toolbarButtons; track button) { @if (!button.Command?.IsBuiltin) {\n <a fd-link [ulvCommandHandler]=\"button\">{{ button.text }}</a>\n } }\n </div>\n }\n</div>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'bsu-barsa-tags-category-row',\n templateUrl: './barsa-tags-category-row.component.html',\n styleUrls: ['./barsa-tags-category-row.component.css']\n})\nexport class BarsaTagsCategoryRowComponent {\n @Output() rowCheck = new EventEmitter<any>();\n @Input() category: any;\n ngOnInit(): void {\n // super.ngOnInit();\n }\n}\n","<p class=\"tw-w-full tw-border-b tw-border-gray-300 tw-py-2 tw-text-xl\">{{ category.title }}</p>\n<div class=\"tw-grid tw-grid-cols-4 tw-gap-4 tw-items-stretch tw-py-4\">\n @for (i of category.items; track i) {\n <div\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\"\n >\n <div class=\"tw-flex tw-justify-between tw-items-center\">\n <bsu-barsa-chip\n #Chip\n [title]=\"i.$Caption\"\n [canCheck]=\"true\"\n (click)=\"rowCheck.emit({ mo: i, index: i.index })\"\n (mouseenter)=\"Chip.isChecked = true\"\n (mouseleave)=\"Chip.isChecked = false\"\n ></bsu-barsa-chip>\n <span class=\"tw-text-gray-400\">\n {{ i.QuestionsCount | number: '1.0-0' }}\n سوال\n </span>\n </div>\n <p class=\"tw-line-clamp-3 tw-text-xs\">{{ i.Description }}</p>\n </div>\n }\n</div>\n","import { Component, SimpleChanges } from '@angular/core';\nimport { MetaobjectDataModel, ReportViewBaseComponent, UiReportViewBaseSetting } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-barsa-tag-categories',\n templateUrl: './barsa-tag-categories.component.html',\n styleUrls: ['./barsa-tag-categories.component.css']\n})\nexport class BarsaTagCategoriesComponent extends ReportViewBaseComponent<UiReportViewBaseSetting> {\n groupedTags: any[];\n ngOnInit(): void {\n super.ngOnInit();\n this.groupTags(this.moDataList);\n }\n ngOnChanges(changes: SimpleChanges): void {\n super.ngOnChanges(changes);\n const { moDataList } = changes;\n if (!moDataList?.firstChange && moDataList?.currentValue) {\n this.groupTags(moDataList.currentValue);\n }\n }\n groupTags(moDataList: MetaobjectDataModel[]): void {\n if (!moDataList.length) {\n return;\n }\n this.groupedTags = moDataList\n .map((i, index) => {\n i.index = index;\n return i;\n })\n .reduce((a, b) => {\n const foundCellIndex = a.findIndex((i) => i.Id === b.F2?.Id);\n if (foundCellIndex !== -1) {\n a[foundCellIndex].items.push(b);\n } else {\n if (b.F2?.Id) {\n a.push({\n Id: b.F2.Id,\n title: b.F2.$Caption,\n items: [b],\n order: b.A_F2_OrderNumber\n } as unknown as MetaobjectDataModel);\n }\n }\n return a;\n }, [] as MetaobjectDataModel[])\n .sort((a, b) => +a.order - +b.order)\n .map((i) => {\n i.items = i.items.sort((a, b) => +b.QuestionsCount - +a.QuestionsCount);\n return i;\n });\n console.log(this.groupedTags);\n this._cdr.detectChanges();\n }\n}\n","@for (category of groupedTags; track category) {\n<p class=\"tw-w-full tw-border-b tw-border-gray-300 tw-py-2 tw-text-xl\">{{ category.title }}</p>\n<div class=\"tw-grid tw-grid-cols-4 tw-gap-4 tw-items-stretch tw-py-4\">\n @for (mo of category.items; track mo) {\n <div\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\"\n >\n @if (viewSetting.RowOlgo.Selector) {\n <bnrc-dynamic-item-component\n [component]=\"viewSetting.RowOlgo\"\n [mo]=\"mo\"\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\n [moDataList]=\"moDataList\"\n [showRowNumber]=\"contextView?.Grid_ShowRowNumber\"\n [isChecked]=\"mo.$IsChecked\"\n [typeDefId]=\"typeDefId\"\n [formSetting]=\"formSetting\"\n [index]=\"mo.index\"\n [setting]=\"viewSetting\"\n [columns]=\"columns\"\n [isNewInlineMo]=\"mo.$NewInlineMo\"\n [inlineEditMode]=\"inlineEditMode\"\n [allowInlineEdit]=\"allowInlineEdit\"\n [rtl]=\"rtl\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [allColumns]=\"allColumns\"\n [canView]=\"canView\"\n [conditionalFormats]=\"conditionalFormats\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [navigationArrow]=\"navigationArrow\"\n [isCheckList]=\"isCheckList\"\n (events)=\"onOlgoEvents($event)\"\n >\n </bnrc-dynamic-item-component>\n } @else {\n <div class=\"tw-flex tw-justify-between tw-items-center\">\n <bsu-barsa-chip\n #Chip\n [title]=\"mo.$Caption\"\n [canCheck]=\"true\"\n (checkedChange)=\"rowCheck.emit({ mo: mo, index: mo.index })\"\n (mouseenter)=\"Chip.isChecked = true\"\n (mouseleave)=\"Chip.isChecked = false\"\n ></bsu-barsa-chip>\n <span class=\"tw-text-gray-400\">\n {{ mo.QuestionsCount | number: '1.0-0' }}\n سوال\n </span>\n </div>\n <p class=\"tw-line-clamp-3 tw-text-xs\">{{ mo.Description }}</p>\n }\n </div>\n }\n</div>\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { BaseViewItemPropsComponent, FormComponentParams, FormPanelService } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-barsa-custom-inline-edit-row',\n templateUrl: './barsa-custom-inline-edit-row.component.html',\n styleUrls: ['./barsa-custom-inline-edit-row.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [FormPanelService]\n})\nexport class BarsaCustomInlineEditRowComponent extends BaseViewItemPropsComponent {\n params: FormComponentParams;\n rewriteInlineEditLayout94 = false;\n ngOnInit(): void {\n super.ngOnInit();\n this.params = {\n moId: this.mo.Id,\n isSimple: true,\n typeDefId: this.typeDefId\n };\n }\n protected readonly toolbar = toolbar;\n}\n","<bnrc-form\n [params]=\"params\"\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\n [formPanelCtrl]=\"formPanelCtrlr\"\n [saveOnChange]=\"true\"\n [inlineEditInReport]=\"true\"\n></bnrc-form>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { FormPanelService, ReportViewBaseComponent, UiReportViewBaseSetting } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-barsa-custom-inline-edit',\n templateUrl: './barsa-custom-inline-edit.component.html',\n styleUrls: ['./barsa-custom-inline-edit.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [FormPanelService]\n})\nexport class BarsaCustomInlineEditComponent extends ReportViewBaseComponent<UiReportViewBaseSetting> {}\n","@for (mo of moDataList; track _trackByRow(index, mo); let index = $index; let odd = $odd) {\n<div style=\"display: flex; align-items: center\" [style.background-color]=\"odd ? null : 'var(--sapBaseColor)'\">\n <bsu-barsa-custom-inline-edit-row\n [mo]=\"mo\"\n [moDataList]=\"moDataList\"\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\n [hideOpenIcon]=\"hideOpenIcon\"\n [showRowNumber]=\"contextView?.Grid_ShowRowNumber\"\n [isChecked]=\"true\"\n [visibility]=\"mo.$Visibility\"\n [expanded]=\"mo.$Expanded\"\n [styleIndex]=\"mo.$StyleIndex\"\n [level]=\"mo.$Level\"\n [parentExpanded]=\"mo.$Parent?.$Expanded\"\n [moDataListCount]=\"moDataList.length\"\n [columnsCount]=\"columnsCount.length\"\n [typeDefId]=\"typeDefId\"\n [extraRelation]=\"extraRelation\"\n [formSetting]=\"formSetting\"\n [index]=\"index\"\n [setting]=\"viewSetting\"\n [columns]=\"columns\"\n [isNewInlineMo]=\"mo.$NewInlineMo\"\n [access]=\"access\"\n [inlineEditMode]=\"true\"\n [allowInlineEdit]=\"true\"\n [rtl]=\"rtl\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [allColumns]=\"allColumns\"\n [contextMenuItems]=\"contextMenuItems\"\n [canView]=\"canView\"\n [conditionalFormats]=\"conditionalFormats\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [navigationArrow]=\"navigationArrow\"\n [isCheckList]=\"isCheckList\"\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\n (rowCheck)=\"onRowCheck($event)\"\n (deselectAll)=\"onDeselectAll()\"\n (rowClick)=\"onRowClick($event)\"\n (ulvCommand)=\"onUlvCommand($event)\"\n (editFormPanelSave)=\"onEditFormPanelSave($event)\"\n (editFormPanelCancel)=\"onEditFormPanelCancel($event)\"\n (editFormPanelValueChange)=\"onEditFormPanelValueChange($event)\"\n >\n </bsu-barsa-custom-inline-edit-row>\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"delete\"\n (click)=\"rowCheck.emit({mo, index}); contextMenuItems[0].handler(contextMenuItems[0])\"\n ></button>\n</div>\n}\n<div style=\"margin-top: 0.5rem\">\n <button fd-button (click)=\"createNewMo.emit()\">افزودن</button>\n</div>\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'bsu-barsa-chat-content',\r\n templateUrl: './barsa-chat-content.component.html',\r\n styleUrl: './barsa-chat-content.component.css',\r\n host: {\r\n class: 'tw-w-full tw-flex tw-flex-col tw-grow tw-shrink tw-overflow-auto'\r\n }\r\n})\r\nexport class BarsaChatContentComponent {}\r\n","<div class=\"tw-flex tw-flex-col tw-justify-end tw-w-full tw-h-full\">\r\n <ng-content></ng-content>\r\n</div>\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'bsu-barsa-chat-thread',\r\n templateUrl: './barsa-chat-thread.component.html',\r\n styleUrl: './barsa-chat-thread.component.css',\r\n host: {\r\n class:\r\n 'tw-w-full tw-h-[4.5rem] tw-flex tw-gap-2 tw-border-b tw-border-b-gray-200 dark:tw-border-b-gray-600 tw-p-2 tw-cursor-pointer ' +\r\n 'tw-bg-default hover:tw-bg-zinc-100 hover:dark:tw-bg-black tw-transition-all'\r\n }\r\n})\r\nexport class BarsaChatThreadComponent {\r\n @Input() thread: any;\r\n}\r\n","<div class=\"tw-relative tw-grow-0 tw-shrink-0 tw-size-14\">\r\n <img class=\"tw-w-full tw-h-full tw-rounded-full\" [src]=\"thread.avatar\" />\r\n @if (thread.status === 2) {\r\n <div\r\n class=\"tw-absolute tw-bottom-0 tw-left-0 tw-border-2 tw-border-default tw-size-4 tw-rounded-full\"\r\n [ngClass]=\"{\r\n 'tw-bg-gray-300': thread.status === 0,\r\n 'tw-bg-gray-700': thread.status === 1,\r\n 'tw-bg-green-600': thread.status === 2,\r\n 'tw-bg-red-600': thread.status === 3,\r\n }\"\r\n ></div>\r\n }\r\n</div>\r\n<div class=\"tw-grow tw-shrink tw-flex tw-flex-col tw-gap-0.5\">\r\n <span class=\"tw-font-bold tw-text-base tw-text-sm\">{{ thread.title }}</span>\r\n <span class=\"tw-text-gray-500 dark:tw-text-gray-300 tw-line-clamp-2 tw-text-xs\">{{ thread.lastMessage.text }}</span>\r\n</div>\r\n<div class=\"tw-grow-0 tw-shrink-0 tw-flex tw-flex-col tw-justify-between tw-items-center\">\r\n @if (thread.unreadCount) {\r\n <div\r\n class=\"tw-text-white tw-rounded-full tw-text-sm tw-px-1.5\"\r\n [ngClass]=\"{\r\n 'tw-bg-blue-500': !thread.muted,\r\n 'tw-bg-zinc-500': thread.muted\r\n }\"\r\n >\r\n {{ thread.unreadCount }}\r\n </div>\r\n } @else {\r\n <div></div>\r\n }\r\n <div>\r\n <fd-popover placement=\"bottom-end\" title=\"bottom-end\" (click)=\"$event.stopPropagation()\">\r\n <fd-popover-control>\r\n <button fd-button fdType=\"transparent\" [fdCompact]=\"true\" glyph=\"navigation-down-arrow\"></button>\r\n </fd-popover-control>\r\n <fd-popover-body minWidth=\"10rem\">\r\n <div class=\"tw-flex tw-flex-col tw-bg-default tw-w-full\" bodyClick>\r\n <label\r\n class=\"tw-px-4 tw-py-2 tw-flex tw-gap-2 tw-w-full hover:tw-bg-base/[.1] tw-transition-all tw-cursor-pointer\"\r\n >\r\n <fd-icon class=\"!tw-text-base !tw-text-3xl\" glyph=\"bell-2\"></fd-icon>\r\n <span class=\"!tw-text-base\">بیصدا کردن</span>\r\n </label>\r\n <label\r\n class=\"tw-px-4 tw-py-2 tw-flex tw-gap-2 tw-w-full hover:tw-bg-base/[.1] tw-transition-all tw-cursor-pointer\"\r\n >\r\n <fd-icon class=\"!tw-text-base !tw-text-3xl\" glyph=\"pushpin-on\"></fd-icon>\r\n <span class=\"!tw-text-base\">سنجاق کردن</span>\r\n </label>\r\n <label\r\n class=\"tw-px-4 tw-py-2 tw-flex tw-gap-2 tw-w-full hover:tw-bg-base/[.1] tw-transition-all tw-cursor-pointer\"\r\n >\r\n <fd-icon class=\"!tw-text-base !tw-text-3xl\" glyph=\"delete\"></fd-icon>\r\n <span class=\"!tw-text-base\">حذف</span>\r\n </label>\r\n </div>\r\n </fd-popover-body>\r\n </fd-popover>\r\n </div>\r\n</div>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'bsu-barsa-chat-threads-list',\r\n templateUrl: './barsa-chat-threads-list.component.html',\r\n styleUrl: './barsa-chat-threads-list.component.css',\r\n host: {\r\n class: 'tw-flex tw-flex-col tw-overflow-auto'\r\n }\r\n})\r\nexport class BarsaChatThreadsListComponent {}\r\n","<ng-content></ng-content>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'bsu-barsa-chat-threads-list-toolbar',\r\n templateUrl: './barsa-chat-threads-list-toolbar.component.html',\r\n styleUrl: './barsa-chat-threads-list-toolbar.component.css',\r\n host: {\r\n class:\r\n 'tw-relative tw-shrink-0 tw-grow-0 tw-w-full tw-h-16 tw-flex tw-justify-between tw-items-center tw-px-4 ' +\r\n 'tw-bg-zinc-200/[.7] dark:tw-bg-zinc-700/[.7]'\r\n }\r\n})\r\nexport class BarsaChatThreadsListToolbarComponent {}\r\n","<div>\r\n <img src=\"https://picsum.photos/100?workAround=1234\" class=\"tw-size-12 tw-rounded-full\" />\r\n</div>\r\n<div class=\"tw-absolute tw-top-1/2 -tw-translate-y-1/2 tw-left-1/2 -tw-translate-x-1/2 tw-text-base\">\r\n در حال اتصال...\r\n</div>\r\n<div>\r\n <button fd-button fdType=\"transparent\" glyph=\"edit\"></button>\r\n</div>\r\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'bsu-barsa-chat-content-toolbar',\n templateUrl: './barsa-chat-content-toolbar.component.html',\n styleUrl: './barsa-chat-content-toolbar.component.css',\n host: {\n class:\n 'tw-shrink-0 tw-grow-0 tw-flex tw-gap-2 tw-justify-between tw-items-center tw-px-4 tw-right-0 tw-w-full ' +\n 'tw-h-16 tw-flex tw-bg-zinc-200/[.7] dark:tw-bg-zinc-700/[.7] tw-backdrop-blur-lg tw-z-10'\n }\n})\nexport class BarsaChatContentToolbarComponent {\n @Input() avatar: string;\n @Input() title: string;\n @Input() subtitle: string;\n @Input() status: number;\n}\n","@if (title) { @if (avatar) {\n<img [src]=\"avatar\" class=\"tw-size-12 tw-rounded-full\" />\n}\n<div class=\"tw-flex tw-grow tw-shrink tw-flex-col tw-items-start tw-justify-between\">\n <span class=\"tw-text-lg tw-font-bold tw-text-base\">{{ title }}</span>\n <span class=\"tw-text-sm tw-text-base\">\n @if (status === 2) {\n <span class=\"tw-relative tw-inline-flex tw-size-2.5 tw-me-1.5\">\n <!-- <span-->\n <!-- class=\"tw-animate-ping tw-absolute tw-inline-flex tw-h-full tw-w-full tw-rounded-full tw-opacity-75\"-->\n <!-- [ngClass]=\"{-->\n <!-- 'tw-bg-gray-300': status === 0,-->\n <!-- 'tw-bg-gray-700': status === 1,-->\n <!-- 'tw-bg-green-600 tw-animate-ping': status === 2,-->\n <!-- 'tw-bg-red-600': status === 3,-->\n <!-- }\"-->\n <!-- ></span>-->\n <!-- <span-->\n <!-- class=\"tw-inline-flex tw-rounded-full tw-size-2.5\"-->\n <!-- [ngClass]=\"{-->\n <!-- 'tw-bg-gray-300': status === 0,-->\n <!-- 'tw-bg-gray-700': status === 1,-->\n <!-- 'tw-bg-green-600': status === 2,-->\n <!-- 'tw-bg-red-600': status === 3,-->\n <!-- }\"-->\n <!-- >-->\n <!-- </span>-->\n <span\n class=\"tw-animate-ping tw-absolute tw-inline-flex tw-h-full tw-w-full tw-rounded-full tw-opacity-75 tw-bg-green-600 tw-animate-ping\"\n ></span>\n <span class=\"tw-inline-flex tw-rounded-full tw-size-2.5 tw-bg-green-600\"> </span>\n </span>\n {{ subtitle }}\n }\n </span>\n</div>\n}\n","import { Component, ElementRef, Input, OnDestroy, OnInit, signal, ViewChild, WritableSignal } from '@angular/core';\nimport jmoment from 'moment-jalaali';\nimport { animate, style, transition, trigger } from '@angular/animations';\nimport { FormBaseComponent, FormPanelService } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-barsa-chat',\n templateUrl: './barsa-chat.component.html',\n styleUrl: './barsa-chat.component.css',\n providers: [FormPanelService],\n animations: [\n trigger('inContentAnimation', [\n transition(':enter', [\n style({ opacity: 0, transform: 'scale(50%, 50%)' }),\n animate('300ms ease-out', style({ opacity: 1, transform: 'scale(100%, 100%)' }))\n ]),\n transition(':leave', [\n style({ opacity: 1, transform: 'scale(100%, 100%)' }),\n animate('300ms ease-in', style({ opacity: 0, transform: 'scale(50%, 50%)' }))\n ])\n ]),\n trigger('inOutReplyingMessage', [\n transition(':enter', [\n style({ opacity: 0, transform: 'translateY(50%)' }),\n animate('300ms ease-out', style({ opacity: 1, transform: 'translateY(0)' }))\n ]),\n transition(':leave', [\n style({ opacity: 1, transform: 'translateY(0)' }),\n animate('300ms ease-in', style({ opacity: 0, transform: 'translateY(50%)' }))\n ])\n ])\n ]\n})\nexport class BarsaChatComponent extends FormBaseComponent implements OnInit, OnDestroy {\n @Input() simple = true;\n @ViewChild('chatContentElement', { read: ElementRef }) chatContentElement: ElementRef;\n randomNameArr = 'علی حسن حسین تقی نقی محمد مهدی جاوید محمدرضا کریم هوشنگ پیمان'.split(' ');\n randomFamilyArr = 'کریمی حسینی زارعی تقوی کاظمی قنبری نبویان افشار رادمند محمدی'.split(' ');\n randomTextArr = (\n 'لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ، و با استفاده از طراحان' +\n ' گرافیک است، چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است، و برای شرایط' +\n ' فعلی تکنولوژی مورد نیاز، و کاربردهای متنوع با هدف بهبود ابزارهای کاربردی می باشد، کتابهای' +\n ' زیادی در شصت و سه درصد گذشته حال و آینده، شناخت فراوان جامعه و متخصصان را می طلبد، تا با' +\n ' نرم افزارها شناخت بیشتری را برای طراحان رایانه ای علی الخصوص طراحان خلاقی، و فرهنگ پیشرو' +\n ' در زبان فارسی ایجاد کرد، در این صورت می توان امید داشت که تمام و دشواری موجود در ارائه' +\n ' راهکارها، و شرایط سخت تایپ به پایان رسد و زمان مورد نیاز شامل حروفچینی دستاوردهای اصلی،' +\n ' و جوابگوی سوالات پیوسته اهل دنیای موجود طراحی اساسا مورد استفاده قرار گیرد.'\n ).split(' ');\n threads = Array(20)\n .fill(null)\n .map((t) => ({\n id: Math.random() * 1000,\n title:\n this.randomNameArr[Math.floor(this.randomNameArr.length * Math.random())] +\n ' ' +\n this.randomFamilyArr[Math.floor(this.randomFamilyArr.length * Math.random())],\n avatar: 'https://picsum.photos/100?workAround=' + Math.floor(Math.random() * 100),\n status: Math.floor(Math.random() * 4),\n lastActivity: this.randomDate(new Date('2024-03-03'), new Date()),\n unreadCount: Math.round(Math.random()) ? 1 + Math.floor(Math.random() * 20) : 0,\n pinned: !!Math.round(Math.random()),\n muted: !!Math.round(Math.random()),\n lastMessage: {\n id: Math.random() * 1000,\n owner: {\n id: 1234,\n avatar: 'https://picsum.photos/100?workAround=' + Math.floor(Math.random() * 100),\n name: 'مهدی زارعی'\n },\n text: this.shuffle(\n this.randomTextArr.slice(0, 1 + Math.floor(this.randomTextArr.length * Math.random()))\n ).join(' '),\n createdAt: new Date()\n .toTimeString()\n .split(' ')[0]\n .split(':')\n .slice(0, 2)\n .map((s) => s.padStart(2, '0'))\n .join(':'),\n deliveredAt: new Date()\n .toTimeString()\n .split(' ')[0]\n .split(':')\n .slice(0, 2)\n .map((s) => s.padStart(2, '0'))\n .join(':'),\n readAt: new Date()\n .toTimeString()\n .split(' ')[0]\n .split(':')\n .slice(0, 2)\n .map((s) => s.padStart(2, '0'))\n .join(':')\n }\n }));\n moment = jmoment;\n selectedThread: WritableSignal<any | null> = signal(null);\n messages: WritableSignal<any[] | null> = signal(null);\n replyingMessage: WritableSignal<any | null> = signal(null);\n messageText = '';\n ngOnInit(): void {\n super.ngOnInit();\n document.body.classList.add('chat-mode');\n this.selectThread(this.threads[0]);\n }\n ngOnDestroy(): void {\n document.body.classList.remove('chat-mode');\n }\n scrollToBottom(force = false, instant = false): void {\n const container = this.chatContentElement?.nativeElement;\n if (force || (container && container.scrollTopMax - container.scrollTop < 300)) {\n setTimeout(() =>\n container.scrollTo({\n top: container.scrollHeight,\n behavior: instant ? 'instant' : 'smooth'\n })\n );\n }\n }\n async checkInput(event: any): Promise<void> {\n this.messageText = event.target.innerText;\n }\n sendMessage(): void {\n if (this.messageText?.trim().length) {\n this.messages?.set([\n ...(this.messages() as any[]),\n {\n id: Math.random() * 1000,\n owner: {\n id: 1234,\n avatar: 'https://picsum.photos/100?workAround=' + Math.floor(Math.random() * 100),\n name: 'مهدی زارعی'\n },\n text: this.messageText,\n createdAt: new Date(),\n deliveredAt: new Date(),\n readAt: new Date()\n }\n ]);\n this.messageText = '';\n const inputMessage = document.getElementById('chat-textarea');\n if (inputMessage) {\n inputMessage.focus();\n inputMessage.innerText = '';\n }\n this.scrollToBottom(true);\n setTimeout(() => {\n this.messages?.set([\n ...(this.messages() as any[]),\n {\n id: Math.random() * 1000,\n owner: {\n id: 4321,\n avatar: 'https://picsum.photos/100?workAround=' + Math.floor(Math.random() * 100),\n name: this.selectedThread().title\n },\n text: this.shuffle(\n this.randomTextArr.slice(0, 1 + Math.floor(this.randomTextArr.length * Math.random()))\n ).join(' '),\n createdAt: new Date(),\n deliveredAt: new Date(),\n readAt: new Date()\n }\n ]);\n this.scrollToBottom(true);\n }, 2000);\n }\n }\n addAttachment(): void {}\n selectThread(thread: any): void {\n this.selectedThread.set(thread);\n this.messages.set(\n Array(40)\n .fill(null)\n .map((t) => {\n const ownerUser = Math.round(Math.random());\n const messageType = Math.random();\n const hasText = Math.round(Math.random());\n const imgOriginalWidth = Math.floor(Math.random() * 200) + 200;\n const imgOriginalHeight = Math.floor(Math.random() * 200) + 200;\n return {\n id: Math.random() * 1000,\n owner: {\n id: ownerUser ? 1234 : 4321,\n avatar: 'https://picsum.photos/100?workAround=' + Math.floor(Math.random() * 100),\n name: ownerUser ? 'مهدی زارعی' : thread.title\n },\n text:\n (messageType > 0.5 && hasText) || messageType <= 0.5\n ? this.shuffle(\n this.randomTextArr.slice(\n 0,\n 1 +\n Math.floor(\n (messageType > 0.5 ? 30 : this.randomTextArr.length) * Math.random()\n )\n )\n ).join(' ')\n : undefined,\n file:\n messageType > 0.85\n ? {\n name: 'یک عدد فایل',\n ext: ['png', 'jpg', 'pdf', 'docs', 'csv'][Math.floor(Math.random() * 5)],\n size:\n Math.round(Math.random() * 100) +\n ' ' +\n ['بایت', 'کیلوبایت', 'مگابایت'][Math.floor(Math.random() * 3)]\n }\n : undefined,\n image:\n messageType <= 0.85 && messageType > 0.5\n ? {\n name: 'یک عدد عکس',\n url: `https://picsum.photos/${Math.floor(Math.random() * 2000)}/${Math.floor(\n Math.random() * 2000\n )}?workAround=${Math.floor(Math.random() * 100)}`,\n originalWidth: imgOriginalWidth,\n originalHeight: imgOriginalHeight\n }\n : undefined,\n createdAt: this.randomDate(new Date('2024-03-03'), new Date()),\n deliveredAt: new Date(),\n readAt: new Date()\n };\n })\n .sort((a, b) => a.createdAt.getTime() - b.createdAt.getTime())\n );\n setTimeout(() => this.scrollToBottom(true, true));\n }\n randomDate(start: Date, end: Date): Date {\n return new Date(start.getTime() + Math.random() * (end.getTime() - start.getTime()));\n }\n shuffle(array: string[]): string[] {\n let currentIndex = array.length;\n let randomIndex = 1;\n while (currentIndex > 0) {\n randomIndex = Math.floor(Math.random() * currentIndex);\n currentIndex--;\n [array[currentIndex], array[randomIndex]] = [array[randomIndex], array[currentIndex]];\n }\n return array;\n }\n}\n","<div\n class=\"tw-flex tw-w-full tw-bg-gradient-to-r tw-from-[#5d6e7f] tw-to-[#354a5f] dark:tw-from-[#253443] dark:tw-to-[#10161c]\"\n fillEmptySpace\n [class.tw-h-screen]=\"!simple\"\n [class.tw-justify-center]=\"simple\"\n>\n @if (!simple) {\n <div class=\"tw-bg-black/[.3] 2xl:tw-grow tw-shrink tw-h-full\"></div>\n }\n <div\n class=\"tw-h-full tw-flex 2xl:tw-container max-w-[80rem] tw-shrink-0 tw-relative\"\n [ngClass]=\"{\n 'tw-grow 2xl:tw-grow-0': !simple,\n 'tw-w-full': simple\n }\"\n >\n @if (!simple) {\n <div class=\"tw-grow-0 tw-shrink-0 tw-w-full md:tw-w-96 tw-p-0 md:tw-p-6\">\n <div\n class=\"tw-flex tw-flex-col tw-w-full tw-h-full tw-overflow-hidden tw-border-l tw-border-l-gray-300 md:tw-rounded-2xl md:tw-border md:tw-border-l-gray-300 md:tw-border-gray-300 dark:tw-border-l-gray-600 md:dark:tw-border-l-gray-600 md:dark:tw-border-gray-600\"\n >\n <bsu-barsa-chat-threads-list-toolbar></bsu-barsa-chat-threads-list-toolbar>\n <bsu-barsa-chat-threads-list>\n @for (thread of threads; track thread.id) {\n <bsu-barsa-chat-thread [thread]=\"thread\" (click)=\"selectThread(thread)\"></bsu-barsa-chat-thread>\n }\n </bsu-barsa-chat-threads-list>\n </div>\n </div>\n } @else {\n <div\n class=\"tw-absolute tw-top-0 tw-left-0 tw-w-full tw-h-full tw-bg-[url('assets/chat-bg.png')] tw-bg-fixed tw-opacity-25\"\n ></div>\n }\n <div\n class=\"tw-grow tw-shrink tw-relative\"\n [ngClass]=\"{\n 'md:tw-py-6 md:tw-pl-6 tw-hidden md:tw-flex': !simple,\n 'tw-flex': simple\n }\"\n >\n @if (selectedThread()) {\n <div\n @inContentAnimation\n class=\"tw-h-full tw-w-full tw-flex tw-flex-col tw-relative md:tw-border-gray-300 md:dark:tw-border-gray-600 tw-overflow-hidden\"\n [ngClass]=\"{\n 'md:tw-border md:tw-rounded-2xl': !simple\n }\"\n >\n <bsu-barsa-chat-content-toolbar\n [title]=\"selectedThread().title\"\n [subtitle]=\"'محمد محمدی'\"\n [avatar]=\"selectedThread().avatar\"\n [status]=\"selectedThread().status\"\n ></bsu-barsa-chat-content-toolbar>\n <bsu-barsa-chat-content id=\"chat-container\">\n @if(layout94$ | async;as layout94){ @if ('لیست گفتگو' | controlUi: layout94; as configUi) {\n <bsu-layout-control [config]=\"configUi\"></bsu-layout-control>\n } }\n </bsu-barsa-chat-content>\n <div\n class=\"tw-w-full\"\n [ngClass]=\"{\n 'tw-relative': !simple,\n '2xl:tw-rounded-t-xl tw-grow-0 tw-shrink-0': simple\n }\"\n >\n @if (replyingMessage()) {\n <div\n @inOutReplyingMessage\n class=\"tw-w-full tw-px-2 tw-py-1 tw-border-r-4 tw-border-r-bubble-mine tw-flex tw-gap-2 te-items-center tw-absolute tw-z-0 tw-bg-default tw-right-0 -tw-top-14\"\n >\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"decline\"\n class=\"tw-grow-0 tw-shrink-0\"\n (click)=\"replyingMessage.set(null)\"\n ></button>\n <div class=\"tw-flex tw-flex-col tw-grow tw-shrink tw-overflow-hidden\">\n <span class=\"tw-font-bold\">{{ replyingMessage().owner.name }}</span>\n <span class=\"tw-truncate\">{{\n replyingMessage().text ?? replyingMessage().file?.name ?? replyingMessage().image?.name\n }}</span>\n </div>\n <div class=\"tw-w-8 tw-shrink-0 tw-grow-0\"></div>\n </div>\n }\n <div\n class=\"tw-w-full tw-p-2 tw-flex tw-gap-2 tw-border-t tw-border-t-gray-300 dark:tw-border-t-gray-600 tw-bg-default tw-items-end tw-z-10\"\n >\n <fd-popover placement=\"top-start\" title=\"top-start\">\n <fd-popover-control>\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"attachment\"\n class=\"!tw-rounded-full tw-shrink-0 tw-grow-0 !tw-size-10 !tw-min-h-10 !tw-max-h-10 !tw-min-w-10 !tw-max-w-10\"\n (click)=\"addAttachment()\"\n ></button>\n </fd-popover-control>\n <fd-popover-body minWidth=\"10rem\">\n <div class=\"tw-flex tw-flex-col tw-bg-default tw-w-full\" bodyClick>\n <label\n class=\"tw-px-4 tw-py-2 tw-flex tw-gap-2 tw-w-full hover:tw-bg-base/[.1] tw-transition-all tw-cursor-pointer\"\n >\n <fd-icon class=\"!tw-text-base !tw-text-3xl\" glyph=\"camera\"></fd-icon>\n <span class=\"!tw-text-base\">ارسال عکس</span>\n <input class=\"tw-hidden\" type=\"file\" id=\"img\" name=\"img\" accept=\"image/*\" />\n </label>\n <label\n class=\"tw-px-4 tw-py-2 tw-flex tw-gap-2 tw-w-full hover:tw-bg-base/[.1] tw-transition-all tw-cursor-pointer\"\n >\n <fd-icon class=\"!tw-text-base !tw-text-3xl\" glyph=\"add-document\"></fd-icon>\n <span class=\"!tw-text-base\">ارسال فایل</span>\n <input class=\"tw-hidden\" type=\"file\" id=\"file\" name=\"file\" accept=\"file/*\" />\n </label>\n </div>\n </fd-popover-body>\n </fd-popover>\n <div class=\"tw-inline-flex tw-relative tw-grow tw-shrink\">\n @if (!messageText.length) {\n <span\n class=\"tw-absolute tw-right-4 tw-top-4 -tw-translate-y-1/2 tw-text-gray-500 dark:tw-text-gray-500\"\n >\n متن پیام...\n </span>\n }\n <div\n id=\"chat-textarea\"\n class=\"tw-inline-block tw-w-full tw-w-full tw-whitespace-pre-line tw-rounded-3xl tw-border tw-border-gray-300 dark:tw-border-gray-600 tw-px-4 tw-py-2 tw-max-h-32 tw-overflow-auto tw-resize tw-text-base\"\n role=\"textbox\"\n contenteditable\n ngDefaultControl\n (keydown.enter)=\"sendMessage()\"\n (input)=\"checkInput($event)\"\n ></div>\n </div>\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"arrow-left\"\n class=\"!tw-rounded-full tw-shrink-0 tw-grow-0 !tw-size-10 !tw-min-h-10 !tw-max-h-10 !tw-min-w-10 !tw-max-w-10\"\n (click)=\"sendMessage()\"\n ></button>\n </div>\n </div>\n </div>\n } @else {\n <div\n class=\"tw-absolute tw-top-1/2 -tw-translate-y-1/2 tw-left-1/2 -tw-translate-x-1/2 tw-flex tw-flex-col tw-gap-8 tw-items-center\"\n >\n <img src=\"assets/not-selected-chat.png\" class=\"tw-w-64 tw-opacity-25\" />\n <!-- <span class=\"tw-text-xl tw-font-bold tw-text-gray-400 dark:tw-text-gray-500\">-->\n <!-- برای شروع یک چت را انتخاب کنید-->\n <!-- </span>-->\n </div>\n }\n </div>\n </div>\n @if (!simple) {\n <div class=\"tw-bg-black/[.3] 2xl:tw-grow tw-shrink tw-h-full\"></div>\n }\n</div>\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'utilDateToHhMm',\r\n standalone: true\r\n})\r\nexport class UtilDateToHhMmPipe implements PipeTransform {\r\n transform(value: Date): string {\r\n return value\r\n .toTimeString()\r\n .split(' ')[0]\r\n .split(':')\r\n .slice(0, 2)\r\n .map((s) => s.padStart(2, '0'))\r\n .join(':');\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { animate, style, transition, trigger } from '@angular/animations';\r\n\r\n@Component({\r\n selector: 'bsu-barsa-chat-message',\r\n templateUrl: './barsa-chat-message.component.html',\r\n styleUrl: './barsa-chat-message.component.css',\r\n animations: [\r\n trigger('inPaneAnimation', [\r\n transition(':enter', [\r\n style({ opacity: 0, transform: 'scale(0, 0)' }),\r\n animate('300ms ease-in-out', style({ opacity: 1, transform: 'scale(100%, 100%)' }))\r\n ]),\r\n transition(':leave', [\r\n style({ opacity: 1, transform: 'scale(100%, 100%)' }),\r\n animate('300ms ease-in-out', style({ opacity: 0, transform: 'scale(0, 0)' }))\r\n ])\r\n ])\r\n ]\r\n})\r\nexport class BarsaChatMessageComponent {\r\n @Input() message: any;\r\n @Input() showSender: boolean;\r\n @Input() nextIsSame: boolean;\r\n @Input() pervIsSame: boolean;\r\n @Input() badge: boolean;\r\n @Input() nextHasBadge: boolean;\r\n @Input() badgeLabel: string;\r\n @Output() reply = new EventEmitter<any>();\r\n userId = 1234;\r\n\r\n imageRatio(image: any): any {\r\n const { originalWidth, originalHeight } = image;\r\n let displayWidth = 0;\r\n let displayHeight = 0;\r\n if (originalWidth > originalHeight) {\r\n const ratio = originalWidth / 320;\r\n displayWidth = originalWidth / ratio;\r\n displayHeight = originalHeight / ratio;\r\n } else {\r\n const ratio = originalHeight / 320;\r\n displayWidth = originalWidth / ratio;\r\n displayHeight = originalHeight / ratio;\r\n }\r\n return { ...image, displayWidth, displayHeight };\r\n }\r\n}\r\n","<div\r\n class=\"tw-w-full tw-px-4 tw-flex tw-flex-wrap\"\r\n [ngClass]=\"{\r\n'tw-pt-1': pervIsSame,\r\n'tw-pt-3': !pervIsSame,\r\n}\"\r\n>\r\n @if (badge) {\r\n <div class=\"tw-w-full tw-pb-6 tw-pt-5\">\r\n <div class=\"tw-w-fit tw-bg-zinc-500 tw-text-white tw-px-4 tw-mx-auto tw-rounded-full tw-text-md\">\r\n {{ badgeLabel }}\r\n </div>\r\n </div>\r\n }\r\n <div\r\n class=\"tw-w-full tw-flex tw-gap-2 tw-items-end tw-relative\"\r\n [ngClass]=\"{\r\n'tw-justify-start': message.owner.id === userId,\r\n'tw-flex-row-reverse': message.owner.id !== userId,\r\n'tw-ms-14': (nextIsSame && !nextHasBadge) && message.owner.id === userId,\r\n'tw-me-14': (nextIsSame && !nextHasBadge) && message.owner.id !== userId,\r\n }\"\r\n >\r\n @if (!nextIsSame || nextHasBadge) {\r\n <div class=\"tw-rounded-full tw-overflow-hidden tw-size-12\">\r\n <img class=\"tw-w-full tw-h-full\" [src]=\"message.owner.avatar\" />\r\n </div>\r\n } @if (!nextIsSame || nextHasBadge) {\r\n <div\r\n class=\"tw-bg-transparent tw-overflow-hidden tw-size-3 tw-absolute tw-bottom-0 tw-border-[6px] tw-border-t-transparent\"\r\n [ngClass]=\"{\r\n'tw-right-11 tw-border-b-bubble-mine tw-border-l-bubble-mine tw-border-r-transparent': message.owner.id === userId,\r\n'tw-left-11 tw-border-b-default tw-border-r-default tw-border-l-transparent': message.owner.id !== userId,\r\n}\"\r\n ></div>\r\n }\r\n <div\r\n @inPaneAnimation\r\n class=\"tw-max-w-[80%] tw-min-w-40 tw-rounded-2xl tw-text-base tw-relative tw-overflow-hidden\"\r\n [ngClass]=\"{\r\n '!tw-rounded-br-none':\r\n message.owner.id === userId && (nextHasBadge || (nextIsSame && !nextHasBadge) || !nextIsSame),\r\n '!tw-rounded-bl-none':\r\n message.owner.id !== userId && (nextHasBadge || (nextIsSame && !nextHasBadge) || !nextIsSame),\r\n '!tw-rounded-tr-none': message.owner.id === userId && pervIsSame && !badge,\r\n '!tw-rounded-tl-none': message.owner.id !== userId && pervIsSame && !badge\r\n }\"\r\n >\r\n @if (showSender && (!pervIsSame || badge)) {\r\n <div\r\n [ngClass]=\"{\r\n'tw-bg-bubble-mine': message.owner.id === userId && !message.image,\r\n'tw-bg-default': message.owner.id !== userId && !message.image,\r\n'tw-absolute tw-top-0 tw-right-0 tw-pb-8 tw-w-full tw-rounded-tr-2xl tw-bg-gradient-to-b tw-to-transparent': message.image,\r\n'tw-from-bubble-mine': message.owner.id === userId && message.image,\r\n'tw-from-default': message.owner.id !== userId && message.image,\r\n }\"\r\n class=\"tw-font-bold tw-text-base tw-px-3 tw-pt-2 tw-z-10\"\r\n >\r\n {{ message.owner.name }}\r\n </div>\r\n } @if (message.image) { @if (imageRatio(message.image); as image) {\r\n <div\r\n [ngClass]=\"{\r\n'tw-bg-bubble-mine/[.3]': message.owner.id === userId,\r\n'tw-bg-default/[.3]': message.owner.id !== userId,\r\n }\"\r\n class=\"tw-flex tw-justify-center tw-items-center tw-bg-zinc-500/[.3] tw-relative\"\r\n >\r\n <a\r\n [download]=\"message.image.name\"\r\n href=\"assets/bg-chat.jpg\"\r\n target=\"_blank\"\r\n class=\"tw-absolute tw-w-full tw-h-full tw-bg-black/[.4] dark:tw-bg-white/[.4] tw-opacity-0 hover:tw-opacity-100 tw-transition-all tw-cursor-pointer tw-flex tw-justify-center tw-items-center\"\r\n >\r\n <fd-icon class=\"!tw-text-default !tw-text-3xl\" glyph=\"download\"></fd-icon>\r\n </a>\r\n <img\r\n [ngStyle]=\"{\r\n width: image.displayWidth + 'px',\r\n height: image.displayHeight + 'px'\r\n }\"\r\n [src]=\"image.url\"\r\n />\r\n </div>\r\n } } @if (message.file?.name) {\r\n <div\r\n [ngClass]=\"{\r\n'tw-bg-bubble-mine': message.owner.id === userId,\r\n'tw-bg-default': message.owner.id !== userId,\r\n }\"\r\n class=\"tw-px-2 tw-pt-2 w-full tw-flex tw-gap-2\"\r\n >\r\n <a\r\n [download]=\"message.file.name\"\r\n href=\"assets/bg-chat.jpg\"\r\n target=\"_blank\"\r\n class=\"tw-shrink-0 tw-row-0 tw-size-12 tw-rounded-lg tw-bg-orange-400 tw-flex tw-justify-center tw-items-center tw-cursor-pointer tw-transition-all hover:tw-bg-orange-600\"\r\n >\r\n <span class=\"tw-font-bold leading-6 tw-text-lg tw-text-white\">\r\n {{ message.file.ext }}\r\n </span>\r\n </a>\r\n <div class=\"tw-flex tw-flex-col\">\r\n <span class=\"tw-font-bold tw-text-md tw-text-base tw-w-full tw-truncate\">\r\n {{ message.file.name }}</span\r\n >\r\n <span class=\"tw-text-sm tw-text-gray-500 dark:tw-text-gray-400 tw-w-full tw-truncate\">\r\n {{ message.file.size }}</span\r\n >\r\n </div>\r\n </div>\r\n } @if (message.text) {\r\n <div\r\n [ngClass]=\"{\r\n'tw-bg-bubble-mine': message.owner.id === userId,\r\n'tw-bg-default': message.owner.id !== userId,\r\n }\"\r\n class=\"tw-whitespace-pre-line tw-px-3 tw-pt-1\"\r\n [innerHTML]=\"message.text\"\r\n ></div>\r\n }\r\n <div\r\n class=\"tw-flex tw-w-full tw-px-2 tw-pt-1 tw-pb-2 tw-items-center tw-gap-2 tw-justify-end\"\r\n [ngClass]=\"{\r\n'tw-bg-bubble-mine': message.owner.id === userId,\r\n'tw-bg-default tw-flex-row-reverse': message.owner.id !== userId,\r\n}\"\r\n >\r\n <span class=\"tw-text-xs tw-text-gray-500 dark:tw-text-gray-300\">{{\r\n message.createdAt | utilDateToHhMm\r\n }}</span>\r\n <fd-popover placement=\"bottom-end\" title=\"bottom-end\">\r\n <fd-popover-control>\r\n <button\r\n fd-button\r\n fdType=\"transparent\"\r\n [fdCompact]=\"true\"\r\n glyph=\"navigation-down-arrow\"\r\n ></button>\r\n </fd-popover-control>\r\n <fd-popover-body minWidth=\"10rem\">\r\n <div class=\"tw-flex tw-flex-col tw-bg-default tw-w-full\" bodyClick>\r\n <label\r\n class=\"tw-px-4 tw-py-2 tw-flex tw-gap-2 tw-w-full hover:tw-bg-base/[.1] tw-transition-all tw-cursor-pointer\"\r\n (click)=\"reply.emit(message)\"\r\n >\r\n <fd-icon class=\"!tw-text-base !tw-text-3xl\" glyph=\"undo\"></fd-icon>\r\n <span class=\"!tw-text-base\">پاسخ دادن</span>\r\n </label>\r\n <label\r\n class=\"tw-px-4 tw-py-2 tw-flex tw-gap-2 tw-w-full hover:tw-bg-base/[.1] tw-transition-all tw-cursor-pointer\"\r\n >\r\n <fd-icon class=\"!tw-text-base !tw-text-3xl\" glyph=\"forward\"></fd-icon>\r\n <span class=\"!tw-text-base\">ارسال کردن</span>\r\n </label>\r\n <label\r\n class=\"tw-px-4 tw-py-2 tw-flex tw-gap-2 tw-w-full hover:tw-bg-base/[.1] tw-transition-all tw-cursor-pointer\"\r\n >\r\n <fd-icon class=\"!tw-text-base !tw-text-3xl\" glyph=\"delete\"></fd-icon>\r\n <span class=\"!tw-text-base\">حذف</span>\r\n </label>\r\n </div>\r\n </fd-popover-body>\r\n </fd-popover>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport jmoment from 'moment-jalaali';\r\n\r\n@Pipe({\r\n name: 'utilChatTimeBadge',\r\n standalone: true\r\n})\r\nexport class UtilChatTimeBadgePipe implements PipeTransform {\r\n transform(value: string | Date | number): string {\r\n return jmoment(value).format('jYYYY/jMM/jDD');\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\nimport jmoment from 'moment-jalaali';\nimport { MetaobjectDataModel, ReportViewBaseComponent, UiReportViewBaseSetting } from 'barsa-novin-ray-core';\nimport { Message } from '../barsa-chat/chat.model';\n\n@Component({\n selector: 'bsu-barsa-chat-list',\n templateUrl: './barsa-chat-list.component.html',\n styleUrl: './barsa-chat-list.component.css'\n})\nexport class BarsaChatListComponent\n extends ReportViewBaseComponent<UiReportViewBaseSetting>\n implements OnInit, OnChanges\n{\n @Input() messages: Message[] | null;\n @Input() replyingMessage: Message | null;\n @Input() simple = true;\n @Output() setReplyingMessage = new EventEmitter<Message>();\n moment = jmoment;\n ngOnInit(): void {\n super.ngOnInit();\n this.messages = this.moDataList;\n }\n ngOnChanges(changes: SimpleChanges): void {\n super.ngOnChanges(changes);\n const { moDataList } = changes;\n if (moDataList) {\n this._prepareMessages(moDataList.currentValue);\n }\n }\n private _prepareMessages(moDataList: MetaobjectDataModel[]): void {\n this.messages = moDataList.map((i) => ({\n id: i.Id,\n createdAt: new Date(),\n deliveredAt: new Date(),\n readAt: new Date(),\n owner: {\n id: 123,\n name: 'slm',\n avatar: ''\n },\n text: i.$Caption\n }));\n console.log(this.messages);\n }\n}\n","@if (messages !== null) { @if (!simple) {\n<cdk-virtual-scroll-viewport\n [appendOnly]=\"true\"\n #chatContentElement\n itemSize=\"20\"\n class=\"tw-h-full tw-w-full tw-pb-4 tw-pt-24\"\n>\n <div *cdkVirtualFor=\"let message of messages; let index = index\">\n <bsu-barsa-chat-message\n [message]=\"message\"\n [showSender]=\"true\"\n [nextIsSame]=\"messages?.[index + 1]?.owner?.id === message.owner.id\"\n [pervIsSame]=\"messages?.[index - 1]?.owner?.id === message.owner.id\"\n [badge]=\"!this.messages?.[index - 1] || (moment(message.createdAt).jDayOfYear() !== moment(this.messages?.[index - 1]?.createdAt).jDayOfYear())\"\n [nextHasBadge]=\"!!this.messages?.[index + 1] && (moment(message.createdAt).jDayOfYear() !== moment(this.messages?.[index + 1]?.createdAt).jDayOfYear()) && message.owner.id === this.messages?.[index + 1]?.owner?.id\"\n [badgeLabel]=\"moment(message.createdAt) | utilChatTimeBadge\"\n (reply)=\"setReplyingMessage.emit($event)\"\n ></bsu-barsa-chat-message>\n </div>\n @if (replyingMessage) {\n <div class=\"tw-h-14\"></div>\n }\n</cdk-virtual-scroll-viewport>\n} @else {\n<div class=\"tw-h-full tw-w-full tw-pt-24\">\n @for (message of messages; track message.id) {\n <bsu-barsa-chat-message\n [message]=\"message\"\n [showSender]=\"true\"\n [nextIsSame]=\"messages?.[$index + 1]?.owner?.id === message.owner.id\"\n [pervIsSame]=\"messages?.[$index - 1]?.owner?.id === message.owner.id\"\n [badge]=\"!this.messages?.[$index - 1] || (moment(message.createdAt).jDayOfYear() !== moment(this.messages?.[$index - 1]?.createdAt).jDayOfYear())\"\n [nextHasBadge]=\"!!this.messages?.[$index + 1] && (moment(message.createdAt).jDayOfYear() !== moment(this.messages?.[$index + 1]?.createdAt).jDayOfYear()) && message.owner.id === this.messages?.[$index + 1]?.owner?.id\"\n [badgeLabel]=\"moment(message.createdAt) | utilChatTimeBadge\"\n (reply)=\"setReplyingMessage.emit($event)\"\n ></bsu-barsa-chat-message>\n }\n <div class=\"tw-h-4\"></div>\n</div>\n} }\n","import { RtlService, GlobalContentDensityService, ContentDensityMode, ThemingService } from '@fundamental-ngx/core';\r\nimport { BarsaApi, getDeviceIsMobile, getDeviceIsPhone, getDeviceIsTablet, PortalService } from 'barsa-novin-ray-core';\r\nimport { UiTextFieldComponent } from './ui-text-field/ui-text-field.component';\r\nimport { LyLayoutFieldLabelComponent } from './ly-layout-field-label/ly-layout-field-label.component';\r\nimport { UiCheckBoxComponent } from './ui-check-box/ui-check-box.component';\r\nimport { UiSimpleComboComponent } from './ui-simple-combo/ui-simple-combo.component';\r\nimport { UiRadioGroupComponent } from './ui-radio-group/ui-radio-group.component';\r\nimport { UiGridComponent } from './ui-grid/ui-grid.component';\r\nimport { LyLayoutContainerOfRootComponent } from './ly-layout-container-of-root/ly-layout-container-of-root.component';\r\nimport { LyLayoutPanelComponent } from './ly-layout-panel/ly-layout-panel.component';\r\nimport { UiReadOnlyFieldComponent } from './ui-read-only-field/ui-read-only-field.component';\r\nimport { UiContainerWithButtonComponent } from './ui-container-with-button/ui-container-with-button.component';\r\nimport { UiPictureFileComponent } from './ui-picture-file/ui-picture-file.component';\r\nimport { UiMoInfoUlvComboComponent } from './ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component';\r\nimport { UiMultiSelectComboComponent } from './ui-multi-select-combo/ui-multi-select-combo.component';\r\nimport { UiNumDecimalUiComponent } from './ui-num-decimal-ui/ui-num-decimal-ui.component';\r\nimport { UiNumIntUiComponent } from './ui-num-int-ui/ui-num-int-ui.component';\r\nimport { UiTimeSpanComponent } from './ui-time-span/ui-time-span.component';\r\nimport { UiFileLinearListBoxComponent } from './ui-file-linear-list-box/ui-file-linear-list-box.component';\r\nimport { LyEmptySpaceComponent } from './ly-empty-space/ly-empty-space.component';\r\nimport { UiSinglePictureComponent } from './ui-single-picture/ui-single-picture.component';\r\nimport { UlvSelectionComponent } from './ulv-selection/ulv-selection.component';\r\nimport { UlvToolbarComponent } from './ulv-toolbar/ulv-toolbar.component';\r\nimport { UlvPagingComponent } from './ulv-paging/ulv-paging.component';\r\nimport { UiGridSortSettingComponent } from './ui-grid-sort-setting/ui-grid-sort-setting.component';\r\nimport { UiGridSortItemComponent } from './ui-grid-sort-item/ui-grid-sort-item.component';\r\nimport { UiGridColumnsComponent } from './ui-grid-columns/ui-grid-columns.component';\r\nimport { MaskComponent } from './mask/mask.component';\r\nimport { UiInfoBarPanelComponent } from './ui-info-bar-panel/ui-info-bar-panel.component';\r\nimport { UiFormPanelComponent } from './ui-form-panel/ui-form-panel.component';\r\nimport { UiSearchCommandInfoUiComponent } from './ui-search-command-info-ui/ui-search-command-info-ui.component';\r\nimport { UlvSettingsComponent } from './ulv-settings/ulv-settings.component';\r\nimport { UiTinymceComponent } from './ui-tinymce/ui-tinymce.component';\r\nimport { UiButtonComponent } from './ui-button/ui-button.component';\r\nimport { UiDateTimeComponent } from './ui-date-time/ui-date-time.component';\r\nimport { FormDialogComponent } from './form-dialog/form-dialog.component';\r\nimport { HeaderFacetKeyValueComponent } from './header-facet-key-value/header-facet-key-value.component';\r\nimport { HeaderFacetFormComponent } from './header-facet-form/header-facet-form.component';\r\nimport { HeaderFacetRateComponent } from './header-facet-rate/header-facet-rate.component';\r\nimport { HeaderFacetProgressComponent } from './header-facet-progress/header-facet-progress.component';\r\nimport { HeaderFacetMicrochartComponent } from './header-facet-microchart/header-facet-microchart.component';\r\nimport { HeaderFacetPlainTextComponent } from './header-facet-plain-text/header-facet-plain-text.component';\r\nimport { UiMoInfoSubFormUiComponent } from './ui-mo-info-sub-form-ui/ui-mo-info-sub-form-ui.component';\r\nimport { ResponsiveToolbarComponent } from './responsive-toolbar/responsive-toolbar.component';\r\nimport { ResponsiveToolbarRendererComponent } from './responsive-toolbar-renderer/responsive-toolbar-renderer.component';\r\nimport { UiTextAreaComponent } from './ui-text-area/ui-text-area.component';\r\nimport { LayoutControlComponent } from './layout-control/layout-control.component';\r\nimport { LayoutWizardComponent } from './layout-wizard/layout-wizard.component';\r\nimport { FormWizardComponent } from './form-wizard/form-wizard.component';\r\nimport { WizardLayoutDirective } from './wizard-layout.directive';\r\nimport { FormDialogLessComponent } from './form-dialog-less/form-dialog-less.component';\r\nimport { RichTextStaticComponent } from './rich-text-static/rich-text-static.component';\r\nimport { UiPicturesInfoComponent } from './ui-pictures-info/ui-pictures-info.component';\r\nimport { LyHorizontalLayoutComponent } from './ly-horizontal-layout/ly-horizontal-layout.component';\r\nimport { LyVerticalLayoutComponent } from './ly-vertical-layout/ly-vertical-layout.component';\r\nimport { LyTabContainerComponent } from './ly-tab-container/ly-tab-container.component';\r\nimport { LyTabPageComponent } from './ly-tab-page/ly-tab-page.component';\r\nimport { LyLabelComponent } from './ly-label/ly-label.component';\r\nimport { ColRendererDirective } from './col-renderer.directive';\r\nimport { UiMoInfoComboViewerComponent } from './ui-mo-info-combo-viewer/ui-mo-info-combo-viewer.component';\r\nimport { UlMsgBoxAdapterComponent } from './ul-msg-box-adapter/ul-msg-box-adapter.component';\r\nimport { HeaderAvatarComponent } from './header-avatar/header-avatar.component';\r\nimport { ApplyConditionalFormatsDirective } from './apply-conditional-formmatings.directive';\r\nimport { UiWorkflowPanelUiComponent } from './ui-workflow-panel-ui/ui-workflow-panel-ui.component';\r\nimport { UlvContextMenuComponent } from './ulv-context-menu/ulv-context-menu.component';\r\nimport { UlLoadingMaskUiComponent } from './ul-loading-mask-ui/ul-loading-mask-ui.component';\r\nimport { UiTextFieldAutoCompleteComponent } from './ui-text-field-auto-complete/ui-text-field-auto-complete.component';\r\nimport { CaptchaFieldComponent } from './captcha-field/captcha-field.component';\r\nimport { LySimpleLabelComponent } from './ly-simple-label/ly-simple-label.component';\r\nimport { GlobalSearchPanelComponent } from './global-search-panel/global-search-panel.component';\r\nimport { GlobalSearchModuleComponent } from './global-search-module/global-search-module.component';\r\nimport { GlobalSearchComponent } from './global-search/global-search.component';\r\nimport { HyperlinkComponent } from './hyperlink/hyperlink.component';\r\nimport { StaticTextComponent } from './static-text/static-text.component';\r\nimport { UlToastAdapterComponent } from './ul-toast-adapter/ul-toast-adapter.component';\r\nimport { MessageStripComponent } from './message-strip/message-strip.component';\r\nimport { UiLinearListContainerWithButtonComponent } from './ui-linear-list-container-with-button/ui-linear-list-container-with-button.component';\r\nimport { FundamentalDynamicFormComponent } from './fundamental-dynamic-form/fundamental-dynamic-form.component';\r\nimport { LayoutActionsComponent } from './layout-actions/layout-actions.component';\r\nimport { LyLayoutContainerComponent } from './ly-layout-container/ly-layout-container.component';\r\nimport { UiUlvFormMultiSelectUiComponent } from './ui-ulv-form-multi-select-ui/ui-ulv-form-multi-select-ui.component';\r\nimport { UlvFormMultiSelectComponent } from './ulv-form-multi-select/ulv-form-multi-select.component';\r\nimport { UlvColumnSettingsComponent } from './ulv-column-settings/ulv-column-settings.component';\r\nimport { UlvFilterSettingsComponent } from './ulv-filter-settings/ulv-filter-settings.component';\r\nimport { UlvSortSettingsComponent } from './ulv-sort-settings/ulv-sort-settings.component';\r\nimport { UlvGroupbySettingsComponent } from './ulv-groupby-settings/ulv-groupby-settings.component';\r\nimport { BarsaListFileLinearComponent } from './barsa-list-file-linear/barsa-list-file-linear.component';\r\nimport { UiPdfViewerComponent } from './ui-pdf-viewer/ui-pdf-viewer.component';\r\nimport { BarsaTinyemceComponent } from './barsa-tinyemce/barsa-tinyemce.component';\r\nimport { UiMonacoEditorComponent } from './ui-monaco-editor/ui-monaco-editor.component';\r\nimport { BarsaMonacoEditorComponent } from './barsa-monaco-editor/barsa-monaco-editor.component';\r\nimport { BarsaDateTimePickerComponent } from './barsa-date-time-picker/barsa-date-time-picker.component';\r\nimport { BarsaTreeItemComponent } from './barsa-tree-item/barsa-tree-item.component';\r\nimport { UploadFileStatusPipe } from './upload-file-status.pipe';\r\nimport { UiSwitchButtonComponent } from './ui-switch-button/ui-switch-button.component';\r\nimport { UiColorUiComponent } from './ui-color-ui/ui-color-ui.component';\r\nimport { LyLineComponent } from './ly-line/ly-line.component';\r\nimport { UiUlvMainUiComponent } from './ui-ulv-main-ui/ui-ulv-main-ui.component';\r\nimport { ReportNavigatorComponent } from './report-navigator/report-navigator.component';\r\nimport { ManageFiltersReportComponent } from './manage-filters-report/manage-filters-report.component';\r\nimport { ReportSearchFieldsManageComponent } from './report-search-fields-manage/report-search-fields-manage.component';\r\nimport { ReportSearchFieldsHiddenSettingsComponent } from './report-search-fields-hidden-settings/report-search-fields-hidden-settings.component';\r\nimport { SearchPanelComponent } from './search-panel/search-panel.component';\r\nimport { ReportSearchPanelSaveComponent } from './report-search-panel-save/report-search-panel-save.component';\r\nimport { UiGridFilterSettingsComponent } from './ui-grid-filter-settings/ui-grid-filter-settings.component';\r\nimport { UiGridFilterItemComponent } from './ui-grid-filter-item/ui-grid-filter-item.component';\r\nimport { SapFontPipe } from './sap-font.pipe';\r\nimport { SapFontClassPipe } from './sap-font-class.pipe';\r\nimport { UiDateRangeExComponent } from './ui-date-range-ex/ui-date-range-ex.component';\r\nimport { UlNotifyPopupComponent } from './ul-notify-popup/ul-notify-popup.component';\r\nimport { UiTableViewComponent } from './ui-table-view/ui-table-view.component';\r\nimport { UiListViewComponent } from './ui-list-view/ui-list-view.component';\r\nimport { StringToArrayPipe, UiCardViewComponent } from './ui-card-view/ui-card-view.component';\r\nimport { UiReportContainerComponent } from './ui-report-container/ui-report-container.component';\r\nimport { NoDataComponent } from './no-data/no-data.component';\r\nimport { ColumnRendererComponent } from './column-renderer/column-renderer.component';\r\nimport { InlineSaveAndCancelComponent } from './inline-save-and-cancel/inline-save-and-cancel.component';\r\nimport { UiTreeViewComponent } from './ui-tree-view/ui-tree-view.component';\r\nimport { UiTreeComponent } from './ui-tree/ui-tree.component';\r\nimport { UiCalendarComponent } from './ui-calendar/ui-calendar.component';\r\nimport { NodeHasOneDepthLevelPipe } from './barsa-tree-item/node-has-one-depth-level.pipe';\r\nimport { UiAspReportViewerComponent } from './ui-asp-report-viewer/ui-asp-report-viewer.component';\r\nimport { UiGraphComponent } from './ui-graph/ui-graph.component';\r\nimport { UiExceptionFormComponent } from './ui-exception-form/ui-exception-form.component';\r\nimport { UiEditableGridComponent } from './ui-editable-grid/ui-editable-grid.component';\r\nimport { ColumnMatrixRendererComponent } from './column-matrix-renderer/column-matrix-renderer.component';\r\nimport { UiMatrixViewComponent } from './ui-matrix-view/ui-matrix-view.component';\r\nimport { CustomDateTimeComponent } from './custom-date-time/custom-date-time.component';\r\nimport { MatrixValuePipe } from './column-matrix-renderer/matrix-value.pipe';\r\nimport { BarsaAspViewerComponent } from './barsa-asp-viewer/barsa-asp-viewer.component';\r\nimport { FileInDialogComponent } from './file-in-dialog/file-in-dialog.component';\r\nimport { DynamicPageSizePipe } from './dynamic-page-size.pipe';\r\nimport { ReportViewRendererDirective } from './report-view-renderer.directive';\r\nimport { UiMoInfoGeneralObjectUiComponent } from './ui-mo-info-general-object-ui/ui-mo-info-general-object-ui.component';\r\nimport { UiGanttChartComponent } from './ui-gantt-chart/ui-gantt-chart.component';\r\nimport { GanttDhtmlChartViewComponent } from './gantt-dhtml-chart-view/gantt-dhtml-chart-view.component';\r\nimport { FullscreenDialogDirective } from './fullscreen-dialog.directive';\r\nimport { ProgressIndicatorComponent } from './progress-indicator/progress-indicator.component';\r\nimport { CardViewContentComponent } from './card-view-content/card-view-content.component';\r\nimport { CardItemComponent } from './card-item/card-item.component';\r\nimport { UiCardViewHorizontalGroupComponent } from './ui-card-view-horizontal-group/ui-card-view-horizontal-group.component';\r\nimport { TitleComponent } from './title/title.component';\r\nimport { BarsaUlvMainComponent } from './barsa-ulv-main/barsa-ulv-main.component';\r\nimport { ListItemComponent } from './list-item/list-item.component';\r\nimport { HtreeCreateNewComponent } from './htree-create-new/htree-create-new.component';\r\nimport { BarsaTableRowComponent } from './barsa-table-row/barsa-table-row.component';\r\nimport { BarsaTableColumnComponent } from './barsa-table-column/barsa-table-column.component';\r\nimport { BarsaTableHeaderComponent } from './barsa-table-header/barsa-table-header.component';\r\nimport { BreadcrumbComponent } from './breadcrumb/breadcrumb.component';\r\nimport { UiLabelComponent } from './ui-label/ui-label.component';\r\nimport { FormToolbarButtonComponent } from './form-toolbar-button/form-toolbar-button.component';\r\nimport { BarsaSearchFormComponent } from './barsa-search-form/barsa-search-form.component';\r\nimport { ReportNewTopFormComponent } from './report-new-top-form/report-new-top-form.component';\r\nimport { BarsaNetworkOfflineComponent } from './barsa-network-offline/barsa-network-offline.component';\r\nimport { BlobViewerComponent } from './blob-viewer/blob-viewer.component';\r\nimport { FileViewerComponent } from './file-viewer/file-viewer.component';\r\nimport { FileViewerContentComponent } from './file-viewer-content/file-viewer-content.component';\r\nimport { FileViewerPopoverComponent } from './file-viewer-popover/file-viewer-popover.component';\r\nimport { DownloadFilesDirective } from './download-files.directive';\r\nimport { FullscreenFilesDirective } from './fullscreen-files.directive';\r\nimport { NotificationItemComponent } from './notification-item/notification-item.component';\r\nimport { BarsaCartableTemplateComponent } from './barsa-cartable-template/barsa-cartable-template.component';\r\nimport { BarsaCartableGroupComponent } from './barsa-group-cartable/barsa-cartable-group.component';\r\nimport { BarsaCartableFormComponent } from './barsa-cartable-form/barsa-cartable-form.component';\r\nimport { BarsaColumnIndicatorComponent } from './barsa-column-indicator/barsa-column-indicator.component';\r\nimport { BarsaFieldKeyValueComponent } from './barsa-field-key-value/barsa-field-key-value.component';\r\nimport { BarsaToolbaritemSearchComponent } from './barsa-toolbaritem-search/barsa-toolbaritem-search.component';\r\nimport { UiHtmlViewerComponent } from './ui-html-viewer/ui-html-viewer.component';\r\nimport { BarsaPishnamayeshPayamComponent } from './barsa-pishnamayesh-payam/barsa-pishnamayesh-payam.component';\r\nimport { BarsaTextEllipsisComponent } from './barsa-text-ellipsis/barsa-text-ellipsis.component';\r\nimport { BarsaListFileLinearGmailComponent } from './barsa-list-file-linear-gmail/barsa-list-file-linear-gmail.component';\r\nimport { BarsaLinkableItemsPanelComponent } from './barsa-linkable-items-panel/barsa-linkable-items-panel.component';\r\nimport { BarsaEnumMenuButtonComponent } from './barsa-enum-menu-button/barsa-enum-menu-button.component';\r\nimport { BarsaCardLayoutPanelComponent } from './barsa-card-layout-panel/barsa-card-layout-panel.component';\r\nimport { BarsaHorizontalFlexPanelComponent } from './barsa-horizontal-flex-panel/barsa-horizontal-flex-panel.component';\r\nimport { BarsaBaseLayoutPanelComponent } from './barsa-base-panel/barsa-base-layout-panel.component';\r\nimport { BarsaBarPanelComponent } from './barsa-bar-panel/barsa-bar-panel.component';\r\nimport { BarsaFormSideContentComponent } from './barsa-form-side-content/barsa-form-side-content.component';\r\nimport { DialogHandlerDirective } from './dialog-handler.directive';\r\nimport { BarsaSimpleFormComponent } from './barsa-simple-form/barsa-simple-form.component';\r\nimport { FormToolbarComponent } from './form-toolbar/form-toolbar.component';\r\nimport { BarsaListLayoutPanelComponent } from './barsa-list-layout-panel/barsa-list-layout-panel.component';\r\nimport { BarsaGridLayoutPanelComponent } from './barsa-grid-layout-panel/barsa-grid-layout-panel.component';\r\nimport { BarsaDynamicFieldComponent } from './barsa-dynamic-field/barsa-dynamic-field.component';\r\nimport { SapSizePipe } from './sap-size.pipe';\r\nimport { UiMultiSelectRadioComponent } from './ui-multi-select-radio/ui-multi-select-radio.component';\r\nimport { UiMultiSelectCheckboxComponent } from './ui-multi-select-checkbox/ui-multi-select-checkbox.component';\r\nimport { UiMultiSelectSliderComponent } from './ui-multi-select-slider/ui-multi-select-slider.component';\r\nimport { UiMultiSelectCardComponent } from './ui-multi-select-card/ui-multi-select-card.component';\r\nimport { UiMultiSelectSmileComponent } from './ui-multi-select-smile/ui-multi-select-smile.component';\r\nimport { UiNumIntSliderComponent } from './ui-num-int-slider/ui-num-int-slider.component';\r\nimport { BarsaReportCheckboxSwitchButtonComponent } from './barsa-report-checkbox-switch-button/barsa-report-checkbox-switch-button.component';\r\nimport { BarsaColumnRowNumberComponent } from './barsa-column-rownumber/barsa-column-rownumber.component';\r\nimport { BarsaReportOneOfListComponent } from './barsa-report-one-of-list/barsa-report-one-of-list.component';\r\nimport { BarsaCardRowPayamComponent } from './barsa-card-row-payam/barsa-card-row-payam.component';\r\nimport { BarsaQuestionPostComponent } from './barsa-question-post/barsa-question-post.component';\r\nimport { BarsaQuestionAnswerFormComponent } from './barsa-question-answer-form/barsa-question-answer-form.component';\r\nimport { BarsaQuestionAnswerFormAddCommentComponent } from './barsa-question-answer-form-add-comment/barsa-question-answer-form-add-comment.component';\r\nimport { BarsaAnswerCardComponent } from './barsa-answer-card/barsa-answer-card.component';\r\nimport { BarsaQuestionAnswerCreatorTimeSectionComponent } from './barsa-question-answer-creator-time-section/barsa-question-answer-creator-time-section.component';\r\nimport { BarsaQuestionAnswerCommentsSectionComponent } from './barsa-question-answer-comments-section/barsa-question-answer-comments-section.component';\r\nimport { BarsaQuestionAnswerVoteSectionComponent } from './barsa-question-answer-vote-section/barsa-question-answer-vote-section.component';\r\nimport { BarsaQuestionAnswerContentActionsSectionComponent } from './barsa-question-answer-content-actions-section/barsa-question-answer-content-actions-section.component';\r\nimport { BarsaChipComponent } from './barsa-chip/barsa-chip.component';\r\nimport { BarsaReportCardFlexViewComponent } from './barsa-report-card-flex-view/barsa-report-card-flex-view.component';\r\nimport { BarsaTagsCategoryRowComponent } from './barsa-tags-category-row/barsa-tags-category-row.component';\r\nimport { BarsaTagChipComponent } from './barsa-tag-chip/barsa-tag-chip.component';\r\nimport { BarsaTagCategoriesComponent } from './barsa-tag-categories/barsa-tag-categories.component';\r\nimport { BarsaCustomInlineEditComponent } from './barsa-custom-inline-edit/barsa-custom-inline-edit.component';\r\nimport { BarsaCustomInlineEditRowComponent } from './barsa-custom-inline-edit-row/barsa-custom-inline-edit-row.component';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { BarsaChatComponent } from './barsa-chat/barsa-chat.component';\r\nimport { BarsaChatContentComponent } from './barsa-chat-content/barsa-chat-content.component';\r\nimport { BarsaChatMessageComponent } from './barsa-chat-message/barsa-chat-message.component';\r\nimport { BarsaChatThreadComponent } from './barsa-chat-thread/barsa-chat-thread.component';\r\nimport { BarsaChatThreadsListComponent } from './barsa-chat-threads-list/barsa-chat-threads-list.component';\r\nimport { BarsaChatThreadsListToolbarComponent } from './barsa-chat-threads-list-toolbar/barsa-chat-threads-list-toolbar.component';\r\nimport { BarsaChatContentToolbarComponent } from './barsa-chat-content-toolbar/barsa-chat-content-toolbar.component';\r\nimport { BarsaChatListComponent } from './barsa-chat-list/barsa-chat-list.component';\r\n\r\nexport const components = [\r\n UiTextFieldComponent,\r\n LyLayoutFieldLabelComponent,\r\n UiCheckBoxComponent,\r\n UiSimpleComboComponent,\r\n UiRadioGroupComponent,\r\n UiGridComponent,\r\n LyLayoutContainerOfRootComponent,\r\n LyLayoutPanelComponent,\r\n UiReadOnlyFieldComponent,\r\n UiContainerWithButtonComponent,\r\n UiPictureFileComponent,\r\n UiMoInfoUlvComboComponent,\r\n UiMultiSelectComboComponent,\r\n UiNumDecimalUiComponent,\r\n UiNumIntUiComponent,\r\n UiTimeSpanComponent,\r\n UiFileLinearListBoxComponent,\r\n LyEmptySpaceComponent,\r\n UiSinglePictureComponent,\r\n UlvSelectionComponent,\r\n UlvToolbarComponent,\r\n UlvPagingComponent,\r\n UiGridSortSettingComponent,\r\n UiGridSortItemComponent,\r\n UiGridColumnsComponent,\r\n MaskComponent,\r\n UiInfoBarPanelComponent,\r\n UiFormPanelComponent,\r\n UiSearchCommandInfoUiComponent,\r\n UlvSettingsComponent,\r\n UiTinymceComponent,\r\n UiButtonComponent,\r\n UiDateTimeComponent,\r\n FormDialogComponent,\r\n HeaderFacetKeyValueComponent,\r\n HeaderFacetFormComponent,\r\n HeaderFacetRateComponent,\r\n HeaderFacetProgressComponent,\r\n HeaderFacetMicrochartComponent,\r\n HeaderFacetPlainTextComponent,\r\n UiMoInfoSubFormUiComponent,\r\n ResponsiveToolbarComponent,\r\n ResponsiveToolbarRendererComponent,\r\n UiTextAreaComponent,\r\n LayoutControlComponent,\r\n LayoutWizardComponent,\r\n FormWizardComponent,\r\n FormDialogLessComponent,\r\n RichTextStaticComponent,\r\n UiPicturesInfoComponent,\r\n LyHorizontalLayoutComponent,\r\n LyVerticalLayoutComponent,\r\n LyTabContainerComponent,\r\n LyTabPageComponent,\r\n LyLabelComponent,\r\n UiMoInfoComboViewerComponent,\r\n UlMsgBoxAdapterComponent,\r\n UiTreeComponent,\r\n HeaderAvatarComponent,\r\n UiWorkflowPanelUiComponent,\r\n UlvContextMenuComponent,\r\n UlLoadingMaskUiComponent,\r\n UiTextFieldAutoCompleteComponent,\r\n CaptchaFieldComponent,\r\n LySimpleLabelComponent,\r\n GlobalSearchPanelComponent,\r\n GlobalSearchModuleComponent,\r\n GlobalSearchComponent,\r\n HyperlinkComponent,\r\n StaticTextComponent,\r\n UlToastAdapterComponent,\r\n MessageStripComponent,\r\n UiLinearListContainerWithButtonComponent,\r\n FundamentalDynamicFormComponent,\r\n LayoutActionsComponent,\r\n LyLayoutContainerComponent,\r\n UiUlvFormMultiSelectUiComponent,\r\n UlvFormMultiSelectComponent,\r\n UlvColumnSettingsComponent,\r\n UlvFilterSettingsComponent,\r\n UlvSortSettingsComponent,\r\n UlvGroupbySettingsComponent,\r\n BarsaListFileLinearComponent,\r\n UiPdfViewerComponent,\r\n BarsaTinyemceComponent,\r\n UiMonacoEditorComponent,\r\n BarsaMonacoEditorComponent,\r\n BarsaDateTimePickerComponent,\r\n BarsaTreeItemComponent,\r\n UiSwitchButtonComponent,\r\n UiColorUiComponent,\r\n LyLineComponent,\r\n UiUlvMainUiComponent,\r\n ReportNavigatorComponent,\r\n ManageFiltersReportComponent,\r\n ReportSearchFieldsManageComponent,\r\n ReportSearchFieldsHiddenSettingsComponent,\r\n SearchPanelComponent,\r\n ReportSearchPanelSaveComponent,\r\n UiGridFilterSettingsComponent,\r\n UiGridFilterItemComponent,\r\n UiDateRangeExComponent,\r\n UlNotifyPopupComponent,\r\n UiTableViewComponent,\r\n UiListViewComponent,\r\n UiCardViewComponent,\r\n UiReportContainerComponent,\r\n NoDataComponent,\r\n ColumnRendererComponent,\r\n InlineSaveAndCancelComponent,\r\n UiTreeViewComponent,\r\n InlineSaveAndCancelComponent,\r\n UiCalendarComponent,\r\n UiAspReportViewerComponent,\r\n UiGraphComponent,\r\n UiExceptionFormComponent,\r\n UiEditableGridComponent,\r\n ColumnMatrixRendererComponent,\r\n UiMatrixViewComponent,\r\n CustomDateTimeComponent,\r\n BarsaAspViewerComponent,\r\n FileInDialogComponent,\r\n UiMoInfoGeneralObjectUiComponent,\r\n UiGanttChartComponent,\r\n GanttDhtmlChartViewComponent,\r\n ProgressIndicatorComponent,\r\n CardViewContentComponent,\r\n CardItemComponent,\r\n UiCardViewHorizontalGroupComponent,\r\n TitleComponent,\r\n BarsaUlvMainComponent,\r\n ListItemComponent,\r\n HtreeCreateNewComponent,\r\n BarsaTableHeaderComponent,\r\n BarsaTableRowComponent,\r\n BarsaTableColumnComponent,\r\n BreadcrumbComponent,\r\n UiLabelComponent,\r\n FormToolbarButtonComponent,\r\n BarsaSearchFormComponent,\r\n ReportNewTopFormComponent,\r\n BarsaNetworkOfflineComponent,\r\n FileViewerContentComponent,\r\n FileViewerPopoverComponent,\r\n FileViewerComponent,\r\n BlobViewerComponent,\r\n NotificationItemComponent,\r\n BarsaCartableTemplateComponent,\r\n BarsaCartableGroupComponent,\r\n BarsaCartableFormComponent,\r\n BarsaColumnIndicatorComponent,\r\n BarsaFieldKeyValueComponent,\r\n BarsaToolbaritemSearchComponent,\r\n UiHtmlViewerComponent,\r\n BarsaPishnamayeshPayamComponent,\r\n BarsaTextEllipsisComponent,\r\n BarsaListFileLinearGmailComponent,\r\n BarsaLinkableItemsPanelComponent,\r\n BarsaEnumMenuButtonComponent,\r\n BarsaCardLayoutPanelComponent,\r\n BarsaHorizontalFlexPanelComponent,\r\n BarsaBaseLayoutPanelComponent,\r\n BarsaBarPanelComponent,\r\n BarsaFormSideContentComponent,\r\n BarsaSimpleFormComponent,\r\n FormToolbarComponent,\r\n BarsaListLayoutPanelComponent,\r\n BarsaGridLayoutPanelComponent,\r\n BarsaDynamicFieldComponent,\r\n UiMultiSelectRadioComponent,\r\n UiMultiSelectCheckboxComponent,\r\n UiNumIntSliderComponent,\r\n UiMultiSelectSliderComponent,\r\n UiMultiSelectCardComponent,\r\n UiMultiSelectSmileComponent,\r\n BarsaReportCheckboxSwitchButtonComponent,\r\n BarsaColumnRowNumberComponent,\r\n BarsaCardRowPayamComponent,\r\n BarsaColumnRowNumberComponent,\r\n BarsaQuestionPostComponent,\r\n BarsaQuestionAnswerFormComponent,\r\n BarsaQuestionAnswerFormAddCommentComponent,\r\n BarsaAnswerCardComponent,\r\n BarsaQuestionAnswerContentActionsSectionComponent,\r\n BarsaQuestionAnswerVoteSectionComponent,\r\n BarsaQuestionAnswerCreatorTimeSectionComponent,\r\n BarsaQuestionAnswerCommentsSectionComponent,\r\n BarsaChipComponent,\r\n BarsaTagChipComponent,\r\n BarsaReportCardFlexViewComponent,\r\n BarsaTagsCategoryRowComponent,\r\n BarsaTagCategoriesComponent,\r\n BarsaReportOneOfListComponent,\r\n BarsaCardRowPayamComponent,\r\n BarsaCustomInlineEditComponent,\r\n BarsaCustomInlineEditRowComponent,\r\n BarsaChatComponent,\r\n BarsaChatContentComponent,\r\n BarsaChatMessageComponent,\r\n BarsaChatThreadComponent,\r\n BarsaChatThreadsListComponent,\r\n BarsaChatThreadsListToolbarComponent,\r\n BarsaChatContentToolbarComponent,\r\n BarsaChatListComponent\r\n];\r\nexport const pipes = [\r\n UploadFileStatusPipe,\r\n SapFontPipe,\r\n SapFontClassPipe,\r\n StringToArrayPipe,\r\n NodeHasOneDepthLevelPipe,\r\n MatrixValuePipe,\r\n DynamicPageSizePipe,\r\n SapSizePipe\r\n];\r\nexport const directives = [\r\n WizardLayoutDirective,\r\n ColRendererDirective,\r\n ApplyConditionalFormatsDirective,\r\n ReportViewRendererDirective,\r\n FullscreenDialogDirective,\r\n FullscreenFilesDirective,\r\n DownloadFilesDirective,\r\n DialogHandlerDirective\r\n];\r\n\r\nexport const INIT_SAPFIORI =\r\n (\r\n rtlService: RtlService,\r\n contentDensityService: GlobalContentDensityService,\r\n themeService: ThemingService,\r\n portalService: PortalService,\r\n domSanitizer: DomSanitizer\r\n ) =>\r\n () => {\r\n rtlService.rtl.next(BarsaApi.LoginFormData.IsRtl);\r\n const YekanDigit = 'IRANYekanDigits';\r\n let fontFamily = YekanDigit;\r\n const iranSans = 'BarsaFont';\r\n if (BarsaApi.LoginFormData.Culture === 'en-US') {\r\n fontFamily = iranSans;\r\n }\r\n\r\n const css = `* {\r\n --fdTile_Title_Font_Weight: bold;\r\n --sapFontFamily: '${iranSans}';\r\n --fdDynamicPage_Title_Font_Family: '${fontFamily}';\r\n --fdButton_Font_Family: '${iranSans}';\r\n --fdIcon_Tab_Bar_Label_Font_Family: '${iranSans}';\r\n --sapFontFamily: '${fontFamily}';\r\n --fdWizard_Label_Font_Family: '${fontFamily}';\r\n --sapFontLightFamily: '${fontFamily}';\r\n --sapFontHeaderFamily: '${fontFamily}';\r\n --_ui5_input_compact_height: 1.625rem;\r\n --sapFontSize: 0.885rem;\r\n /* --sapContent_HeaderShadow: none; */\r\n}`,\r\n head = document.head || document.getElementsByTagName('head')[0],\r\n style: any = document.createElement('style');\r\n\r\n head.appendChild(style);\r\n\r\n style.type = 'text/css';\r\n if (style.styleSheet) {\r\n // This is required for IE8 and below.\r\n style.styleSheet.cssText = css;\r\n } else {\r\n style.appendChild(document.createTextNode(css));\r\n }\r\n\r\n portalService.userPortalSettings$.pipe().subscribe((userPortalSettings) => {\r\n const userSettings = userPortalSettings['UserPortalSettings'];\r\n if (!userSettings) {\r\n themeService.setTheme('sap_fiori_3');\r\n themeService.currentTheme.subscribe((theme) => {\r\n if (theme) {\r\n portalService.setTheme(domSanitizer.bypassSecurityTrustResourceUrl(theme.theming.themePath));\r\n }\r\n });\r\n return;\r\n }\r\n let contentDensity: any;\r\n let theme: any;\r\n if (!userSettings) {\r\n if (getDeviceIsMobile() || getDeviceIsPhone() || getDeviceIsTablet()) {\r\n contentDensity = ContentDensityMode.COZY;\r\n } else {\r\n contentDensity = ContentDensityMode.COMPACT;\r\n }\r\n } else {\r\n const { ContentDensity$Caption, Theme$Caption } = userSettings;\r\n contentDensity = ContentDensity$Caption;\r\n theme = Theme$Caption;\r\n if (!contentDensity) {\r\n contentDensity = ContentDensityMode.COMPACT;\r\n }\r\n }\r\n if (getDeviceIsMobile() || getDeviceIsPhone()) {\r\n contentDensity = ContentDensityMode.COZY;\r\n }\r\n if (contentDensity) {\r\n {\r\n contentDensityService.updateContentDensity(contentDensity);\r\n }\r\n const bodyClassCompact = 'ui5-content-density-compact';\r\n const bodyClassCondensed = 'ui5-content-density-condensed';\r\n const bodyClassCozy = 'ui5-content-density-cozy';\r\n const body = document?.body;\r\n switch (contentDensity) {\r\n case 'condensed':\r\n {\r\n if (!body.classList.contains(bodyClassCondensed)) {\r\n body.classList.add(bodyClassCondensed);\r\n }\r\n body.classList.remove(bodyClassCompact);\r\n body.classList.remove(bodyClassCozy);\r\n }\r\n\r\n break;\r\n case 'cozy':\r\n {\r\n if (!body.classList.contains(bodyClassCozy)) {\r\n body.classList.add(bodyClassCozy);\r\n }\r\n body.classList.remove(bodyClassCompact);\r\n body.classList.remove(bodyClassCondensed);\r\n }\r\n break;\r\n case 'compact':\r\n {\r\n if (!body.classList.contains(bodyClassCompact)) {\r\n body.classList.add(bodyClassCompact);\r\n }\r\n body.classList.remove(bodyClassCozy);\r\n body.classList.remove(bodyClassCondensed);\r\n }\r\n break;\r\n }\r\n }\r\n if (theme) {\r\n if (theme.indexOf('dark') > -1) {\r\n document.documentElement.style.setProperty('color-scheme', 'dark');\r\n document.documentElement.setAttribute('data-mode', 'dark');\r\n } else {\r\n document.documentElement.style.setProperty('color-scheme', 'light');\r\n document.documentElement.setAttribute('data-mode', 'light');\r\n }\r\n themeService.setTheme(theme);\r\n themeService.currentTheme.subscribe((theme) => {\r\n if (theme) {\r\n portalService.setTheme(domSanitizer.bypassSecurityTrustResourceUrl(theme.theming.themePath));\r\n }\r\n });\r\n }\r\n });\r\n };\r\n","import { Injectable } from '@angular/core';\nimport { NotificationConfig, NotificationService } from '@fundamental-ngx/core';\nimport { BarsaApi, NotifyOptions, MetaobjectDataModel } from 'barsa-novin-ray-core';\nimport { getUniqueId } from 'barsa-novin-ray-core';\n\nimport { UlNotifyPopupComponent } from './ul-notify-popup/ul-notify-popup.component';\n\n@Injectable()\nexport class NotificationPopupService implements NotificationPopupService {\n /**\n *\n */\n defaultOptions: NotifyOptions = {\n Sound: true,\n Image: null,\n Title: null,\n Icon: false,\n Delay: 8000,\n Closable: true,\n DelayIndicator: true,\n CloseOnClick: true,\n IsRtl: true,\n Position: 'bottom left',\n SoundPath: 'sounds/',\n Size: 'normal',\n ContinueDelayOnInactiveTab: true,\n Width: 800,\n MessageHeight: 60\n };\n constructor(private _notificationService: NotificationService) {}\n popupNotify(msg, title, type, image, mo, uiOptions, otherOptions): void {\n uiOptions = this._getUiOptions(uiOptions);\n const callback = this._getNotifyCallback(mo, otherOptions);\n const notificationConfig = this._getNotificationConfig(image, title, uiOptions, msg, mo, callback);\n if (otherOptions?.MoId && !mo) {\n notificationConfig.data.mo = { RelatedMo: { Id: otherOptions.MoId, $TypeDefId: otherOptions.TypeDefId } };\n notificationConfig.data.NotificationItem.HideShowButton = false;\n }\n const notificationRef = this._notificationService.open(UlNotifyPopupComponent, notificationConfig);\n this._notificationService.notifications.forEach(\n (c) => (c.notificationComponent.instance.closeOnNavigation = false)\n );\n setTimeout(() => notificationRef.dismiss('dismissed'), uiOptions.Delay);\n }\n\n private _getUiOptions(uiOptions: NotifyOptions): NotifyOptions {\n if (uiOptions) {\n return { ...this.defaultOptions, ...uiOptions };\n } else {\n return this.defaultOptions;\n }\n }\n\n private _getNotificationConfig(\n image,\n title,\n uiOptions: NotifyOptions,\n msg,\n mo: MetaobjectDataModel,\n callback: () => void\n ): NotificationConfig {\n return {\n id: getUniqueId(3),\n data: {\n mo,\n image,\n NotificationItem: uiOptions?.NotificationItem,\n title,\n Closable: uiOptions.Closable,\n isRtl: uiOptions.IsRtl,\n msg,\n callback\n },\n width: uiOptions?.Width?.toString() + 'px'\n };\n }\n private _getNotifyCallback(mo, otherOptions): () => void {\n let callback = (): void => {};\n if (mo) {\n callback = () => {\n BarsaApi.Bw.Form.Show({\n Mo: mo\n });\n };\n } else if (otherOptions) {\n callback = () => {\n BarsaApi.Bw.Form.Show({\n MoId: otherOptions.MoId,\n TypeDefId: otherOptions.TypeDefId\n });\n };\n }\n return callback;\n }\n}\n","import {\r\n ComponentFactoryResolver,\r\n CUSTOM_ELEMENTS_SCHEMA,\r\n ModuleWithProviders,\r\n NgModule,\r\n NO_ERRORS_SCHEMA,\r\n APP_INITIALIZER\r\n} from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { Overlay } from '@angular/cdk/overlay';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { CdkTableModule } from '@angular/cdk/table';\r\nimport {\r\n FundamentalNgxCoreModule,\r\n WizardModule,\r\n FacetModule,\r\n ThemingService,\r\n DialogService,\r\n ContentDensityModule,\r\n ContentDensityMode,\r\n GlobalContentDensityService,\r\n RatingStarLabelPipe,\r\n ListGroupPipe,\r\n DateTimeFormatPipe,\r\n DateFromNowPipe,\r\n DateFormatPipe,\r\n AvatarIconPipe,\r\n NotificationRef,\r\n MessageToastService\r\n} from '@fundamental-ngx/core';\r\nimport { RtlService } from '@fundamental-ngx/cdk/utils';\r\nimport { PdfJsViewerModule } from 'ng2-pdfjs-viewer';\r\n\r\nimport {\r\n PortalService,\r\n DynamicComponentService,\r\n BarsaNovinRayCoreModule,\r\n BaseModule,\r\n DIALOG_SERVICE,\r\n FORM_DIALOG_COMPONENT,\r\n NOTIFICATAION_POPUP_SERVER,\r\n TOAST_SERVICE,\r\n ResizableModule\r\n} from 'barsa-novin-ray-core';\r\n\r\nimport { BarsaCalendarModule } from 'barsa-calendar';\r\nimport { ColorSwatchesModule } from 'ngx-color/swatches';\r\nimport { ColorChromeModule } from 'ngx-color/chrome';\r\nimport { ClipboardModule } from '@angular/cdk/clipboard';\r\n\r\nimport { components, pipes, directives, INIT_SAPFIORI } from './index';\r\nimport { BarsaSapUiRoutingModule } from './barsa-sap-ui-routing.module';\r\nimport { FormDialogComponent } from './form-dialog/form-dialog.component';\r\nimport { NotificationPopupService } from './notification-popup.service';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { ScrollingModule } from '@angular/cdk/scrolling';\r\nimport { UtilDateToHhMmPipe } from './util-date-to-hh-mm.pipe';\r\nimport { UtilChatTimeBadgePipe } from './util-chat-time-badge.pipe';\r\n\r\nconst rootProviders = [\r\n Overlay,\r\n GlobalContentDensityService,\r\n ThemingService,\r\n NotificationRef,\r\n RtlService,\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: INIT_SAPFIORI,\r\n deps: [RtlService, GlobalContentDensityService, ThemingService, PortalService, DomSanitizer],\r\n multi: true\r\n },\r\n { provide: FORM_DIALOG_COMPONENT, useValue: FormDialogComponent },\r\n { provide: NOTIFICATAION_POPUP_SERVER, useClass: NotificationPopupService },\r\n { provide: TOAST_SERVICE, useClass: MessageToastService }\r\n];\r\n\r\n@NgModule({\r\n declarations: [...components, ...pipes, ...directives],\r\n schemas: [NO_ERRORS_SCHEMA, CUSTOM_ELEMENTS_SCHEMA],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n BarsaNovinRayCoreModule,\r\n DragDropModule,\r\n CdkTableModule,\r\n FundamentalNgxCoreModule,\r\n FacetModule,\r\n WizardModule,\r\n RatingStarLabelPipe,\r\n ListGroupPipe,\r\n DateTimeFormatPipe,\r\n DateFromNowPipe,\r\n DateFormatPipe,\r\n AvatarIconPipe,\r\n ColorSwatchesModule,\r\n ColorChromeModule,\r\n ClipboardModule,\r\n BarsaCalendarModule,\r\n BarsaSapUiRoutingModule,\r\n PdfJsViewerModule,\r\n ResizableModule,\r\n ContentDensityModule.forRoot({\r\n storage: 'localStorage', // can be 'url' or 'memory'\r\n storageKey: '__contentDensity__',\r\n defaultGlobalContentDensity: ContentDensityMode.COMPACT\r\n }),\r\n ScrollingModule,\r\n UtilDateToHhMmPipe,\r\n UtilChatTimeBadgePipe\r\n ],\r\n exports: [...components, ...directives, ...pipes],\r\n providers: [{ provide: DIALOG_SERVICE, useClass: DialogService }]\r\n})\r\nexport class BarsaSapUiModule extends BaseModule {\r\n protected dynamicComponents = [...components];\r\n constructor(protected dcm: DynamicComponentService, protected componentFactoryResolver: ComponentFactoryResolver) {\r\n super(dcm, componentFactoryResolver, 'BarsaSapUiModule');\r\n }\r\n static forRoot(): ModuleWithProviders<BarsaSapUiModule> {\r\n return {\r\n ngModule: BarsaSapUiModule,\r\n providers: [...pipes, ...rootProviders]\r\n };\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["sort","i1","i2","i3","i4.SapFontPipe","i4.LyLabelComponent","i5","Constants.sort","Constants.getNestedValue","i4","i6","i7","i8","i9.UiGridColumnsComponent","i10","i2.UiGridSortItemComponent","i7.UiGridSortSettingComponent","i2.MaskComponent","i3.UiGridFilterItemComponent","i7.UiGridFilterSettingsComponent","i9","i2.UlvToolbarComponent","i3.GanttDhtmlChartViewComponent","getDateService","i3.LayoutControlComponent","i4.MatrixValuePipe","i4.ColumnMatrixRendererComponent","i5.ApplyConditionalFormatsDirective","i6.UlvToolbarComponent","i7.UiMatrixViewComponent","i2.BarsaAspViewerComponent","i3.UlvToolbarComponent","i10.ApplyConditionalFormatsDirective","i8.UlvContextMenuComponent","i9.HtreeCreateNewComponent","i3.BarsaTreeItemComponent","i4.NoDataComponent","i8.UlvToolbarComponent","i9.UiTreeViewComponent","i4.MaskComponent","i5.BlobViewerComponent","i6.FileViewerContentComponent","i7.FullscreenFilesDirective","i8.DownloadFilesDirective","i8.LayoutControlComponent","i9.FileViewerPopoverComponent","i10.FullscreenFilesDirective","i2.LyLayoutContainerOfRootComponent","i3.ReportNewTopFormComponent","i4.ReportViewRendererDirective","i12.UlvContextMenuComponent","i13.ColumnRendererComponent","i14.ApplyConditionalFormatsDirective","i6.UlvContextMenuComponent","i7.NoDataComponent","i8.CardItemComponent","i5.CardViewContentComponent","i9.ColumnRendererComponent","i11","i12","i14.NoDataComponent","i15.ListItemComponent","i2.LayoutControlComponent","i3.ColumnRendererComponent","i11.MaskComponent","i13.BarsaTableColumnComponent","i14.BarsaColumnIndicatorComponent","i15.BarsaColumnRowNumberComponent","i16.ApplyConditionalFormatsDirective","i5.BarsaTableHeaderComponent","i6.BarsaTableRowComponent","i8.MaskComponent","i3.NotificationItemComponent","i10.MaskComponent","i7.UiGridColumnsComponent","i12.MaskComponent","i13","i3.MaskComponent","i14","i15","i16","i17","i18.MaskComponent","i19.SearchPanelComponent","i20.BreadcrumbComponent","i21.DynamicPageSizePipe","i22.SapSizePipe","i4.BarsaUlvMainComponent","i2.BarsaMonacoEditorComponent","takeUntil","tap","i9.MaskComponent","i12.UploadFileStatusPipe","i15.UploadFileStatusPipe","i11.UiUlvMainUiComponent","i12.FullscreenDialogDirective","i7.UiUlvMainUiComponent","i18.LyLayoutContainerOfRootComponent","i19.MaskComponent","i20.LyTabPageComponent","i21.LayoutActionsComponent","i22.BreadcrumbComponent","i23.FormToolbarComponent","i10.UiUlvMainUiComponent","i11.FullscreenDialogDirective","i2.GlobalSearchComponent","i5.MaskComponent","i2.LyTabPageComponent","concatMap","i13.MaskComponent","i4.LyLayoutContainerOfRootComponent","i6.LayoutActionsComponent","i4.FundamentalDynamicFormComponent","i5.BarsaSimpleFormComponent","i1.MaskComponent","i2.WizardLayoutDirective","i9.FullscreenDialogDirective","i4.BarsaTinyemceComponent","i8.UiGridColumnsComponent","i8.UiUlvMainUiComponent","i9.UlvPagingComponent","filter","i3.UiTableViewComponent","i7.DynamicPageSizePipe","i1.FundamentalDynamicFormComponent","i1.LayoutControlComponent","i13.FileViewerPopoverComponent","i14.DownloadFilesDirective","i13.UploadFileStatusPipe","i3.LyLayoutPanelComponent","i1.BarsaBaseLayoutPanelComponent","i2.BarsaBaseLayoutPanelComponent","i4.LyLayoutPanelComponent","i10.UlvToolbarComponent","i11.UiTableViewComponent","i10.DownloadFilesDirective","i2.BarsaChipComponent","i3.BarsaQuestionAnswerFormAddCommentComponent","i2.BarsaQuestionAnswerContentActionsSectionComponent","i3.BarsaQuestionAnswerVoteSectionComponent","i4.BarsaQuestionAnswerCreatorTimeSectionComponent","i5.BarsaQuestionAnswerCommentsSectionComponent","i1.BarsaChipComponent","i2.BarsaCustomInlineEditRowComponent","i7.LayoutControlComponent","i8.BarsaChatContentComponent","i9.BarsaChatThreadComponent","i10.BarsaChatThreadsListComponent","i11.BarsaChatThreadsListToolbarComponent","i12.BarsaChatContentToolbarComponent","i7.UtilDateToHhMmPipe","i2.BarsaChatMessageComponent","i3.UtilChatTimeBadgePipe","i2.UiTextFieldComponent","i3.LyLayoutFieldLabelComponent","i4.UiCheckBoxComponent","i5.UiSimpleComboComponent","i6.UiRadioGroupComponent","i7.UiGridComponent","i8.LyLayoutContainerOfRootComponent","i9.LyLayoutPanelComponent","i10.UiReadOnlyFieldComponent","i11.UiContainerWithButtonComponent","i12.UiPictureFileComponent","i13.UiMoInfoUlvComboComponent","i14.UiMultiSelectComboComponent","i15.UiNumDecimalUiComponent","i16.UiNumIntUiComponent","i17.UiTimeSpanComponent","i18.UiFileLinearListBoxComponent","i19.LyEmptySpaceComponent","i20.UiSinglePictureComponent","i21.UlvSelectionComponent","i22.UlvToolbarComponent","i23.UlvPagingComponent","i24.UiGridSortSettingComponent","i25.UiGridSortItemComponent","i26.UiGridColumnsComponent","i27.MaskComponent","i28.UiInfoBarPanelComponent","i29.UiFormPanelComponent","i30.UiSearchCommandInfoUiComponent","i31.UlvSettingsComponent","i32.UiTinymceComponent","i33.UiButtonComponent","i34.UiDateTimeComponent","i35.FormDialogComponent","i36.HeaderFacetKeyValueComponent","i37.HeaderFacetFormComponent","i38.HeaderFacetRateComponent","i39.HeaderFacetProgressComponent","i40.HeaderFacetMicrochartComponent","i41.HeaderFacetPlainTextComponent","i42.UiMoInfoSubFormUiComponent","i43.ResponsiveToolbarComponent","i44.ResponsiveToolbarRendererComponent","i45.UiTextAreaComponent","i46.LayoutControlComponent","i47.LayoutWizardComponent","i48.FormWizardComponent","i49.FormDialogLessComponent","i50.RichTextStaticComponent","i51.UiPicturesInfoComponent","i52.LyHorizontalLayoutComponent","i53.LyVerticalLayoutComponent","i54.LyTabContainerComponent","i55.LyTabPageComponent","i56.LyLabelComponent","i57.UiMoInfoComboViewerComponent","i58.UlMsgBoxAdapterComponent","i59.UiTreeComponent","i60.HeaderAvatarComponent","i61.UiWorkflowPanelUiComponent","i62.UlvContextMenuComponent","i63.UlLoadingMaskUiComponent","i64.UiTextFieldAutoCompleteComponent","i65.CaptchaFieldComponent","i66.LySimpleLabelComponent","i67.GlobalSearchPanelComponent","i68.GlobalSearchModuleComponent","i69.GlobalSearchComponent","i70.HyperlinkComponent","i71.StaticTextComponent","i72.UlToastAdapterComponent","i73.MessageStripComponent","i74.UiLinearListContainerWithButtonComponent","i75.FundamentalDynamicFormComponent","i76.LayoutActionsComponent","i77.LyLayoutContainerComponent","i78.UiUlvFormMultiSelectUiComponent","i79.UlvFormMultiSelectComponent","i80.UlvColumnSettingsComponent","i81.UlvFilterSettingsComponent","i82.UlvSortSettingsComponent","i83.UlvGroupbySettingsComponent","i84.BarsaListFileLinearComponent","i85.UiPdfViewerComponent","i86.BarsaTinyemceComponent","i87.UiMonacoEditorComponent","i88.BarsaMonacoEditorComponent","i89.BarsaDateTimePickerComponent","i90.BarsaTreeItemComponent","i91.UiSwitchButtonComponent","i92.UiColorUiComponent","i93.LyLineComponent","i94.UiUlvMainUiComponent","i95.ReportNavigatorComponent","i96.ManageFiltersReportComponent","i97.ReportSearchFieldsManageComponent","i98.ReportSearchFieldsHiddenSettingsComponent","i99.SearchPanelComponent","i100.ReportSearchPanelSaveComponent","i101.UiGridFilterSettingsComponent","i102.UiGridFilterItemComponent","i103.UiDateRangeExComponent","i104.UlNotifyPopupComponent","i105.UiTableViewComponent","i106.UiListViewComponent","i107.UiCardViewComponent","i108.UiReportContainerComponent","i109.NoDataComponent","i110.ColumnRendererComponent","i111.InlineSaveAndCancelComponent","i112.UiTreeViewComponent","i113.UiCalendarComponent","i114.UiAspReportViewerComponent","i115.UiGraphComponent","i116.UiExceptionFormComponent","i117.UiEditableGridComponent","i118.ColumnMatrixRendererComponent","i119.UiMatrixViewComponent","i120.CustomDateTimeComponent","i121.BarsaAspViewerComponent","i122.FileInDialogComponent","i123.UiMoInfoGeneralObjectUiComponent","i124.UiGanttChartComponent","i125.GanttDhtmlChartViewComponent","i126.ProgressIndicatorComponent","i127.CardViewContentComponent","i128.CardItemComponent","i129.UiCardViewHorizontalGroupComponent","i130.TitleComponent","i131.BarsaUlvMainComponent","i132.ListItemComponent","i133.HtreeCreateNewComponent","i134.BarsaTableHeaderComponent","i135.BarsaTableRowComponent","i136.BarsaTableColumnComponent","i137.BreadcrumbComponent","i138.UiLabelComponent","i139.FormToolbarButtonComponent","i140.BarsaSearchFormComponent","i141.ReportNewTopFormComponent","i142.BarsaNetworkOfflineComponent","i143.FileViewerContentComponent","i144.FileViewerPopoverComponent","i145.FileViewerComponent","i146.BlobViewerComponent","i147.NotificationItemComponent","i148.BarsaCartableTemplateComponent","i149.BarsaCartableGroupComponent","i150.BarsaCartableFormComponent","i151.BarsaColumnIndicatorComponent","i152.BarsaFieldKeyValueComponent","i153.BarsaToolbaritemSearchComponent","i154.UiHtmlViewerComponent","i155.BarsaPishnamayeshPayamComponent","i156.BarsaTextEllipsisComponent","i157.BarsaListFileLinearGmailComponent","i158.BarsaLinkableItemsPanelComponent","i159.BarsaEnumMenuButtonComponent","i160.BarsaCardLayoutPanelComponent","i161.BarsaHorizontalFlexPanelComponent","i162.BarsaBaseLayoutPanelComponent","i163.BarsaBarPanelComponent","i164.BarsaFormSideContentComponent","i165.BarsaSimpleFormComponent","i166.FormToolbarComponent","i167.BarsaListLayoutPanelComponent","i168.BarsaGridLayoutPanelComponent","i169.BarsaDynamicFieldComponent","i170.UiMultiSelectRadioComponent","i171.UiMultiSelectCheckboxComponent","i172.UiNumIntSliderComponent","i173.UiMultiSelectSliderComponent","i174.UiMultiSelectCardComponent","i175.UiMultiSelectSmileComponent","i176.BarsaReportCheckboxSwitchButtonComponent","i177.BarsaColumnRowNumberComponent","i178.BarsaCardRowPayamComponent","i179.BarsaQuestionPostComponent","i180.BarsaQuestionAnswerFormComponent","i181.BarsaQuestionAnswerFormAddCommentComponent","i182.BarsaAnswerCardComponent","i183.BarsaQuestionAnswerContentActionsSectionComponent","i184.BarsaQuestionAnswerVoteSectionComponent","i185.BarsaQuestionAnswerCreatorTimeSectionComponent","i186.BarsaQuestionAnswerCommentsSectionComponent","i187.BarsaChipComponent","i188.BarsaTagChipComponent","i189.BarsaReportCardFlexViewComponent","i190.BarsaTagsCategoryRowComponent","i191.BarsaTagCategoriesComponent","i192.BarsaReportOneOfListComponent","i193.BarsaCustomInlineEditComponent","i194.BarsaCustomInlineEditRowComponent","i195.BarsaChatComponent","i196.BarsaChatContentComponent","i197.BarsaChatMessageComponent","i198.BarsaChatThreadComponent","i199.BarsaChatThreadsListComponent","i200.BarsaChatThreadsListToolbarComponent","i201.BarsaChatContentToolbarComponent","i202.BarsaChatListComponent","i210.WizardLayoutDirective","i211.ColRendererDirective","i212.ApplyConditionalFormatsDirective","i213.ReportViewRendererDirective","i214.FullscreenDialogDirective","i215.FullscreenFilesDirective","i216.DownloadFilesDirective","i217.DialogHandlerDirective","i203.UploadFileStatusPipe","i204.SapFontPipe","i205.SapFontClassPipe","i107.StringToArrayPipe","i206.NodeHasOneDepthLevelPipe","i207.MatrixValuePipe","i208.DynamicPageSizePipe","i209.SapSizePipe"],"mappings":"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"}
|