barsa-sap-ui 0.0.2
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/README.md +25 -0
- package/esm2020/barsa-sap-ui.mjs +5 -0
- package/esm2020/lib/apply-conditional-formmatings.directive.mjs +84 -0
- package/esm2020/lib/barsa-asp-viewer/barsa-asp-viewer.component.mjs +109 -0
- package/esm2020/lib/barsa-base-layout/barsa-base-layout.component.mjs +34 -0
- package/esm2020/lib/barsa-date-time-picker/barsa-date-time-picker.component.mjs +71 -0
- package/esm2020/lib/barsa-list-file-linear/barsa-list-file-linear.component.mjs +28 -0
- package/esm2020/lib/barsa-monaco-editor/barsa-monaco-editor.component.mjs +77 -0
- package/esm2020/lib/barsa-network-offline/barsa-network-offline.component.mjs +45 -0
- package/esm2020/lib/barsa-sap-ui-routing.module.mjs +17 -0
- package/esm2020/lib/barsa-sap-ui.module.mjs +277 -0
- package/esm2020/lib/barsa-search-form/barsa-search-form.component.mjs +29 -0
- package/esm2020/lib/barsa-table-header/barsa-table-header.component.mjs +122 -0
- package/esm2020/lib/barsa-table-row/barsa-table-row.component.mjs +57 -0
- package/esm2020/lib/barsa-tinyemce/barsa-tinyemce.component.mjs +334 -0
- package/esm2020/lib/barsa-tree-item/barsa-tree-item.component.mjs +120 -0
- package/esm2020/lib/barsa-tree-item/node-has-one-depth-level.pipe.mjs +19 -0
- package/esm2020/lib/barsa-ulv-main/barsa-ulv-main.component.mjs +156 -0
- package/esm2020/lib/breadcrumb/breadcrumb.component.mjs +45 -0
- package/esm2020/lib/captcha-field/captcha-field.component.mjs +28 -0
- package/esm2020/lib/card-item/card-item.component.mjs +60 -0
- package/esm2020/lib/card-view-content/card-view-content.component.mjs +23 -0
- package/esm2020/lib/col-renderer.directive.mjs +50 -0
- package/esm2020/lib/column-matrix-renderer/column-matrix-renderer.component.mjs +56 -0
- package/esm2020/lib/column-matrix-renderer/matrix-value.pipe.mjs +60 -0
- package/esm2020/lib/column-renderer/column-renderer.component.mjs +84 -0
- package/esm2020/lib/constants.mjs +413 -0
- package/esm2020/lib/custom-date-time/custom-date-time.component.mjs +41 -0
- package/esm2020/lib/device-info-field-base.mjs +23 -0
- package/esm2020/lib/dynamic-page-size.pipe.mjs +26 -0
- package/esm2020/lib/empty-page/empty-page.component.mjs +38 -0
- package/esm2020/lib/file-in-dialog/file-in-dialog.component.mjs +44 -0
- package/esm2020/lib/form-dialog/form-dialog.component.mjs +125 -0
- package/esm2020/lib/form-dialog-less/form-dialog-less.component.mjs +38 -0
- package/esm2020/lib/form-page/form-page.component.mjs +51 -0
- package/esm2020/lib/form-page-base.mjs +129 -0
- package/esm2020/lib/form-toolbar-button/form-toolbar-button.component.mjs +44 -0
- package/esm2020/lib/form-wizard/form-wizard.component.mjs +21 -0
- package/esm2020/lib/fullscreen-dialog.directive.mjs +40 -0
- package/esm2020/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.mjs +152 -0
- package/esm2020/lib/gantt-dhtml-chart-view/gantt-dhtml-chart-view.component.mjs +203 -0
- package/esm2020/lib/global-search/global-search.component.mjs +26 -0
- package/esm2020/lib/global-search-module/global-search-module.component.mjs +30 -0
- package/esm2020/lib/global-search-panel/global-search-panel.component.mjs +30 -0
- package/esm2020/lib/header-avatar/header-avatar.component.mjs +19 -0
- package/esm2020/lib/header-facet-form/header-facet-form.component.mjs +22 -0
- package/esm2020/lib/header-facet-key-value/header-facet-key-value.component.mjs +31 -0
- package/esm2020/lib/header-facet-microchart/header-facet-microchart.component.mjs +21 -0
- package/esm2020/lib/header-facet-plain-text/header-facet-plain-text.component.mjs +28 -0
- package/esm2020/lib/header-facet-progress/header-facet-progress.component.mjs +26 -0
- package/esm2020/lib/header-facet-rate/header-facet-rate.component.mjs +26 -0
- package/esm2020/lib/htree-create-new/htree-create-new.component.mjs +49 -0
- package/esm2020/lib/hyperlink/hyperlink.component.mjs +19 -0
- package/esm2020/lib/index.mjs +412 -0
- package/esm2020/lib/inline-save-and-cancel/inline-save-and-cancel.component.mjs +32 -0
- package/esm2020/lib/layout-actions/layout-actions.component.mjs +65 -0
- package/esm2020/lib/layout-control/layout-control.component.mjs +214 -0
- package/esm2020/lib/layout-wizard/layout-wizard.component.mjs +133 -0
- package/esm2020/lib/list-item/list-item.component.mjs +30 -0
- package/esm2020/lib/ly-empty-space/ly-empty-space.component.mjs +37 -0
- package/esm2020/lib/ly-horizontal-layout/ly-horizontal-layout.component.mjs +70 -0
- package/esm2020/lib/ly-label/ly-label.component.mjs +31 -0
- package/esm2020/lib/ly-layout-container/ly-layout-container.component.mjs +83 -0
- package/esm2020/lib/ly-layout-container-of-root/ly-layout-container-of-root.component.mjs +17 -0
- package/esm2020/lib/ly-layout-field-label/ly-layout-field-label.component.mjs +24 -0
- package/esm2020/lib/ly-layout-panel/ly-layout-panel.component.mjs +64 -0
- package/esm2020/lib/ly-line/ly-line.component.mjs +56 -0
- package/esm2020/lib/ly-simple-label/ly-simple-label.component.mjs +27 -0
- package/esm2020/lib/ly-tab-container/ly-tab-container.component.mjs +43 -0
- package/esm2020/lib/ly-tab-page/ly-tab-page.component.mjs +35 -0
- package/esm2020/lib/ly-vertical-layout/ly-vertical-layout.component.mjs +49 -0
- package/esm2020/lib/manage-filters-report/manage-filters-report.component.mjs +45 -0
- package/esm2020/lib/mask/mask.component.mjs +22 -0
- package/esm2020/lib/message-strip/message-strip.component.mjs +28 -0
- package/esm2020/lib/models/grid-data-provider.mjs +219 -0
- package/esm2020/lib/models/grid-view.mjs +2 -0
- package/esm2020/lib/models/index.mjs +2 -0
- package/esm2020/lib/no-data/no-data.component.mjs +20 -0
- package/esm2020/lib/page-with-form-handler-base.mjs +42 -0
- package/esm2020/lib/page-with-header/page-with-header.component.mjs +76 -0
- package/esm2020/lib/progress-indicator/progress-indicator.component.mjs +18 -0
- package/esm2020/lib/report-navigator/report-navigator.component.mjs +62 -0
- package/esm2020/lib/report-new-top-form/report-new-top-form.component.mjs +60 -0
- package/esm2020/lib/report-search-fields-hidden-settings/report-search-fields-hidden-settings.component.mjs +35 -0
- package/esm2020/lib/report-search-fields-manage/report-search-fields-manage.component.mjs +99 -0
- package/esm2020/lib/report-search-panel-save/report-search-panel-save.component.mjs +90 -0
- package/esm2020/lib/report-tree-base.mjs +405 -0
- package/esm2020/lib/report-view-renderer.directive.mjs +248 -0
- package/esm2020/lib/responsive-toolbar/responsive-toolbar.component.mjs +50 -0
- package/esm2020/lib/responsive-toolbar-renderer/responsive-toolbar-renderer.component.mjs +84 -0
- package/esm2020/lib/rich-text-static/rich-text-static.component.mjs +35 -0
- package/esm2020/lib/sap-font-class.pipe.mjs +29 -0
- package/esm2020/lib/sap-font.pipe.mjs +29 -0
- package/esm2020/lib/sap-ui-report-base.component.mjs +689 -0
- package/esm2020/lib/search-panel/search-panel.component.mjs +40 -0
- package/esm2020/lib/static-text/static-text.component.mjs +15 -0
- package/esm2020/lib/title/title.component.mjs +15 -0
- package/esm2020/lib/ui-asp-report-viewer/ui-asp-report-viewer.component.mjs +14 -0
- package/esm2020/lib/ui-button/ui-button.component.mjs +31 -0
- package/esm2020/lib/ui-calendar/ui-calendar.component.mjs +46 -0
- package/esm2020/lib/ui-card-view/ui-card-view.component.mjs +60 -0
- package/esm2020/lib/ui-card-view-horizontal-group/ui-card-view-horizontal-group.component.mjs +27 -0
- package/esm2020/lib/ui-check-box/ui-check-box.component.mjs +29 -0
- package/esm2020/lib/ui-color-ui/ui-color-ui.component.mjs +50 -0
- package/esm2020/lib/ui-container-with-button/ui-container-with-button.component.mjs +34 -0
- package/esm2020/lib/ui-date-range-ex/ui-date-range-ex.component.mjs +194 -0
- package/esm2020/lib/ui-date-time/ui-date-time.component.mjs +116 -0
- package/esm2020/lib/ui-editable-grid/ui-editable-grid.component.mjs +110 -0
- package/esm2020/lib/ui-exception-form/ui-exception-form.component.mjs +61 -0
- package/esm2020/lib/ui-file-linear-list-box/ui-file-linear-list-box.component.mjs +181 -0
- package/esm2020/lib/ui-form-panel/ui-form-panel.component.mjs +43 -0
- package/esm2020/lib/ui-form-panel-toolbar/ui-form-panel-toolbar.component.mjs +26 -0
- package/esm2020/lib/ui-gantt-chart/ui-gantt-chart.component.mjs +32 -0
- package/esm2020/lib/ui-graph/ui-graph.component.mjs +16 -0
- package/esm2020/lib/ui-grid/ui-grid.component.mjs +25 -0
- package/esm2020/lib/ui-grid-columns/ui-grid-columns.component.mjs +44 -0
- package/esm2020/lib/ui-grid-filter-item/ui-grid-filter-item.component.mjs +67 -0
- package/esm2020/lib/ui-grid-filter-settings/ui-grid-filter-settings.component.mjs +76 -0
- package/esm2020/lib/ui-grid-sort-item/ui-grid-sort-item.component.mjs +59 -0
- package/esm2020/lib/ui-grid-sort-setting/ui-grid-sort-setting.component.mjs +156 -0
- package/esm2020/lib/ui-info-bar-panel/ui-info-bar-panel.component.mjs +11 -0
- package/esm2020/lib/ui-label/ui-label.component.mjs +12 -0
- package/esm2020/lib/ui-linear-list-container-with-button/ui-linear-list-container-with-button.component.mjs +299 -0
- package/esm2020/lib/ui-list-view/ui-list-view.component.mjs +44 -0
- package/esm2020/lib/ui-matrix-view/ui-matrix-view.component.mjs +125 -0
- package/esm2020/lib/ui-mo-info-combo-viewer/ui-mo-info-combo-viewer.component.mjs +19 -0
- package/esm2020/lib/ui-mo-info-general-object-ui/ui-mo-info-general-object-ui.component.mjs +13 -0
- package/esm2020/lib/ui-mo-info-sub-form-ui/ui-mo-info-sub-form-ui.component.mjs +46 -0
- package/esm2020/lib/ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component.mjs +335 -0
- package/esm2020/lib/ui-monaco-editor/ui-monaco-editor.component.mjs +18 -0
- package/esm2020/lib/ui-multi-select-combo/ui-multi-select-combo.component.mjs +83 -0
- package/esm2020/lib/ui-num-decimal-ui/ui-num-decimal-ui.component.mjs +24 -0
- package/esm2020/lib/ui-num-int-ui/ui-num-int-ui.component.mjs +21 -0
- package/esm2020/lib/ui-pdf-viewer/ui-pdf-viewer.component.mjs +216 -0
- package/esm2020/lib/ui-picture-file/ui-picture-file.component.mjs +95 -0
- package/esm2020/lib/ui-pictures-info/ui-pictures-info.component.mjs +215 -0
- package/esm2020/lib/ui-radio-group/ui-radio-group.component.mjs +24 -0
- package/esm2020/lib/ui-read-only-field/ui-read-only-field.component.mjs +29 -0
- package/esm2020/lib/ui-report-container/ui-report-container.component.mjs +46 -0
- package/esm2020/lib/ui-search-command-info-ui/ui-search-command-info-ui.component.mjs +24 -0
- package/esm2020/lib/ui-simple-combo/ui-simple-combo.component.mjs +29 -0
- package/esm2020/lib/ui-single-picture/ui-single-picture.component.mjs +36 -0
- package/esm2020/lib/ui-switch-button/ui-switch-button.component.mjs +20 -0
- package/esm2020/lib/ui-table-view/ui-table-view.component.mjs +106 -0
- package/esm2020/lib/ui-text-area/ui-text-area.component.mjs +44 -0
- package/esm2020/lib/ui-text-field/ui-text-field.component.mjs +47 -0
- package/esm2020/lib/ui-text-field-auto-complete/ui-text-field-auto-complete.component.mjs +47 -0
- package/esm2020/lib/ui-time-span/ui-time-span.component.mjs +24 -0
- package/esm2020/lib/ui-tinymce/ui-tinymce.component.mjs +53 -0
- package/esm2020/lib/ui-tree/ui-tree.component.mjs +69 -0
- package/esm2020/lib/ui-tree-view/ui-tree-view.component.mjs +75 -0
- package/esm2020/lib/ui-ulv-form-multi-select-ui/ui-ulv-form-multi-select-ui.component.mjs +24 -0
- package/esm2020/lib/ui-ulv-main-ui/ui-ulv-main-ui.component.mjs +276 -0
- package/esm2020/lib/ui-workflow-panel-ui/ui-workflow-panel-ui.component.mjs +26 -0
- package/esm2020/lib/ul-loading-mask-ui/ul-loading-mask-ui.component.mjs +86 -0
- package/esm2020/lib/ul-msg-box-adapter/ul-msg-box-adapter.component.mjs +117 -0
- package/esm2020/lib/ul-notify-popup/ul-notify-popup.component.mjs +114 -0
- package/esm2020/lib/ul-toast-adapter/ul-toast-adapter.component.mjs +44 -0
- package/esm2020/lib/ulv-column-settings/ulv-column-settings.component.mjs +53 -0
- package/esm2020/lib/ulv-context-menu/ulv-context-menu.component.mjs +74 -0
- package/esm2020/lib/ulv-filter-settings/ulv-filter-settings.component.mjs +43 -0
- package/esm2020/lib/ulv-form-multi-select/ulv-form-multi-select.component.mjs +183 -0
- package/esm2020/lib/ulv-groupby-settings/ulv-groupby-settings.component.mjs +44 -0
- package/esm2020/lib/ulv-paging/ulv-paging.component.mjs +73 -0
- package/esm2020/lib/ulv-selection/ulv-selection.component.mjs +66 -0
- package/esm2020/lib/ulv-settings/ulv-settings.component.mjs +117 -0
- package/esm2020/lib/ulv-sort-settings/ulv-sort-settings.component.mjs +44 -0
- package/esm2020/lib/ulv-toolbar/ulv-toolbar.component.mjs +110 -0
- package/esm2020/lib/upload-file-status.pipe.mjs +28 -0
- package/esm2020/lib/wizard-layout.directive.mjs +102 -0
- package/esm2020/public-api.mjs +170 -0
- package/fesm2015/barsa-sap-ui.mjs +11437 -0
- package/fesm2015/barsa-sap-ui.mjs.map +1 -0
- package/fesm2020/barsa-sap-ui.mjs +11427 -0
- package/fesm2020/barsa-sap-ui.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/apply-conditional-formmatings.directive.d.ts +25 -0
- package/lib/barsa-asp-viewer/barsa-asp-viewer.component.d.ts +26 -0
- package/lib/barsa-base-layout/barsa-base-layout.component.d.ts +18 -0
- package/lib/barsa-date-time-picker/barsa-date-time-picker.component.d.ts +18 -0
- package/lib/barsa-list-file-linear/barsa-list-file-linear.component.d.ts +8 -0
- package/lib/barsa-monaco-editor/barsa-monaco-editor.component.d.ts +18 -0
- package/lib/barsa-network-offline/barsa-network-offline.component.d.ts +13 -0
- package/lib/barsa-sap-ui-routing.module.d.ts +7 -0
- package/lib/barsa-sap-ui.module.d.ts +181 -0
- package/lib/barsa-search-form/barsa-search-form.component.d.ts +8 -0
- package/lib/barsa-table-header/barsa-table-header.component.d.ts +37 -0
- package/lib/barsa-table-row/barsa-table-row.component.d.ts +20 -0
- package/lib/barsa-tinyemce/barsa-tinyemce.component.d.ts +43 -0
- package/lib/barsa-tree-item/barsa-tree-item.component.d.ts +48 -0
- package/lib/barsa-tree-item/node-has-one-depth-level.pipe.d.ts +8 -0
- package/lib/barsa-ulv-main/barsa-ulv-main.component.d.ts +52 -0
- package/lib/breadcrumb/breadcrumb.component.d.ts +17 -0
- package/lib/captcha-field/captcha-field.component.d.ts +10 -0
- package/lib/card-item/card-item.component.d.ts +17 -0
- package/lib/card-view-content/card-view-content.component.d.ts +8 -0
- package/lib/col-renderer.directive.d.ts +12 -0
- package/lib/column-matrix-renderer/column-matrix-renderer.component.d.ts +23 -0
- package/lib/column-matrix-renderer/matrix-value.pipe.d.ts +8 -0
- package/lib/column-renderer/column-renderer.component.d.ts +29 -0
- package/lib/constants.d.ts +6 -0
- package/lib/custom-date-time/custom-date-time.component.d.ts +26 -0
- package/lib/device-info-field-base.d.ts +12 -0
- package/lib/dynamic-page-size.pipe.d.ts +8 -0
- package/lib/empty-page/empty-page.component.d.ts +11 -0
- package/lib/file-in-dialog/file-in-dialog.component.d.ts +16 -0
- package/lib/form-dialog/form-dialog.component.d.ts +40 -0
- package/lib/form-dialog-less/form-dialog-less.component.d.ts +27 -0
- package/lib/form-page/form-page.component.d.ts +17 -0
- package/lib/form-page-base.d.ts +26 -0
- package/lib/form-toolbar-button/form-toolbar-button.component.d.ts +18 -0
- package/lib/form-wizard/form-wizard.component.d.ts +8 -0
- package/lib/fullscreen-dialog.directive.d.ts +14 -0
- package/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.d.ts +58 -0
- package/lib/gantt-dhtml-chart-view/gantt-dhtml-chart-view.component.d.ts +18 -0
- package/lib/global-search/global-search.component.d.ts +12 -0
- package/lib/global-search-module/global-search-module.component.d.ts +18 -0
- package/lib/global-search-panel/global-search-panel.component.d.ts +11 -0
- package/lib/header-avatar/header-avatar.component.d.ts +8 -0
- package/lib/header-facet-form/header-facet-form.component.d.ts +9 -0
- package/lib/header-facet-key-value/header-facet-key-value.component.d.ts +11 -0
- package/lib/header-facet-microchart/header-facet-microchart.component.d.ts +8 -0
- package/lib/header-facet-plain-text/header-facet-plain-text.component.d.ts +11 -0
- package/lib/header-facet-progress/header-facet-progress.component.d.ts +11 -0
- package/lib/header-facet-rate/header-facet-rate.component.d.ts +11 -0
- package/lib/htree-create-new/htree-create-new.component.d.ts +13 -0
- package/lib/hyperlink/hyperlink.component.d.ts +7 -0
- package/lib/index.d.ts +85 -0
- package/lib/inline-save-and-cancel/inline-save-and-cancel.component.d.ts +11 -0
- package/lib/layout-actions/layout-actions.component.d.ts +23 -0
- package/lib/layout-control/layout-control.component.d.ts +65 -0
- package/lib/layout-wizard/layout-wizard.component.d.ts +27 -0
- package/lib/list-item/list-item.component.d.ts +13 -0
- package/lib/ly-empty-space/ly-empty-space.component.d.ts +14 -0
- package/lib/ly-horizontal-layout/ly-horizontal-layout.component.d.ts +22 -0
- package/lib/ly-label/ly-label.component.d.ts +15 -0
- package/lib/ly-layout-container/ly-layout-container.component.d.ts +26 -0
- package/lib/ly-layout-container-of-root/ly-layout-container-of-root.component.d.ts +8 -0
- package/lib/ly-layout-field-label/ly-layout-field-label.component.d.ts +13 -0
- package/lib/ly-layout-panel/ly-layout-panel.component.d.ts +25 -0
- package/lib/ly-line/ly-line.component.d.ts +17 -0
- package/lib/ly-simple-label/ly-simple-label.component.d.ts +11 -0
- package/lib/ly-tab-container/ly-tab-container.component.d.ts +16 -0
- package/lib/ly-tab-page/ly-tab-page.component.d.ts +18 -0
- package/lib/ly-vertical-layout/ly-vertical-layout.component.d.ts +18 -0
- package/lib/manage-filters-report/manage-filters-report.component.d.ts +24 -0
- package/lib/mask/mask.component.d.ts +9 -0
- package/lib/message-strip/message-strip.component.d.ts +11 -0
- package/lib/models/grid-data-provider.d.ts +26 -0
- package/lib/models/grid-view.d.ts +64 -0
- package/lib/models/index.d.ts +1 -0
- package/lib/no-data/no-data.component.d.ts +8 -0
- package/lib/page-with-form-handler-base.d.ts +10 -0
- package/lib/page-with-header/page-with-header.component.d.ts +29 -0
- package/lib/progress-indicator/progress-indicator.component.d.ts +8 -0
- package/lib/report-navigator/report-navigator.component.d.ts +21 -0
- package/lib/report-new-top-form/report-new-top-form.component.d.ts +18 -0
- package/lib/report-search-fields-hidden-settings/report-search-fields-hidden-settings.component.d.ts +14 -0
- package/lib/report-search-fields-manage/report-search-fields-manage.component.d.ts +20 -0
- package/lib/report-search-panel-save/report-search-panel-save.component.d.ts +27 -0
- package/lib/report-tree-base.d.ts +61 -0
- package/lib/report-view-renderer.directive.d.ts +82 -0
- package/lib/responsive-toolbar/responsive-toolbar.component.d.ts +19 -0
- package/lib/responsive-toolbar-renderer/responsive-toolbar-renderer.component.d.ts +24 -0
- package/lib/rich-text-static/rich-text-static.component.d.ts +24 -0
- package/lib/sap-font-class.pipe.d.ts +8 -0
- package/lib/sap-font.pipe.d.ts +9 -0
- package/lib/sap-ui-report-base.component.d.ts +133 -0
- package/lib/search-panel/search-panel.component.d.ts +13 -0
- package/lib/static-text/static-text.component.d.ts +7 -0
- package/lib/title/title.component.d.ts +7 -0
- package/lib/ui-asp-report-viewer/ui-asp-report-viewer.component.d.ts +7 -0
- package/lib/ui-button/ui-button.component.d.ts +11 -0
- package/lib/ui-calendar/ui-calendar.component.d.ts +16 -0
- package/lib/ui-card-view/ui-card-view.component.d.ts +16 -0
- package/lib/ui-card-view-horizontal-group/ui-card-view-horizontal-group.component.d.ts +9 -0
- package/lib/ui-check-box/ui-check-box.component.d.ts +12 -0
- package/lib/ui-color-ui/ui-color-ui.component.d.ts +16 -0
- package/lib/ui-container-with-button/ui-container-with-button.component.d.ts +11 -0
- package/lib/ui-date-range-ex/ui-date-range-ex.component.d.ts +36 -0
- package/lib/ui-date-time/ui-date-time.component.d.ts +24 -0
- package/lib/ui-editable-grid/ui-editable-grid.component.d.ts +43 -0
- package/lib/ui-exception-form/ui-exception-form.component.d.ts +16 -0
- package/lib/ui-file-linear-list-box/ui-file-linear-list-box.component.d.ts +51 -0
- package/lib/ui-form-panel/ui-form-panel.component.d.ts +24 -0
- package/lib/ui-form-panel-toolbar/ui-form-panel-toolbar.component.d.ts +13 -0
- package/lib/ui-gantt-chart/ui-gantt-chart.component.d.ts +15 -0
- package/lib/ui-graph/ui-graph.component.d.ts +9 -0
- package/lib/ui-grid/ui-grid.component.d.ts +12 -0
- package/lib/ui-grid-columns/ui-grid-columns.component.d.ts +14 -0
- package/lib/ui-grid-filter-item/ui-grid-filter-item.component.d.ts +19 -0
- package/lib/ui-grid-filter-settings/ui-grid-filter-settings.component.d.ts +24 -0
- package/lib/ui-grid-sort-item/ui-grid-sort-item.component.d.ts +25 -0
- package/lib/ui-grid-sort-setting/ui-grid-sort-setting.component.d.ts +28 -0
- package/lib/ui-info-bar-panel/ui-info-bar-panel.component.d.ts +5 -0
- package/lib/ui-label/ui-label.component.d.ts +6 -0
- package/lib/ui-linear-list-container-with-button/ui-linear-list-container-with-button.component.d.ts +62 -0
- package/lib/ui-list-view/ui-list-view.component.d.ts +15 -0
- package/lib/ui-matrix-view/ui-matrix-view.component.d.ts +45 -0
- package/lib/ui-mo-info-combo-viewer/ui-mo-info-combo-viewer.component.d.ts +7 -0
- package/lib/ui-mo-info-general-object-ui/ui-mo-info-general-object-ui.component.d.ts +6 -0
- package/lib/ui-mo-info-sub-form-ui/ui-mo-info-sub-form-ui.component.d.ts +13 -0
- package/lib/ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component.d.ts +78 -0
- package/lib/ui-monaco-editor/ui-monaco-editor.component.d.ts +7 -0
- package/lib/ui-multi-select-combo/ui-multi-select-combo.component.d.ts +21 -0
- package/lib/ui-num-decimal-ui/ui-num-decimal-ui.component.d.ts +11 -0
- package/lib/ui-num-int-ui/ui-num-int-ui.component.d.ts +10 -0
- package/lib/ui-pdf-viewer/ui-pdf-viewer.component.d.ts +63 -0
- package/lib/ui-picture-file/ui-picture-file.component.d.ts +27 -0
- package/lib/ui-pictures-info/ui-pictures-info.component.d.ts +68 -0
- package/lib/ui-radio-group/ui-radio-group.component.d.ts +9 -0
- package/lib/ui-read-only-field/ui-read-only-field.component.d.ts +11 -0
- package/lib/ui-report-container/ui-report-container.component.d.ts +17 -0
- package/lib/ui-search-command-info-ui/ui-search-command-info-ui.component.d.ts +9 -0
- package/lib/ui-simple-combo/ui-simple-combo.component.d.ts +13 -0
- package/lib/ui-single-picture/ui-single-picture.component.d.ts +13 -0
- package/lib/ui-switch-button/ui-switch-button.component.d.ts +11 -0
- package/lib/ui-table-view/ui-table-view.component.d.ts +29 -0
- package/lib/ui-text-area/ui-text-area.component.d.ts +15 -0
- package/lib/ui-text-field/ui-text-field.component.d.ts +14 -0
- package/lib/ui-text-field-auto-complete/ui-text-field-auto-complete.component.d.ts +13 -0
- package/lib/ui-time-span/ui-time-span.component.d.ts +10 -0
- package/lib/ui-tinymce/ui-tinymce.component.d.ts +17 -0
- package/lib/ui-tree/ui-tree.component.d.ts +32 -0
- package/lib/ui-tree-view/ui-tree-view.component.d.ts +41 -0
- package/lib/ui-ulv-form-multi-select-ui/ui-ulv-form-multi-select-ui.component.d.ts +9 -0
- package/lib/ui-ulv-main-ui/ui-ulv-main-ui.component.d.ts +67 -0
- package/lib/ui-workflow-panel-ui/ui-workflow-panel-ui.component.d.ts +16 -0
- package/lib/ul-loading-mask-ui/ul-loading-mask-ui.component.d.ts +20 -0
- package/lib/ul-msg-box-adapter/ul-msg-box-adapter.component.d.ts +48 -0
- package/lib/ul-notify-popup/ul-notify-popup.component.d.ts +41 -0
- package/lib/ul-toast-adapter/ul-toast-adapter.component.d.ts +13 -0
- package/lib/ulv-column-settings/ulv-column-settings.component.d.ts +19 -0
- package/lib/ulv-context-menu/ulv-context-menu.component.d.ts +24 -0
- package/lib/ulv-filter-settings/ulv-filter-settings.component.d.ts +19 -0
- package/lib/ulv-form-multi-select/ulv-form-multi-select.component.d.ts +26 -0
- package/lib/ulv-groupby-settings/ulv-groupby-settings.component.d.ts +16 -0
- package/lib/ulv-paging/ulv-paging.component.d.ts +27 -0
- package/lib/ulv-selection/ulv-selection.component.d.ts +43 -0
- package/lib/ulv-settings/ulv-settings.component.d.ts +43 -0
- package/lib/ulv-sort-settings/ulv-sort-settings.component.d.ts +16 -0
- package/lib/ulv-toolbar/ulv-toolbar.component.d.ts +47 -0
- package/lib/upload-file-status.pipe.d.ts +9 -0
- package/lib/wizard-layout.directive.d.ts +39 -0
- package/package.json +31 -0
- package/public-api.d.ts +166 -0
|
@@ -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/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/constants.ts","../../../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/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-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/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/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/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/form-dialog/form-dialog.component.ts","../../../projects/barsa-sap-ui/src/lib/form-dialog/form-dialog.component.html","../../../projects/barsa-sap-ui/src/lib/page-with-form-handler-base.ts","../../../projects/barsa-sap-ui/src/lib/empty-page/empty-page.component.ts","../../../projects/barsa-sap-ui/src/lib/empty-page/empty-page.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/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/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-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-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-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-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/page-with-header/page-with-header.component.ts","../../../projects/barsa-sap-ui/src/lib/page-with-header/page-with-header.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/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/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-form-panel-toolbar/ui-form-panel-toolbar.component.ts","../../../projects/barsa-sap-ui/src/lib/ui-form-panel-toolbar/ui-form-panel-toolbar.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/form-page-base.ts","../../../projects/barsa-sap-ui/src/lib/form-page/form-page.component.ts","../../../projects/barsa-sap-ui/src/lib/col-renderer.directive.ts","../../../projects/barsa-sap-ui/src/lib/sap-font.pipe.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-base-layout/barsa-base-layout.component.ts","../../../projects/barsa-sap-ui/src/lib/barsa-base-layout/barsa-base-layout.component.html","../../../projects/barsa-sap-ui/src/lib/index.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';\n\nimport { BaseComponent } from 'barsa-novin-ray-core';\n@Component({\n selector: 'bsu-progress-indicator',\n templateUrl: './progress-indicator.component.html',\n styleUrls: ['./progress-indicator.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ProgressIndicatorComponent extends BaseComponent {\n constructor() {\n super();\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n }\n}\n","<p>progress-indicator works!</p>\r\n","import { ChangeDetectionStrategy, Component, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\n\nimport {\n BarsaApi,\n getUniqueId,\n MetaobjectDataModel,\n ReportViewBaseComponent,\n UiReportViewBaseSetting\n} from 'barsa-novin-ray-core';\nimport moment from 'moment';\n\nimport jmoment from 'moment-jalaali';\ndeclare const head: any;\n@Component({\n selector: 'bsu-gantt-dhtml-chart-view',\n templateUrl: './gantt-dhtml-chart-view.component.html',\n styleUrls: ['./gantt-dhtml-chart-view.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class GanttDhtmlChartViewComponent\n extends ReportViewBaseComponent<UiReportViewBaseSetting>\n implements OnInit, OnChanges\n{\n @Input() mode: string;\n @Input() ganttFields: any;\n @Input() ganttChartHelper: any;\n ganttId: string;\n _rowcheck = false;\n\n ngOnInit(): void {\n super.ngOnInit();\n this._prepareDate();\n const elDom = this._el.nativeElement;\n elDom.id = this.ganttId = getUniqueId(4);\n elDom.style.height = 'calc(100vh - ' + (elDom.offsetTop + 40) + 'px)';\n\n this.ganttChartHelper.on({\n rowselect: this._onRowCheck.bind(this),\n rowdblclick: this._onRowClick.bind(this)\n });\n this.ganttChartHelper.init(this.moDataList, elDom.id);\n head.load(\n ['Lib/gantt-master/codebase/dhtmlxgantt_FixedForShamsi.js'],\n // head.load(['lib/gantt-master/codebase/sources/dhtmlxgantt_FixedForShamsi.js']\n () => this.ganttChartHelper.renderGantt()\n );\n }\n ngOnChanges(changes: SimpleChanges): void {\n if (this.ganttChartHelper === null) {\n return;\n }\n const { mode, moDataList } = changes;\n if (mode && !mode.firstChange) {\n switch (mode.currentValue) {\n case 'day':\n this.ganttChartHelper.changeToDay();\n break;\n case 'month':\n this.ganttChartHelper.changeToMonth();\n\n break;\n case 'year':\n this.ganttChartHelper.changeToYear();\n break;\n }\n }\n if (moDataList && !moDataList.firstChange) {\n if (this._rowcheck) {\n this._rowcheck = false;\n return;\n }\n const currentMoList = moDataList.currentValue;\n this.ganttChartHelper.setData(moDataList.currentValue);\n const selected = currentMoList.find((c) => c.$IsChecked);\n if (selected) {\n this.ganttChartHelper.selectRecords([selected]);\n }\n }\n }\n private _getSelected(): { mo: MetaobjectDataModel; index: number } | null {\n const selectedId = this.ganttChartHelper.getSelectedId();\n if (selectedId === null) {\n return null;\n }\n const indexMo = this.moDataList.findIndex((mo) => selectedId === mo.Id);\n return {\n mo: this.moDataList[indexMo],\n index: indexMo\n };\n }\n private _onRowCheck(): void {\n this._rowcheck = true;\n const result = this._getSelected();\n if (!result) {\n return;\n }\n this.onRowCheck({ mo: result.mo, index: result.index });\n }\n private _onRowClick(): void {\n this._rowcheck = true;\n const result = this._getSelected();\n if (!result) {\n return;\n }\n this.onRowClick({ mo: result.mo, index: result.index });\n }\n\n private _prepareDate(): void {\n let thisIsMiladi = BarsaApi.LoginFormData.Culture !== 'fa-IR';\n const moment_ = thisIsMiladi ? moment : jmoment;\n Object.defineProperty(Date.prototype, 'getFullYear_Old', {\n value: Date.prototype.getFullYear,\n configurable: true\n });\n Object.defineProperty(Date.prototype, 'getFullYear2', {\n /* eslint-disable */\n value: function () {\n if (thisIsMiladi) {\n return this.getFullYear_Old();\n }\n thisIsMiladi = true;\n const year = moment_(this).jYear();\n thisIsMiladi = false;\n return year;\n },\n configurable: true\n });\n\n Object.defineProperty(Date.prototype, 'getMonth_Old', {\n value: Date.prototype.getMonth,\n configurable: true\n });\n Object.defineProperty(Date.prototype, 'getMonth2', {\n /* eslint-disable */\n value: function () {\n if (thisIsMiladi) {\n return this.getMonth_Old();\n }\n thisIsMiladi = true;\n const month = moment_(this).jMonth();\n thisIsMiladi = false;\n return month;\n },\n configurable: true\n });\n\n Object.defineProperty(Date.prototype, 'getDate_Old', {\n value: Date.prototype.getDate,\n configurable: true\n });\n Object.defineProperty(Date.prototype, 'getDate2', {\n /* eslint-disable */\n value: function () {\n if (thisIsMiladi) {\n return this.getDate_Old();\n }\n thisIsMiladi = true;\n const day = moment_(this).jDate();\n thisIsMiladi = false;\n return day;\n },\n configurable: true\n });\n\n Object.defineProperty(Date.prototype, 'setFullYear_Old', {\n value: Date.prototype.setFullYear,\n configurable: true\n });\n Object.defineProperty(Date.prototype, 'setFullYear2', {\n /* eslint-disable */\n value: function (year, month, day) {\n month = month > -1 ? month : this.getMonth();\n day = day > -1 ? day : this.getDate();\n month += 1;\n const formatted = `${year}/${month}/${day}`;\n const m = moment_(formatted, 'jYYYY/jMM/jDD');\n const date = m.toDate();\n this.setFullYear_Old(date.getFullYear_Old(), date.getMonth_Old(), date.getDate_Old());\n },\n configurable: true\n });\n\n Object.defineProperty(Date.prototype, 'setMonth_Old', {\n value: Date.prototype.setMonth,\n configurable: true\n });\n Object.defineProperty(Date.prototype, 'setMonth2', {\n /* eslint-disable */\n value: function (month) {\n const m = moment_(this);\n thisIsMiladi = true;\n m.jMonth(month);\n const date = m.toDate();\n this.setFullYear_Old(date.getFullYear_Old(), date.getMonth_Old(), date.getDate_Old());\n thisIsMiladi = false;\n },\n configurable: true\n });\n\n Object.defineProperty(Date.prototype, 'setDate_Old', {\n /* eslint-disable */\n value: Date.prototype.setDate,\n configurable: true\n });\n Object.defineProperty(Date.prototype, 'setDate2', {\n /* eslint-disable */\n value: function (day) {\n const m = moment_(this);\n thisIsMiladi = true;\n m.jDate(day);\n const date = m.toDate();\n this.setFullYear_Old(date.getFullYear_Old(), date.getMonth_Old(), date.getDate_Old());\n // this.setDate_Old(date.getDate_Old);\n thisIsMiladi = false;\n },\n configurable: true\n });\n }\n}\n","","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { SafeHtml } from '@angular/platform-browser';\r\n\r\nimport { LayoutItemBaseComponent } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bsu-ly-label',\r\n templateUrl: './ly-label.component.html',\r\n styleUrls: ['./ly-label.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class LyLabelComponent extends LayoutItemBaseComponent {\r\n @Input() originalWidth: number;\r\n @Input() minWidth: string;\r\n @Input() caption: string | SafeHtml;\r\n @Input() isColumn: boolean;\r\n @Input() isMandatory: boolean;\r\n @Input() fieldIcon: string;\r\n @Input() originalXtype: string;\r\n @Input() textVisible: boolean | undefined;\r\n}\r\n","<img *ngIf=\"textVisible && fieldIcon\" [attrRtl] [src]=\"fieldIcon\" height=\"16px\" />\r\n<label\r\n *ngIf=\"textVisible\"\r\n fd-form-label\r\n [defaultClass]=\"false\"\r\n class=\"bsu-label-control\"\r\n [attr.required]=\"isMandatory ? true : null\"\r\n [attr.column-mode]=\"isColumn\"\r\n [attrRtl]=\"true\"\r\n [innerHTML]=\"originalXtype === 'Ui.Button' ? '‌' : caption\"\r\n>\r\n</label>\r\n","import {\n Component,\n ElementRef,\n HostBinding,\n Input,\n ViewChild,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n NgZone,\n Renderer2,\n OnInit\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('canvas', { static: true })\n canvasRef: ElementRef;\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 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 canvasWidth: number;\n isMandatory: boolean;\n fieldIcon: string;\n originalXtype: string;\n textVisible: boolean | undefined;\n emptyText = this.domSanitizer.bypassSecurityTrustHtml('​');\n layoutControlWidth: number;\n constructor(\n protected formPanelService: FormPanelService,\n public el: ElementRef,\n _contentDensityService: ContentDensityService,\n private domSanitizer: DomSanitizer,\n private _cdr: ChangeDetectorRef,\n private _ngZone: NgZone,\n private _renderer2: Renderer2,\n private _bbbTranslate: BbbTranslatePipe\n ) {\n super(formPanelService);\n if (this.contentDensity === 'compact') {\n this.minHeight = '2rem';\n }\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n if (this.inlineEdit) {\n this.minHeight = 'auto';\n }\n this.layoutControlWidth = (this.el.nativeElement as HTMLElement).clientWidth;\n const config = this.config;\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 this.isSinglePicture = config.FieldUi.originalXtype === 'Ui.SinglePicture';\n this.labelCaption = this.domSanitizer.bypassSecurityTrustHtml(this._bbbTranslate.transform(labelCaption));\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 this.maxWidth = '320px';\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._setHide(!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}\n","<ng-container *ngIf=\"!hide\">\n <ng-container *ngIf=\"labelVisible && !isCheckbox\">\n <bsu-ly-label\n [attr.labelWidth]=\"labelWidth\"\n [attr.canvasWidth]=\"canvasWidth\"\n [attrRtl]\n [class.no-padding]=\"config.Padding[0] === 0\"\n [config]=\"config\"\n [caption]=\"labelCaption\"\n [originalWidth]=\"labelWidth\"\n [style.min-width]=\"\n isCheckbox ? 'auto' : isColumnDirection || isColumnReverseDirection ? '100%' : maxLabelWidth + 'px'\n \"\n [style.width]=\"\n isCheckbox ? 'auto' : isColumnDirection || isColumnReverseDirection ? '100%' : maxLabelWidth + 'px'\n \"\n [isMandatory]=\"isMandatory\"\n [fieldIcon]=\"fieldIcon\"\n [originalXtype]=\"originalXtype\"\n [textVisible]=\"textVisible\"\n [isColumn]=\"isColumnDirection || isColumnReverseDirection\"\n ></bsu-ly-label>\n </ng-container>\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 [focusControl]=\"focusControl\"\n [isSearchPanel]=\"isSearchPanel\"\n [style.height]=\"isUlv ? '100%' : 'auto'\"\n [attr.isulv]=\"isUlv\"\n ></bnrc-field-ui>\n</ng-container>\n","export 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}\n\nexport const sort = <T extends object>(a: T, b: T, key: string | null): number => {\n if (key) {\n a = getNestedValue(key, a);\n b = getNestedValue(key, b);\n }\n if (key === 'Rownumber') {\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 {\n CollectionBooleanFilter,\n CollectionDateFilter,\n CollectionNumberFilter,\n CollectionSelectFilter,\n CollectionSort,\n CollectionStringFilter,\n SortDirection,\n TableDataProvider,\n TableState\n} from '@fundamental-ngx/platform';\nimport { DatetimeAdapter, FdDate } from '@fundamental-ngx/core';\nimport { merge, Observable, of } from 'rxjs';\nimport { filter, map, tap } from 'rxjs/operators';\n\nimport { GridSetting, MetaobjectDataModel, ReportViewColumn } 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 );\n }\n getSortby(): CollectionSort[] {\n return this.gridSetting.SortSettingList.map((c) => ({\n field: c.Name,\n direction: this.getSortDirection(c.SortDirection)\n }));\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 extends TableDataProvider<MetaobjectDataModel> {\n items: MetaobjectDataModel[] = [];\n moDataList$: Observable<MetaobjectDataModel[]>;\n totalItems = 0;\n lastState: TableState;\n dateTimeAdapter: DatetimeAdapter<FdDate>;\n constructor(moDataList: MetaobjectDataModel[]) {\n super();\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\n private filter({ filterBy }: TableState): MetaobjectDataModel[] {\n let items = this.items;\n\n filterBy\n .filter(({ field }) => !!field)\n .forEach((rule) => {\n items = items.filter((item) => {\n switch (rule.field) {\n case 'name':\n case 'description':\n case 'status':\n case 'statusColor':\n return filterByString(item, rule as CollectionStringFilter);\n case 'price.value':\n return filterByNumber(item, rule as CollectionNumberFilter);\n case 'verified':\n return filterByBoolean(item, rule as CollectionBooleanFilter);\n case 'date':\n return filterByDate(item, rule as CollectionBooleanFilter, this.dateTimeAdapter);\n default:\n return false;\n }\n });\n });\n\n return items;\n }\n}\nconst sort = ({ sortBy }: TableState, moDataList: MetaobjectDataModel[]): MetaobjectDataModel[] =>\n sortEx(sortBy, moDataList);\n\nconst sortEx = (\n sortBy: { field: string | null; direction: string }[],\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 }) => {\n const ascModifier = direction === SortDirection.ASC ? 1 : -1;\n return Constants.sort(a, b, field) * 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};\nconst filterByString = (item: MetaobjectDataModel, collectionStringFilter: CollectionStringFilter): boolean => {\n const filterValue = collectionStringFilter.value && collectionStringFilter.value.toLocaleLowerCase();\n const filterValue2 = (collectionStringFilter.value2 && collectionStringFilter.value2.toLocaleLowerCase()) || '';\n const itemValue = Constants.getNestedValue(collectionStringFilter.field, item).toLocaleLowerCase();\n let result = false;\n\n switch (collectionStringFilter.strategy) {\n case 'equalTo':\n result = itemValue === filterValue;\n break;\n case 'greaterThan':\n result = itemValue > filterValue;\n break;\n case 'greaterThanOrEqualTo':\n result = itemValue >= filterValue;\n break;\n case 'lessThan':\n result = itemValue < filterValue;\n break;\n case 'lessThanOrEqualTo':\n result = itemValue <= filterValue;\n break;\n case 'between':\n result = itemValue >= filterValue && itemValue <= filterValue2;\n break;\n case 'beginsWith':\n result = itemValue.startsWith(filterValue);\n break;\n case 'endsWith':\n result = itemValue.endsWith(filterValue);\n break;\n case 'contains':\n default:\n result = itemValue.includes(filterValue);\n }\n\n return collectionStringFilter.exclude ? !result : result;\n};\n\nconst filterByNumber = (item: MetaobjectDataModel, collectionNumberFilter: CollectionNumberFilter): boolean => {\n const filterValue = Number.parseFloat(collectionNumberFilter.value as unknown as string);\n const filterValue2 = Number.parseFloat(collectionNumberFilter.value2 as unknown as string) || 0;\n const itemValue = Number.parseFloat(Constants.getNestedValue(collectionNumberFilter.field, item));\n let result = false;\n\n switch (collectionNumberFilter.strategy) {\n case 'greaterThan':\n result = itemValue > filterValue;\n break;\n case 'greaterThanOrEqualTo':\n result = itemValue >= filterValue;\n break;\n case 'lessThan':\n result = itemValue < filterValue;\n break;\n case 'lessThanOrEqualTo':\n result = itemValue <= filterValue;\n break;\n case 'between':\n result = itemValue >= filterValue && itemValue <= filterValue2;\n break;\n case 'equalTo':\n default:\n result = itemValue === filterValue;\n }\n\n return collectionNumberFilter.exclude ? !result : result;\n};\n\nconst filterByDate = <D = FdDate>(\n item: MetaobjectDataModel,\n collectoinDateFilter: CollectionDateFilter,\n adapter: DatetimeAdapter<D>\n): boolean => {\n const filterValue = collectoinDateFilter.value;\n const filterValue2 = collectoinDateFilter.value2;\n const itemValue = Constants.getNestedValue(collectoinDateFilter.field, item);\n const diff = adapter.compareDate(itemValue, filterValue);\n let result = false;\n\n switch (collectoinDateFilter.strategy) {\n case 'after':\n result = diff > 0;\n break;\n case 'onOrAfter':\n result = diff >= 0;\n break;\n case 'before':\n result = diff < 0;\n break;\n case 'beforeOrOn':\n result = diff <= 0;\n break;\n case 'between':\n result = adapter.isBetween(itemValue, filterValue, filterValue2);\n break;\n\n case 'equalTo':\n default:\n result = adapter.dateTimesEqual(itemValue, filterValue);\n }\n\n return collectoinDateFilter.exclude ? !result : result;\n};\n\nconst filterByBoolean = (item: MetaobjectDataModel, collectionBooleanFilter: CollectionBooleanFilter): boolean => {\n const filterValue = collectionBooleanFilter.value;\n const itemValue = Constants.getNestedValue(collectionBooleanFilter.field, item);\n let result = false;\n\n switch (collectionBooleanFilter.strategy) {\n case 'equalTo':\n default:\n result = itemValue === filterValue;\n }\n\n return collectionBooleanFilter.exclude ? !result : result;\n};\n\nconst filterBySelect = (item: MetaobjectDataModel, collectionSelectFilter: CollectionSelectFilter): boolean => {\n const filterValues = collectionSelectFilter.value;\n const itemValue = Constants.getNestedValue(collectionSelectFilter.field, item);\n let result = false;\n\n switch (collectionSelectFilter.strategy) {\n case 'equalTo':\n default:\n result = filterValues.includes(itemValue);\n }\n\n return !filterValues.length || collectionSelectFilter.exclude ? !result : result;\n};\n","import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, OnInit, Output } from '@angular/core';\nimport { BaseComponent, ColumnInfoType } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-ui-grid-columns',\n templateUrl: './ui-grid-columns.component.html',\n styleUrls: ['./ui-grid-columns.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiGridColumnsComponent extends BaseComponent implements OnInit, OnChanges {\n @Input() columns: ColumnInfoType[];\n @Output() columnsChange = new EventEmitter<ColumnInfoType[]>();\n @Input() selectedColumns = 0;\n\n onDropColumn(columns: ColumnInfoType[], event: CdkDragDrop<ColumnInfoType[]>): void {\n moveItemInArray(columns, event.previousIndex, event.currentIndex);\n this.columnsChange.emit(columns);\n }\n\n onChangeColumnHidden(column): void {\n const selectedColIndex = this.columns.findIndex((c) => c.Name === column.Name);\n if (selectedColIndex > -1) {\n const existColumn = this.columns[selectedColIndex];\n this.columns[selectedColIndex] = { ...existColumn, Hidden: !existColumn.Hidden };\n }\n this.columnsChange.emit(this.columns);\n }\n trackByMethod(column): string {\n return column.Name;\n }\n}\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 <li\n cdkDrag\n fd-list-item\n *ngFor=\"let column of columns; trackBy: trackByMethod\"\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 <strong *ngIf=\"column.IsMandatory\">*</strong>\n </span>\n </li>\n</ul>\n","import { ChangeDetectionStrategy, Component, OnInit, ViewChild } from '@angular/core';\nimport { DialogRef } from '@fundamental-ngx/core';\n\nimport { BaseUlvSettingComponent, GridSetting, ReportViewColumn } from 'barsa-novin-ray-core';\nimport { UiGridColumnsComponent } from '../ui-grid-columns/ui-grid-columns.component';\n@Component({\n selector: 'bsu-ulv-column-settings',\n templateUrl: './ulv-column-settings.component.html',\n styleUrls: ['./ulv-column-settings.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UlvColumnSettingsComponent extends BaseUlvSettingComponent implements OnInit {\n @ViewChild(UiGridColumnsComponent)\n gridColumnsComponent: UiGridColumnsComponent;\n columns: ReportViewColumn[];\n constructor(private dialogRef: DialogRef) {\n super();\n }\n\n ngOnInit(): void {\n this.context = this.dialogRef.data.context;\n super.ngOnInit();\n this.columns = this.allColumns;\n }\n onColumnsChange(columns): void {\n this.columns = [...columns];\n }\n onSearchChange(e): void {\n const filterText = e.text;\n this.columns = this.allColumns.filter((c) => c.Caption.indexOf(filterText) > -1);\n }\n onReset(): void {\n this.columns = this.allColumns.map((c) => ({ ...c, Hidden: false }));\n }\n getSettings(): GridSetting {\n const colList = this.columns;\n const settings = super.getSettings();\n settings.ColSettingList = colList.map((c) => ({ IsHidden: c.Hidden, Name: c.Name, Width: c.Width }));\n return settings;\n }\n close(setting: any = null): void {\n this.dialogRef.close(setting);\n }\n}\n","<!--this commit is for test some github ability not more-->\n\n<fd-dialog>\n <fd-dialog-header>\n <ng-template fdTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h4 fd-title [headerSize]=\"4\">\n {{ 'Columns' | bbbTranslate }}\n </h4>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <button\n fd-button\n [label]=\"'Reset' | bbbTranslate\"\n [fdType]=\"'transparent'\"\n (click)=\"onReset()\"\n ></button>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n <fd-dialog-body class=\"setting-wrapper\">\n <fdp-search-field\n [placeholder]=\"'EnterSearchCriteria' | bbbTranslate\"\n [suggestions]=\"[]\"\n (searchSubmit)=\"onSearchChange($event)\"\n ></fdp-search-field>\n <bsu-ui-grid-columns\n [selectedColumns]=\"columns | filter: { Hidden: false } | listCount\"\n [columns]=\"columns\"\n (columnsChange)=\"onColumnsChange($event)\"\n #gridColumnsRef\n ></bsu-ui-grid-columns>\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 Component,\n EventEmitter,\n HostBinding,\n Input,\n OnInit,\n Output,\n ViewEncapsulation\n} from '@angular/core';\nimport { BaseComponent, ReportViewColumn, SortSetting } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-ui-grid-sort-item',\n templateUrl: './ui-grid-sort-item.component.html',\n styleUrls: ['./ui-grid-sort-item.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiGridSortItemComponent extends BaseComponent implements OnInit {\n @Output() add = new EventEmitter();\n @Output() remove = new EventEmitter();\n @Output() changeSetting = new EventEmitter();\n @Input() showGroups: boolean;\n @Input() sortItem: SortSetting;\n @Input() sortDirections: { text: string; value: string }[];\n @Input() columns: ReportViewColumn[];\n @Input() isFirst: boolean;\n @HostBinding('class.ulv-sort-item-settings') sortItemClass = true;\n caption: string | undefined;\n\n ngOnInit(): void {\n super.ngOnInit();\n this.caption = this.columns.find((c) => c.Name === this.sortItem.Name)?.Caption;\n }\n onColumnChange(name): void {\n this.sortItem.Name = name;\n this.changeSetting.emit();\n }\n onDirectionChange(direction): void {\n this.sortItem.SortDirection = direction;\n this.changeSetting.emit();\n }\n setSelectedColumn(name: string): void {\n this.sortItem.Name = name;\n }\n setSelectedDirection(direction: string): void {\n this.sortItem.SortDirection = direction;\n }\n}\n","<div class=\"sort-select\">\r\n <fd-select (valueChange)=\"onColumnChange($event)\" [value]=\"sortItem.Name\">\r\n <fd-option *ngFor=\"let column of columns\" [value]=\"column.Name\">{{ column.Caption }}</fd-option>\r\n </fd-select>\r\n\r\n <fd-select *ngIf=\"!showGroups\" (valueChange)=\"onDirectionChange($event)\" [value]=\"sortItem.SortDirection\">\r\n <fd-option *ngFor=\"let item of sortDirections\" [value]=\"item.value\">{{ item.text }}</fd-option>\r\n </fd-select>\r\n</div>\r\n<div class=\"sort-buttons\">\r\n <button fd-button glyph=\"sys-cancel\" fdType=\"transparent\" (click)=\"this.remove.emit()\"></button>\r\n <button fd-button glyph=\"add\" fdType=\"transparent\" (click)=\"this.add.emit()\"></button>\r\n</div>\r\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n QueryList,\n SimpleChanges,\n ViewChildren\n} from '@angular/core';\n\nimport { BaseComponent, SortSetting, BbbTranslatePipe, ReportViewColumn } from 'barsa-novin-ray-core';\nimport { UiGridSortItemComponent } from '../ui-grid-sort-item/ui-grid-sort-item.component';\n\n@Component({\n selector: 'bsu-ui-grid-sort-setting',\n templateUrl: './ui-grid-sort-setting.component.html',\n styleUrls: ['./ui-grid-sort-setting.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiGridSortSettingComponent extends BaseComponent implements OnInit {\n @Input() showGroups: boolean;\n @Input() columns: ReportViewColumn[];\n @Input() sortSettings: SortSetting[];\n\n @Output() changeSetting = new EventEmitter();\n @ViewChildren(UiGridSortItemComponent)\n sortItemsRef: QueryList<UiGridSortItemComponent>;\n\n sortDirections: any = [];\n NONE = 'NONE';\n originalSortSettings: SortSetting[];\n\n constructor(private _cdr: ChangeDetectorRef, private bbbPipe: BbbTranslatePipe) {\n super();\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this._initSortSettings(this.sortSettings);\n this._initColumns();\n this._initSortDirections();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n super.ngOnChanges(changes);\n const { sortSettings } = changes;\n if (sortSettings && !sortSettings.firstChange) {\n this._initSortSettings(sortSettings.currentValue);\n this._cdr.detectChanges();\n }\n }\n\n onAdd(): void {\n this.addNewSortItem();\n this.changeSetting.emit();\n }\n\n onRemove(index): void {\n const sortItemComponent = this.sortItemsRef.toArray()[index];\n if (this.originalSortSettings.length > 1) {\n this.originalSortSettings = this.originalSortSettings.filter((item, i) => index !== i);\n } else {\n sortItemComponent.setSelectedColumn(this.NONE);\n sortItemComponent.setSelectedDirection('');\n }\n this.changeSetting.emit();\n }\n\n addNewSortItem(): void {\n this.originalSortSettings = [\n ...this.originalSortSettings,\n {\n Name: this.NONE,\n SortDirection: '',\n IsGrouped: this.showGroups\n }\n ];\n }\n\n public getSettings(): SortSetting[] {\n const sortItems = this.sortItemsRef\n .toArray()\n .filter((c) => c.sortItem.Name !== this.NONE)\n .map((c) => c.sortItem);\n if (!this.showGroups) {\n sortItems.forEach((c) => {\n const existsItem = this.sortSettings.find((d) => d.Name === c.Name);\n if (existsItem) {\n existsItem.SortDirection = c.SortDirection;\n } else {\n this.sortSettings.push(c);\n }\n });\n this.sortSettings = this.sortSettings.filter((c) => {\n const existsItem = sortItems.find((d) => d.Name === c.Name);\n return existsItem || c.IsGrouped;\n });\n } else {\n sortItems.forEach((c) => {\n const existsItem = this.sortSettings.find((d) => d.Name === c.Name);\n if (existsItem) {\n existsItem.IsGrouped = true;\n } else {\n this.sortSettings.push(c);\n }\n });\n this.sortSettings.forEach((c) => {\n const existsItem = sortItems.find((d) => d.Name === c.Name);\n if (!existsItem) {\n c.IsGrouped = false;\n }\n });\n }\n return this.sortSettings;\n }\n private _initColumns(): void {\n const noneText = this.bbbPipe.transform('None');\n this.columns = [\n {\n Name: this.NONE,\n Caption: noneText,\n Alias: '',\n FieldDefId: '',\n FieldType: '',\n FieldTypeId: -1,\n HasSummary: false,\n Hidden: false,\n IsLtr: false,\n IsPreview: false,\n MetaFieldTypeId: '',\n Width: 0,\n $Width: '0',\n Icon: ''\n },\n ...this.columns\n ];\n }\n private _initSortSettings(sortSettings: SortSetting[]): void {\n this.originalSortSettings = sortSettings.map((c) => ({ ...c }));\n if (this.showGroups) {\n this.originalSortSettings = this.originalSortSettings.filter((c) => c.IsGrouped);\n } else {\n this.originalSortSettings = this.originalSortSettings.filter((c) => c.SortDirection !== '');\n }\n\n if (this.originalSortSettings.length === 0) {\n this.addNewSortItem();\n }\n }\n\n private _initSortDirections(): void {\n const ascendingText = this.bbbPipe.transform('Ascending');\n const descendingText = this.bbbPipe.transform('Descending');\n this.sortDirections = [\n { text: '', value: '' },\n { text: ascendingText, value: 'ASC' },\n { text: descendingText, value: 'DESC' }\n ];\n }\n}\n","<bsu-ui-grid-sort-item\r\n #sortItemsRef\r\n *ngFor=\"let sortItem of originalSortSettings; let i = index\"\r\n [isFirst]=\"i === 0\"\r\n (add)=\"onAdd()\"\r\n (remove)=\"onRemove(i)\"\r\n [columns]=\"columns\"\r\n [sortDirections]=\"sortDirections\"\r\n [sortItem]=\"sortItem\"\r\n [style.margin-top.px]=\"i > 0 ? 5 : 0\"\r\n [showGroups]=\"showGroups\"\r\n (changeSetting)=\"this.changeSetting.emit()\"\r\n>\r\n</bsu-ui-grid-sort-item>\r\n","import { ChangeDetectionStrategy, Component, OnInit, ViewChild } from '@angular/core';\nimport { DialogRef } from '@fundamental-ngx/core';\n\nimport { BaseUlvSettingComponent, GridSetting } from 'barsa-novin-ray-core';\nimport { UiGridSortSettingComponent } from '../ui-grid-sort-setting/ui-grid-sort-setting.component';\n@Component({\n selector: 'bsu-ulv-sort-settings',\n templateUrl: './ulv-sort-settings.component.html',\n styleUrls: ['./ulv-sort-settings.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UlvSortSettingsComponent extends BaseUlvSettingComponent implements OnInit {\n @ViewChild(UiGridSortSettingComponent)\n ulvSortSetting: UiGridSortSettingComponent;\n constructor(private dialogRef: DialogRef) {\n super();\n }\n ngOnInit(): void {\n this.context = this.dialogRef.data.context;\n super.ngOnInit();\n }\n onReset(): void {\n this.sortSettings = this.sortSettings.filter((c) => c.IsGrouped);\n }\n getSettings(): GridSetting {\n const sortSetting = this.ulvSortSetting.getSettings();\n const settings = super.getSettings();\n settings.SortSettingList = sortSetting;\n return settings;\n }\n close(setting: any = null): void {\n this.dialogRef.close(setting);\n }\n}\n","<fd-dialog>\n <fd-dialog-header>\n <ng-template fdTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h4 fd-title [headerSize]=\"4\">\n {{ 'Columns' | bbbTranslate }}\n </h4>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <button\n fd-button\n [label]=\"'Reset' | bbbTranslate\"\n [fdType]=\"'transparent'\"\n (click)=\"onReset()\"\n ></button>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n <fd-dialog-body class=\"setting-wrapper\">\n <bsu-ui-grid-sort-setting [columns]=\"allColumns\" [sortSettings]=\"sortSettings\"></bsu-ui-grid-sort-setting>\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 { ChangeDetectionStrategy, Component, OnInit, ViewChild } from '@angular/core';\nimport { DialogRef } from '@fundamental-ngx/core';\n\nimport { BaseUlvSettingComponent, GridSetting } from 'barsa-novin-ray-core';\nimport { UiGridSortSettingComponent } from '../ui-grid-sort-setting/ui-grid-sort-setting.component';\n@Component({\n selector: 'bsu-ulv-groupby-settings',\n templateUrl: './ulv-groupby-settings.component.html',\n styleUrls: ['./ulv-groupby-settings.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UlvGroupbySettingsComponent extends BaseUlvSettingComponent implements OnInit {\n @ViewChild(UiGridSortSettingComponent)\n ulvSortSetting: UiGridSortSettingComponent;\n constructor(private dialogRef: DialogRef) {\n super();\n }\n ngOnInit(): void {\n this.context = this.dialogRef.data.context;\n super.ngOnInit();\n }\n onReset(): void {\n this.sortSettings = this.sortSettings.map((c) => ({ ...c, IsGrouped: false }));\n }\n getSettings(): GridSetting {\n const sortSetting = this.ulvSortSetting.getSettings();\n const settings = super.getSettings();\n settings.SortSettingList = sortSetting;\n return settings;\n }\n close(setting: any = null): void {\n this.dialogRef.close(setting);\n }\n}\n","<fd-dialog>\n <fd-dialog-header>\n <ng-template fdTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h4 fd-title [headerSize]=\"4\">\n {{ 'Columns' | bbbTranslate }}\n </h4>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <button\n fd-button\n [label]=\"'Reset' | bbbTranslate\"\n [fdType]=\"'transparent'\"\n (click)=\"onReset()\"\n ></button>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n <fd-dialog-body class=\"setting-wrapper\">\n <bsu-ui-grid-sort-setting\n [columns]=\"allColumns\"\n [sortSettings]=\"sortSettings\"\n [showGroups]=\"true\"\n ></bsu-ui-grid-sort-setting>\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 { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\n\nimport { BaseComponent, ReportViewColumn, FormSetting, FormComponent } from 'barsa-novin-ray-core';\n@Component({\n selector: 'bsu-ui-grid-filter-item',\n templateUrl: './ui-grid-filter-item.component.html',\n styleUrls: ['./ui-grid-filter-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiGridFilterItemComponent extends BaseComponent implements OnInit {\n @ViewChild(FormComponent) formComponent: FormComponent;\n @Output() add = new EventEmitter();\n @Output() remove = new EventEmitter();\n @Input() formPanelCtrlr: FormSetting;\n @Input() columns: ReportViewColumn[];\n @Input() selectedColumnName: string;\n @Input() selectedColumn: ReportViewColumn | undefined;\n allConditions = [\n 'contains',\n 'equal to',\n 'between',\n 'starts with',\n 'ends with',\n 'less than',\n 'less than or equal to',\n 'greater than or equal to',\n 'empty'\n ];\n\n ngOnInit(): void {\n super.ngOnInit();\n const fieldCtrlr = this.formPanelCtrlr.GetControlByName(this.selectedColumnName);\n fieldCtrlr.SetVisible(true);\n this._setSelectedColumn();\n }\n onColumnChange(name): void {\n this.selectedColumnName = name;\n this._setSelectedColumn();\n this.columns.forEach((c) => {\n const columnFieldCtrlr = this.formPanelCtrlr.GetControlByName(c.Name);\n columnFieldCtrlr.SetVisible(false);\n });\n\n const fieldCtrlr = this.formPanelCtrlr.GetControlByName(name);\n fieldCtrlr.SetVisible(true);\n }\n onConditionChange(): void {}\n protected _setSelectedColumn(): void {\n this.selectedColumn = this.columns.find((c) => c.Name === this.selectedColumnName);\n }\n}\n","<div class=\"sort-select\">\r\n <fd-select (valueChange)=\"onColumnChange($event)\" [value]=\"selectedColumn?.Name\">\r\n <fd-option *ngFor=\"let column of columns\" [value]=\"column.Name\">{{ column.Caption }}</fd-option>\r\n </fd-select>\r\n <div class=\"spacer\"></div>\r\n <fd-select (valueChange)=\"onConditionChange()\">\r\n <fd-option *ngFor=\"let item of allConditions\" [value]=\"item\">{{ item }}</fd-option>\r\n </fd-select>\r\n <button fd-button glyph=\"decline\" fdType=\"transparent\" style=\"visibility: hidden\"></button>\r\n</div>\r\n<div class=\"sort-buttons\">\r\n <bnrc-form [formPanelCtrl]=\"formPanelCtrlr\"></bnrc-form>\r\n <button fd-button glyph=\"decline\" fdType=\"transparent\" (click)=\"this.remove.emit()\"></button>\r\n</div>\r\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() marginTop: string | undefined;\n}\n","<!-- <ui5-busyindicator active size=\"Medium\" ></ui5-busyindicator> -->\n\n<fd-busy-indicator [style.margin-top]=\"marginTop ?? '20%'\" [loading]=\"true\" [size]=\"size\"></fd-busy-indicator>\n","import { ChangeDetectionStrategy, Component, Input, OnInit, QueryList, ViewChildren } from '@angular/core';\n\nimport {\n BaseComponent,\n ReportViewColumn,\n GeneralControlInfoModel,\n createFormPanelMetaConditions\n} from 'barsa-novin-ray-core';\nimport { UiGridFilterItemComponent } from '../ui-grid-filter-item/ui-grid-filter-item.component';\n\n@Component({\n selector: 'bsu-ui-grid-filter-settings',\n templateUrl: './ui-grid-filter-settings.component.html',\n styleUrls: ['./ui-grid-filter-settings.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiGridFilterSettingsComponent extends BaseComponent implements OnInit {\n @ViewChildren(UiGridFilterItemComponent)\n filterItemList: QueryList<UiGridFilterItemComponent>;\n @Input() sortDirections;\n @Input() typeDefId: string;\n @Input() selectedColumnName: string;\n @Input() filters: { [key: string]: any }[] = [];\n @Input() columns: ReportViewColumn[];\n @Input() controlsInfo: GeneralControlInfoModel[];\n listOfFormPanelCtrlr: any = [];\n addingForm: boolean;\n\n ngOnInit(): void {\n super.ngOnInit();\n this.filters.forEach((filter) => {\n const key = Object.keys(filter)[0];\n const fmc = createFormPanelMetaConditions(this.typeDefId, this.controlsInfo, key, filter[key]);\n this.listOfFormPanelCtrlr.push(fmc);\n });\n if (this.listOfFormPanelCtrlr.length === 0) {\n this._createNewForm();\n }\n }\n\n onAdd(): void {\n this._createNewForm();\n }\n onRemove(index): void {\n const filterItem = this.filterItemList.get(index);\n filterItem?.formPanelCtrlr.Destroy();\n this.listOfFormPanelCtrlr.splice(index, 1);\n }\n\n public getFilters(): void {\n const filters: any = {};\n this.filterItemList.toArray().forEach((filterItem) => {\n const columnName = filterItem.selectedColumnName;\n filters[columnName] = filterItem.formPanelCtrlr.Mo[columnName];\n });\n return filters;\n }\n private _createNewForm(): void {\n this.addingForm = true;\n const fmc = createFormPanelMetaConditions(this.typeDefId, this.controlsInfo, this.selectedColumnName, null);\n fmc.LoadAndCreate(null, false, false, () => {\n this.columns.forEach((c) => {\n const fieldCtrlr = fmc.GetControlByName(c.Name);\n fieldCtrlr.SetVisible(false);\n });\n\n this.listOfFormPanelCtrlr.push(fmc);\n this.addingForm = false;\n });\n }\n}\n","<bsu-ui-grid-filter-item\r\n #sortItemsRef\r\n *ngFor=\"let formPanelCtrlr of listOfFormPanelCtrlr; let i = index\"\r\n [isFirst]=\"i === 0\"\r\n (remove)=\"onRemove(i)\"\r\n [columns]=\"columns\"\r\n [selectedColumnName]=\"selectedColumnName\"\r\n [formPanelCtrlr]=\"formPanelCtrlr\"\r\n [style.margin-top.px]=\"i > 0 ? 5 : 0\"\r\n>\r\n</bsu-ui-grid-filter-item>\r\n<div style=\"display: flex\">\r\n <div class=\"spacer\"></div>\r\n <button fd-button label=\"Add\" fdType=\"standard\" (click)=\"onAdd()\" [disabled]=\"addingForm\">\r\n <bsu-mask *ngIf=\"addingForm\" size=\"s\"></bsu-mask>\r\n </button>\r\n <button\r\n style=\"visibility: hidden; pointer-events: none; margin: 0 3px\"\r\n fd-button\r\n label=\"Add\"\r\n fdType=\"standard\"\r\n ></button>\r\n</div>\r\n","import { ChangeDetectionStrategy, Component, OnInit, ViewChild } from '@angular/core';\nimport { DialogRef } from '@fundamental-ngx/core';\n\nimport { BaseUlvSettingComponent, GeneralControlInfoModel } from 'barsa-novin-ray-core';\nimport { Observable } from 'rxjs';\nimport { UiGridFilterSettingsComponent } from '../ui-grid-filter-settings/ui-grid-filter-settings.component';\n@Component({\n selector: 'bsu-ulv-filter-settings',\n templateUrl: './ulv-filter-settings.component.html',\n styleUrls: ['./ulv-filter-settings.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UlvFilterSettingsComponent extends BaseUlvSettingComponent implements OnInit {\n @ViewChild(UiGridFilterSettingsComponent)\n gridFilterSettings: UiGridFilterSettingsComponent;\n controlsInfo$: Observable<GeneralControlInfoModel[]>;\n typeDefId: string;\n selectedColumnName: string;\n constructor(private dialogRef: DialogRef) {\n super();\n }\n\n ngOnInit(): void {\n this.context = this.dialogRef.data.context;\n this.controlsInfo$ = this.dialogRef.data.controlsInfo$;\n this.typeDefId = this.dialogRef.data.typeDefId;\n this.selectedColumnName = this.dialogRef.data.selectedColumnName;\n super.ngOnInit();\n }\n close(setting: any = null): void {\n this.dialogRef.close(setting);\n }\n onOkClick(): void {\n const filters = this.gridFilterSettings.getFilters();\n this.close(filters);\n }\n}\n","<fd-dialog>\n <fd-dialog-header>\n <ng-template fdTemplate=\"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 <bsu-ui-grid-filter-settings\n *ngIf=\"controlsInfo$ | async as controlsInfo\"\n [columns]=\"allColumns\"\n [sortSettings]=\"sortSettings\"\n [controlsInfo]=\"controlsInfo\"\n [typeDefId]=\"typeDefId\"\n [selectedColumnName]=\"selectedColumnName\"\n ></bsu-ui-grid-filter-settings>\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 {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n Inject,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Optional,\r\n QueryList,\r\n Renderer2,\r\n Self,\r\n ViewChild,\r\n ViewChildren\r\n} from '@angular/core';\r\nimport { ComponentType, Overlay, ScrollStrategy } from '@angular/cdk/overlay';\r\nimport { BehaviorSubject, combineLatest, Observable, Subject } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged, filter, map, takeUntil, tap, withLatestFrom } from 'rxjs/operators';\r\nimport {\r\n ContentDensity,\r\n ContentDensityService,\r\n DialogConfig,\r\n DialogService,\r\n TableComponent,\r\n ToolbarComponent\r\n} from '@fundamental-ngx/core';\r\nimport { SelectionMode, TableDataSource } from '@fundamental-ngx/platform';\r\n\r\nimport {\r\n BarsaApi,\r\n columnsResizedEventArgs,\r\n DefaultCommandsAccess,\r\n DeviceSize,\r\n FormPanelService,\r\n GetAllColumnsSorted,\r\n getControlSizeMode,\r\n getGridSettings,\r\n LayoutService,\r\n MetaobjectDataModel,\r\n PortalService,\r\n ReportBaseComponent,\r\n ReportViewColumn,\r\n UiReportViewBaseSetting,\r\n UlvMainService\r\n} from 'barsa-novin-ray-core';\r\nimport { LayoutControlComponent } from './layout-control/layout-control.component';\r\nimport { GridMoDataList } from './models';\r\nimport { UlvColumnSettingsComponent } from './ulv-column-settings/ulv-column-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 { UlvFilterSettingsComponent } from './ulv-filter-settings/ulv-filter-settings.component';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'bsu-sap-ui-report-base',\r\n template: '',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SapUiReportBaseComponent<T extends UiReportViewBaseSetting>\r\n extends ReportBaseComponent\r\n implements OnInit, OnDestroy\r\n{\r\n @ViewChild(TableComponent) tableComponent: TableComponent;\r\n @ViewChild(ToolbarComponent) toolbarComponent: ToolbarComponent;\r\n @ViewChildren('tableRows') tableRowsRef: QueryList<ElementRef>;\r\n @ViewChildren(LayoutControlComponent)\r\n layoutControlsRef: QueryList<LayoutControlComponent>;\r\n useLayoutItemTextForControl = false;\r\n hasSelected$: Observable<boolean>;\r\n showOkCancelButtons: any;\r\n parentHeight = 0;\r\n dialogConfig: DialogConfig = {\r\n responsivePadding: true,\r\n verticalPadding: true,\r\n minWidth: '40rem',\r\n minHeight: '90vh',\r\n maxWidth: '100vw',\r\n maxHeight: '100vh',\r\n resizable: true\r\n };\r\n\r\n selectedRowsNumber = {};\r\n selectAll = false;\r\n selectionAdapterHandler: {\r\n scope: any;\r\n rowselect: any;\r\n rowdeselect: any;\r\n beforerowselect: any;\r\n };\r\n navigationArrow$: Observable<string>;\r\n customRowHeight: any;\r\n rowClick = true;\r\n cellClick = false;\r\n deviceName$: Observable<DeviceSize>;\r\n mobileOrTablet$: Observable<boolean>;\r\n\r\n secondaryColumnsSource = new BehaviorSubject<ReportViewColumn[]>([]);\r\n secondaryColumns$ = this.secondaryColumnsSource.asObservable();\r\n popin$: Observable<boolean>;\r\n contentDensity$: Observable<ContentDensity>;\r\n\r\n rowActivable = true;\r\n openOverflowCommands: boolean[] = [];\r\n containerWidthSource$ = new Subject<number>();\r\n closeScrollStrategy: ScrollStrategy;\r\n rowHoverable: boolean;\r\n source: TableDataSource<MetaobjectDataModel>;\r\n selectionMode: SelectionMode;\r\n columnsCount$: Observable<number>;\r\n secondaryColumnsCount$: Observable<number>;\r\n containerWidth$: Observable<number>;\r\n columns$: Observable<ReportViewColumn[]>;\r\n gridDataSource: GridMoDataList;\r\n singleSelection = SelectionMode.SINGLE;\r\n multipleSelection = SelectionMode.MULTIPLE;\r\n allowInlineEdit$: Observable<boolean>;\r\n inlineEditMode$: Observable<boolean>;\r\n onlyInlineEdit$: Observable<boolean>;\r\n formPanelCtrlr: any;\r\n layout$: Observable<any>;\r\n rtl$: Observable<boolean>;\r\n reportId: string;\r\n viewSetting: T;\r\n\r\n protected _deviceNameSource = new BehaviorSubject<DeviceSize>('desktop');\r\n private _oldContainer: any;\r\n private _openOnClick: boolean;\r\n constructor(\r\n public el: ElementRef,\r\n protected _overlay: Overlay,\r\n protected _contentDensityService: ContentDensityService,\r\n protected _portalService: PortalService,\r\n protected _dialogService: DialogService,\r\n protected _ulvMainService: UlvMainService,\r\n protected _layoutService: LayoutService,\r\n protected _renderer: Renderer2,\r\n @Inject(DOCUMENT) protected document,\r\n @Optional() @Self() protected _formpanelService: FormPanelService\r\n ) {\r\n super(_portalService, _ulvMainService);\r\n this.containerWidth$ = this.containerWidthSource$\r\n .asObservable()\r\n .pipe(debounceTime(200), distinctUntilChanged());\r\n this.deviceName$ = this._deviceNameSource.asObservable();\r\n this.mobileOrTablet$ = this.deviceName$.pipe(map((device) => device === 'mobile' || device === 'tablet'));\r\n this._oldContainer = BarsaApi.Ul.ApplicationCtrlr.CurrentSystemAdapter;\r\n this.closeScrollStrategy = this._overlay.scrollStrategies.close();\r\n this.contentDensity$ = this._contentDensityService.contentDensity;\r\n this.secondaryColumnsCount$ = this.secondaryColumns$.pipe(map((columns) => columns.length));\r\n this.columnsCount$ = this.visibleColumns$.pipe(\r\n map((columns) => columns.length),\r\n map((count: number) => {\r\n const access = BarsaApi.Common.Util.TryGetValue(this.context, 'Setting.Extra.DefaultCommandsAccess');\r\n if (access?.View) {\r\n count++;\r\n }\r\n return count;\r\n }),\r\n map((count: number) => {\r\n if (this.selectionMode !== 'none') {\r\n count++;\r\n }\r\n return count;\r\n })\r\n );\r\n }\r\n\r\n get _typeDefId(): string {\r\n return this.context.Setting.Extra.Report.TypeDefId;\r\n }\r\n get _inlineEditMode(): boolean {\r\n return this._ulvMainService.getValueInlineEdit();\r\n }\r\n get _allowInlineEdit(): boolean {\r\n return this._ulvMainService.getAllowInlineEdit();\r\n }\r\n get _access(): DefaultCommandsAccess {\r\n return this.context.Setting?.Extra?.DefaultCommandsAccess;\r\n }\r\n set _access(val: DefaultCommandsAccess) {\r\n if (this.context.Setting.Extra) {\r\n this.context.Setting.Extra.DefaultCommandsAccess = val;\r\n } else {\r\n this.context.Setting.Extra = { DefaultCommandsAccess: val };\r\n }\r\n }\r\n ngOnInit(): void {\r\n this._setParentHeight();\r\n this._readViewSetting();\r\n if (!this._access) {\r\n this._setDefaultAccess();\r\n }\r\n super.ngOnInit();\r\n this.showOkCancelButtons = this.context.ShowOkCancelButtons;\r\n this._ulvMainService.layoutInfo$.subscribe((layoutInfo) => {\r\n if (layoutInfo && layoutInfo.UseLayoutItemTextForControl) {\r\n this.useLayoutItemTextForControl = true;\r\n }\r\n });\r\n const title = this.viewSetting?.Title;\r\n if (title) {\r\n this._ulvMainService.setTitle(title);\r\n }\r\n this._ulvMainService.reportId$.subscribe((reportId) => (this.reportId = reportId));\r\n this._layoutService.setRendered(true);\r\n this.selectionMode = this.context.ViewSetting?.IsCheckList ? this.multipleSelection : this.singleSelection;\r\n this._openOnClick = this.viewSetting?.OpenOnClick;\r\n this.customRowHeight = BarsaApi.Common.Util.TryGetValue(\r\n this.context.Setting,\r\n 'Extra.ExtraJsonPropReport.GridRowHeight'\r\n );\r\n this.rtl$ = this._portalService.rtl$;\r\n this.navigationArrow$ = this._portalService.rtl$.pipe(\r\n map((isRtl) => (isRtl ? 'navigation-left-arrow' : 'navigation-right-arrow'))\r\n );\r\n this.allowInlineEdit$ = this._ulvMainService.allowInlineEdit$;\r\n this.inlineEditMode$ = this._ulvMainService.inlineEditMode$;\r\n this.onlyInlineEdit$ = this._ulvMainService.onlyInlineEdit$;\r\n this.hasSelected$ = this.moDataList$.pipe(map((moList) => moList.some((c) => c.$IsChecked)));\r\n this.moDataList$ = this.moDataList$.pipe(map((items) => this._mapCartableMo(items)));\r\n const gridDataSource = new GridMoDataList(\r\n this.moDataList$,\r\n this.gridSetting$,\r\n this.visibleColumns$,\r\n this.searchTerm$\r\n );\r\n\r\n this.gridDataSource = gridDataSource;\r\n this.columns$ = combineLatest([this.gridSetting$, this.secondaryColumns$]).pipe(\r\n map(([, secondaryColumns]) => {\r\n const secondaries = secondaryColumns.map((c) => c.Name);\r\n const columns = GetAllColumnsSorted(this.context).filter((c) => !c.Hidden);\r\n return columns.filter((c) => secondaries.indexOf(c.Name) === -1);\r\n }),\r\n tap((columns) => {\r\n columns.forEach((c: ReportViewColumn) => {\r\n c.$CSSClassName = 'column__FieldType' + c.FieldTypeId;\r\n if (c.FieldTypeId === 38) {\r\n c.$Width = 'auto';\r\n }\r\n if (c.Extra?.IconDisplayTypeEnum === 'Image') {\r\n c.$Width = '38px';\r\n } else {\r\n c.$Width = !BarsaApi.LoginFormData.IsUserLoggedIn // if user is anonymous all column width equals to 100%\r\n ? '100%'\r\n : c.Width > 0\r\n ? c.Width + 'px'\r\n : '100%';\r\n }\r\n });\r\n })\r\n );\r\n this._ulvMainService.inlineEditMode$\r\n .pipe(\r\n withLatestFrom(this.hasSelected$),\r\n filter(([_,__]) => this._access.Add !== false)\r\n )\r\n .subscribe(([editMode]) => this._inlineEditModeChanged(editMode));\r\n this._setContainerWidth();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n super.ngOnDestroy();\r\n if (this._formpanelService) {\r\n this._formpanelService.destroy();\r\n }\r\n }\r\n\r\n onEditMode(): void {\r\n this._setInlineEdit(!this._inlineEditMode);\r\n }\r\n onSelectNextInlineRecord(mo): void {\r\n this._selectNextInlineRecord(mo);\r\n }\r\n\r\n onEditFormPanelSave(mo: MetaobjectDataModel): void {\r\n this._inlineEditSaveFormPanel(mo);\r\n }\r\n\r\n onEditFormPanelCancel(): void {\r\n this._inilineEditCancel();\r\n }\r\n onEditFormPanelValueChange(mo: MetaobjectDataModel): void {\r\n this._inlineFormPanelValueChange(mo);\r\n }\r\n onColumnResized(columns: columnsResizedEventArgs): void {\r\n this._handleColumnsResized(columns);\r\n }\r\n onRowClick($event): void {\r\n const { mo } = $event;\r\n if (mo.group || this._inlineEditMode) {\r\n return;\r\n }\r\n const moIndex = this._getIndex(mo);\r\n this._rowCheck(mo, moIndex, true);\r\n this._openMo(mo, moIndex);\r\n }\r\n\r\n onUlvCommand($event): void {\r\n const { mo } = $event;\r\n const moIndex = this._getIndex(mo);\r\n this._ulvCommandClicked(mo, moIndex);\r\n }\r\n onRowCheck($event): void {\r\n const { mo } = $event;\r\n const moIndex = this._getIndex(mo);\r\n if (this._openOnClick) {\r\n this.onRowClick($event);\r\n } else {\r\n this._rowCheck(mo, moIndex);\r\n }\r\n }\r\n\r\n onExpandClick(mo: MetaobjectDataModel): void {\r\n mo.$Expanded = !mo.$Expanded;\r\n this._setVisibility(mo.$Expanded, mo);\r\n this._ulvMainService.reSetMoDataList();\r\n }\r\n\r\n onAllCheckbox(checked): void {\r\n this._doCheckedAll(checked);\r\n // if (checked) {\r\n // this.gridDataSource.resultItems.forEach((mo, index) => {\r\n // this._select(mo, index);\r\n // });\r\n // } else {\r\n // this.gridDataSource.resultItems.forEach((mo, index) => {\r\n // this._deselect(mo, index);\r\n // });\r\n // }\r\n }\r\n\r\n onSortAscending(column): void {\r\n this._addSortColumn(column.Name, 'ASC');\r\n }\r\n\r\n onSortDescending(column): void {\r\n this._addSortColumn(column.Name, 'DESC');\r\n }\r\n onFilter(selectedColumn): void {\r\n this._showFilterSetting(selectedColumn);\r\n }\r\n\r\n onColumnSettings(device): void {\r\n this._openSettings('columns', device);\r\n }\r\n\r\n onSortSettings(device): void {\r\n this._openSettings('sort', device);\r\n }\r\n\r\n onGroupbySettings(device): void {\r\n this._openSettings('groupby', device);\r\n }\r\n\r\n onListCheckboxClick($event): void {\r\n const { mo, index, e } = $event;\r\n this.onRowCheck({ mo, index, cause: 'singleSelect' });\r\n e.stopPropagation();\r\n e.preventDefault();\r\n }\r\n\r\n onListNavigationClick($event): void {\r\n const { mo, index, e } = $event;\r\n this.onRowClick({ mo, index });\r\n e.stopPropagation();\r\n e.preventDefault();\r\n }\r\n onSaveTopForm(mo: MetaobjectDataModel): void {\r\n const newMoDataList = this.moDataList;\r\n const existsIndex = newMoDataList.findIndex((c) => c.Id === mo.Id);\r\n if (existsIndex > -1) {\r\n newMoDataList[existsIndex] = mo;\r\n }\r\n newMoDataList.map((c) => {\r\n c.$NewInlineMo = undefined;\r\n c.$IsChecked = false;\r\n });\r\n this._ulvMainService.reSetMoDataList(newMoDataList);\r\n this.refreshContextMoDataList(newMoDataList);\r\n }\r\n onNewTopFormAdd(mo: MetaobjectDataModel): void {\r\n this._addInlineMoToModataList(mo);\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\r\n // protected _inlineEditModeChanged(editMode): void {\r\n // if (editMode) {\r\n // const canAdd: boolean = this._access?.Add !== false;\r\n\r\n // let selectedMo = this._getSelected();\r\n // let newMo;\r\n // if (canAdd !== false && !selectedMo) {\r\n // this._createNewInlineRecord();\r\n // return;\r\n // }\r\n // // if (!selectedMo && !newMo && this.moDataList.length > 0) {\r\n // // selectedMo = this.moDataList[0];\r\n // // }\r\n // // if (selectedMo) {\r\n // // const idOfSelectedMo = this._indexOfMo(selectedMo);\r\n // // selectedMo.$IsChecked = false;\r\n // // this._createNewInlineRecord(selectedMo);\r\n // // this._rowCheck(selectedMo, idOfSelectedMo);\r\n // // }\r\n // } else {\r\n // BarsaApi.Ul.ApplicationCtrlr.CurrentSystemAdapter = this._oldContainer;\r\n // this._setNewInlineMo(null);\r\n // }\r\n // }\r\n // protected _createNewInlineRecord(selectedMo?: MetaobjectDataModel) {\r\n // const mo = this._inlineEditPrepareNewMo();\r\n // const formMo = BarsaApi.Common.Merger.FastMerge(mo, selectedMo, { extendedFields: ['Id,$Caption'] });\r\n // this._setNewInlineMo(formMo);\r\n // this._select(formMo, -1);\r\n // }\r\n protected _setParentHeight() {\r\n const elDom = this.el.nativeElement as HTMLElement;\r\n let parentDom = elDom.parentElement;\r\n let parentHeight = parentDom?.clientHeight ?? 0;\r\n while (parentDom != null && !parentHeight) {\r\n parentDom = parentDom.parentElement;\r\n parentHeight = parentDom?.clientHeight ?? 0;\r\n }\r\n this.parentHeight = parentHeight;\r\n }\r\n protected _mapCartableMo(items: MetaobjectDataModel[]) {\r\n if (!this.viewSetting) {\r\n return items;\r\n }\r\n const { NameSerializeMo, CartableObjectName } = this.viewSetting;\r\n if (!NameSerializeMo || !CartableObjectName || !items?.length) {\r\n return items;\r\n }\r\n items.forEach((c) => (c[CartableObjectName] = BarsaApi.Ext.decode('{' + c[NameSerializeMo] + '}')));\r\n return items;\r\n }\r\n protected _inlineEditModeChanged(editMode: boolean): void {\r\n let newMoDataList = this.moDataList;\r\n let changed = false;\r\n if (editMode) {\r\n newMoDataList.push(this._inlineReportCreateNewMo(!this._getSelected()));\r\n changed = true;\r\n } else if (editMode === false && !newMoDataList.length) {\r\n newMoDataList = newMoDataList.filter((c) => !c.$NewInlineMo);\r\n changed = true;\r\n }\r\n if (!changed) {\r\n return;\r\n }\r\n this._ulvMainService.reSetMoDataList(newMoDataList);\r\n this.refreshContextMoDataList(newMoDataList);\r\n }\r\n\r\n private _inlineReportCreateNewMo(isChecked: boolean): MetaobjectDataModel {\r\n return this._ulvMainService.createNewInlineMo(isChecked);\r\n }\r\n\r\n protected _inlineFormPanelValueChange(mo: MetaobjectDataModel): void {\r\n const newMoDataList = this.moDataList;\r\n const existMoIndex = newMoDataList.findIndex((c) => c.Id === mo.Id);\r\n if (existMoIndex > -1) {\r\n newMoDataList[existMoIndex] = BarsaApi.Common.MetaObjectWeb.CreateMo(mo);\r\n this._ulvMainService.reSetMoDataList(newMoDataList);\r\n this.refreshContextMoDataList(newMoDataList);\r\n }\r\n }\r\n protected _selectNextInlineRecord(mo: MetaobjectDataModel): void {\r\n const newMoDataList = this.moDataList;\r\n if (!mo.$NewInlineMo) {\r\n // select next record\r\n const existsIndex = newMoDataList.findIndex((c) => c.Id === mo.Id);\r\n if (existsIndex > -1 && existsIndex + 1 < newMoDataList.length) {\r\n newMoDataList[existsIndex + 1].$IsChecked = false;\r\n this._rowCheck(newMoDataList[existsIndex + 1], existsIndex + 1);\r\n } else {\r\n newMoDataList.map((c) => {\r\n c.$NewInlineMo = undefined;\r\n c.$IsChecked = false;\r\n });\r\n newMoDataList.push(this._inlineReportCreateNewMo(true));\r\n this._ulvMainService.reSetMoDataList(newMoDataList);\r\n this.refreshContextMoDataList(newMoDataList);\r\n }\r\n return;\r\n }\r\n }\r\n protected _inlineEditSaveFormPanel(mo: MetaobjectDataModel): void {\r\n const newMoDataList = this.moDataList;\r\n if (!mo.$NewInlineMo) {\r\n return;\r\n }\r\n const existsIndex = newMoDataList.findIndex((c) => c.Id === mo.Id);\r\n if (existsIndex > -1) {\r\n newMoDataList[existsIndex] = mo;\r\n }\r\n newMoDataList.map((c) => {\r\n c.$NewInlineMo = undefined;\r\n c.$IsChecked = false;\r\n });\r\n\r\n // const reportEventMo = {\r\n // ReportId: this.reportId,\r\n // ...mo,\r\n // $IsChecked: false,\r\n // $NewInlineMo: undefined\r\n // };\r\n\r\n // const indexOfMo = this._getIndex(mo);\r\n // // let indexOfNextMo = indexOfMo + 1;\r\n // // const canAdd: boolean = this._access?.Add !== false;\r\n // let insertedIndex = indexOfMo;\r\n // if (indexOfMo === -1) {\r\n // insertedIndex = newMoDataList.length;\r\n // }\r\n // newMoDataList.splice(insertedIndex, indexOfMo === -1 ? 0 : 1, reportEventMo);\r\n // if (mo.$State === 'New') {\r\n // }\r\n newMoDataList.push(this._inlineReportCreateNewMo(false));\r\n this._ulvMainService.reSetMoDataList(newMoDataList);\r\n this.refreshContextMoDataList(newMoDataList);\r\n this._rowCheck(\r\n mo,\r\n newMoDataList.findIndex((c) => c.Id === mo.Id)\r\n );\r\n\r\n // this._ulvMainService.createNewInlineMo();\r\n }\r\n protected _setDefaultAccess(): void {\r\n this._access = {\r\n Add: false,\r\n AddToList: false,\r\n Delete: false,\r\n Edit: false,\r\n Export: false,\r\n Print: false,\r\n Refresh: false,\r\n RemoveFromList: false,\r\n View: false\r\n };\r\n }\r\n protected _expandMo(selectedMo: MetaobjectDataModel, expand): void {\r\n selectedMo.$Expanded = expand;\r\n selectedMo.$Children?.forEach((child) => {\r\n this._expandMo(child, expand);\r\n });\r\n }\r\n protected _indexOfId(id): number {\r\n return this.gridDataSource.resultItems.findIndex((c) => c.Id === id);\r\n }\r\n protected _indexOfMo(mo: MetaobjectDataModel): number {\r\n return this.gridDataSource.resultItems.findIndex((c) => c.Id === mo.Id);\r\n }\r\n protected _indexOfSelected(): number {\r\n return this.gridDataSource.resultItems.findIndex((c) => c.$IsChecked);\r\n }\r\n protected _getIndex(mo: MetaobjectDataModel): number {\r\n return this.moDataList.findIndex((c) => c.Id === mo.Id);\r\n }\r\n protected _inilineEditCancel(): void {\r\n this._setInlineEdit(false);\r\n }\r\n\r\n protected _setInlineEdit(value: boolean): void {\r\n this._ulvMainService.setInlineEdit(value);\r\n }\r\n protected _readViewSetting(): void {\r\n this.viewSetting = this.context.Setting.ClassNames.CustomUi?.Parameters;\r\n }\r\n // protected _moDataListChanged(moDataList: MetaobjectDataModel[]): void {\r\n // super._moDataListChanged(moDataList);\r\n // if (this._inlineEditMode) {\r\n // const checkedMoIndex = moDataList.findIndex((c) => c.$IsChecked);\r\n\r\n // if (checkedMoIndex > -1) {\r\n // const checkedMo = moDataList[checkedMoIndex];\r\n // if (checkedMo.Id !== this.formPanelCtrlr.Mo.Id) {\r\n // this._inlineEditorDestroyFormPanelCtrlr();\r\n // this._inlineEditCreateFormPanelCtrlr(checkedMo, checkedMoIndex);\r\n // }\r\n // }\r\n // }\r\n // }\r\n\r\n protected _setVisibility(\r\n expand: boolean,\r\n mo: any //MetaobjectDataModel\r\n ): void {\r\n mo.$Children?.forEach((child) => {\r\n child.$Visibility = expand;\r\n if (child.$Children) {\r\n this._setVisibility(expand, child);\r\n }\r\n });\r\n }\r\n\r\n // protected _setNewInlineMo(mo: MetaobjectDataModel | null): void {\r\n // this._ulvMainService.setNewInlineMo(mo);\r\n // }\r\n // protected _inlineEditPrepareNewMo(): MetaobjectDataModel {\r\n // const newMo = getNewMoGridEditor(this.formSetting, this._typeDefId);\r\n // newMo.Id = getUniqueId(3);\r\n // if (this._isComposite()) {\r\n // const relation = BarsaApi.Common.Util.TryGetValue(this.context.Setting, 'Extra.Relation');\r\n // newMo[relation.ParentFdName] = relation.ParentMoId;\r\n // }\r\n // const newMoDataList = [...this.moDataList, newMo as MetaobjectDataModel];\r\n // this._ulvMainService.reSetMoDataList(newMoDataList);\r\n // BarsaApi.Ul.ApplicationCtrlr.fireEvent(\r\n // BarsaApi.Ul.ApplicationCtrlr.EventEnum.GlobalReportMoAdd,\r\n // this.context,\r\n // reportEventMoAdd\r\n // );\r\n // this.context.fireEvent('RefreshContextMoDataList', newMoDataList);\r\n // return newMo as MetaobjectDataModel;\r\n // }\r\n protected _addInlineMoToModataList(newInlineMo: MetaobjectDataModel): void {\r\n const newMoDataList = [...this.moDataList, { ...newInlineMo, $IsChecked: false }];\r\n this._ulvMainService.reSetMoDataList(newMoDataList);\r\n this.refreshContextMoDataList(newMoDataList);\r\n }\r\n\r\n protected _rowCheck(mo: MetaobjectDataModel, index: number, selected = false): void {\r\n const editMode = this._inlineEditMode && this._allowInlineEdit;\r\n if (mo.$IsChecked && editMode) {\r\n return;\r\n }\r\n let selectionMode = this.selectionMode;\r\n if (editMode) {\r\n selectionMode = SelectionMode.SINGLE;\r\n }\r\n const checked = !mo.$IsChecked || selected;\r\n this.rowHoverable = false;\r\n if (selectionMode === 'none') {\r\n return;\r\n }\r\n if (checked) {\r\n if (selectionMode === 'single' && checked) {\r\n this._doCheckedAll(false);\r\n }\r\n if (editMode) {\r\n if (index !== -1) {\r\n // this._setNewInlineMo(null);\r\n this._select(mo, index);\r\n }\r\n // TODO\r\n // this._setValueInlineMo(mo);\r\n } else {\r\n this._select(mo, index);\r\n }\r\n } else this._deselect(mo, index);\r\n }\r\n // protected _setValueInlineMo(mo: MetaobjectDataModel): void {\r\n // // this.formPanelCtrlr.SetValue({ ...mo, $TypeDefId: this._typeDefId });\r\n // }\r\n\r\n protected _inlineEditorDestroyFormPanelCtrlr(): void {\r\n // if (this.formPanelCtrlr) {\r\n // this._formPanelService.destroy();\r\n // this.formPanelCtrlr.Destroy();\r\n // this.formPanelCtrlr = null;\r\n // }\r\n }\r\n protected _windowResized(): void {\r\n this._setContainerWidth();\r\n this._setParentHeight();\r\n }\r\n protected _setContainerWidth(): void {\r\n const el = this.el.nativeElement as HTMLElement;\r\n this.containerWidthSource$.next(el.offsetWidth);\r\n }\r\n\r\n protected _deviceSizeChanged(deviceSize): void {\r\n const el = this.el.nativeElement as HTMLElement;\r\n if (this._inlineEditMode) {\r\n this.secondaryColumnsSource.next([]);\r\n return;\r\n }\r\n if (this.viewSetting?.DisableResponsive) {\r\n return;\r\n }\r\n\r\n const gridSize = getControlSizeMode(el, deviceSize);\r\n let deviceName: DeviceSize = 'desktop';\r\n const visibleColumns = this._visibleColumnsSource.getValue();\r\n let columnsCount = visibleColumns.length;\r\n switch (gridSize) {\r\n case 'l':\r\n case 'xl':\r\n deviceName = 'desktop';\r\n break;\r\n case 's':\r\n deviceName = 'mobile';\r\n columnsCount = 2;\r\n break;\r\n case 'm':\r\n deviceName = 'tablet';\r\n columnsCount = 4;\r\n break;\r\n }\r\n this._deviceNameSource.next(deviceName);\r\n const colSettings = this.gridSettingSource.getValue()?.ColSettingList || [];\r\n let sumColWidth = 0;\r\n if (colSettings.length > 0 && this.containerWidth > 0) {\r\n columnsCount = visibleColumns.length;\r\n colSettings.forEach((col, index) => {\r\n if (sumColWidth + col.Width > this.containerWidth && columnsCount === visibleColumns.length) {\r\n columnsCount = index;\r\n }\r\n sumColWidth += col.Width;\r\n });\r\n }\r\n if (visibleColumns.length > 2) {\r\n this.secondaryColumnsSource.next(visibleColumns.slice(columnsCount, visibleColumns.length));\r\n }\r\n }\r\n\r\n protected _openSettings(name, device: DeviceSize): void {\r\n let component: ComponentType<any> | null = null;\r\n switch (name) {\r\n case 'columns':\r\n component = UlvColumnSettingsComponent;\r\n break;\r\n case 'sort':\r\n component = UlvSortSettingsComponent;\r\n break;\r\n case 'groupby':\r\n component = UlvGroupbySettingsComponent;\r\n break;\r\n }\r\n const config: DialogConfig = {\r\n ...this.dialogConfig,\r\n data: { context: this.context },\r\n fullScreen: device === 'mobile',\r\n minWidth: device === 'mobile' ? 'auto' : this.dialogConfig.minWidth,\r\n minHeight: device === 'mobile' ? 'auto' : this.dialogConfig.minHeight\r\n };\r\n if (component !== null) {\r\n const dialogRef = this._dialogService.open(component, config);\r\n dialogRef.afterClosed.pipe(takeUntil(this._onDestroy$)).subscribe((setting) => {\r\n if (setting) {\r\n const isSortChanged = name === 'sort' || name === 'groupby';\r\n this.updateGridSetting(setting, isSortChanged);\r\n this.context.moDataList = this.gridDataSource.resultItems;\r\n this._setVisibleColumns();\r\n }\r\n });\r\n }\r\n }\r\n protected _showFilterSetting(selectedColumn: ReportViewColumn): void {\r\n const typeDefId = this._typeDefId;\r\n const controlsInfo$ = this._ulvMainService.loadMetaConditionsControlInfos(\r\n typeDefId,\r\n this.allColumns.map((c) => c.Name)\r\n );\r\n const config = {\r\n ...this.dialogConfig,\r\n data: {\r\n controlsInfo$,\r\n typeDefId,\r\n selectedColumnName: selectedColumn.Name,\r\n context: this.context\r\n }\r\n };\r\n const dialogRef = this._dialogService.open(UlvFilterSettingsComponent, config);\r\n dialogRef.afterClosed.pipe(takeUntil(this._onDestroy$)).subscribe((setting) => {\r\n if (setting) {\r\n }\r\n });\r\n }\r\n protected _addSortColumn(name: any, sortDirection: string, isGrouped = false): void {\r\n const sortItem = {\r\n Name: name,\r\n SortDirection: sortDirection,\r\n IsGrouped: isGrouped\r\n };\r\n const settings = getGridSettings(this.context);\r\n const existSortItemIndex = settings.SortSettingList.findIndex((c) => c.Name === name);\r\n if (existSortItemIndex > -1) {\r\n settings.SortSettingList[existSortItemIndex] = sortItem;\r\n } else {\r\n settings.SortSettingList.push(sortItem);\r\n }\r\n this.updateGridSetting(settings, true);\r\n }\r\n}\r\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n SimpleChanges\n} from '@angular/core';\nimport { ContentDensity } from '@fundamental-ngx/core';\nimport { SearchInput } from '@fundamental-ngx/platform';\n\nimport { BaseComponent, DefaultCommandsAccess, DeviceSize, UiReportViewBase } from 'barsa-novin-ray-core';\n@Component({\n selector: 'bsu-ulv-toolbar',\n templateUrl: './ulv-toolbar.component.html',\n styleUrls: ['./ulv-toolbar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UlvToolbarComponent extends BaseComponent implements OnChanges {\n @Input() useLayoutItemTextForControl: boolean;\n @Input() enableSearch: boolean;\n @Input() hideTitle = false;\n @Input() title: string;\n @Input() deviceName: DeviceSize;\n @Input() deviceSize: string;\n @Input() access: DefaultCommandsAccess;\n @Input() hideToolbar: boolean;\n @Input() toolbarButtons: any[];\n @Input() contentDensity: ContentDensity;\n @Input() inlineEditMode: boolean;\n @Input() allowInlineEdit: boolean;\n @Input() gridSetting: any;\n @Input() viewCollection: any[];\n @Input() reportView: UiReportViewBase;\n\n @Input() hasSelected: boolean;\n @Input() config: any;\n @Input() hidden: boolean;\n @Input() buttons: any[];\n @Output() search = new EventEmitter<string>();\n @Output() groupbyClick = new EventEmitter<string>();\n @Output() sortClick = new EventEmitter<string>();\n @Output() columnClick = new EventEmitter<string>();\n @Output() editModeClick = new EventEmitter();\n @Output() viewClick = new EventEmitter<UiReportViewBase>();\n searchTerm: string;\n enable: boolean;\n constructor(public el: ElementRef) {\n super();\n }\n ngOnChanges(changes: SimpleChanges): void {\n super.ngOnChanges(changes);\n }\n\n onGroupbySettings(): void {\n this.groupbyClick.emit(this.deviceName);\n }\n onSortSettings(): void {\n this.sortClick.emit(this.deviceName);\n }\n onColumnSettings(): void {\n this.columnClick.emit(this.deviceName);\n }\n onEditMode(): void {\n this.editModeClick.emit();\n }\n onChangeView(view: UiReportViewBase): void {\n this.viewClick.emit(view);\n }\n onSearchSubmit($event: SearchInput): void {\n this.search.emit($event.text);\n }\n _trackBy(index, item): string {\n return item?.itemId;\n }\n public identify(index, item): string {\n return item.text;\n }\n}\n","<ng-container *untilInView=\"el\">\n <fd-toolbar\n #toolbar\n [shouldOverflow]=\"deviceName === 'mobile'\"\n [hasTitle]=\"true\"\n [clearBorder]=\"true\"\n *ngIf=\"!useLayoutItemTextForControl && !hideToolbar; else searchField\"\n >\n <h4 fd-toolbar-item *ngIf=\"!hideTitle\">{{ title | bbbTranslate }}</h4>\n <fd-toolbar-spacer fd-toolbar-item></fd-toolbar-spacer>\n\n <ng-container *ngIf=\"!hideToolbar\">\n <ng-container *ngFor=\"let btn of toolbarButtons; trackBy: _trackBy; let i = index\">\n <fd-toolbar-separator\n fd-toolbar-item\n *ngIf=\"(btn === '-' || btn.type === 'seperator') && deviceName !== 'mobile'\"\n ></fd-toolbar-separator>\n <fd-split-button\n *ngIf=\"btn.menu; else btnTemplate\"\n fd-toolbar-item\n [fdType]=\"'transparent'\"\n [mainAction]=\"{ mainActionTitle: btn.text, keepMainAction: true }\"\n >\n <fd-menu>\n <li fd-menu-item *ngFor=\"let btnCommand of btn.menu.items\" [ulvCommandHandler]=\"btnCommand\">\n <div fd-menu-interactive>\n <span fd-menu-title>{{ btnCommand.text }}</span>\n </div>\n </li>\n </fd-menu>\n </fd-split-button>\n <ng-template #btnTemplate>\n <ng-container *ngIf=\"btn.type !== 'seperator' && btn.Command?._isVisible\">\n <ng-container\n *ngTemplateOutlet=\"\n btn?.Command?.CustomUi ? customButtonTemplate : defaultButtonTemplate;\n context: { $implicit: btn }\n \"\n ></ng-container>\n </ng-container>\n </ng-template>\n </ng-container>\n <ng-content select=\"[fd-toolbar-item]\"></ng-content>\n\n <ng-container *ngIf=\"gridSetting && gridSetting.Hidden !== true\">\n <fdp-search-field\n *ngIf=\"enableSearch === true\"\n fd-toolbar-item\n placeholder=\"عبارت جستجو\"\n [suggestions]=\"[]\"\n [contentDensity]=\"contentDensity\"\n (searchSubmit)=\"onSearchSubmit($event)\"\n ></fdp-search-field>\n\n <!-- <fdp-button-->\n <!-- fd-toolbar-item-->\n <!-- [contentDensity]=\"contentDensity\"-->\n <!-- buttonType=\"transparent\"-->\n <!-- [label]=\"device === 'mobile' ? ('Filter' | bbbTranslate) : ''\"-->\n <!-- [glyph]=\"'filter'\"-->\n <!-- >-->\n <!-- </fdp-button>-->\n <fdp-button\n fd-toolbar-item\n [contentDensity]=\"contentDensity\"\n buttonType=\"transparent\"\n [glyph]=\"'group-2'\"\n [fdOverflowGroup]=\"1\"\n fdOverflowPriority=\"low\"\n (click)=\"onGroupbySettings()\"\n [title]=\"'Groups' | bbbTranslate\"\n >\n </fdp-button>\n <fdp-button\n fd-toolbar-item\n [contentDensity]=\"contentDensity\"\n buttonType=\"transparent\"\n [fdOverflowGroup]=\"1\"\n fdOverflowPriority=\"low\"\n [glyph]=\"'sort'\"\n (click)=\"onSortSettings()\"\n [title]=\"'Sort' | bbbTranslate\"\n >\n </fdp-button>\n <fdp-button\n fd-toolbar-item\n [contentDensity]=\"contentDensity\"\n buttonType=\"transparent\"\n [fdOverflowGroup]=\"1\"\n fdOverflowPriority=\"low\"\n [glyph]=\"'action-settings'\"\n (click)=\"onColumnSettings()\"\n [title]=\"'Columns' | bbbTranslate\"\n >\n </fdp-button>\n <fdp-button\n *ngIf=\"allowInlineEdit && access.Edit\"\n fd-button\n fd-toolbar-item\n [buttonType]=\"inlineEditMode ? 'emphasized' : 'transparent'\"\n [glyph]=\"'edit'\"\n (click)=\"onEditMode()\"\n [title]=\"'Edit' | bbbTranslate\"\n ></fdp-button>\n\n <fd-split-button\n *ngIf=\"viewCollection && viewCollection.length > 1\"\n fd-toolbar-item\n [fdType]=\"'transparent'\"\n [mainAction]=\"{\n keepMainAction: true,\n mainActionTitle: splitBtnTitle\n }\"\n >\n <fd-menu>\n <li fd-menu-item *ngFor=\"let viewObject of viewCollection\">\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 </fd-menu>\n </fd-split-button>\n <ng-template #splitBtnTitle>\n <fd-icon [glyph]=\"reportView.UiComponent.Settings?.Icon\"></fd-icon>\n </ng-template>\n </ng-container>\n </ng-container>\n </fd-toolbar>\n <ng-template #searchField>\n <fd-toolbar *ngIf=\"enableSearch\">\n <fdp-search-field\n fd-toolbar-item\n placeholder=\"عبارت جستجو\"\n [suggestions]=\"[]\"\n [contentDensity]=\"contentDensity\"\n (searchSubmit)=\"onSearchSubmit($event)\"\n ></fdp-search-field\n ></fd-toolbar>\n </ng-template>\n</ng-container>\n<ng-template #defaultButtonTemplate let-btn>\n <button\n fd-button\n fd-toolbar-item\n [ulvCommandHandler]=\"btn\"\n [class.control-disabled]=\"btn.text === ('New' | bbbTranslate) && inlineEditMode\"\n [disabled]=\"btn.Command._isEnable === false ? true : false\"\n [fdType]=\"!btn.Command._isEnable ? 'transparent' : btn.Command.JsonExtraProp?.Design || 'transparent'\"\n [glyph]=\"btn.Command.JsonExtraProp?.Icon\"\n [title]=\"btn.Command?.IsBuiltin ? btn.text : ''\"\n >\n <img\n *ngIf=\"!btn.Command.JsonExtraProp?.Icon && !btn.Command?.IsBuiltin && btn.icon\"\n width=\"16\"\n [src]=\"btn.icon\"\n />\n <span *ngIf=\"!btn.hideText\">{{ btn.text }}</span>\n </button>\n</ng-template>\n<ng-template #customButtonTemplate let-btn>\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 ></bnrc-dynamic-form-toolbaritem>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\nimport { UiReportViewBaseSetting } from 'barsa-novin-ray-core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { distinctUntilChanged, takeUntil } from 'rxjs/operators';\nimport { SapUiReportBaseComponent } from '../sap-ui-report-base.component';\ndeclare type GanttMode = 'day' | 'month' | 'year';\n@Component({\n selector: 'bsu-ui-gantt-chart',\n templateUrl: './ui-gantt-chart.component.html',\n styleUrls: ['./ui-gantt-chart.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiGanttChartComponent extends SapUiReportBaseComponent<UiReportViewBaseSetting> implements OnInit {\n mode$: Observable<GanttMode>;\n private _modeSource = new BehaviorSubject<GanttMode>('day');\n\n ngOnInit(): void {\n this.mode$ = this._modeSource.asObservable().pipe(takeUntil(this._onDestroy$), distinctUntilChanged());\n super.ngOnInit();\n this.context.on({\n ModeChange: this._modeChanged.bind(this)\n });\n }\n protected _modeChanged(mode: GanttMode): void {\n this._modeSource.next(mode);\n }\n}\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 ></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';\n\nimport { FieldBaseComponent } from 'barsa-novin-ray-core';\n@Component({\n selector: 'bsu-ui-mo-info-general-object-ui',\n templateUrl: './ui-mo-info-general-object-ui.component.html',\n styleUrls: ['./ui-mo-info-general-object-ui.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiMoInfoGeneralObjectUiComponent extends FieldBaseComponent {}\n","<bnrc-field-ui class=\"inner-control\" [customField]=\"context?._typeComboControl\"></bnrc-field-ui>\r\n<bnrc-field-ui class=\"inner-control\" [customField]=\"context?._objectComboControl\"></bnrc-field-ui>\r\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: '100vw',\n height: '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 {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostListener,\n Input,\n OnInit,\n Renderer2,\n ViewChild\n} from '@angular/core';\n\nimport { BaseComponent, BarsaApi } from 'dist/barsa-novin-ray-core';\n@Component({\n selector: 'bsu-barsa-asp-viewer',\n templateUrl: './barsa-asp-viewer.component.html',\n styleUrls: ['./barsa-asp-viewer.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BarsaAspViewerComponent extends BaseComponent implements OnInit, AfterViewInit {\n @Input() context: any;\n @Input() parentHeight: number;\n @ViewChild('form') form: ElementRef<HTMLFormElement>;\n @ViewChild('iframe') iframe: ElementRef<HTMLIFrameElement>;\n @ViewChild('hidden') hidden: ElementRef<HTMLInputElement>;\n\n ctrlIsPressed: boolean;\n _frameId;\n unload: boolean;\n\n constructor(private el: ElementRef, private renderer: Renderer2) {\n super();\n }\n @HostListener('window:keypress', ['event'])\n handleKeyDown(event: KeyboardEvent): void {\n this.ctrlIsPressed = event.ctrlKey;\n }\n ngOnInit(): void {\n super.ngOnInit();\n this.context.on({\n Reload: this._reload.bind(this)\n });\n this._frameId = this.context._frameId;\n }\n ngAfterViewInit(): void {\n super.ngAfterViewInit();\n this._reload();\n this._loadIFrame();\n }\n\n private _reload(): void {\n const basket: any = {};\n this.context.fireEvent('RequestForParams', this, basket);\n if (!basket.UlvParams) {\n return;\n }\n basket.UlvParams.Height = this.el.nativeElement.offsetHeight;\n basket.UlvParams.Width = this.el.nativeElement.offsetWidth;\n this._submitForm(basket.UlvParams);\n }\n private _loadIFrame(): void {\n const iframEl: HTMLIFrameElement = this.iframe.nativeElement;\n this.renderer.setStyle(iframEl, 'min-height', this.parentHeight + 'px');\n iframEl.addEventListener('load', this._onLoadIfram.bind(this));\n }\n private _unLoadIfram(): void {\n this.unload = true;\n }\n\n private _onLoadIfram(): void {\n const iframEl: HTMLIFrameElement = this.iframe.nativeElement;\n if (this.unload) {\n iframEl.removeEventListener('load', this._onLoadIfram);\n iframEl.removeEventListener('unload', this._unLoadIfram);\n this.unload = false;\n this._reload();\n return;\n }\n if (iframEl.contentWindow) {\n iframEl.contentWindow.addEventListener('unload', this._unLoadIfram.bind(this));\n }\n const head = iframEl.contentDocument?.getElementsByTagName('head')[0];\n const link1: HTMLLinkElement = this.renderer.createElement('link');\n link1.setAttribute('rel', 'stylesheet');\n link1.setAttribute('href', '/assets/Resources/fonts/defaultFontFaces.css');\n link1.setAttribute('type', 'text/css');\n head?.appendChild(link1);\n\n const link2: HTMLLinkElement = this.renderer.createElement('link');\n link2.setAttribute('rel', 'stylesheet');\n link2.setAttribute('href', '/Customization/Usercss.css');\n link2.setAttribute('type', 'text/css');\n head?.appendChild(link2);\n }\n private _submitForm(params): void {\n const form = this.form.nativeElement;\n const aspUrl = this.context._aspUrl;\n const frameId = this.context._frameId;\n form.action =\n aspUrl +\n '?ReportId=' +\n params.FolderId +\n '&FrameId=' +\n frameId +\n '&Language=' +\n BarsaApi.BBB.CurrentCulture +\n '&CtrlIsPressed=' +\n this.ctrlIsPressed;\n const value = BarsaApi.Ext.util.JSON.encode(params);\n this.hidden.nativeElement.value = escape(value);\n form.submit();\n }\n}\n","<form #form method=\"post\" target=\"ppppp\" [name]=\"'frm_' + _frameId\" [id]=\"'frm_' + _frameId\">\r\n <input #hidden [name]=\"'hidden_' + _frameId\" [id]=\"'hidden_' + _frameId\" type=\"hidden\" />\r\n</form>\r\n<iframe #iframe name=\"ppppp\" id=\"ppppp\" class=\"iframe\" src=\"about:blank\"></iframe>\r\n","import { ChangeDetectionStrategy, Component, Self } from '@angular/core';\n\nimport { Day, CalendarMonthInfo, CalendarService } from 'barsa-calendar';\n\nimport { BaseComponent, DateService, getDateService, PortalService } from 'barsa-novin-ray-core';\nimport { Observable } from 'rxjs';\n@Component({\n selector: 'bsu-custom-date-time',\n templateUrl: './custom-date-time.component.html',\n styleUrls: ['./custom-date-time.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: DateService,\n useFactory: getDateService\n },\n CalendarService\n ]\n})\nexport class CustomDateTimeComponent extends BaseComponent {\n selectedDay: Day;\n todayIndex = -1;\n selectedIndex: any;\n calendars: CalendarMonthInfo[];\n showEvents: boolean;\n width: number;\n height: number;\n selectedMonth$: Observable<CalendarMonthInfo>;\n rtl$: Observable<boolean>;\n today: Date;\n weekDaysMin: string[];\n weekDays: string[];\n deviceSize$: Observable<string>;\n mode$: Observable<'month' | 'week' | 'day' | 'year' | 'list'>;\n selectedWeek$: Observable<number>;\n weekModeDays$: Observable<Day[]>;\n constructor(@Self() private _calendarService: CalendarService, _portalService: PortalService) {\n super();\n this.rtl$ = _portalService.rtl$;\n this.deviceSize$ = _portalService.deviceSize$;\n this.weekDaysMin = this._calendarService.weekDaysMin();\n this.weekDays = this._calendarService.weekDays();\n this.selectedMonth$ = this._calendarService.selected$;\n this.today = this._calendarService.today;\n }\n}\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 onCopy(inputEl: HTMLInputElement): void {\n const copyText = inputEl;\n /* Select the text field */\n copyText.select();\n copyText.setSelectionRange(0, inputEl.value.length); /* For mobile devices */\n /* Copy the text inside the text field */\n navigator.clipboard.writeText(copyText.value);\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>\r\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\r\n <fd-dialog-header>\r\n <h1 fd-title>\r\n {{ dialogConfig.text }}\r\n </h1>\r\n\r\n <button fd-dialog-close-button (click)=\"onClose(dialog, dialogConfig)\"></button>\r\n </fd-dialog-header>\r\n\r\n <fd-dialog-body style=\"padding: 15px\">\r\n <div style=\"min-height: 125px\">\r\n <label fd-label [innerHtml]=\"dialogConfig.detail\"> </label>\r\n </div>\r\n <input #inputEl type=\"text\" style=\"display: none\" [value]=\"dialogConfig.detail\" />\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <fd-dialog-footer-button>\r\n <button\r\n fd-button\r\n fd-dialog-decisive-button\r\n [fdType]=\"'emphasized'\"\r\n [label]=\"'Continue' | bbbTranslate\"\r\n (click)=\"onContinue(dialog, dialogConfig)\"\r\n ></button>\r\n </fd-dialog-footer-button>\r\n <fd-dialog-footer-button>\r\n <button\r\n fd-button\r\n fd-dialog-decisive-button\r\n [fdType]=\"'standard'\"\r\n [label]=\"'Copy' | bbbTranslate\"\r\n (click)=\"onCopy(inputEl)\"\r\n ></button>\r\n </fd-dialog-footer-button>\r\n <fd-dialog-footer-button>\r\n <button\r\n fd-button\r\n fd-dialog-decisive-button\r\n [fdType]=\"'negative'\"\r\n [label]=\"'Logout' | bbbTranslate\"\r\n (click)=\"onLogout(dialog, dialogConfig)\"\r\n ></button>\r\n </fd-dialog-footer-button>\r\n </fd-dialog-footer>\r\n </fd-dialog>\r\n</ng-template>\r\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { BarsaApi, DateHijriService, DateMiladiService, DateService, DateShamsiService } from 'barsa-novin-ray-core';\n\nconst dateService = (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@Pipe({\n name: 'matrixValue'\n})\nexport class MatrixValuePipe implements PipeTransform {\n transform(value: any, valueType: string, uiControl: any): any {\n // this.value = (typeof this.value === 'object' && this.value)?this.value?.$Caption : this.value;\n // $Caption\n if (typeof value === 'undefined' || value === null) {\n return '';\n }\n let newValue;\n switch (valueType) {\n case 'DateInfo':\n newValue = !value ? '' : dateService(null).getDateString(value, true, false);\n break;\n case 'EnumInfo':\n newValue = this.getEnumInfoValue(value, uiControl);\n break;\n case 'MetaObjectInfo':\n newValue = value.$Caption;\n break;\n case 'BoolInfo':\n newValue = value.toString();\n break;\n default:\n newValue = value;\n }\n return newValue;\n }\n\n private getEnumInfoValue(value, uiControl): string {\n // ControlName\n let txtValue = '';\n uiControl?.FieldUi?.Setting?.DataSource?.Rows?.forEach((row) => {\n if (row.id === value) {\n txtValue = row.txt;\n }\n });\n return txtValue;\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\n\nimport { BaseComponent } from 'barsa-novin-ray-core';\nimport { PopoverComponent } from '@fundamental-ngx/core';\n\n@Component({\n selector: 'bsu-column-matrix-renderer',\n templateUrl: './column-matrix-renderer.component.html',\n styleUrls: ['./column-matrix-renderer.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ColumnMatrixRendererComponent extends BaseComponent implements OnInit {\n @ViewChild('popover') popover: PopoverComponent;\n @Input() value;\n @Input() valueCaption;\n @Input() formLayout: any;\n @Input() columnCaption: string;\n @Input() uiControl: any;\n @Input() valueType: string;\n @Input() isActive: boolean;\n @Input() height: number;\n @Output() cellClick = new EventEmitter();\n @Output() changeToEdit = new EventEmitter();\n\n breakValueAnywhere: boolean;\n ngOnInit(): void {\n super.ngOnInit();\n this.breakValueAnywhere = this.valueType === 'IntInfo';\n }\n\n onOpenPopover($event, popoverControlEl): void {\n if ($event.buttons === 0 && popoverControlEl.offsetHeight + 5 < popoverControlEl.scrollHeight) {\n this.popover.open();\n }\n }\n onEdit(): void {\n this.changeToEdit.emit();\n }\n}\n","<ng-container>\n <ng-container *ngIf=\"!isActive; else formControl\">\n <ng-container *ngTemplateOutlet=\"renderGeneral\"></ng-container>\n </ng-container>\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\n<ng-template #formControl>\n <bsu-layout-control\n *ngIf=\"uiControl\"\n [caption]=\"valueCaption\"\n [config]=\"uiControl\"\n [focusControl]=\"true\"\n [showLabel]=\"false\"\n >\n </bsu-layout-control>\n</ng-template>\n","import { Directive, ElementRef, HostBinding, Input, OnInit, Renderer2 } from '@angular/core';\nimport { BaseDirective, MetaobjectDataModel, UlvMainService } from 'barsa-novin-ray-core';\nimport { takeUntil } from 'rxjs/operators';\n\n@Directive({\n selector: '[applyConditionalFormats]'\n})\nexport class ApplyConditionalFormatsDirective extends BaseDirective implements OnInit {\n @Input() applyConditionalFormats: {\n Cls: string;\n Column?: string;\n Style: string;\n IsCommand: boolean;\n Alias: string;\n CssClass: string;\n }[];\n @Input() mo: MetaobjectDataModel;\n @Input() hostEl: any;\n @Input() dbName: string;\n @HostBinding('style') style = '';\n constructor(private el: ElementRef, private renderer2: Renderer2, private ulvMainService: UlvMainService) {\n super();\n }\n ngOnInit(): void {\n super.ngOnInit();\n this._apply();\n this.ulvMainService.moDataList$.pipe(takeUntil(this._onDestroy$)).subscribe(() => {\n this._apply();\n });\n }\n\n private _apply(): void {\n const mo = this.mo;\n const styles = this.applyConditionalFormats;\n const htmlElement: HTMLElement =\n this.hostEl instanceof HTMLElement\n ? this.hostEl\n : typeof this.hostEl.elementRef === 'function'\n ? this.hostEl.elementRef().nativeElement\n : this.hostEl.elementRef.nativeElement;\n\n styles?.forEach((style) => {\n if (style.IsCommand && this.dbName === style.Alias) {\n if (htmlElement.classList.contains(style.CssClass)) {\n this.renderer2.removeClass(htmlElement, style.CssClass);\n }\n }\n });\n if (!mo) {\n return;\n }\n mo.$StyleIndex?.forEach((val) => {\n styles.forEach((style, index) => {\n if (index === val && style.IsCommand) {\n if (this.dbName === style.Alias) {\n this.renderer2.addClass(this.el.nativeElement, style.CssClass);\n }\n } else if (val === index && this.dbName) {\n if (style.Column === this.dbName) {\n this.renderer2.setAttribute(htmlElement, 'style', style.Style);\n if (style.CssClass) {\n this.renderer2.addClass(htmlElement, style.CssClass);\n }\n }\n } else if (val === index && !style.Column) {\n this.renderer2.setAttribute(htmlElement, 'style', style.Style);\n if (style.CssClass) {\n this.renderer2.addClass(htmlElement, style.CssClass);\n }\n // htmlElement.style.cssText = style.Style;\n }\n });\n });\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\nimport {\n AbbrevationDeviceSize,\n DeviceSize,\n EllipsifyDirective,\n LayoutSetting,\n MetaobjectDataModel,\n ReportViewBaseComponent,\n ReportViewColumn,\n UiReportViewBaseSetting\n} from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-ui-matrix-view',\n templateUrl: './ui-matrix-view.component.html',\n styleUrls: ['./ui-matrix-view.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiMatrixViewComponent\n extends ReportViewBaseComponent<UiReportViewBaseSetting>\n implements OnChanges, OnInit, AfterViewInit\n{\n @ViewChild('tableHead') tableHead: ElementRef<any>;\n @ViewChild(EllipsifyDirective) ellipsifyDirective: EllipsifyDirective;\n @Input() deviceSize: AbbrevationDeviceSize;\n @Input() deviceName: DeviceSize;\n @Input() moDataList: MetaobjectDataModel[];\n @Input() columns: ReportViewColumn[];\n @Input() formLayout: LayoutSetting;\n @Input() conditionalFormat;\n @Input() activeCell;\n @Input() valueControlFieldCaption: string;\n @Input() formTemplate;\n @Input() valueType;\n @Input() cellWidth;\n @Input() cellHeight;\n @Input() verticalLabelWidth;\n @Input() fitWidth: boolean;\n @Input() minWidth;\n @Input() minHeight;\n @Input() rowResizer;\n @Input() enableResizing;\n @Output() selectionChange = new EventEmitter<{\n value: any;\n index: { i: number; j: number };\n }>();\n\n ngOnChanges(changes: SimpleChanges): void {\n const { fitWidth } = changes;\n if (fitWidth && !fitWidth.firstChange) {\n this.initializeCellsWidth(fitWidth.currentValue, this.cellWidth, this.verticalLabelWidth);\n }\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.moDataList = this.moDataList.filter((mo) => mo.VerticalColumn);\n }\n onChangeToEdit(i, j): void {\n const mo = this.moDataList[i];\n const column = this.columns[j];\n this.selectionChange.emit({ value: mo[column.Caption], index: { i, j } });\n }\n\n ngAfterViewInit(): void {\n super.ngAfterViewInit();\n this.initializeCellsWidth(this.fitWidth, this.cellWidth, this.verticalLabelWidth);\n this.initializeCellsHeight(this.cellHeight);\n }\n\n onSelectionChange({ value, index }): void {\n this.selectionChange.emit({ value, index });\n // this.ellipsifyDirective.resetDir();\n }\n\n private initializeCellsWidth(fitWidth: boolean, cellWidth, verticalLabelWidth): void {\n const el = this._el.nativeElement;\n if (!el) {\n return;\n }\n const emptyHeadCell = el.querySelector('th.empty-cell');\n this._renderer2.setStyle(emptyHeadCell, 'width', verticalLabelWidth + 'px');\n this._renderer2.setStyle(emptyHeadCell, 'min-width', verticalLabelWidth + 'px');\n\n const headCells = el.querySelectorAll('th:not(.empty-cell)');\n if (fitWidth) {\n const columnCount = this.columns.length;\n const totalWidth = this.tableHead.nativeElement.offsetWidth - verticalLabelWidth;\n cellWidth = totalWidth / columnCount;\n this._renderer2.addClass(el, 'fit-width');\n } else {\n this._renderer2.removeClass(el, 'fit-width');\n }\n this.setWidthAndHeight(headCells, 'width', cellWidth);\n this.setWidthAndHeight(headCells, 'min-width', cellWidth);\n }\n\n private initializeCellsHeight(cellHeight): void {\n const rows = this._el.nativeElement.querySelectorAll('tr');\n rows.forEach((row) => {\n this._renderer2.setStyle(row, 'height', cellHeight + 'px');\n });\n }\n\n private setWidthAndHeight(els, name: string, value: number): void {\n const valueStr = value.toString() + 'px';\n if (els?.length > 0) {\n els.forEach((tableCell) => {\n this._renderer2.setStyle(tableCell, name, valueStr);\n });\n }\n }\n}\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 <ng-container *ngFor=\"let column of columns\">\n <th fd-table-cell>\n <span>\n {{ column.Caption }}\n </span>\n </th>\n </ng-container>\n </tr>\n </thead>\n <tbody fd-table-body>\n <ng-container *ngIf=\"moDataList?.length\">\n <ng-container *ngFor=\"let mo of moDataList; let i = index\">\n <tr\n fd-table-row\n #trEl\n *ngIf=\"mo.VerticalColumn\"\n [applyConditionalFormats]=\"conditionalFormat\"\n [mo]=\"mo\"\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 <td\n fd-table-cell\n *ngFor=\"let column of columns; let j = index; let first = first; let last = last\"\n [hoverable]=\"true\"\n >\n <bsu-column-matrix-renderer\n class=\"column-renderer\"\n (cellClick)=\"\n onSelectionChange({ value: mo[column.Caption], index: { i: i, j: j } })\n \"\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 </tr>\n </ng-container>\n </ng-container>\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';\nimport { map, takeUntil, tap } from 'rxjs/operators';\n\nimport {\n createGridEditorFormPanel,\n FormPanelService,\n LayoutSetting,\n MetaobjectDataModel,\n UiReportViewBaseSetting\n} from 'barsa-novin-ray-core';\nimport { SapUiReportBaseComponent } from '../sap-ui-report-base.component';\nimport { Observable } from 'rxjs';\n\n@Component({\n selector: 'bsu-ui-editable-grid',\n templateUrl: './ui-editable-grid.component.html',\n styleUrls: ['./ui-editable-grid.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [FormPanelService]\n})\nexport class UiEditableGridComponent\n extends SapUiReportBaseComponent<UiReportViewBaseSetting>\n implements OnInit, OnDestroy\n{\n valueControlFieldCaption;\n valueDbName;\n horizontalRows: any[];\n activeCell;\n valueType;\n formLayout: LayoutSetting;\n matrixWidthType;\n cellWidth = 100;\n cellHeight = 38;\n verticalLabelWidth = 100;\n minWidth = 100;\n minHeight = 22;\n enableResizing = true;\n rowResizer = true;\n widthTypeEnum = WidthTypeEnum;\n fitWidth = true;\n matrixMoList$: Observable<MetaobjectDataModel[]>;\n\n ngOnInit(): void {\n super.ngOnInit();\n this.valueDbName = this.context.Setting.View.ValueDbName;\n this.valueType = this.context.valueFieldType;\n const formSetting = this.context.Setting.FormTemplate;\n // this.formLayout = this.context.Setting.FormTemplate.View.ControlInfo;\n this.horizontalRows = this.context.Setting.View.HorizontalColumn;\n this.valueControlFieldCaption = this.context.Setting.FormTemplate.View.ControlInfo.find(\n (col) => col.ControlName === this.valueDbName\n ).ControlFieldCaption;\n // there is different between ulv modatalist and viewer datalist. in matrixviewer adapter modatalist transformed.\n // so we need tell to ulvmainservice to update modatalist\n this._ulvMainService.reSetMoDataList(this.context.moDataList);\n\n this.matrixMoList$ = this.moDataList$.pipe(\n takeUntil(this._onDestroy$),\n map((moDataList) => this._matrixMoList(moDataList))\n );\n\n if (!this.formPanelCtrlr) {\n this.formPanelCtrlr = createGridEditorFormPanel(\n formSetting,\n formSetting.Data.Mo,\n this._typeDefId,\n null\n // BarsaApi.Common.Util.TryGetValue(this.context.Setting, 'Extra.Relation')\n );\n const formPanelCtrlr = this.formPanelCtrlr;\n this.formLayout = formPanelCtrlr.Setting.View.Layout94;\n\n formPanelCtrlr.on({\n ValueChange: this._cellValueChange.bind(this)\n });\n this.formPanelCtrlr.LoadAndCreate(null, false, false, () => {\n const customFormPanelUi = formPanelCtrlr.Adapter.Control;\n customFormPanelUi.Refresh = () => {};\n this._formpanelService.context = formPanelCtrlr.Adapter.Control;\n });\n }\n }\n onSave(): void {\n this.context.fireEvent(\n 'SaveBatchClicked',\n this.moDataList.filter((c) => c.$Modified).map((c) => ({ data: c, modified: c.$Modified }))\n );\n }\n onSelectionChange(cellInfo: { value: any; index: { i: number; j: number } }): void {\n const { value, index } = cellInfo;\n this.activeCell = index;\n // const newMo = getNewMoGridEditor(this.context.Setting.FormTemplate, this._typeDefId);\n // newMo[this.valueDbName] = value;\n\n const controlUi = this.formPanelCtrlr.GetFieldlByName(this.valueDbName);\n controlUi.SetValue(value);\n }\n onChangeView(isFit: boolean): void {\n this.fitWidth = isFit;\n }\n\n /* eslint-disable */\n protected _select(mo, index): MetaobjectDataModel {\n return mo;\n }\n private _matrixMoList(moDataList): MetaobjectDataModel[] {\n moDataList.forEach((mo) => {\n this.horizontalRows.forEach((col) => {\n if (mo[col.Caption] === undefined) {\n mo[col.Caption] = null;\n }\n });\n });\n return moDataList;\n }\n private _cellValueChange(sender): void {\n const indexI = this.activeCell.i;\n const indexJ = this.activeCell.j;\n this.moDataList$\n .pipe(\n takeUntil(this._onDestroy$),\n tap((moDataList) => {\n moDataList[indexI][this.horizontalRows[indexJ].Caption] = sender.Mo[this.valueDbName];\n if (moDataList[indexI].$Modified) {\n moDataList[indexI].$Modified[this.horizontalRows[indexJ].Caption] = 1;\n } else {\n moDataList[indexI].$Modified = { [this.horizontalRows[indexJ].Caption]: 1 };\n }\n })\n )\n .subscribe();\n }\n}\nexport enum WidthTypeEnum {\n FitWidth = 'ستون های هم عرض',\n StaticWidth = 'ستون های با عرض دلخواه'\n}\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 (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 'dist/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.Draw('graph');\n }\n}\n","<div id=\"graph\"></div>\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\nimport { UiReportViewBaseSetting } from 'dist/barsa-novin-ray-core';\nimport { SapUiReportBaseComponent } from '../sap-ui-report-base.component';\n\n@Component({\n selector: 'bsu-ui-asp-report-viewer',\n templateUrl: './ui-asp-report-viewer.component.html',\n styleUrls: ['./ui-asp-report-viewer.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiAspReportViewerComponent extends SapUiReportBaseComponent<UiReportViewBaseSetting> {}\n","<ng-container *untilInView=\"el\">\n <bsu-barsa-asp-viewer\n [context]=\"context\"\n [style.min-height.px]=\"parentHeight\"\n [parentHeight]=\"parentHeight\"\n ></bsu-barsa-asp-viewer>\n</ng-container>\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\n\nimport { UiReportViewBaseSetting, MetaobjectDataModel } from 'barsa-novin-ray-core';\nimport { map } from 'rxjs/operators';\n\nimport { SapUiReportBaseComponent } from '../sap-ui-report-base.component';\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 const calendarFields = this.context.Setting.View.CalendarFields;\n const colorField = this.context.Setting.Extra.ExtraJsonPropReport?.Color;\n if (colorField) {\n this.context.Setting.View.CalendarFields = { ...calendarFields, Color: colorField };\n }\n\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 onDaySelect(date: Date): void {\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 calendarFields: context.Setting.View.CalendarFields,\n hasSelected: hasSelected$ | async,\n navigationArrow: navigationArrow$ | async,\n inDialog: inDialog$ | 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-calendarFields=\"calendarFields\"\n let-rtl=\"rtl\"\n let-hasSelected=\"hasSelected\"\n let-navigationArrow=\"navigationArrow\"\n let-inDialog=\"inDialog\"\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 (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 [calendarFields]=\"calendarFields\"\n [isCheckList]=\"isCheckList\"\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()\"\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 (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 private _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\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 fullScreen: 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 { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, OnInit, Output } 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() 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 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 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","<ng-container *ngIf=\"footerMode; else contextTemplate\">\n <div fd-bar barDesign=\"footer\" [cozy]=\"false\" style=\"width: 100%\">\n <div fd-bar-middle *ngIf=\"overflowMode\">\n <ng-container *ngTemplateOutlet=\"footerToolbarTpl\"></ng-container>\n </div>\n <div fd-bar-right *ngIf=\"!overflowMode\">\n <ng-container *ngTemplateOutlet=\"footerToolbarTpl\"></ng-container>\n </div>\n <ng-template #footerToolbarTpl>\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\n <ng-container *ngFor=\"let cmd of menuItems\">\n <ng-container *ngTemplateOutlet=\"buttonTemplate; context: { $implicit: cmd }\"></ng-container>\n </ng-container>\n </fd-toolbar>\n </ng-template>\n </div>\n</ng-container>\n<ng-template #contextTemplate>\n <ng-container\n *ngTemplateOutlet=\"\n overflowMode && !disableOverflowContextMenu ? overflowCommands : simpleCommands;\n context: { $implicit: menuItems, index: index }\n \"\n ></ng-container>\n</ng-template>\n\n<ng-template #simpleCommands let-commands let-index=\"index\">\n <ng-container *ngFor=\"let cmd of commands\">\n <ng-container *ngTemplateOutlet=\"menuButtonTemplate; context: { $implicit: cmd }\"></ng-container>\n </ng-container>\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 <li fd-list-item *ngFor=\"let cmd of commands\">\n <ng-container *ngTemplateOutlet=\"menuButtonTemplate; context: { $implicit: cmd }\"></ng-container>\n </li>\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 <li\n fd-menu-item\n *ngFor=\"let btnCommand of cmd.menu.items\"\n #liEl\n [applyConditionalFormats]=\"conditionalFormats\"\n [mo]=\"mo\"\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 }}</span>\n </div>\n </li>\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\"\n [glyph]=\"cmd.Command?.NewIcon || cmd.Command?.JsonExtraProp?.Icon || ''\"\n [ulvCommandHandler]=\"cmd\"\n [applyConditionalFormats]=\"conditionalFormats\"\n [mo]=\"mo\"\n [dbName]=\"cmd.text\"\n [hostEl]=\"btnEl\"\n (commandClick)=\"onCommandClick($event)\"\n >\n <img *ngIf=\"!cmd.Command?.NewIcon && !cmd.Command?.JsonExtraProp?.Icon\" [src]=\"cmd.icon\" />\n </button>\n</ng-template>\n<ng-template #customButtonTemplate let-cmd>\n <div #hostEl [dbName]=\"cmd.text\" [applyConditionalFormats]=\"conditionalFormats\" [hostEl]=\"hostEl\" [mo]=\"mo\">\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\"\n [deviceName]=\"deviceName\"\n [index]=\"index\"\n [isEnable]=\"cmd.Command?._isEnable\"\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","<button\r\n *ngIf=\"relationItem\"\r\n fd-button\r\n [fdType]=\"'transparent'\"\r\n [label]=\"('Create' | bbbTranslate) + ' ' + relationItem.ObjectInRelationName\"\r\n (click)=\"onClick($event)\"\r\n></button>\r\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\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 onRowCheck(): void {\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 [mo]=\"node.Data\"\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 <fd-icon *ngIf=\"hasDragDrop && !isHetro\" glyph=\"grip\" font=\"BusinessSuiteInAppSymbols\" cdkDragHandle></fd-icon>\n\n <div (click)=\"onRowCheck()\" style=\"display: flex; width: 100%; justify-content: space-between\">\n <div style=\"display: flex\">\n <ng-container *ngIf=\"hasArrowIcon\">\n <div class=\"arrow-container\" *ngIf=\"hasChildren; else emptyBtn\">\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 <fd-busy-indicator\n style=\"display: flex; align-items: center; width: 2rem\"\n *ngIf=\"loading\"\n size=\"s\"\n [loading]=\"true\"\n ></fd-busy-indicator>\n </ng-container>\n <div style=\"display: flex; flex: unset; align-items: center\" fd-list-title [focusable]=\"true\">\n <img\n *ngIf=\"!hideIcon\"\n [src]=\"node.icon\"\n [style.padding-right.px]=\"!rtl ? 5 : null\"\n [style.padding-left.px]=\"rtl ? 5 : null\"\n />\n <span>{{ text }}</span>\n <span *ngIf=\"children\">{{ ' ( ' + children.length + ' )' }}</span>\n </div>\n </div>\n <i\n *ngIf=\"contextMenuItems && contextMenuItems.length > 0\"\n ulvContextMenu\n [allColumns]=\"allColumns\"\n [menuItems]=\"contextMenuItems\"\n [conditionalFormats]=\"conditionalFormats\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [mo]=\"node.Data\"\n [index]=\"index\"\n (commandClick)=\"onUlvCommand()\"\n [deviceName]=\"deviceName\"\n ></i>\n <bsu-htree-create-new\n *ngIf=\"access.Add !== false\"\n [node]=\"node\"\n [relationList]=\"relationList\"\n (createNew)=\"onCreateNew($event)\"\n ></bsu-htree-create-new>\n </div>\n <fdp-button\n *ngIf=\"access?.View && !showOkCancelButtons && deviceName !== 'desktop'\"\n [glyph]=\"navigationArrow\"\n buttonType=\"transparent\"\n (click)=\"onNodeViewClick()\"\n ></fdp-button>\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<ng-template #emptyBtn>\n <div class=\"empty-container\" *ngIf=\"!parentNode?.hasOneDepthLevel\" (click)=\"onRowCheck()\">\n <button fd-button></button>\n </div>\n</ng-template>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { SvgConfig } from '@fundamental-ngx/core';\n\nimport { BaseComponent } from 'dist/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 sceneConfig: SvgConfig = {\n scene: { url: 'assets/svg/empty-box.svg', id: 'sapIllus-Scene-NoMail-1' }\n };\n}\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","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() 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\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 <ng-container *ngIf=\"moDataList?.length > 0; else noData\">\n <ng-container *ngFor=\"let node of moDataList; let index = index\">\n <bsu-barsa-tree-item\n *ngIf=\"node.visibility === true && node.parentNode.isExpand\"\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 [isChecked]=\"selectedNode?.Data?.Id === node.Data.Id\"\n [hasChildren]=\"node.Data.$HasChildren\"\n [loading]=\"node.loading\"\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 (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 </ng-container>\n </ng-container>\n </ul>\n </fd-layout-panel-body>\n</fd-layout-panel>\n\n<!--noData-->\n<ng-template #noData>\n <bsu-no-data></bsu-no-data>\n</ng-template>\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\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 }\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 disableOverflowContextMenu: viewSetting?.DisableOverflowContextMenu,\n isHetro: context.Setting.ClassNames.DataClass === 'Ul.HetroTreeUlvDataCtrlr'\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>\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 [contentDensity]=\"contentDensity\"\n [inlineEditMode]=\"inlineEditMode\"\n [allowInlineEdit]=\"allowInlineEdit\"\n (sortClick)=\"onSortSettings(deviceName)\"\n (groupbyClick)=\"onGroupbySettings(deviceName)\"\n (columnClick)=\"onColumnSettings(deviceName)\"\n (editModeClick)=\"onEditMode()\"\n >\n <fdp-button fd-toolbar-item [buttonType]=\"'transparent'\" [glyph]=\"'collapse-all'\" (click)=\"onCollapseAll()\">\n </fdp-button>\n <fdp-button\n *ngIf=\"!showOkCancelButtons\"\n fd-toolbar-item\n [buttonType]=\"'transparent'\"\n [glyph]=\"'move'\"\n (click)=\"onOpenMoveToDialog(selectedNode, deviceName, moveDialog)\"\n >\n </fdp-button>\n </bsu-ulv-toolbar>\n <bsu-tree-view\n [rtl]=\"rtl\"\n [relationList]=\"relationList\"\n [root]=\"root\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [navigationArrow]=\"navigationArrow\"\n [collapseIcon]=\"collapseIcon\"\n [selectedNode]=\"selectedNode\"\n [access]=\"access\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [contextMenuItems]=\"contextMenuItems\"\n [moDataList]=\"moDataList\"\n [groupby]=\"groupby\"\n [isHetro]=\"isHetro\"\n [isCheckList]=\"isCheckList\"\n [conditionalFormats]=\"conditionalFormats\"\n [showOkCancelButtons]=\"showOkCancelButtons\"\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()\"\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 fdTemplate=\"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';\n\nimport { BaseComponent } from 'barsa-novin-ray-core';\n@Component({\n selector: 'bsu-inline-save-and-cancel,[inlineSaveAndCancel]',\n templateUrl: './inline-save-and-cancel.component.html',\n styleUrls: ['./inline-save-and-cancel.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class InlineSaveAndCancelComponent extends BaseComponent {\n @Output() save = new EventEmitter();\n @Output() cancel = new EventEmitter();\n\n onSave(e): void {\n this.save.emit();\n e.stopPropagation();\n e.preventDefault();\n }\n onCancel(e): void {\n this.cancel.emit();\n e.stopPropagation();\n e.preventDefault();\n }\n}\n","<fdp-button glyph=\"accept\" role=\"save\" (click)=\"onSave($event)\"></fdp-button>\r\n<fdp-button buttonType=\"negative\" glyph=\"decline\" role=\"canecl form\" (click)=\"onCancel($event)\"></fdp-button>\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnInit, SimpleChanges } 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 {\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\n @Input() rtl: boolean;\n @Input() deviceName: string;\n @Input() deviceSize: AbbrevationDeviceSize;\n value: any;\n icon: any;\n /**\n *\n */\n constructor(private _cdr: ChangeDetectorRef) {\n super();\n }\n ngOnInit(): void {\n super.ngOnInit();\n this._setIconAndValue(this.column, this.mo);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n super.ngOnChanges(changes);\n const { mo } = changes;\n if (mo && !mo.firstChange) {\n this._setIconAndValue(this.column, mo.currentValue);\n this._cdr.detectChanges();\n }\n }\n private _setIconAndValue(column, mo): void {\n const colName = column.Name;\n const data = mo[colName];\n let caption = mo[colName + '$Caption'];\n let icon = mo[colName + '$Icon'];\n\n if (typeof data === 'object' && data) {\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 this.icon = icon;\n this.value = caption || '';\n }\n}\n","<ng-container *ngIf=\"column\">\n <ng-container *ngTemplateOutlet=\"editMode ? formControlTemplate : renderCellTemplate\"> </ng-container>\n</ng-container>\n<ng-template #renderCellTemplate>\n <ng-container [ngSwitch]=\"column.FieldTypeId\">\n <ng-container *ngSwitchCase=\"'42'\">\n <ng-container *ngTemplateOutlet=\"renderCellImage\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'33'\">\n <ng-container *ngTemplateOutlet=\"renderCellFileInfo\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'5'\">\n <ng-container\n *ngTemplateOutlet=\"column.Extra?.ShowCheckInGrid ? renderCellChecbox : renderChecboxImage\"\n ></ng-container>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <ng-container *ngTemplateOutlet=\"renderGeneral\"></ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n<ng-template #renderGeneral>\n <div style=\"display: flex; width: 100%; height: 100%; align-items: center; justify-content: start\">\n <img [attr.rtl]=\"rtl\" *ngIf=\"icon\" [src]=\"icon\" />\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 <span *ngIf=\"column.Extra?.IconDisplayTypeEnum !== 'Image'\" class=\"ellapsis\">{{ value | bbbTranslate }}</span>\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 <bsu-layout-control\n *ngIf=\"controlUi\"\n [inlineEdit]=\"true\"\n [caption]=\"column.Caption\"\n [config]=\"controlUi\"\n [focusControl]=\"index === 0 && (isChecked || isNewInlineMo)\"\n [showLabel]=\"formLayoutShowLabel\"\n ></bsu-layout-control>\n</ng-template>\n<ng-template #renderCellFileInfo>\n <fd-avatar\n *ngIf=\"mo[column.Name]\"\n [transparent]=\"true\"\n [size]=\"deviceSize === 's' ? 's' : 'm'\"\n [image]=\"mo[column.Name] | picFieldSrc: 'PictureFileInfo':null:column.FieldDefId\"\n ></fd-avatar>\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 <ng-container *ngIf=\"column.Extra?.TrueImage === ''\">{{ value }}</ng-container>\n <img\n *ngIf=\"column.Extra?.TrueImage !== ''\"\n [src]=\"mo[column.Name] ? column.Extra?.TrueImage : column.Extra?.FalseImage\"\n aling=\"middle\"\n />\n</ng-template>\n<ng-template #renderCellImage>\n <fd-avatar\n *ngIf=\"mo[column.Name] && mo[column.Name]['Url']\"\n [size]=\"column.FieldTypeId === '42' ? 'xs' : deviceSize === 's' ? 's' : 'm'\"\n [transparent]=\"true\"\n [image]=\"mo[column.Name]['Url']\"\n ></fd-avatar>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, ViewChild, ViewContainerRef } from '@angular/core';\nimport { LayoutPanelBaseComponent, LayoutService } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-ly-layout-container-of-root',\n templateUrl: './ly-layout-container-of-root.component.html',\n styleUrls: ['./ly-layout-container-of-root.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [LayoutService]\n})\nexport class LyLayoutContainerOfRootComponent extends LayoutPanelBaseComponent {\n @ViewChild('viewRefTemplate', { read: ViewContainerRef, static: true }) viewRef: ViewContainerRef;\n}\n","<canvas #canvas style=\"display: none\"></canvas>\n<ng-container *ngIf=\"config\">\n <canvas #canvas style=\"display: none\"></canvas>\n <ng-container *ngFor=\"let item of config | filterToolbarControl\">\n <ng-container [ngSwitch]=\"item.xtype\">\n <ng-container *ngSwitchCase=\"'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 </ng-container>\n <ng-container *ngSwitchCase=\"'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 </ng-container>\n <ng-container *ngSwitchCase=\"'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 </ng-container>\n <ng-container *ngSwitchCase=\"'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 </ng-container>\n <ng-container *ngSwitchCase=\"'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 </ng-container>\n <ng-container *ngSwitchCase=\"'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 </ng-container>\n <ng-container *ngSwitchCase=\"'Ly.LayoutJoin'\">\n <ng-container *ngIf=\"item.Type === 'HorizontalJoin'; else verticalJoin\">\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 </ng-container>\n <ng-template #verticalJoin>\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 </ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"'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 </ng-container>\n </ng-container>\n </ng-container>\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</ng-container>\n","import { Component, ChangeDetectionStrategy, OnInit, Input, Output, EventEmitter, SimpleChanges } from '@angular/core';\nimport { BaseViewItemPropsComponent, FormPanelService, MetaobjectDataModel } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-report-new-top-form',\n templateUrl: './report-new-top-form.component.html',\n styleUrls: ['./report-new-top-form.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [FormPanelService]\n})\nexport class ReportNewTopFormComponent extends BaseViewItemPropsComponent implements OnInit {\n @Input() selectedMo: MetaobjectDataModel | null | undefined;\n @Output() add = new EventEmitter<MetaobjectDataModel>();\n @Output() save = new EventEmitter<MetaobjectDataModel>();\n inRow = false;\n newMo: MetaobjectDataModel;\n\n ngOnInit(): void {\n this._createNewMo();\n super.ngOnInit();\n }\n onAdd(): void {\n this.add.emit(this.mo);\n this._createNewMo();\n }\n onSave(): void {\n this.save.emit(this.formPanelCtrlr.Mo);\n }\n ngOnChanges(changes: SimpleChanges): void {\n super.ngOnChanges(changes);\n const { selectedMo } = changes;\n if (selectedMo && !selectedMo.firstChange) {\n if (selectedMo.currentValue) {\n this._setValue({ ...selectedMo.currentValue });\n } else {\n this._createNewMo();\n }\n }\n }\n private _setValue(mo: MetaobjectDataModel): void {\n this.formPanelCtrlr.SetValue(mo);\n this.formPanelCtrlr.Mo.Id = mo.Id;\n }\n private _createNewMo(): void {\n this.mo = this._ulvMainService.createNewInlineMo(true);\n this._setValue(this.mo);\n this.formPanelCtrlr.Clear();\n }\n}\n","<bsu-ly-layout-container-of-root\n *ngIf=\"layout$ | async as layout94\"\n [config]=\"layout94\"\n [isPanel]=\"false\"\n [isRoot]=\"true\"\n></bsu-ly-layout-container-of-root>\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 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 {\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} from 'barsa-novin-ray-core';\nimport { takeUntil } from 'rxjs/operators';\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() groupby: SortSetting[];\n @Input() isCheckList: boolean;\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() allColumns: ReportViewColumn[];\n @Input() viewSetting: UiReportViewBaseSetting;\n @Input() inlineEditMode: boolean;\n @Input() onlyInlineEdit: boolean;\n @Input() allowInlineEdit: boolean;\n @Input() popin: boolean;\n @Input() formSetting: FormSetting;\n @Input() disableOverflowContextMenu: boolean;\n @Input() navigationArrow: string;\n @Input() typeDefId: 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() disableResponsive: 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() ulvCommandClick = new EventEmitter<any>();\n @Output() sortAscending = new EventEmitter<any>();\n @Output() sortDescending = new EventEmitter<any>();\n @Output() filter = new EventEmitter<any>();\n @Output() rowCheck = new EventEmitter<{ mo; index; cause? }>();\n @Output() rowClick = new EventEmitter<{ mo; index }>();\n @Output() expandClick = new EventEmitter<MetaobjectDataModel>();\n @Output() trackBySelectedFn = new EventEmitter<{ index; record }>();\n @Output() allCheckbox = new EventEmitter<boolean>();\n @Output() editFormPanelSave = new EventEmitter<MetaobjectDataModel>();\n @Output() columnResized = new EventEmitter<columnsResizedEventArgs>();\n @Output() selectNextInlineRecord = new EventEmitter<MetaobjectDataModel>();\n\n _reportViewRef: ComponentRef<ReportViewBaseComponent<UiReportViewBaseSetting>>;\n constructor(private _portalService: PortalService, private _vcr: ViewContainerRef, private _injector: Injector) {\n super();\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.groupby = this.groupby;\n instance.disableResponsive = this.disableResponsive;\n instance.popin = this.popin;\n instance.contextView = this.contextView;\n instance.isCheckList = this.isCheckList;\n instance.columns = this.columns;\n instance.inDialog = this.inDialog;\n instance.columnsCount = this.columnsCount;\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.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.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.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.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 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,\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 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 }\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>\n <div *ngIf=\"showCreateForm\">\n <bsu-report-new-top-form\n [extraRelation]=\"extraRelation\"\n [moDataListCount]=\"moDataList.length\"\n [selectedMo]=\"selectedMo$ | async\"\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 <bsu-ulv-toolbar\n [hideToolbar]=\"hideToolbar\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [toolbarButtons]=\"toolbarButtons\"\n [gridSetting]=\"gridSetting\"\n [title]=\"title\"\n [access]=\"access\"\n [hasSelected]=\"hasSelected\"\n [contentDensity]=\"contentDensity\"\n [viewCollection]=\"viewCollection\"\n [reportView]=\"selectedView\"\n [inlineEditMode]=\"inlineEditMode\"\n [allowInlineEdit]=\"allowInlineEdit\"\n (sortClick)=\"onSortSettings($event)\"\n (groupbyClick)=\"onGroupbySettings($event)\"\n (columnClick)=\"onColumnSettings($event)\"\n (editModeClick)=\"onEditMode()\"\n (viewClick)=\"onChangeView($event)\"\n ></bsu-ulv-toolbar>\n\n <div\n class=\"report-view\"\n [attr.reportCaption]=\"context.Setting.Extra.Report.Caption\"\n reportViewRenderer\n [hideOpenIcon]=\"hideOpenIcon\"\n [inDialog]=\"inDialog\"\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 [allColumns]=\"allColumns\"\n [hasSummary]=\"hasSummary\"\n [columnsCount]=\"columnsCount\"\n [formLayout]=\"formLayout\"\n [disableResponsive]=\"disableResponsive\"\n (selectNextInlineRecord)=\"onSelectNextInlineRecord($event)\"\n (editFormPanelCancel)=\"onEditFormPanelCancel()\"\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 (rowCheck)=\"onRowCheck($event)\"\n (rowClick)=\"onRowClick($event)\"\n (allCheckbox)=\"onAllCheckbox($event)\"\n (expandClick)=\"onExpandClick($event)\"\n (columnResized)=\"onColumnResized($event)\"\n ></div>\n</ng-template>\n","import { Component, OnInit, ChangeDetectionStrategy, Input } from '@angular/core';\nimport { Size } from '@fundamental-ngx/core';\nimport { BaseViewItemPropsComponent } 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 changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CardItemComponent extends BaseViewItemPropsComponent implements OnInit {\n @Input() setting: UiCardListViewSetting;\n noContent: boolean;\n cardWidth: string;\n maxWidth: string;\n minWidth: string;\n contextMenuInFooter: boolean;\n avatarSize: Size;\n ngOnInit(): void {\n super.ngOnInit();\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=\"quickView\"\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 <fd-card-content (click)=\"onRowCheck()\" (dblclick)=\"onRowClick()\" ellipsify *ngIf=\"!noContent || contextMenuItems\">\n <div #divEl [applyConditionalFormats]=\"conditionalFormats\" [mo]=\"mo\" [hostEl]=\"divEl\">\n <ng-container\n *ngTemplateOutlet=\"\n setting.ContentComponent ? contentTemplateComponent : contentTemplate;\n context: {\n $implicit: mo,\n index: this.index\n }\n \"\n ></ng-container>\n </div>\n <ng-container *ngIf=\"contextMenuInFooter && contextMenuItems && contextMenuItems.length > 0\">\n <div\n ulvContextMenu\n [allColumns]=\"allColumns\"\n [footerMode]=\"true\"\n [menuItems]=\"contextMenuItems\"\n [conditionalFormats]=\"conditionalFormats\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [mo]=\"mo\"\n (commandClick)=\"onUlvCommand()\"\n ></div>\n </ng-container>\n </fd-card-content>\n</fd-card>\n\n<ng-template #columnTemplate let-column let-mo=\"mo\" let-index=\"index\" let-layout94=\"layout94\"\n ><div\n *ngIf=\"column\"\n #divEl\n [applyConditionalFormats]=\"conditionalFormats\"\n [mo]=\"mo\"\n [hostEl]=\"divEl\"\n [dbName]=\"column.Name\"\n >\n <bsu-column-renderer\n [mo]=\"mo\"\n [column]=\"column\"\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()\"\n (keyup.esc)=\"onEditFormPanelCancel()\"\n (keydown.Tab)=\"onTabKeyDown()\"\n [formLayoutShowLabel]=\"true\"\n ></bsu-column-renderer>\n </div>\n</ng-template>\n<ng-template #contentTemplate let-mo let-index=\"index\">\n <fd-quick-view [id]=\"'id'\" *ngIf=\"!noContent\">\n <fd-quick-view-group>\n <fd-quick-view-subheader\n *ngIf=\"setting.Avatar || setting.AvatarField || setting.TitleField || setting.SubtitleField\"\n >\n <fd-avatar\n *ngIf=\"setting.AvatarField || setting.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 <fd-quick-view-subheader-title *ngIf=\"setting.TitleField\">\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 <fd-quick-view-subheader-subtitle *ngIf=\"setting.SubtitleField\">\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 </fd-quick-view-subheader>\n <fd-quick-view-group-item *ngFor=\"let column of setting.FieldListMapped\">\n <ng-container *ngIf=\"column\">\n <fd-quick-view-group-item-label>\n {{ column.Caption }}\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 </ng-container>\n </fd-quick-view-group-item>\n <fd-quick-view-group-item>\n <fd-quick-view-group-item-content *ngIf=\"setting.DescriptionField\">\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 <fd-quick-view-group-item-content\n class=\"action\"\n *ngIf=\"setting.ActionFieldNameField\"\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 </fd-quick-view-group-item>\n </fd-quick-view-group>\n </fd-quick-view>\n</ng-template>\n<ng-template #contentTemplateComponent let-mo let-index=\"index\">\n <bnrc-dynamic-item-component\n [component]=\"setting.ContentComponent\"\n [mo]=\"mo\"\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 <fd-card-header\n *ngIf=\"\n isCheckList ||\n deviceName !== 'desktop' ||\n (contextMenuItems && contextMenuItems.length > 0 && !contextMenuInFooter)\n \"\n >\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 <fd-checkbox\n *ngIf=\"isCheckList\"\n [name]=\"mo.$Caption\"\n [ngModel]=\"isChecked\"\n (ngModelChange)=\"onRowCheck()\"\n ></fd-checkbox>\n <div\n *ngIf=\"!contextMenuInFooter && contextMenuItems && contextMenuItems.length > 0\"\n ulvContextMenu\n [allColumns]=\"allColumns\"\n [menuItems]=\"contextMenuItems\"\n [conditionalFormats]=\"conditionalFormats\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [mo]=\"mo\"\n (commandClick)=\"onUlvCommand()\"\n ></div>\n </div>\n <ng-container *ngIf=\"canView\">\n <button\n fd-button\n class=\"view-btn\"\n (click)=\"onRowClick()\"\n [glyph]=\"navigationArrow\"\n fdType=\"transparent\"\n ></button>\n </ng-container>\n </div>\n </fd-card-header>\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 [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 } from '@angular/core';\r\nimport { BaseViewContentPropsComponent } from 'barsa-novin-ray-core';\r\nimport { UiCardListViewSetting } from '../models/grid-view';\r\n\r\n@Component({\r\n selector: 'bsu-card-view-content',\r\n templateUrl: './card-view-content.component.html',\r\n styleUrls: ['./card-view-content.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class CardViewContentComponent extends BaseViewContentPropsComponent<UiCardListViewSetting> {\r\n onExpandClick(mo): void {\r\n this.expandClick.emit(mo);\r\n }\r\n}\r\n","<ng-container *ngTemplateOutlet=\"setting.CardWidth ? flexTemplate : gridTemplate\"></ng-container>\n<ng-template #gridTemplate>\n <fd-layout-grid *ngIf=\"moDataList && moDataList.length > 0; else noData\" class=\"card-list\">\n <ng-container *ngTemplateOutlet=\"containerTemplate; context: { $implicit: true }\"></ng-container>\n </fd-layout-grid>\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 <ng-container\n *ngFor=\"\n let mo of moDataList | multipleGroupBy: groupby;\n let index = index;\n let last = last;\n let first = first;\n trackBy: _trackByRow\n \"\n >\n <ng-container *ngIf=\"!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 </ng-container>\n <div\n *ngIf=\"setting.contextMenuInFooter && contextMenuItems && contextMenuItems.length > 0\"\n ulvContextMenu\n [allColumns]=\"allColumns\"\n [menuItems]=\"contextMenuItems\"\n [conditionalFormats]=\"conditionalFormats\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [mo]=\"mo\"\n (commandClick)=\"ulvCommand.emit({mo,index})\"\n ></div>\n </ng-container>\n</ng-template>\n<ng-template #noData>\n <bsu-no-data></bsu-no-data>\n</ng-template>\n<ng-template #cardTemplate let-mo let-index=\"index\">\n <bsu-card-item\n [mo]=\"mo\"\n [isChecked]=\"mo.$IsChecked\"\n [isNewInlineMo]=\"mo.$NewInlineMo\"\n [index]=\"index\"\n [setting]=\"setting\"\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 (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]=\"12\"\n [colMd]=\"inlineEditMode ? 12 : 6\"\n [colLg]=\"inlineEditMode ? 12 : 4\"\n [colXl]=\"inlineEditMode ? 12 : 3\"\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';\n\nimport { ReportViewBaseComponent } from 'barsa-novin-ray-core';\nimport { UiCardListViewSetting } from '../models/grid-view';\n\n@Pipe({\n name: 'stringToArray',\n pure: true\n})\nexport class StringToArrayPipe implements PipeTransform {\n transform(str: string | undefined): string[] {\n if (!str) {\n return [];\n }\n return str.split(',');\n }\n}\n\n@Component({\n selector: 'bsu-ui-card-view',\n templateUrl: './ui-card-view.component.html',\n styleUrls: ['./ui-card-view.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiCardViewComponent extends ReportViewBaseComponent<UiCardListViewSetting> implements OnInit {\n cardSetting: UiCardListViewSetting;\n ngOnInit(): void {\n super.ngOnInit();\n const viewSetting = this.viewSetting;\n const findColumn = this._findColumnByDbName;\n const fieldList = !viewSetting.FieldList ? [] : viewSetting.FieldList.split(',');\n this.cardSetting = {\n ...viewSetting,\n openOnClick: this.openOnClick,\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 AvatarSizeField: findColumn.transform(this.allColumns, viewSetting.AvatarSize),\n StatusField: findColumn.transform(this.allColumns, viewSetting.Status),\n DescriptionField: findColumn.transform(this.allColumns, viewSetting.Description),\n FieldListMapped: fieldList.map((c) => findColumn.transform(this.allColumns, c)),\n ActionFieldNameField: findColumn.transform(this.allColumns, viewSetting.ActionFieldName),\n ActionFieldCommandField: findColumn.transform(this.allColumns, viewSetting.ActionFieldCommand)\n };\n }\n onAction(commandBody: string): void {\n const command = new Function(commandBody);\n command();\n }\n}\n","<fd-layout-panel>\r\n <fd-layout-panel-body [bleed]=\"true\">\r\n <table fd-table *ngIf=\"isCheckList\">\r\n <thead fd-table-header>\r\n <tr fd-table-row>\r\n <th fd-table-cell>\r\n <fd-checkbox\r\n name=\"allCheckbox\"\r\n [ngModel]=\"allChecked\"\r\n (ngModelChange)=\"onAllCheckbox($event)\"\r\n >{{ 'All' | bbbTranslate }}</fd-checkbox\r\n >\r\n </th>\r\n </tr>\r\n </thead>\r\n </table>\r\n </fd-layout-panel-body>\r\n</fd-layout-panel>\r\n<bsu-card-view-content\r\n [moDataList]=\"moDataList\"\r\n [groupby]=\"groupby\"\r\n [setting]=\"cardSetting\"\r\n [editMode]=\"inlineEditMode\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [allColumns]=\"allColumns\"\r\n [contextMenuItems]=\"contextMenuItems\"\r\n [canView]=\"canView\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [navigationArrow]=\"navigationArrow\"\r\n [isCheckList]=\"isCheckList\"\r\n (rowCheck)=\"onRowCheck($event)\"\r\n (rowClick)=\"onRowClick($event)\"\r\n (ulvCommand)=\"onUlvCommand($event)\"\r\n (editFormPanelSave)=\"onEditFormPanelSave($event)\"\r\n (editFormPanelCancel)=\"onEditFormPanelCancel($event)\"\r\n (action)=\"onAction($event)\"\r\n></bsu-card-view-content>\r\n","import { Component, OnInit, ChangeDetectionStrategy, Input, OnChanges } from '@angular/core';\nimport { Size } from '@fundamental-ngx/core';\nimport { BaseViewItemPropsComponent, 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}\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 [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 [mo]=\"mo\"\n [hostEl]=\"aEl\"\n >\n <fd-checkbox\n *ngIf=\"isCheckList\"\n [name]=\"mo.$Caption\"\n [ngModel]=\"isChecked\"\n (change)=\"onRowCheck()\"\n ></fd-checkbox>\n\n <span fd-list-thumbnail>\n <fd-avatar\n alterIcon=\"alt|content|backup|default-icon\"\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 [glyph]=\"mo.$State === 'New' && !isChecked ? 'favorite' : inlineEditMode && isChecked ? 'edit' : ''\"\n >\n </fd-avatar>\n </span>\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 <bsu-ulv-context-menu\n [menuItems]=\"contextMenuItems\"\n [conditionalFormats]=\"conditionalFormats\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [mo]=\"mo\"\n (commandClick)=\"onUlvCommand()\"\n ></bsu-ulv-context-menu>\n\n <button\n *ngIf=\"canView\"\n (click)=\"onRowClick()\"\n fdType=\"transparent\"\n [glyph]=\"navigationArrow\"\n fd-button\n ></button>\n </a>\n </li>\n</ng-template>\n<ng-template #displayTemplate let-mo>\n <li\n fd-list-item\n [interactive]=\"false\"\n *ngIf=\"!mo.parent || mo.parent?.expanded\"\n (dblclick)=\"onRowClick()\"\n (click)=\"onRowCheck()\"\n [selected]=\"!setting.NonSelectable && isChecked === true\"\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 [mo]=\"mo\"\n [hostEl]=\"aEl\"\n >\n <i fd-list-icon *ngIf=\"mo.$State === 'New' && !isChecked\" glyph=\"favorite\"></i>\n <i fd-list-icon *ngIf=\"inlineEditMode && isChecked\" glyph=\"edit\"></i>\n <fd-checkbox\n *ngIf=\"isCheckList\"\n [name]=\"mo.$Caption\"\n [ngModel]=\"isChecked\"\n (change)=\"onRowCheck()\"\n ></fd-checkbox>\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>\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 <bsu-ulv-context-menu\n [menuItems]=\"contextMenuItems\"\n [conditionalFormats]=\"conditionalFormats\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [mo]=\"mo\"\n (commandClick)=\"onUlvCommand()\"\n ></bsu-ulv-context-menu>\n <button\n *ngIf=\"canView\"\n fd-button\n (click)=\"onRowClick()\"\n [glyph]=\"navigationArrow\"\n fdType=\"transparent\"\n ></button>\n </span>\n </a>\n </li>\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 <ng-container *ngIf=\"column\">\n <div #divEl [applyConditionalFormats]=\"conditionalFormats\" [mo]=\"mo\" [hostEl]=\"divEl\" [dbName]=\"column.Name\">\n <bsu-column-renderer\n [mo]=\"mo\"\n [column]=\"column\"\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()\"\n (keyup.esc)=\"onEditFormPanelCancel()\"\n (keydown.Tab)=\"onTabKeyDown()\"\n [formLayoutShowLabel]=\"true\"\n ></bsu-column-renderer>\n </div>\n </ng-container>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\nimport { Size } from '@fundamental-ngx/core';\nimport { ReportViewBaseComponent, enumValueToStringSize } 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 listSetting: UiListViewSetting;\n avatarSize: Size;\n isDisplayType: boolean;\n\n ngOnInit(): void {\n super.ngOnInit();\n this.isDisplayType = this.viewSetting.ItemType$Caption === 'Display';\n const viewSetting = this.viewSetting;\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 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}\n","<fd-layout-panel>\n <fd-layout-panel-body [bleed]=\"true\">\n <table fd-table *ngIf=\"isCheckList\">\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 <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 }\n \"\n >\n </ng-container>\n </fd-layout-panel-body>\n</fd-layout-panel>\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 <ul\n fd-list\n class=\"display-list fd-list--navigation\"\n *ngIf=\"moDataList && moDataList.length > 0; else noData\"\n ellipsify\n >\n <ng-container *ngFor=\"let mo of moDataList | multipleGroupBy: groupby; let index = index\">\n <ng-container *ngIf=\"!mo.parent || mo.parent?.expanded\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: mo, index: index }\"></ng-container>\n </ng-container>\n </ng-container>\n </ul>\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>\n <ul\n class=\"fd-list--navigation\"\n [class.fd-list--byline]=\"!isDisplayType\"\n fd-list\n [byline]=\"true\"\n *ngIf=\"moDataList && moDataList.length > 0; else noData\"\n ellipsify\n >\n <ng-container *ngFor=\"let mo of moDataList | multipleGroupBy: groupby; let index = index\">\n <ng-container *ngIf=\"!mo.parent || mo.parent?.expanded\" [isRow]=\"true\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: mo, index: index }\"></ng-container>\n </ng-container>\n </ng-container>\n </ul>\n</ng-template>\n\n<!--noData-->\n<ng-template #noData>\n <bsu-no-data></bsu-no-data>\n</ng-template>\n<ng-template #itemTemplate let-mo let-index=\"index\">\n <li\n fd-list-group-header\n *ngIf=\"mo.group || mo.group === ''; else listItemTemplate\"\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 <ng-template #listItemTemplate>\n <bsu-list-item\n [isDisplayType]=\"isDisplayType\"\n [mo]=\"mo\"\n [isChecked]=\"mo.$IsChecked\"\n [isNewInlineMo]=\"mo.$NewInlineMo\"\n [index]=\"index\"\n [setting]=\"listSetting\"\n [editMode]=\"inlineEditMode\"\n [rtl]=\"rtl\"\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 </ng-template>\n</ng-template>\n","import { Component, ChangeDetectionStrategy, Input, EventEmitter, Output, SimpleChanges } from '@angular/core';\nimport { BaseComponent, ReportViewColumn } 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 @Input() allChecked: boolean;\n @Input() isCheckList: boolean;\n @Input() columns: ReportViewColumn[];\n @Input() fitWidth: boolean;\n @Input() contextMenuItems: any[];\n @Input() canView: 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 @Output() allCheckbox = new EventEmitter<boolean>();\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\n ngOnInit(): void {\n super.ngOnInit();\n this._prepareColumnsWidth(this.tableWidth, this.columns);\n }\n ngOnChanges(changes: SimpleChanges): void {\n super.ngOnChanges(changes);\n const { columns, inlineEditMode } = changes;\n if (columns && !columns.firstChange) {\n this._prepareColumnsWidth(this.tableWidth, columns.currentValue);\n }\n if (\n inlineEditMode &&\n !inlineEditMode.firstChange &&\n inlineEditMode.currentValue === true &&\n this.inlineEditMode === false\n ) {\n this._prepareColumnsWidth(this.tableWidth, this.columns);\n }\n }\n protected _prepareColumnsWidth(val: number, columns: ReportViewColumn[]): 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 || this.disableResponsive) {\n return;\n }\n this.columnsWidth = sum;\n if (sum > val) {\n columns.forEach((column) => (column.$Width2 = (column.Width * 100) / val + '%'));\n this.columnsSmallerThanTableWidth = true;\n } else if (sum + 10 < val) {\n columns[columns.length - 1].$Width2 = '100%';\n }\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\n onSortDescending(column: ReportViewColumn, menu): void {\n if (menu) {\n menu.close();\n }\n this.sortDescending.emit(column);\n }\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 <ng-container *ngIf=\"!hideHeader\">\n <th fd-table-cell *ngIf=\"isCheckList\">\n <fd-checkbox\n name=\"allCheckbox\"\n [ngModel]=\"allChecked\"\n (ngModelChange)=\"onAllCheckbox($event)\"\n ></fd-checkbox>\n </th>\n <th fd-table-cell *ngIf=\"!isCheckList\" class=\"single-select\"></th>\n <th\n *ngFor=\"let column of columns; let i = index; let last = last; trackBy: _trackByColumn\"\n [columnIndex]=\"i\"\n fd-table-cell\n [style.width]=\"column.FieldTypeId === 38 ? '40px' : column.$Width2\"\n [style.min-width]=\"last ? '100%' : 'auto'\"\n columnResizer\n [disableResizer]=\"fitWidth\"\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 <img\n [src]=\"column.Icon\"\n *ngIf=\"column.Extra?.IconDisplayTypeEnum === 'Image' || column.FieldTypeId === 42\"\n />\n {{\n column.Extra?.IconDisplayTypeEnum !== 'Image' && column.FieldTypeId !== 38\n ? (column.Caption | bbbTranslate)\n : ''\n }}\n </div>\n </fd-popover-control>\n <fd-popover-body>\n <ul fd-list>\n <li fd-list-item>\n <a fd-menu-interactive (click)=\"onSortAscending(column, menu)\">\n <fd-menu-addon position=\"before\" glyph=\"sort-ascending\"></fd-menu-addon>\n <span fd-menu-title\n >{{ ('Sort' | bbbTranslate) + ' ' }} {{ 'Ascending' | bbbTranslate }}</span\n >\n </a>\n </li>\n <li fd-list-item>\n <a fd-menu-interactive (click)=\"onSortDescending(column, menu)\">\n <fd-menu-addon position=\"before\" glyph=\"sort-descending\"></fd-menu-addon>\n <span fd-menu-title\n >{{ ('Sort' | bbbTranslate) + ' ' }} {{ 'Descending' | bbbTranslate }}</span\n >\n </a>\n </li>\n <li fd-list-item>\n <a fd-menu-interactive (click)=\"onFilter(column, menu)\">\n <fd-menu-addon position=\"before\" glyph=\"filter\"></fd-menu-addon>\n <span fd-menu-title>{{ 'Filter' | bbbTranslate }}</span>\n </a>\n </li>\n </ul>\n </fd-popover-body>\n </fd-popover>\n </th>\n\n <ng-container *ngIf=\"contextMenuItems && contextMenuItems.length > 0 && !inlineEditMode\">\n <th\n class=\"col-header col-context-menu\"\n fd-table-cell\n [fitContent]=\"disableOverflowContextMenu\"\n [style.width]=\"disableOverflowContextMenu ? '100%' : contextMenuItems.length > 1 ? '40px' : '100px'\"\n ></th>\n </ng-container>\n <th\n class=\"col-header col-details\"\n fd-table-cell\n style=\"width: 120px\"\n *ngIf=\"showDetailsInRow && !inlineEditMode\"\n ></th>\n <th\n class=\"col-header col-view\"\n fd-table-cell\n style=\"width: 40px\"\n *ngIf=\"canView && !inlineEditMode && !hideOpenIcon\"\n ></th>\n </ng-container>\n </tr>\n</thead>\n","import { Component, ChangeDetectionStrategy, Input, OnInit, TemplateRef, ViewChild } from '@angular/core';\nimport {\n BaseViewItemPropsComponent,\n FormPanelService,\n EjrayOlgo,\n ReportViewColumn,\n MetaobjectDataModel\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: { column: ReportViewColumn; component: MetaobjectDataModel }[];\n @ViewChild('detailsFormItems', { static: true }) detailsFormItems: TemplateRef<any>;\n\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\n this._cdr.detectChanges();\n }\n}\n","<tr\n [class.row-error]=\"hasError\"\n [class.showdetails-on]=\"!detailsCollapsed\"\n #trEl\n *ngIf=\"(!mo.$Parent || parentExpanded) && visibility !== false\"\n fd-table-row\n [activable]=\"false\"\n [hoverable]=\"false\"\n [applyConditionalFormats]=\"conditionalFormats\"\n [mo]=\"mo\"\n [hostEl]=\"trEl\"\n [main]=\"true\"\n [focusable]=\"true\"\n [attr.aria-selected]=\"isChecked\"\n [focusable]=\"!inlineEditMode || !allowInlineEdit\"\n [class.brule-message]=\"bruleActionMessage\"\n>\n <ng-container *ngIf=\"mo.$Group || mo.$Group === ''; else renderRow\">\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 [attr.colspan]=\"canView ? columnsCount + 1 : columnsCount\"\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 </ng-container>\n <ng-template #renderRow>\n <td fd-table-cell *ngIf=\"isCheckList\">\n <fd-checkbox [name]=\"mo.$Caption\" [ngModel]=\"isChecked\" (ngModelChange)=\"onRowCheck()\"></fd-checkbox>\n </td>\n <td\n fd-table-cell\n class=\"single-select\"\n *ngIf=\"!isCheckList\"\n (click)=\"onRowCheck()\"\n style=\"padding: 0; text-align: center\"\n >\n <ng-container\n *ngIf=\"inlineEditMode && allowInlineEdit && (hasError || saving || saved); else iconStateTemplate\"\n >\n <fd-icon *ngIf=\"hasError\" class=\"save-error\" glyph=\"error\"></fd-icon>\n <fd-busy-indicator\n *ngIf=\"saving\"\n [loading]=\"true\"\n [size]=\"'s'\"\n title=\"record saving\"\n ></fd-busy-indicator>\n <fd-icon *ngIf=\"saved\" class=\"save-success\" glyph=\"accept\"></fd-icon>\n </ng-container>\n <ng-template #iconStateTemplate>\n <fd-icon *ngIf=\"mo.$State === 'New' && !isChecked\" glyph=\"favorite\"></fd-icon>\n <fd-icon *ngIf=\"inlineEditMode && allowInlineEdit && isChecked\" glyph=\"edit\"></fd-icon>\n </ng-template>\n </td>\n <td\n #tdEl\n *ngFor=\"let column of columns; let columnIndex = index; trackBy: _trackByColumn\"\n fd-table-cell\n [applyConditionalFormats]=\"conditionalFormats\"\n [hostEl]=\"tdEl\"\n [mo]=\"mo\"\n [dbName]=\"column.Name\"\n [focusable]=\"false\"\n (click)=\"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 || isNewInlineMo,\n layout94: layout$ | async\n }\n \"\n ></ng-container>\n </td>\n <td\n class=\"col-context-menu\"\n *ngIf=\"contextMenuItems?.length && (!inlineEditMode || !allowInlineEdit)\"\n fd-table-cell\n >\n <bsu-ulv-context-menu\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [conditionalFormats]=\"conditionalFormats\"\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 <td\n class=\"col-details\"\n fd-table-cell\n [fitContent]=\"true\"\n *ngIf=\"showDetailsInRow && (!inlineEditMode || !allowInlineEdit)\"\n >\n <button\n *ngIf=\"detailsComponent?.Selector || cartableParams?.moId\"\n fd-button\n [label]=\"(detailsCollapsed ? detailsText : 'Hide') | bbbTranslate\"\n [fdType]=\"'transparent'\"\n (click)=\"onRowDetails()\"\n ></button>\n </td>\n <td\n class=\"col-view\"\n fd-table-cell\n [fitContent]=\"true\"\n *ngIf=\"!hideOpenIcon && canView && (!inlineEditMode || !allowInlineEdit)\"\n >\n <button\n fd-button\n [glyph]=\"navigationArrow\"\n [navigation]=\"true\"\n [fdType]=\"'transparent'\"\n role=\"presentation\"\n (click)=\"onRowClick()\"\n ></button>\n </td>\n </ng-template>\n</tr>\n\n<tr\n #trEl\n *ngIf=\"secondaryColumns?.length && !mo.$Group && (!mo.$Parent || parentExpanded) && visibility !== false\"\n fd-table-row\n [secondary]=\"true\"\n [applyConditionalFormats]=\"conditionalFormats\"\n [mo]=\"mo\"\n [hostEl]=\"trEl\"\n [attr.aria-selected]=\"isChecked && !inlineEditMode ? true : false\"\n>\n <td fd-table-cell class=\"single-select\" *ngIf=\"!isCheckList\" (click)=\"onRowCheck()\"></td>\n <td fd-table-cell colspan=\"100%\" (click)=\"onRowCheck()\">\n <p\n #pEl\n fd-table-text\n *ngFor=\"let column of secondaryColumns; let columnIndex = index; trackBy: _trackByColumn\"\n [applyConditionalFormats]=\"conditionalFormats\"\n [hostEl]=\"pEl\"\n [mo]=\"mo\"\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 || isNewInlineMo,\n layout94: layout$ | async\n }\n \"\n ></ng-container>\n </p>\n </td>\n</tr>\n<tr *ngIf=\"!detailsCollapsed && cartableParams?.moId\" fd-table-row class=\"showdetails\" [attr.aria-selected]=\"isChecked\">\n <td fd-table-cell (click)=\"onRowCheck()\"></td>\n <td\n (click)=\"onRowCheck()\"\n fd-table-cell\n [attr.colspan]=\"\n columns.length + 1 + (contextMenuItems.length ? 1 : 0) + (canView ? 1 : 0) + (showDetailsInRow ? 1 : 0)\n \"\n >\n <ng-container>\n <bnrc-form\n (click)=\"OnCartableFormClick($event)\"\n class=\"cartable-template\"\n [params]=\"cartableParams\"\n ></bnrc-form>\n </ng-container>\n </td>\n</tr>\n<tr\n *ngIf=\"!detailsCollapsed && detailsComponent?.Selector\"\n fd-table-row\n class=\"showdetails\"\n [attr.aria-selected]=\"isChecked\"\n>\n <td fd-table-cell (click)=\"onRowCheck()\"></td>\n <td\n (click)=\"onRowCheck()\"\n fd-table-cell\n [attr.colspan]=\"\n columns.length + 1 + (contextMenuItems.length ? 1 : 0) + (canView ? 1 : 0) + (showDetailsInRow ? 1 : 0)\n \"\n >\n <ng-container *ngIf=\"detailsComponent && detailsComponent.Selector; else detailsColumnsTemplate\">\n <bnrc-dynamic-item-component\n [component]=\"detailsComponent\"\n [mo]=\"mo\"\n [isChecked]=\"isChecked\"\n [setting]=\"detailsComponentSetting\"\n [parameters]=\"detailsComponent.Parameters\"\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-container>\n </td>\n</tr>\n<ng-template #detailsColumnsTemplate>\n <ng-container\n *ngTemplateOutlet=\"\n detailsFormItems;\n context: {\n $implicit: detailsColumns,\n mo: mo,\n inlineEditMode: inlineEditMode,\n isNewInlineMo: isNewInlineMo,\n layout94: layout$\n }\n \"\n ></ng-container>\n</ng-template>\n<ng-template\n #detailsFormItems\n let-detailsColumns\n let-mo=\"mo\"\n let-inlineEditMode=\"inlineEditMode\"\n let-isNewInlineMo=\"inline\"\n let-layout$=\"layout$\"\n>\n <div class=\"form-items\">\n <div fd-form-item *ngFor=\"let column of detailsColumns; let columnIndex = index\">\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 || isNewInlineMo,\n layout94: layout$ | async\n }\n \"\n ></ng-container>\n </div>\n </div>\n</ng-template>\n<tr *ngIf=\"bruleActionMessage && inlineEditMode\" fd-table-row>\n <td fd-table-cell [attr.colspan]=\"columns.length + 1\">\n <fd-message-strip\n *ngIf=\"bruleActionMessage.MessageType === 2\"\n [type]=\"bruleActionMessage.MessageType === 2 ? 'error' : 'information'\"\n [dismissible]=\"false\"\n >\n {{ bruleActionMessage.MessageExpression }}\n </fd-message-strip>\n </td>\n</tr>\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 <div\n [class.inlineEditMode]=\"inlineEditMode\"\n style=\"display: flex; width: 100%\"\n [style.column-gap]=\"column.$MergedFieldsToColumn?.length ? '0.2rem' : null\"\n >\n <ng-container *ngIf=\"column.$CustomComponent; else columnRendererTpl\">\n <bnrc-dynamic-item-component\n [component]=\"column.$CustomComponent\"\n [mo]=\"mo\"\n [isChecked]=\"isChecked\"\n [setting]=\"detailsComponentSetting\"\n [parameters]=\"column.$CustomComponent.Settings\"\n [column]=\"column\"\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-container>\n <ng-template #columnRendererTpl>\n <bsu-column-renderer\n [mo]=\"mo\"\n [column]=\"column\"\n [editMode]=\"isChecked && inlineEditMode && allowInlineEdit\"\n [isChecked]=\"isChecked\"\n [isNewInlineMo]=\"isNewInlineMo\"\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)=\"onEditFormPanelSave()\"\n (keyup.esc)=\"onEditFormPanelCancel()\"\n (keydown.Tab)=\"onTabKeyDown()\"\n ></bsu-column-renderer>\n </ng-template>\n\n <ng-container *ngIf=\"isChecked && inlineEditMode && allowInlineEdit\">\n <ng-container *ngFor=\"let fieldCaption of column.$MergedFieldsToColumn\">\n <ng-container *ngIf=\"fieldCaption | controlUi: layout94 as layoutConfig\">\n <bsu-layout-control\n [caption]=\"fieldCaption\"\n [config]=\"layoutConfig\"\n [showLabel]=\"false\"\n [inlineEdit]=\"true\"\n (keyup.control.enter)=\"onEditFormPanelSave()\"\n (keyup.esc)=\"onEditFormPanelCancel()\"\n (keydown.Tab)=\"onTabKeyDown()\"\n ></bsu-layout-control>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n</ng-template>\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Input,\n OnChanges,\n OnInit,\n SimpleChanges\n} from '@angular/core';\nimport { EjrayOlgo, MetaobjectDataModel, ReportViewBaseComponent, ReportViewColumn } 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 extends ReportViewBaseComponent<UiTableViewSetting> implements OnInit, OnChanges {\n @Input() columnWidth: number;\n @Input() minWidth;\n @Input() minHeight;\n @Input() rowResizer;\n @Input() enableResizing;\n\n @HostBinding('style.height.px') height: number | null = null;\n\n _width = '100%';\n detailsColumns: ReportViewColumn[] = [];\n detailsComponent: EjrayOlgo;\n showDetailsInRow: boolean;\n columnComponents: { column: ReportViewColumn; component: MetaobjectDataModel }[] = [];\n\n ngOnInit(): void {\n super.ngOnInit();\n const detailsSetting = this.viewSetting?.DetailsSetting;\n if (detailsSetting) {\n this.detailsComponent = detailsSetting.Component;\n detailsSetting.Columns.split(',').forEach((column: string) => {\n const columnFound = this.findColumn(this.allColumns, column);\n if (columnFound) {\n this.detailsColumns.push(columnFound);\n }\n });\n }\n this._setHasSummery(this.cartableChildsMo);\n this._setColumnsComponent(this.allColumns);\n this._setHeight(this.parentHeight);\n }\n ngOnChanges(changes: SimpleChanges): void {\n super.ngOnChanges(changes);\n const { allColumns, cartableTemplates, parentHeight } = changes;\n if (allColumns && !allColumns.firstChange) {\n this._setColumnsComponent(allColumns.currentValue);\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 }\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 }\n }\n protected _containerWidthChanged(val: number): void {\n if (val === 0) {\n this._width = '100%';\n } else {\n this._width = val + 'px';\n }\n this._renderer2.setStyle(this._el.nativeElement, 'width', this._width);\n }\n private _setColumnsComponent(columns: ReportViewColumn[]): void {\n const columnComponents = this.viewSetting?.ColumnComponents;\n if (columnComponents) {\n columnComponents.MoDataList.forEach((c: MetaobjectDataModel) => {\n const column = this.findColumn(columns, c.Title);\n if (column) {\n column.$CustomComponent = c.Component;\n }\n });\n }\n }\n\n private findColumn(columns: ReportViewColumn[], column: string): ReportViewColumn | undefined {\n let columnFound = this._findColumnByDbName.transform(columns, column);\n if (!columnFound && this.secondaryColumns.length) {\n columnFound = this._findColumnByDbName.transform(this.secondaryColumns, column);\n }\n return columnFound;\n }\n}\n","<table\n fd-table\n [popIn]=\"popin\"\n [class.fixed]=\"!contextView?.Grid_HideHeader && (!popin || secondaryColumns.length === 0)\"\n [noBorderX]=\"viewSetting?.NoVerticalBorders === true || (popin && secondaryColumns.length > 0)\"\n [noBorderY]=\"viewSetting?.NoHoriztonalBorders === true || (popin && secondaryColumns.length > 0)\"\n tableResizer\n [fitWidth]=\"fitWidth\"\n (columnResized)=\"onColumnResized($event)\"\n [containerWidth]=\"containerWidth\"\n [minWidth]=\"30\"\n [minHeight]=\"22\"\n [rowResizer]=\"rowResizer\"\n [enableResizing]=\"enableResizing\"\n>\n <ng-container\n *ngIf=\"columns | mergeFieldsToColumns: viewSetting?.MergeFieldsToColumns?.MoDataList as mergeFieldsToColumns\"\n >\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: mergeFieldsToColumns }\"></ng-container>\n <ng-container *ngTemplateOutlet=\"bodyTemplate; context: { $implicit: mergeFieldsToColumns }\"></ng-container>\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: mergeFieldsToColumns }\"></ng-container>\n </ng-container>\n</table>\n<ng-template #headerTemplate let-columns>\n <bsu-barsa-table-header\n [tableWidth]=\"elWidth\"\n [showDetailsInRow]=\"showDetailsInRow\"\n [hideOpenIcon]=\"hideOpenIcon\"\n [resizedByUser]=\"resizedByUser\"\n [allChecked]=\"allChecked\"\n [disableResponsive]=\"disableResponsive\"\n [isCheckList]=\"isCheckList\"\n [columns]=\"columns | filterColumnsByDetails: detailsColumns\"\n [fitWidth]=\"fitWidth\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [inlineEditMode]=\"inlineEditMode\"\n [contextMenuItems]=\"contextMenuItems\"\n [canView]=\"canView\"\n [viewSetting]=\"viewSetting\"\n [hideHeader]=\"contextView.Grid_HideHeader\"\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 [noBorderX]=\"popin && secondaryColumns.length > 0\"\n [noBorderY]=\"popin && secondaryColumns.length > 0\"\n >\n <ng-container *ngIf=\"moDataList && moDataList.length > 0; else noData\">\n <ng-container\n *ngFor=\"let mo of moDataList | multipleGroupBy: groupby; let index = index; trackBy: _trackByRow\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n rowTemplate;\n context: { $implicit: mo, index: index, columns: columns, moDataListCount: moDataList.length }\n \"\n ></ng-container>\n </ng-container>\n </ng-container>\n </tbody>\n</ng-template>\n<ng-template #footerTemplate let-columns>\n <tfoot fd-table-footer *ngIf=\"hasSummary\">\n <tr fd-table-row class=\"row-summary\">\n <td fd-table-cell *ngIf=\"isCheckList\" columnResizer>\n <strong class=\"col-total-text\">{{ 'Total' | bbbTranslate }}</strong>\n </td>\n <td fd-table-cell *ngIf=\"!isCheckList\" class=\"single-select\">\n <strong class=\"col-total-text\">{{ 'Total' | bbbTranslate }}</strong>\n </td>\n <td *ngFor=\"let column of columns; let i = index\">\n <ng-container *ngIf=\"column.HasSummary\">\n <strong> {{ moDataList | totalSummary: column.Name | number }}</strong>\n </ng-container>\n </td>\n <ng-container *ngIf=\"contextMenuItems && contextMenuItems.length > 0\">\n <td fd-table-cell style=\"width: 100px\"></td>\n </ng-container>\n <td fd-table-cell *ngIf=\"canView\"></td>\n </tr>\n </tfoot>\n</ng-template>\n<ng-template #rowTemplate let-mo let-index=\"index\" let-columns=\"columns\" let-moDataListCount=\"moDataListCount\">\n <bsu-barsa-table-row\n [mo]=\"mo\"\n [showDetailsInRow]=\"showDetailsInRow\"\n [hideOpenIcon]=\"hideOpenIcon\"\n [detailsColumns]=\"detailsColumns\"\n [cartableTemplate]=\"cartableTemplates[mo.RelatedMo?.$TypeDefId]\"\n [cartableMo]=\"mo.RelatedMo\"\n [cartableWorkflowData]=\"mo.SerializedWorkflowData\"\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 [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 [index]=\"index\"\n [allColumns]=\"allColumns\"\n [contextMenuItems]=\"contextMenuItems\"\n [canView]=\"canView\"\n [conditionalFormats]=\"conditionalFormats\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [navigationArrow]=\"navigationArrow\"\n [isCheckList]=\"isCheckList\"\n (expandClick)=\"onExpandClick($event)\"\n (rowCheck)=\"onRowCheck($event)\"\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 >\n </bsu-barsa-table-row>\n</ng-template>\n<!--renderColumn-->\n<ng-template #noData>\n <tr *ngIf=\"!inlineEditMode || !newInlineEditMo\">\n <td colspan=\"100%\" style=\"padding: 10px\">{{ 'NoData' | bbbTranslate }}</td>\n </tr>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, ElementRef, Renderer2, TemplateRef, ViewChild } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { NotificationConfig, NotificationService } from '@fundamental-ngx/core';\nimport { BarsaApi, BaseComponent } from 'dist/barsa-novin-ray-core';\n\ninterface NotifyOptions {\n Sound: boolean; // Sound of notification. Set this false to disable sound.\n Image: string | null; // Image source string\n Title: string | null; // Title of notification. If you do not include the title in options it will automatically takes its value\n Icon: boolean; // Icon of notification. Leave as is for default icon or set custom string\n Delay: number; // Hide notification after this time (in miliseconds)\n Closable: boolean; // Make notifications closable\n DelayIndicator: boolean; // Show timer indicator\n CloseOnClick: boolean; // Close notifications by clicking on them\n IsRtl: boolean;\n Position: string | object; // Available options: \"top left\", \"top right\", \"bottom left\", \"bottom right\", \"center top\", \"center bottom\"\n SoundPath: string; // The folder path where sounds are located\n Size: string; // normal, mini, large\n ContinueDelayOnInactiveTab: boolean; // Continue delay when browser tab is inactive\n Width: number; // Width of notification box\n MessageHeight: number; // Notification message maximum height.\n}\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 @ViewChild('popup', { static: true }) popupTemplate: TemplateRef<any>;\n defaultOptions: NotifyOptions = {\n Sound: true,\n Image: null,\n Title: null,\n Icon: false,\n Delay: 5000,\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\n constructor(\n private _notificationService: NotificationService,\n private el: ElementRef,\n private renderer: Renderer2,\n private domSanitizer: DomSanitizer\n ) {\n super();\n BarsaApi.Ul.NotifyPopup.on({\n Show: this._showPopup.bind(this)\n });\n }\n\n private _showPopup(msg, title, type, image, mo, uiOptions: NotifyOptions, otherOptions): void {\n uiOptions = this._getUiOptions(uiOptions);\n const callback = this._getNotifyCallback(mo, otherOptions);\n const notificationConfig = this._getNotificationConfig(image, title, uiOptions, msg, callback);\n const notificationRef = this._notificationService.open(this.popupTemplate, notificationConfig);\n this._notificationService.notifications.forEach(\n (c) => (c.notificationComponent.instance.closeOnNavigation = false)\n );\n this._setNotifyPosition(uiOptions.Position);\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 callback: () => void\n ): NotificationConfig {\n return {\n id: 'test_id_notify',\n container: this.el.nativeElement,\n data: {\n image,\n title,\n Closable: uiOptions.Closable,\n isRtl: uiOptions.IsRtl,\n msg: this.domSanitizer.bypassSecurityTrustHtml(msg),\n callback\n },\n width: uiOptions.Width.toString() + 'px'\n };\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 private _setNotifyPosition(position): void {\n const notifyContainer = this.el.nativeElement.querySelector('fd-notification-container');\n this.renderer.addClass(notifyContainer, 'unset-positions');\n const isString = typeof position === 'string';\n isString ? this._setCssClass(position, notifyContainer) : this._setStyle(notifyContainer, position);\n }\n\n private _setCssClass(position, notifyContainer): void {\n const cssClass = position.replace(' ', '-');\n this.renderer.addClass(notifyContainer, cssClass);\n }\n\n private _setStyle(notifyContainer, position): void {\n const left = position.left.toString() + 'px';\n const top = position.top.toString() + 'px';\n this.renderer.setStyle(notifyContainer, 'left', left);\n this.renderer.setStyle(notifyContainer, 'top', top);\n }\n}\n","<ng-template let-notification #popup>\r\n <fd-notification-body [dir]=\"notification.data?.isRtl ? 'rtl' : 'ltr'\" (click)=\"notification.data?.callback()\">\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 <button\r\n fd-button\r\n fdType=\"transparent\"\r\n glyph=\"decline\"\r\n title=\"close\"\r\n [compact]=\"true\"\r\n (click)=\"notification.close()\"\r\n ></button>\r\n </fd-notification-actions>\r\n </fd-notification-body>\r\n</ng-template>\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 'dist/barsa-novin-ray-core';\nimport { AlertComponent, 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 @ViewChild('alert') alert: AlertComponent;\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","<ng-container *ngIf=\"value?.DateRangeType === 'SpecificRange'; else input\">\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</ng-container>\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 <li fd-list-item *ngFor=\"let option of dateRanges\" (click)=\"popover.close(); onDateRangeTypeChange(option)\">\n <a fd-list-link>\n <span fd-list-title>{{ option | bbbTranslate }}</span>\n </a>\n </li>\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>\r\n <fd-dialog-header>\r\n <h1 fd-title>{{ 'Save' | bbbTranslate }}</h1>\r\n <button fd-dialog-close-button (click)=\"dialogRef.dismiss()\" [disabled]=\"saveing\"></button>\r\n </fd-dialog-header>\r\n\r\n <fd-dialog-body>\r\n <bsu-mask *ngIf=\"saveing\"></bsu-mask>\r\n <div fd-form-item [formGroup]=\"appGroupForm\" [class.saveing-form]=\"saveing\">\r\n <label fd-form-label [required]=\"true\">{{ 'Title' | bbbTranslate }}</label>\r\n <fd-form-input-message-group>\r\n <fd-input-group\r\n class=\"form-control\"\r\n formControlName=\"title\"\r\n form-control\r\n [button]=\"true\"\r\n [(ngModel)]=\"title\"\r\n [state]=\"submitted && appGroupForm.controls.title.errors ? 'error' : 'information'\"\r\n >\r\n </fd-input-group>\r\n <fd-checkbox\r\n formControlName=\"setAsDefault\"\r\n [label]=\"'SetasDefault' | bbbTranslate\"\r\n [(ngModel)]=\"isDefault\"\r\n ></fd-checkbox>\r\n <fd-checkbox\r\n formControlName=\"publicFilter\"\r\n [label]=\"'Public' | bbbTranslate\"\r\n [(ngModel)]=\"isPublic\"\r\n ></fd-checkbox>\r\n <fd-checkbox\r\n formControlName=\"applyAutomatically\"\r\n [label]=\"'ApplyAutomatically' | bbbTranslate\"\r\n [(ngModel)]=\"applyAutomatically\"\r\n ></fd-checkbox>\r\n <fd-form-message *ngIf=\"submitted && appGroupForm.controls.title.errors\" type=\"error\">\r\n {{ RequiredText }}\r\n </fd-form-message>\r\n </fd-form-input-message-group>\r\n </div>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <fd-button-bar [label]=\"'Save' | bbbTranslate\" fdType=\"emphasized\" (click)=\"onSave()\" [disabled]=\"saveing\">\r\n </fd-button-bar>\r\n <fd-button-bar\r\n [disabled]=\"saveing\"\r\n [label]=\"'Cancel' | bbbTranslate\"\r\n fdInitialFocus\r\n fdType=\"transparent\"\r\n (click)=\"this.dialogRef.close()\"\r\n >\r\n </fd-button-bar>\r\n </fd-dialog-footer>\r\n</fd-dialog>\r\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 @Output() moChanged = new EventEmitter();\n\n firstValueChanged = true;\n\n ngOnInit(): void {\n super.ngOnInit();\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","<bnrc-form *ngIf=\"searchPanelUi\" [customFormPanelUi]=\"searchPanelUi\" (titleChanged)=\"onTitleChange($event)\"></bnrc-form>\r\n","import { ChangeDetectionStrategy, Component, ViewChild } from '@angular/core';\nimport { DialogRef } from '@fundamental-ngx/core';\n\nimport { BaseComponent, ColumnInfoType } from 'barsa-novin-ray-core';\nimport { UiGridColumnsComponent } from '../ui-grid-columns/ui-grid-columns.component';\n\n@Component({\n selector: 'bsu-report-search-fields-hidden-settings',\n templateUrl: './report-search-fields-hidden-settings.component.html',\n styleUrls: ['./report-search-fields-hidden-settings.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ReportSearchFieldsHiddenSettingsComponent extends BaseComponent {\n @ViewChild(UiGridColumnsComponent)\n girdColumnsComppnent: UiGridColumnsComponent;\n fields: ColumnInfoType[];\n constructor(private _dialogRef: DialogRef) {\n super();\n this.fields = this._dialogRef.data.fields;\n }\n onCancelSettings(): void {\n this._dialogRef.close();\n }\n onOkClick(): void {\n this._dialogRef.close(this.girdColumnsComppnent.columns);\n }\n}\n","<fd-dialog>\n <fd-dialog-header>\n <ng-template fdTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h4 fd-title [headerSize]=\"4\">\n {{ 'Fields' | 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 <bsu-ui-grid-columns [columns]=\"fields\" #columnFilter></bsu-ui-grid-columns>\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 { ChangeDetectionStrategy, Component, OnInit, QueryList, ViewChildren } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { exhaustMap, finalize, map, takeUntil, tap } from 'rxjs/operators';\nimport { DialogRef, RadioButtonComponent } from '@fundamental-ngx/core';\n\nimport { BaseComponent, BarsaApi, SearchPanelSettings } from 'barsa-novin-ray-core';\n@Component({\n selector: 'bsu-report-search-fields-manage',\n templateUrl: './report-search-fields-manage.component.html',\n styleUrls: ['./report-search-fields-manage.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ReportSearchFieldsManageComponent extends BaseComponent implements OnInit {\n @ViewChildren(RadioButtonComponent)\n radioButtonsComponent: QueryList<RadioButtonComponent>;\n\n saveing: boolean;\n allSearchPanelSettings: SearchPanelSettings[];\n reportId: string;\n private _saveingSource = new Subject<SearchPanelSettings[]>();\n constructor(private _dialogRef: DialogRef) {\n super();\n this.allSearchPanelSettings = JSON.parse(JSON.stringify(this._dialogRef.data.allSearchPanelSettings));\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this._saveingSource\n .asObservable()\n .pipe(\n takeUntil(this._onDestroy$),\n tap(() => (this.saveing = true)),\n map((settings: SearchPanelSettings[]) => {\n const list: any[] = [];\n settings.forEach((setting) => {\n list.push(new BarsaApi.Common.MetaObjectWeb(setting));\n });\n return list;\n }),\n exhaustMap((allSearchPanelSettings) => {\n if (allSearchPanelSettings.length === 0) {\n return Promise.resolve(allSearchPanelSettings);\n }\n return new Promise<SearchPanelSettings[]>((resolve) => {\n BarsaApi.Bw.RunBlMethodAsync({\n Parameters: [allSearchPanelSettings],\n Method: 'SaveArraySearchPanelSettings',\n SuccessFn: () => {\n resolve(allSearchPanelSettings);\n },\n FailFn: () => {\n resolve([]);\n }\n });\n });\n }),\n tap((allSearchPanelSettings) =>\n this._dialogRef.close(allSearchPanelSettings.length > 0 ? this.allSearchPanelSettings : [])\n ),\n finalize(() => (this.saveing = false))\n )\n .subscribe();\n }\n onCancelSettings(): void {\n this._dialogRef.close();\n }\n onOkClick(): void {\n const modifiedSettings: SearchPanelSettings[] = [];\n const allSettings = this._dialogRef.data.allSearchPanelSettings;\n this.allSearchPanelSettings.forEach((setting) => {\n const s = allSettings.find((c) => setting.Id === c.Id);\n if (s !== setting && setting.Id) {\n const isModified = Object.keys(s).some((c) => s[c] !== setting[c]) || setting.IsDeleted;\n if (isModified) {\n modifiedSettings.push(setting);\n }\n }\n });\n if (modifiedSettings.length === 0) {\n this._dialogRef.dismiss();\n return;\n }\n this._saveingSource.next(modifiedSettings);\n }\n onDefault(row): void {\n this.allSearchPanelSettings.find((c) => (c.IsDefault = false));\n\n this.radioButtonsComponent.toArray().forEach((c) => {\n c.selectedValue = row.Caption;\n });\n row.IsDefault = true;\n }\n onDelete(row): void {\n row.IsDeleted = true;\n }\n}\n","<fd-dialog>\n <fd-dialog-header>\n <ng-template fdTemplate=\"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 <bsu-mask *ngIf=\"saveing\"></bsu-mask>\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 <ng-container *ngFor=\"let row of allSearchPanelSettings; let i = index\">\n <tr fd-table-row *ngIf=\"!row.IsDeleted\">\n <td fd-table-cell>\n <strong *ngIf=\"row.IsPrimary\">{{ row.Title }}</strong>\n <input fd-form-control *ngIf=\"!row.IsPrimary\" [(ngModel)]=\"row.Title\" />\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 <fd-checkbox *ngIf=\"!row.IsPrimary\" [(ngModel)]=\"row.ApplyAutomatically\"></fd-checkbox>\n </td>\n <td fd-table-cell [fitContent]=\"true\">\n <fdp-button\n *ngIf=\"!row.IsPrimary\"\n buttonType=\"transparent\"\n glyph=\"decline\"\n (click)=\"onDelete(row)\"\n ></fdp-button>\n </td>\n </tr>\n </ng-container>\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>\r\n <fd-dialog-header>\r\n <h1 fd-title>{{ 'Filters' | bbbTranslate }}</h1>\r\n <button fd-dialog-close-button (click)=\"dialogRef.dismiss()\"></button>\r\n </fd-dialog-header>\r\n <fd-dialog-body [formGroup]=\"appGroupForm\">\r\n <ul fd-list [navigationIndicator]=\"true\">\r\n <ng-container *ngFor=\"let group of savedList\">\r\n <li fd-list-item [selected]=\"group.IsSelected\">\r\n <span fd-list-title>{{ group.Title }}</span>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </fd-dialog-body>\r\n <fd-dialog-footer>\r\n <fd-button-bar [label]=\"'Save' | bbbTranslate\" fdType=\"emphasized\" (click)=\"onSave()\"> </fd-button-bar>\r\n <fd-button-bar\r\n [label]=\"'Cancel' | bbbTranslate\"\r\n fdInitialFocus\r\n fdType=\"transparent\"\r\n (click)=\"this.dialogRef.dismiss()\"\r\n >\r\n </fd-button-bar>\r\n </fd-dialog-footer>\r\n</fd-dialog>\r\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 <bsu-mask *ngIf=\"(loading$ | async) === true\"></bsu-mask> `,\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 })),\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';\n\nimport { BaseComponent, PortalService, LayoutSetting } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-ly-line',\n templateUrl: './ly-line.component.html',\n styleUrls: ['./ly-line.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LyLineComponent extends BaseComponent {\n @Input() config: LayoutSetting;\n @Input() parentHeight = 0;\n @HostBinding('style.height') height: string | null = '0.0575rem';\n @HostBinding('style.width') width = '100%';\n @HostBinding('style.display') display: null | string = null;\n isVertical = false;\n constructor(private _el: ElementRef, private _portalService: PortalService) {\n super();\n }\n ngOnInit(): void {\n super.ngOnInit();\n this.isVertical = this.config.IsVertical;\n this._portalService.deviceSize$.subscribe((deviceSize) => {\n if (this.isVertical) {\n switch (deviceSize) {\n case 's':\n this.display = 'none';\n break;\n default:\n this.display = null;\n break;\n }\n }\n });\n if (this.isVertical) {\n this.height = null;\n this.width = '0.0575rem';\n }\n }\n}\n","","import { Component, ChangeDetectionStrategy, Input } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { BaseComponent, BreadCrumbInfo } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-breadcrumb',\n templateUrl: './breadcrumb.component.html',\n styleUrls: ['./breadcrumb.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BreadcrumbComponent extends BaseComponent {\n @Input() breadCrumb: BreadCrumbInfo;\n @Input() allBreadCrumb: BreadCrumbInfo[];\n @Input() isLast: boolean;\n @Input() index: number;\n\n /**\n *\n */\n constructor(private _router: Router) {\n super();\n }\n onBreadcrumb(): void {\n const index = this.index;\n if (!this.allBreadCrumb) {\n return;\n }\n if (index === 0) {\n this._router.navigate(['/']);\n return;\n }\n const lengthOfBreadCrumb = this.allBreadCrumb.length - 1;\n for (let i = lengthOfBreadCrumb; i > index; i--) {\n this._router.navigate(['../'], { relativeTo: this.allBreadCrumb[i].route });\n }\n }\n}\n","<a *ngIf=\"!isLast\" fd-breadcrumb-link (click)=\"onBreadcrumb()\">{{ breadCrumb.label | bbbTranslate }}</a>\n<span *ngIf=\"isLast\">{{ breadCrumb.label | bbbTranslate }}</span>\n","import {\n Component,\n ChangeDetectionStrategy,\n Input,\n Output,\n EventEmitter,\n AfterViewInit,\n ViewChild\n} from '@angular/core';\nimport { DynamicPageComponent } from '@fundamental-ngx/core';\nimport { AbbrevationDeviceSize, BaseComponent, BreadCrumbInfo } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-barsa-ulv-main',\n templateUrl: './barsa-ulv-main.component.html',\n styleUrls: ['./barsa-ulv-main.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BarsaUlvMainComponent extends BaseComponent implements AfterViewInit {\n @ViewChild(DynamicPageComponent) _dynamicPageComponent: DynamicPageComponent;\n @Input() viewerControl: any;\n @Input() loading: boolean;\n @Input() viewerLoading: boolean;\n @Input() isReportPage: boolean;\n @Input() deviceSize: AbbrevationDeviceSize;\n @Input() title: string;\n @Input() searchPanelUi: any;\n @Input() breadCrumbs: BreadCrumbInfo[];\n @Input() allSearchPanelSettings: any[];\n @Input() isAnonymous: boolean;\n @Input() rtl: boolean;\n @Input() selectedSearchPanelSettings: any;\n @Input() searchPanelMoChanged: boolean;\n @Input() selectedSearchPanelSettingsId: string;\n @Input() hideSearchPanel: boolean;\n @Input() pagingSetting: any;\n @Input() contentDensity: any;\n @Input() context: any;\n @Output() close = new EventEmitter();\n @Output() searchPanelMoChange = new EventEmitter();\n @Output() openManageFilters = new EventEmitter();\n @Output() collapsedChange = new EventEmitter<boolean>();\n @Output() hideSearchPanelClick = new EventEmitter();\n @Output() filterSave = new EventEmitter();\n @Output() filterSaveAs = new EventEmitter();\n @Output() showFilterFieldsSetting = new EventEmitter();\n @Output() manageFilters = new EventEmitter();\n @Output() clearSearch = new EventEmitter();\n @Output() search = new EventEmitter();\n @Output() selectSearchPanelSettings = new EventEmitter<string>();\n\n ngAfterViewInit(): void {\n super.ngAfterViewInit();\n if (this._dynamicPageComponent) {\n if (this.deviceSize === 'xl' && this._dynamicPageComponent.size !== 'extra-large') {\n this._dynamicPageComponent.refreshSize();\n }\n }\n }\n onClose(): void {\n this.close.emit();\n }\n onSearchPanelMoChanged(): void {\n this.searchPanelMoChange.emit();\n }\n\n onOpenManageFilters(): void {\n this.openManageFilters.emit();\n }\n\n onCollapsedChange(collapsed: boolean): void {\n this.collapsedChange.emit(collapsed);\n }\n onHideSearchPanelClick(): void {\n this.hideSearchPanelClick.emit();\n }\n\n onFilterSave(popover): void {\n popover.close();\n this.filterSave.emit();\n }\n\n onFilterSaveAs(popover): void {\n popover.close();\n this.filterSaveAs.emit();\n }\n\n onShowFilterFieldsSetting(): void {\n this.showFilterFieldsSetting.emit();\n }\n\n onManageFilters(popover): void {\n popover.close();\n this.manageFilters.emit();\n }\n\n onClearSearch(): void {\n this.clearSearch.emit();\n }\n\n onSearch(): void {\n this.search.emit();\n }\n\n onSelectSearchPanelSettings(selectedSearchPanelSettingsId: string, popover): void {\n popover.close();\n this.selectSearchPanelSettings.emit(selectedSearchPanelSettingsId);\n }\n}\n","<!-- <ng-container *ngIf=\"isReportPage; else reportTemplate\">\n <ng-container\n *ngTemplateOutlet=\"\n reportPageTemplate;\n context: {\n $implicit: viewerControl,\n tabMode: viewerControl.Setting?.ClassNames?.CustomUi?.Parameters?.TabMode\n }\n \"\n >\n </ng-container>\n</ng-container> -->\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<bsu-mask *ngIf=\"loading\" size=\"m\"></bsu-mask>\n<ng-template #reportPageTemplate let-viewerControl let-tabMode=\"tabMode\">\n <fd-dynamic-page\n *ngIf=\"!loading\"\n [size]=\"deviceSize | dynamicPageSize\"\n [attr.tabMode]=\"tabMode\"\n [autoResponsive]=\"true\"\n >\n <fd-dynamic-page-header [title]=\"title | bbbTranslate\" class=\"p-b0\">\n <fd-breadcrumb>\n <ng-container *ngIf=\"breadCrumbs\">\n <ng-container\n *ngFor=\"\n let breadCrumb of breadCrumbs | slice: 0:breadCrumbs.length;\n let i = index;\n let last = last\n \"\n >\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 </ng-container>\n </ng-container>\n </fd-breadcrumb>\n <fd-dynamic-page-global-actions>\n <fd-toolbar\n *ngIf=\"searchPanelUi\"\n class=\"global-actions\"\n fdType=\"transparent\"\n [clearBorder]=\"true\"\n [shouldOverflow]=\"deviceSize === 's'\"\n >\n <fd-popover fd-toolbar-item #popover fdOverflowPriority=\"never\" *ngIf=\"isAnonymous === false\">\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 <strong *ngIf=\"searchPanelMoChanged\">*</strong>\n </h3>\n <fdp-button\n glyph=\"slim-arrow-down\"\n buttonType=\"transparent\"\n [contentDensity]=\"contentDensity\"\n ></fdp-button>\n </div>\n </fd-popover-control>\n <fd-popover-body style=\"min-width: 380px\">\n <div fd-popover-body-header>\n <div fd-bar [cozy]=\"true\">\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 <li\n fd-list-item\n *ngFor=\"let option of allSearchPanelSettings\"\n [selected]=\"option.Id === selectedSearchPanelSettingsId\"\n (click)=\"onSelectSearchPanelSettings(option.Id, popover)\"\n >\n <span fd-list-title>{{ option.Title }}</span>\n </li>\n </ul>\n <div fd-popover-body-footer>\n <div fd-bar [barDesign]=\"'footer'\" [cozy]=\"true\">\n <div fd-bar-right *ngIf=\"selectedSearchPanelSettings\">\n <fd-button-bar\n *ngIf=\"!selectedSearchPanelSettings.IsPrimary && searchPanelMoChanged\"\n [label]=\"'Save' | bbbTranslate\"\n fdType=\"emphasized\"\n (click)=\"onFilterSave(popover)\"\n >\n </fd-button-bar>\n <fd-button-bar\n *ngIf=\"searchPanelMoChanged\"\n [label]=\"'SaveAs' | bbbTranslate\"\n [fdType]=\"\n selectedSearchPanelSettings.IsDefault ? 'emphasized' : 'transparent'\n \"\n (click)=\"onFilterSaveAs(popover)\"\n >\n </fd-button-bar>\n <fd-button-bar\n [label]=\"'Manage' | bbbTranslate\"\n fdInitialFocus\n fdType=\"transparent\"\n (click)=\"onManageFilters(popover)\"\n >\n </fd-button-bar>\n </div>\n </div>\n </div>\n </fd-popover-body>\n </fd-popover>\n <!-- <fdp-search-field\n *ngIf=\"deviceSize !== 's'\"\n fd-toolbar-item\n [contentDensity]=\"(contentDensity$ | async)!!\"\n [placeholder]=\"'EnterSearchCriteria' | bbbTranslate\"\n [suggestions]=\"[]\"\n ></fdp-search-field> -->\n <fd-toolbar-spacer *ngIf=\"deviceSize !== 's'\"></fd-toolbar-spacer>\n <fdp-button\n fd-toolbar-item\n buttonType=\"emphasized\"\n [label]=\"'Search' | bbbTranslate\"\n (click)=\"onSearch()\"\n [contentDensity]=\"contentDensity\"\n ></fdp-button>\n <fdp-button\n fd-toolbar-item\n buttonType=\"transparent\"\n [label]=\"'Filters' | bbbTranslate\"\n (click)=\"onShowFilterFieldsSetting()\"\n [fdOverflowGroup]=\"1\"\n [contentDensity]=\"contentDensity\"\n ></fdp-button>\n <fdp-button\n fd-toolbar-item\n buttonType=\"transparent\"\n [label]=\"'Clear' | bbbTranslate\"\n (click)=\"onClearSearch()\"\n [fdOverflowGroup]=\"1\"\n [contentDensity]=\"contentDensity\"\n ></fdp-button>\n <fdp-button\n fd-toolbar-item\n buttonType=\"transparent\"\n [label]=\"hideSearchPanel ? ('Show' | bbbTranslate) : ('Hide' | bbbTranslate)\"\n (click)=\"onHideSearchPanelClick()\"\n [fdOverflowGroup]=\"1\"\n [contentDensity]=\"contentDensity\"\n ></fdp-button>\n </fd-toolbar>\n </fd-dynamic-page-global-actions>\n <!-- <fd-dynamic-page-layout-actions>\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\" class=\"layout-actions\">\n <fd-toolbar-spacer></fd-toolbar-spacer>\n <fdp-button\n buttonType=\"transparent\"\n fd-toolbar-item\n glyph=\"decline\"\n fdOverflowPriority=\"never\"\n (click)=\"onClose()\"\n [contentDensity]=\"contentDensity\"\n >\n </fdp-button>\n </fd-toolbar>\n </fd-dynamic-page-layout-actions> -->\n <fd-dynamic-page-layout-actions>\n <!-- layout actions -->\n <!-- <div [formActions]=\"this.toolbar\"></div> -->\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\n <button fd-button fdType=\"transparent\" aria-label=\"Close\" (click)=\"onClose()\" title=\"Close\">\n <i class=\"sap-icon--decline\"></i>\n </button>\n </fd-toolbar>\n </fd-dynamic-page-layout-actions>\n </fd-dynamic-page-header>\n <fd-dynamic-page-subheader [pinnable]=\"true\" [collapsible]=\"false\" *ngIf=\"!hideSearchPanel && searchPanelUi\">\n <ng-container>\n <bsu-search-panel\n [hideButtons]=\"true\"\n [searchPanelUi]=\"searchPanelUi\"\n (moChanged)=\"onSearchPanelMoChanged()\"\n ></bsu-search-panel>\n </ng-container>\n </fd-dynamic-page-subheader>\n <fd-dynamic-page-content *ngIf=\"!tabMode\">\n <ng-container *ngTemplateOutlet=\"viewerTemplate\"></ng-container>\n </fd-dynamic-page-content>\n <fd-dynamic-page-footer *ngIf=\"pagingSetting?.TotalPages\">\n <!-- page footer content goes here -->\n <div fd-bar [barDesign]=\"'footer'\">\n <div fd-bar-middle>\n <ng-container [renderUlvPaging]=\"context\"></ng-container>\n </div>\n </div>\n </fd-dynamic-page-footer>\n </fd-dynamic-page>\n <ng-container *ngIf=\"tabMode\">\n <ng-container *ngTemplateOutlet=\"viewerTemplate\"></ng-container>\n </ng-container>\n</ng-template>\n<ng-template #reportTemplate>\n <bsu-mask *ngIf=\"loading\" size=\"s\"></bsu-mask>\n <ng-container *ngIf=\"!hideSearchPanel && searchPanelUi\">\n <bsu-search-panel [searchPanelUi]=\"searchPanelUi\" (moChanged)=\"onSearchPanelMoChanged()\"></bsu-search-panel>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"viewerTemplate\"></ng-container>\n <ng-container *ngIf=\"pagingSetting?.TotalPages\" [renderUlvPaging]=\"context\"></ng-container>\n</ng-template>\n<ng-template #viewerTemplate>\n <div\n class=\"viewer-container\"\n [style.height]=\"viewerLoading ? '100%' : 'auto'\"\n [style.position]=\"viewerLoading ? 'relative' : null\"\n >\n <bsu-mask *ngIf=\"viewerLoading\" size=\"m\"></bsu-mask>\n <ng-container *ngIf=\"viewerControl\" [renderUlvViewer]=\"viewerControl\"></ng-container>\n </div>\n</ng-template>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostBinding,\n Input,\n OnInit,\n ViewChild\n} from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { distinctUntilChanged, takeUntil } from 'rxjs/operators';\n\nimport { ContentDensity, ContentDensityService, DialogService } from '@fundamental-ngx/core';\n\nimport {\n BarsaApi,\n BaseComponent,\n UlvMainService,\n PagingSetting,\n PortalService,\n SearchPanelSettings,\n BreadCrumbInfo,\n BreadcrumbService,\n ColumnInfoType,\n AbbrevationDeviceSize\n} from 'barsa-novin-ray-core';\n\nimport { ManageFiltersReportComponent } from '../manage-filters-report/manage-filters-report.component';\nimport { SearchPanelComponent } from '../search-panel/search-panel.component';\nimport { ReportSearchFieldsHiddenSettingsComponent } from '../report-search-fields-hidden-settings/report-search-fields-hidden-settings.component';\nimport { ReportSearchPanelSaveComponent } from '../report-search-panel-save/report-search-panel-save.component';\nimport { ReportSearchFieldsManageComponent } from '../report-search-fields-manage/report-search-fields-manage.component';\n\n@Component({\n selector: 'bsu-ui-ulv-main-ui',\n templateUrl: './ui-ulv-main-ui.component.html',\n styleUrls: ['./ui-ulv-main-ui.component.scss'],\n providers: [UlvMainService],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiUlvMainUiComponent extends BaseComponent implements OnInit {\n @Input() context: any;\n @Input() isReportPage: boolean;\n @Input() inDialog: boolean;\n @Input() layoutInfo: any;\n\n @HostBinding('class.control-readonly') readonly;\n @HostBinding('class.control-disabled') disable;\n @HostBinding('class.margin-ulv') marginUlv;\n @ViewChild(SearchPanelComponent)\n set searchPanelComponent(val) {\n if (val) {\n this.searchPanelLoaded = true;\n }\n this._cdr.detectChanges();\n }\n @Input() set fullscreen(val: boolean) {\n this._ulvMainService.setFullscreen(val);\n }\n selectedSearchPanelSettings: SearchPanelSettings | undefined;\n firstApplyAutomatically = true;\n mask$: Observable<boolean>;\n viwerMask$: Observable<boolean>;\n viewer$: Observable<any>;\n pagingSetting$: Observable<PagingSetting | null>;\n contentDensity$: Observable<ContentDensity>;\n searchPanelUi$: Observable<any>;\n hideSearchPanel$: Observable<boolean>;\n rtl$: Observable<boolean>;\n reportId$: Observable<string>;\n searchPanelMoChanged$: Observable<boolean>;\n allSearchPanelSettings$: Observable<SearchPanelSettings[]>;\n selectedSearchPanelSettingsId$: Observable<string>;\n selectedSearchPanelSettings$: Observable<SearchPanelSettings | undefined>;\n deviceSize$: Observable<AbbrevationDeviceSize>;\n breadCrumbs$: Observable<BreadCrumbInfo[]>;\n searchPanelLoaded: boolean;\n isAnonymous$: Observable<boolean>;\n title: string;\n hasSearchPanel: boolean;\n\n private defaultDialogConfig = {\n verticalPadding: true,\n responsivePadding: true,\n resizable: true,\n minWidth: '50rem',\n bodyMinHeight: 'calc(50vh - 88px)'\n };\n constructor(\n private _dialogService: DialogService,\n private _ulvMainService: UlvMainService,\n public el: ElementRef,\n private _router: Router,\n private _portalService: PortalService,\n private _cdr: ChangeDetectorRef,\n contentDensityService: ContentDensityService,\n _bradcrumbService: BreadcrumbService\n ) {\n super();\n this.contentDensity$ = contentDensityService.contentDensity;\n this.rtl$ = _portalService.rtl$;\n this.breadCrumbs$ = _bradcrumbService.breadcrumbs$;\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this._ulvMainService.setInDialog(this.inDialog);\n // fromEvent(document, 'click')\n // .pipe(takeUntil(this._onDestroy$))\n // .subscribe((e) => {\n // if (\n // e.target &&\n // this.el.nativeElement !== e.target &&\n // !this.el.nativeElement.contains(e.target) &&\n // document.body.contains(e.target as HTMLElement)\n // ) {\n // this._ulvMainService.setInlineEdit(false);\n // }\n // });\n this._removeBugInChromeCssActive();\n this.marginUlv = !this.isReportPage;\n if (!this.context.Setting.SearchPanel) {\n this.searchPanelLoaded = true;\n }\n this.isAnonymous$ = this._portalService.isAnonymous$;\n this.hideSearchPanel$ = this._ulvMainService.hideSearchpanel$;\n\n this.title = BarsaApi.Common.Util.TryGetValue(this.context, 'Setting.ClassNames.CustomUi.Parameters.Title', '');\n this._ulvMainService.setContext(this.context);\n this._ulvMainService.setLayoutInfo(this.layoutInfo);\n this._ulvMainService.loadSearchPanelSettings();\n this.mask$ = this._ulvMainService.mask$;\n this.viwerMask$ = this._ulvMainService.viwerMask$;\n this.pagingSetting$ = this._ulvMainService.pagingSetting$;\n this.searchPanelMoChanged$ = this._ulvMainService.searchPanelMoChanged$;\n this.hasSearchPanel = this._ulvMainService.searchPanelUi !== null;\n this.searchPanelUi$ = this._ulvMainService.searchPanelUi$;\n this.reportId$ = this._ulvMainService.reportId$;\n this._ulvMainService.readonly$.subscribe((readonly) => {\n this.readonly = readonly;\n });\n this._ulvMainService.enable$.subscribe((enable) => {\n this.disable = !enable;\n });\n this._ulvMainService.selectedSearchPanelSettings$\n .pipe(\n takeUntil(this._onDestroy$),\n distinctUntilChanged((a, b) => a?.Title === b?.Title)\n )\n .subscribe((selectedSearchPanelSettings) => {\n this.selectedSearchPanelSettings = selectedSearchPanelSettings;\n this._ulvMainService.applySearchPanelSettings(selectedSearchPanelSettings);\n this._ulvMainService.toggleHideSearchpanel(selectedSearchPanelSettings?.HideSearchPanel);\n });\n this.viewer$ = this._ulvMainService.viewer$;\n this.allSearchPanelSettings$ = this._ulvMainService.allSearchPanelSettings$;\n this.selectedSearchPanelSettings$ = this._ulvMainService.selectedSearchPanelSettings$;\n this.selectedSearchPanelSettingsId$ = this._ulvMainService.selectedSearchPanelSettingsId$;\n this.deviceSize$ = this._portalService.deviceSize$.pipe(takeUntil(this._onDestroy$), distinctUntilChanged());\n }\n onClose(): void {\n this._router.navigate(['/home']);\n }\n onSearchPanelMoChanged(): void {\n this._setSearchPanelMoChanged(true);\n }\n\n onOpenManageFilters(): void {\n this._dialogService.open(ManageFiltersReportComponent, {\n backdropClickCloseable: true,\n draggable: false,\n escKeyCloseable: true,\n hasBackdrop: false,\n focusTrapped: true\n });\n }\n\n onCollapsedChange(collapsed: boolean): void {\n this._ulvMainService.toggleHideSearchpanel(collapsed);\n this._ulvMainService.searchPanelMoChanged(true);\n }\n onHideSearchPanelClick(): void {\n this._ulvMainService.toggleHideSearchpanel();\n this._ulvMainService.searchPanelMoChanged(true);\n }\n\n onFilterSave(): void {\n this._saveFilter();\n }\n\n onFilterSaveAs(): void {\n this._openSaveAsFilter();\n }\n\n onShowFilterFieldsSetting(): void {\n this._openSearchFieldsHiddenSettings();\n }\n\n onManageFilters(): void {\n this._openSearchFiltersManage();\n }\n\n onClearSearch(): void {\n this._ulvMainService.clearSearch();\n }\n\n onSearch(): void {\n this._ulvMainService.search();\n }\n\n onSelectSearchPanelSettings(selectedSearchPanelSettingsId: string): void {\n this._ulvMainService.changeSelectedSearchPanel(selectedSearchPanelSettingsId);\n }\n private _removeBugInChromeCssActive(): void {\n if (BarsaApi.Common.Util.RemoveBugInChromeCssActive) {\n return;\n }\n let list: { i: any; n: any; a: any }[] = [];\n const h = document.head.children;\n for (let i = 0; i < h.length; i++) {\n list[i] = {\n i,\n n: h[i],\n a: h[i].innerHTML\n };\n }\n list = list.reverse();\n /* eslint-disable */\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}`;\n /* eslint-enable */\n const f = list.filter((c) => c.a.indexOf(t) >= 0);\n if (f.length > 0) {\n BarsaApi.Common.Util.RemoveBugInChromeCssActive = true;\n f[0].n.innerHTML = f[0].a.slice(0, 10058) + f[0].a.slice(10058 + t.length, f[0].a.length);\n }\n }\n private _setSearchPanelMoChanged(change: boolean): void {\n this._ulvMainService.searchPanelMoChanged(change);\n }\n\n private _openSearchFieldsHiddenSettings(): void {\n const fieldsSetting = this._ulvMainService.getSearchPanelFieldsSetting();\n const config = {\n ...this.defaultDialogConfig,\n minWidth: '25rem',\n data: {\n fields: [...fieldsSetting]\n }\n };\n const dialogRef = this._dialogService.open(ReportSearchFieldsHiddenSettingsComponent, config);\n dialogRef.afterClosed.pipe(takeUntil(this._onDestroy$)).subscribe((setting: ColumnInfoType[]) => {\n if (setting) {\n this._ulvMainService.setAndApplySearchPanelSettingFieldsSetting(setting);\n this._ulvMainService.searchPanelMoChanged(true);\n }\n });\n }\n private _openSaveAsFilter(): void {\n const searchMo = this._ulvMainService.getSearchPanelMo();\n const selectedSearchPanelSettings = this.selectedSearchPanelSettings;\n const fieldsSetting = selectedSearchPanelSettings?.FieldsSetting;\n const config = {\n ...this.defaultDialogConfig,\n minWidth: '25rem',\n resizable: false,\n data: {\n searchMo,\n fieldsSetting,\n reportId: this._ulvMainService.reportId\n }\n };\n const dialogRef = this._dialogService.open(ReportSearchPanelSaveComponent, config);\n dialogRef.afterClosed.pipe(takeUntil(this._onDestroy$)).subscribe((searchPanelSetting: SearchPanelSettings) => {\n if (searchPanelSetting) {\n searchPanelSetting.HideSearchPanel = this._ulvMainService.hideSearchpanel;\n this._ulvMainService.addSearchPanelSettings(searchPanelSetting);\n }\n });\n }\n private _saveFilter(): void {\n const selectedSearchPanelSettings = this.selectedSearchPanelSettings;\n if (selectedSearchPanelSettings) {\n selectedSearchPanelSettings.HideSearchPanel = this._ulvMainService.hideSearchpanel;\n this._ulvMainService.saveSearchPanelSetting(selectedSearchPanelSettings);\n }\n }\n private _openSearchFiltersManage(): void {\n const allSearchPanelSettings = this._ulvMainService.allSearchPanelSettings;\n const reportId = this._ulvMainService.reportId;\n const config = {\n ...this.defaultDialogConfig,\n responsivePadding: false,\n verticalPadding: false,\n data: {\n allSearchPanelSettings: allSearchPanelSettings.map((c) => ({\n Title: c.Title,\n IsDefault: c.IsDefault,\n IsPublic: c.IsPublic,\n IsPrimary: !!c.IsPrimary,\n ApplyAutomatically: c.ApplyAutomatically,\n ReportId: reportId,\n Id: c.Id\n }))\n }\n };\n const dialogRef = this._dialogService.open(ReportSearchFieldsManageComponent, config);\n dialogRef.afterClosed.pipe(takeUntil(this._onDestroy$)).subscribe((setting: SearchPanelSettings[]) => {\n if (setting) {\n setting\n .filter((c) => !c.IsPrimary)\n .forEach((newSetting) => {\n const sps = allSearchPanelSettings.find((c) => c.Id === newSetting.Id);\n if (sps) {\n BarsaApi.Common.Merger.Merge(sps, newSetting);\n }\n });\n this._ulvMainService.updateSearchPanelSettings(allSearchPanelSettings);\n }\n });\n }\n}\n","<bsu-barsa-ulv-main\n [attr.isReportPage]=\"isReportPage\"\n [viewerControl]=\"viewer$ | async\"\n [loading]=\"(mask$ | async) === true\"\n [viewerLoading]=\"(viwerMask$ | 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 [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 (close)=\"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 (selectSearchPanelSettings)=\"onSelectSearchPanelSettings($event)\"\n>\n</bsu-barsa-ulv-main>\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\nimport { PopoverComponent } from '@fundamental-ngx/core';\n\nimport { FieldBaseComponent } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-ui-color-ui',\n templateUrl: './ui-color-ui.component.html',\n styleUrls: ['./ui-color-ui.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiColorUiComponent extends FieldBaseComponent implements OnInit {\n isVisibleSwatches = false;\n selectedColor: string;\n switchText = 'رنگ های پیشفرض';\n\n ngOnInit(): void {\n super.ngOnInit();\n this.selectedColor = this.value;\n this.disable$.subscribe((disable) => {\n if (disable) {\n this._renderer2.setStyle(this._el.nativeElement, 'pointer-events', 'none');\n }\n });\n }\n\n onSwatchClick(): void {\n this.isVisibleSwatches = !this.isVisibleSwatches;\n this.switchText = 'انتخاب رنگ';\n }\n\n onApply(popover: PopoverComponent): void {\n this.value = this.selectedColor;\n this.valueChange.emit(this.value);\n popover.close();\n }\n\n onCancel(popover: PopoverComponent): void {\n this.selectedColor = this.value;\n popover.close();\n }\n\n onColorChang($event): void {\n this.selectedColor = $event;\n }\n}\n","<div *ngIf=\"readonly$ | async; else editable\" class=\"read-only\">\r\n <div [style.background-color]=\"value\"></div>\r\n <span>{{ value }}</span>\r\n <button\r\n fd-button\r\n [cdkCopyToClipboard]=\"value\"\r\n [fdType]=\"'transparent'\"\r\n [glyph]=\"'copy'\"\r\n aria-label=\"copy\"\r\n title=\"copy\"\r\n ></button>\r\n</div>\r\n\r\n<ng-template #editable>\r\n <fd-popover #popover>\r\n <fd-popover-control>\r\n <button [style.background-color]=\"value\" fd-button></button>\r\n </fd-popover-control>\r\n\r\n <fd-popover-body>\r\n <color-chrome\r\n *ngIf=\"!isVisibleSwatches\"\r\n [color]=\"value\"\r\n className=\"color-box\"\r\n (colorChange)=\"onColorChang($event)\"\r\n ></color-chrome>\r\n <color-swatches\r\n *ngIf=\"isVisibleSwatches\"\r\n [color]=\"value\"\r\n (colorChange)=\"onColorChang($event)\"\r\n ></color-swatches>\r\n <fd-toolbar style=\"background-color: white\">\r\n <button\r\n fd-toolbar-item\r\n fd-button\r\n [label]=\"'Cancel' | bbbTranslate\"\r\n (click)=\"onCancel(popover)\"\r\n [compact]=\"true\"\r\n ></button>\r\n <button\r\n fd-toolbar-item\r\n fd-button\r\n [label]=\"'Ok' | bbbTranslate\"\r\n (click)=\"onApply(popover)\"\r\n [compact]=\"true\"\r\n ></button>\r\n <fd-toolbar-spacer></fd-toolbar-spacer>\r\n <button\r\n fd-toolbar-item\r\n fd-button\r\n [label]=\"switchText\"\r\n (click)=\"onSwatchClick()\"\r\n [compact]=\"true\"\r\n ></button>\r\n </fd-toolbar>\r\n </fd-popover-body>\r\n </fd-popover>\r\n</ng-template>\r\n","import { ChangeDetectionStrategy, Component, ElementRef, OnInit, ViewChild } from '@angular/core';\n\nimport { FieldBaseComponent } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-barsa-date-time-picker',\n templateUrl: './barsa-date-time-picker.component.html',\n styleUrls: ['./barsa-date-time-picker.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BarsaDateTimePickerComponent extends FieldBaseComponent implements OnInit {\n @ViewChild('datetimePicker') datetimePickerRef: ElementRef;\n @ViewChild('datePicker') datePickerRef: ElementRef;\n @ViewChild('durationPicker') durationPickerRef: ElementRef;\n fullCalendar: boolean;\n value: Date;\n valueCaption: string;\n\n get caption(): string {\n const fieldName = this.context.Setting.ControlName;\n const fieldNameCaption = fieldName + '$Caption';\n const mo = this.context.FormPanelUi.Mo;\n let caption = '';\n if (!mo[fieldNameCaption]) {\n if (this.fullCalendar) {\n caption = this.datetimePickerRef ? this.datetimePickerRef.nativeElement.value : '';\n } else {\n caption = '';\n if (this.Setting.ShowDate1) {\n caption += this.datePickerRef ? this.datePickerRef.nativeElement.value : '';\n }\n if (this.Setting.ShowTime1) {\n caption += this.durationPickerRef ? this.durationPickerRef.nativeElement.value : '';\n }\n }\n } else {\n caption = mo[fieldNameCaption];\n }\n return caption || '';\n }\n ngOnInit(): void {\n super.ngOnInit();\n this.fullCalendar = this.Setting.ShowTime1 && this.Setting.ShowDate1;\n }\n\n onDateTimeChange(): void {\n this.value = this.datetimePickerRef.nativeElement.dateValue;\n this.valueCaption = this.datetimePickerRef.nativeElement.value;\n this.valueChange.emit(this.value);\n }\n onDateChange(): void {\n this.value = this.datePickerRef.nativeElement.dateValue;\n this.valueCaption = this.datePickerRef.nativeElement.value;\n this.valueChange.emit(this.value);\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}\n","<input\r\n *ngIf=\"(disableOrReadonly$ | async)!!; else datetime\"\r\n fd-form-control\r\n type=\"text\"\r\n [attr.readonly]=\"(readonly$ | async) === true ? true : null\"\r\n [attr.disabled]=\"(readonly$ | async) === true ? true : null\"\r\n [value]=\"caption\"\r\n/>\r\n<ng-template #datetime>\r\n <div [style.display]=\"(disableOrReadonly$ | async)!! ? 'hidden' : 'block'\">\r\n <ng-container *ngIf=\"fullCalendar; else simple\">\r\n <ui5-datetime-picker\r\n #datetimePicker\r\n style=\"width: 100%\"\r\n [attr.readonly]=\"(readonly$ | async) === true ? true : null\"\r\n [attr.disabled]=\"(readonly$ | async) === true ? true : null\"\r\n [primaryCalendarType]=\"Setting.CalendarType !== 'Gregorian' ? 'Persian' : Setting.CalendarType\"\r\n [value]=\"caption\"\r\n (change)=\"onDateTimeChange()\"\r\n ></ui5-datetime-picker>\r\n </ng-container>\r\n <ng-template #simple>\r\n <ui5-date-picker\r\n #datePicker\r\n format-pattern=\"yyyy/MM/dd\"\r\n [attr.readonly]=\"(readonly$ | async) === true ? true : null\"\r\n [attr.disabled]=\"(readonly$ | async) === true ? true : null\"\r\n style=\"width: 100%\"\r\n *ngIf=\"Setting.ShowDate1\"\r\n [primaryCalendarType]=\"Setting.CalendarType !== 'Gregorian' ? 'Persian' : Setting.CalendarType\"\r\n [value]=\"caption\"\r\n (change)=\"onDateChange()\"\r\n ></ui5-date-picker>\r\n <ui5-duration-picker\r\n #durationPicker\r\n [attr.readonly]=\"(readonly$ | async) === true ? true : null\"\r\n [attr.disabled]=\"(readonly$ | async) === true ? true : null\"\r\n style=\"width: 100%\"\r\n [primaryCalendarType]=\"Setting.CalendarType !== 'Gregorian' ? 'Persian' : Setting.CalendarType\"\r\n *ngIf=\"Setting.ShowTime1\"\r\n [value]=\"caption\"\r\n (change)=\"onDurationChange($event)\"\r\n ></ui5-duration-picker>\r\n </ng-template>\r\n </div>\r\n</ng-template>\r\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n Output\n} from '@angular/core';\n\nimport { BaseComponent } from 'barsa-novin-ray-core';\n\ndeclare const head: any;\n\n@Component({\n selector: 'bsu-barsa-monaco-editor',\n templateUrl: './barsa-monaco-editor.component.html',\n styleUrls: ['./barsa-monaco-editor.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BarsaMonacoEditorComponent extends BaseComponent implements AfterViewInit, OnDestroy {\n @Input() value: string;\n @HostBinding('style.text-align') textAlign = 'left';\n @Output() valueChange = new EventEmitter<string>();\n _editor: any;\n loading: boolean;\n\n ngAfterViewInit(): void {\n super.ngAfterViewInit();\n this._initEditor();\n }\n ngOnDestroy(): void {\n if (this._editor && this._editor.layout) {\n // this.autoComplete.dispose();\n this._editor.getModel().dispose();\n this._editor.destroy();\n this._editor = null;\n }\n }\n\n private _initEditor(): void {\n this.loading = true;\n head.load(['lib/monaco-editor/min/vs/loader.js'], () => {\n // require.config({ paths: { 'vs': '' } });\n const func = `\n require.config({ paths: { 'vs': 'lib/monaco-editor/min/vs' } });\n require(['vs/editor/editor.main'], function () {\n me.loading=false;\n me._editor = monaco.editor.create(me.el.nativeElement, {\n value: me.value,\n language: 'csharp',\n theme: \"vs-light\"\n //theme: \"vs-dark\"\n });\n me._editor.onDidChangeModelContent(function (e) {\n me.valueChange.emit(me._editor.getValue());\n });\n });`;\n /* eslint-disable */\n eval(func);\n // بخاطر اینکه ما میخواهیم فایل موناکو رو زمان اجرااز یک سرور دیگر بخوانیم\n // و وب پک متغیرههای require رو تغییر نام میداد مجبور شدم فعلا اینکارو انجام بدم.\n });\n }\n\n getValue(): string {\n if (this._editor && this._editor.layout) {\n this.value = this._editor.getValue();\n }\n return this.value;\n }\n setValue(value): void {\n this.value = value;\n if (this._editor && this._editor.layout) {\n this._editor.setValue(value);\n }\n }\n\n protected _resize(): void {\n if (this._editor && this._editor.layout) {\n this._editor.layout();\n }\n }\n}\n","","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map, takeUntil } from 'rxjs/operators';\nimport { FieldBaseComponent, AbbrevationDeviceSize, getDeviceIsMobile } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-device-info-field-base',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport abstract class DeviceInfoFieldBaseComponent extends FieldBaseComponent implements OnInit {\n deviceSize$: Observable<AbbrevationDeviceSize>;\n isMobileSize$: Observable<boolean>;\n isMobileDevice: boolean;\n\n ngOnInit(): void {\n super.ngOnInit();\n this.isMobileDevice = getDeviceIsMobile();\n this.deviceSize$ = this._portalService.deviceSize$;\n this.isMobileSize$ = this._portalService.deviceSize$.pipe(\n takeUntil(this._onDestroy$),\n map((deviceSize) => (deviceSize === 's' ? true : false))\n );\n }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { DeviceInfoFieldBaseComponent } from '../device-info-field-base';\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 onValueChange(value): void {\n this.context.value = value;\n this.context.fireEvent('change', this, value, this.value);\n }\n}\n","<bsu-barsa-monaco-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} from '@angular/core';\n\nimport { BaseComponent, BarsaApi, getUniqueId, isFunction } from 'barsa-novin-ray-core';\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})\nexport class BarsaTinyemceComponent extends BaseComponent implements AfterViewInit, OnDestroy, OnChanges {\n @Input() Setting: any;\n @Input() isReadonly: boolean;\n @Input() value: any;\n @Output() valueChange = new EventEmitter<any>();\n @Output() tinyInit = new EventEmitter();\n tinyHostId = getUniqueId(2);\n tinyMCEConfig: any = {};\n editor: any;\n defaultVerbs: any;\n wysiwygIntialized: boolean;\n intializationInProgress: boolean;\n editorValue: string;\n\n iframBodyInnerHtml: string;\n height: number;\n\n constructor(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 loadTinyMce(): void {\n if (!this.Setting.IsHtmlViewer) {\n head.load(['Lib/tinymce/tinymce.min.js'], () => {\n this.prepare();\n });\n }\n }\n\n initilize(): void {\n this.tinyMCEConfig.height = '100%';\n this.tinyMCEConfig.width = '100%';\n this.tinyMCEConfig.selector = '#' + this.tinyHostId;\n this.tinyMCEConfig.skin = 'oxide';\n this.tinyMCEConfig.content_css = 'assets/Resources/fonts/Iran.css';\n this.tinyMCEConfig.directionality = 'rtl';\n this.tinyMCEConfig.language = 'fa_IR';\n this.tinyMCEConfig.menubar = false;\n this.tinyMCEConfig.statusbar = false;\n this.tinyMCEConfig.paste_data_images = true;\n this.tinyMCEConfig.defaultFontName = 'BarsaFont';\n this.tinyMCEConfig.defaultFontSize = '12px';\n this.tinyMCEConfig.inline = true;\n this.tinyMCEConfig.theme_advanced_resizing = true;\n this.tinyMCEConfig.images_dataimg_filter = (img) => img.hasAttribute('internal-blob');\n this.tinyMCEConfig.toolbar = true;\n this.tinyMCEConfig.font_formats =\n 'BarsaFont=BarsaFont;Arial=arial,helvetica,sans-serif; Courier New=courier new,courier,monospace;';\n this.tinyMCEConfig.fontsize_formats = '8pt 10pt 12pt 14pt 18pt 24pt 36pt';\n this.tinyMCEConfig.plugins = [\n `print preview importcss searchreplace autolink autoresize autosave save directionality visualblocks visualchars fullscreen \n link media template codesample table charmap hr pagebreak nonbreaking anchor toc insertdatetime advlist lists wordcount \n imagetools textpattern noneditable help charmap quickbars emoticons`\n ];\n this.tinyMCEConfig.toolbar = `defaultVerbs barsaImage | insert | forecolor backcolor fontselect fontsizeselect | undo redo | copy cut paste \n | formatselect | bold italic backcolor | alignleft aligncenter alignright alignjustify ltr rtl | bullist numlist outdent indent | removeformat`;\n\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 const defaultVerbsMenu: any = [];\n // BEGIN: setup\n this.tinyMCEConfig.setup = (ed) => {\n this.editor = ed;\n\n if (!this.isReadonly) {\n if (this.defaultVerbs) {\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 }\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.fire('change', {});\n };\n hasInit = true;\n this.tinyInit.emit();\n const iframEl: HTMLIFrameElement = ed.iframeElement;\n if (iframEl) {\n iframEl.addEventListener('load', this._onLoadIframe.bind(this));\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 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('mceInsertRawHTML', 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 if (ed.iframeElement) {\n ed.iframeElement.removeAllListeners();\n }\n ed.destroy(false);\n }\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 // this._removeOverflow(ed);\n // this.destroyTinymce();\n // this.prepare();\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\n<!-- <textarea [id]=\"tinyHostId\" style=\"height: 100%; visibility: hidden\"></textarea> -->\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\nimport { SafeResourceUrl } from '@angular/platform-browser';\nimport { Observable } from 'rxjs';\nimport { exhaustMap, filter, takeUntil, tap } from 'rxjs/operators';\nimport { ContentDensity } from '@fundamental-ngx/core';\nimport {\n BarsaApi,\n UploadService,\n FilesValidationHelper,\n isImage,\n getImagePath,\n getIcon,\n getValidExtension\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 {\n fileName: string;\n fallbackLink: any;\n canNotRenderPdf: boolean;\n pdfSource: SafeResourceUrl;\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 uploadState$: Observable<string>;\n progress$: Observable<any>;\n uploading$: Observable<boolean>;\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\n ngOnInit(): void {\n this.progress$ = this._uploadService.progress$;\n this.uploadState$ = this._uploadService.uploadState$;\n this.uploading$ = this._uploadService.uploading$;\n super.ngOnInit();\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'\n : getValidExtension(this.Setting.ValidExtensions);\n this.singleControl = this.Setting.ViewType === 'SingleFileControl';\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 }, 30);\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 const blob = BarsaApi.Common.File.B64toBlob(response.content, response.contentType);\n const url = window.URL || window.webkitURL;\n this.pdfSource = this._domSanitizer.bypassSecurityTrustResourceUrl(url.createObjectURL(blob));\n this.hasPdf = true;\n this._cdr.detectChanges();\n this._hideMask();\n }\n },\n (error) => {\n this._hideMask();\n alert(error);\n }\n );\n }\n protected _uploadToServer(selectedFiles: File[]): void {\n this.filesValidationHelper\n .validateFiles(selectedFiles)\n .pipe(\n takeUntil(this._onDestroy$),\n filter((files) => files.length > 0),\n exhaustMap((files: File[]) => this._uploadFile(files))\n )\n .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 }, 30);\n }\n}\n","<ng-container *untilInView=\"el\">\r\n <fd-toolbar [transparent]=\"true\" [shouldOverflow]=\"true\">\r\n <fd-file-uploader\r\n #uploader\r\n [style.display]=\"'none'\"\r\n fd-toolbar-item\r\n [id]=\"id\"\r\n [name]=\"'pdf_' + id\"\r\n [placeholder]=\"'AttachFile' | bbbTranslate\"\r\n [buttonLabel]=\"'AttachFile' | bbbTranslate\"\r\n [buttonAriaLabel]=\"'AttachFile' | bbbTranslate\"\r\n [accept]=\"validExtension\"\r\n [(ngModel)]=\"files\"\r\n [multiple]=\"false\"\r\n (selectedFilesChanged)=\"onFileSelection($event)\"\r\n [contentDensity]=\"(contentDensity$ | async)!!\"\r\n ></fd-file-uploader>\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n glyph=\"attachment\"\r\n [fdType]=\"'transparent'\"\r\n [disabled]=\"!canUpload\"\r\n (click)=\"uploader.open()\"\r\n ></button>\r\n <button\r\n [disabled]=\"!(canDelete && value)\"\r\n fd-button\r\n fd-toolbar-item\r\n class=\"delete\"\r\n glyph=\"delete\"\r\n [fdType]=\"'transparent'\"\r\n (click)=\"onDelete()\"\r\n ></button>\r\n <button\r\n *ngIf=\"canEdit\"\r\n fd-toolbar-item\r\n fd-button\r\n glyph=\"edit\"\r\n [fdType]=\"'transparent'\"\r\n (click)=\"onEdit()\"\r\n ></button>\r\n <button\r\n *ngIf=\"canDownload\"\r\n fd-toolbar-item\r\n fd-button\r\n glyph=\"download\"\r\n [fdType]=\"'transparent'\"\r\n (click)=\"onDownload()\"\r\n ></button>\r\n\r\n <button\r\n *ngIf=\"useWordEditor\"\r\n fd-toolbar-item\r\n fd-button\r\n glyph=\"doc-attachment\"\r\n [fdType]=\"'transparent'\"\r\n [label]=\"'EditInWord' | bbbTranslate\"\r\n (click)=\"onEditInWord()\"\r\n ></button>\r\n <button\r\n *ngIf=\"officeOnline\"\r\n fd-toolbar-item\r\n fd-button\r\n glyph=\"doc-attachment\"\r\n [fdType]=\"'transparent'\"\r\n [label]=\"'OfficeOnline' | bbbTranslate\"\r\n (click)=\"onOfficeOnline($event)\"\r\n ></button>\r\n <button fd-toolbar-item fd-button glyph=\"refresh\" [fdType]=\"'transparent'\" (click)=\"onRefresh()\"></button>\r\n\r\n <fd-busy-indicator fd-toolbar-item [loading]=\"(uploading$ | async)!!\"></fd-busy-indicator>\r\n </fd-toolbar>\r\n <object\r\n *ngIf=\"hasPdf; else HatchBackground\"\r\n style=\"flex-grow: 1\"\r\n [attr.data]=\"pdfSource\"\r\n type=\"application/pdf\"\r\n width=\"100%\"\r\n height=\"100%\"\r\n [attr.html]=\"fallbackLink\"\r\n ></object>\r\n <ng-template #HatchBackground>\r\n <ng-container *ngIf=\"singleControl && value && !value.IsDeleted; else noFile\">\r\n <div style=\"display: flex\">\r\n <img *ngIf=\"singleFileThumbnailUrl\" [src]=\"singleFileThumbnailUrl\" />\r\n <fd-object-identifier>\r\n {{ value.FileName }}\r\n </fd-object-identifier>\r\n </div>\r\n </ng-container>\r\n <ng-template #noFile>\r\n <div class=\"hatchBackground\"></div>\r\n </ng-template>\r\n </ng-template>\r\n</ng-container>\r\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, forkJoin } from 'rxjs';\nimport { filter, finalize, map, mergeMap, takeUntil, tap } from 'rxjs/operators';\nimport { ContentDensity, FileUploaderComponent } from '@fundamental-ngx/core';\n\nimport {\n BarsaApi,\n getImagePath,\n getUniqueId,\n UploadService,\n FilesValidationHelper,\n FileAttachmentInfo,\n isImage,\n getIcon,\n getValidExtension\n} from 'barsa-novin-ray-core';\nimport { DeviceInfoFieldBaseComponent } from '../device-info-field-base';\ninterface UploadFileProps {\n FileUrl?: string;\n cancelation$?: Subject<void>;\n binary?: any;\n UploadState?: string;\n Progress?: number;\n IsIcon?: boolean;\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 fileCount$: Observable<number>;\n\n valueExtra: { [key: string]: UploadFileProps } = {};\n contentDensity$: Observable<ContentDensity>;\n fileDownloading: boolean;\n validExtension = '';\n filesValidationHelper: FilesValidationHelper;\n maxFileCount: number;\n loading = false;\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\n if (this.value) {\n this.value.forEach((c) => this._setIconAndImage(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\n ngOnDestroy(): void {\n this.valueExtra = {};\n this.context.un('ShowUploadWindow', this._showUploadWindow);\n super.ngOnDestroy();\n }\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\n onTerminate(fileAttachment: FileAttachmentInfo): void {\n this.fireContextEvent('CommandRequest', this.context, 'Delete', fileAttachment.Id);\n this.valueExtra[fileAttachment.Id].cancelation$?.next();\n }\n onFileSelection(files: File[]): void {\n this._uploadToServer(files);\n }\n trackById(file, index): string | number {\n return file ? file.Id : index;\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 _getFileValueExtra(fileId): UploadFileProps {\n const fileValueExtra = this.valueExtra[fileId];\n if (!fileValueExtra) {\n this.valueExtra[fileId] = {};\n }\n return this.valueExtra[fileId] as UploadFileProps;\n }\n protected _setIconAndImage(fileAttachment: FileAttachmentInfo): void {\n const fileType = fileAttachment.Type;\n const fileId = fileAttachment.Id;\n const fileValueExtra = this._getFileValueExtra(fileId);\n if (fileAttachment.IsNew && !fileValueExtra.UploadState) {\n fileValueExtra.FileUrl = 'document';\n fileValueExtra.IsIcon = true;\n } else if (isImage(fileType)) {\n fileValueExtra.FileUrl = getImagePath('ID', '', fileId);\n fileValueExtra.IsIcon = false;\n } else {\n fileValueExtra.FileUrl = getIcon(fileType);\n fileValueExtra.IsIcon = true;\n }\n }\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 _uploadToServer(selectedFiles: File[]): void {\n this.filesValidationHelper\n .validateFiles(selectedFiles)\n .pipe(\n takeUntil(this._onDestroy$),\n filter((files) => files.length > 0),\n tap(() => this._setLoading(true)),\n map((files: File[]) => files.map((c) => this._createFileAttachment(c))),\n mergeMap((files: FileAttachmentInfo[]) => forkJoin(files.map((file) => this.uploadFile(file)))),\n finalize(() => {\n this._setLoading(false);\n })\n )\n .subscribe();\n }\n protected _setLoading(loading: boolean): void {\n this.loading = loading;\n this._cdr.markForCheck();\n }\n protected _createFileAttachment(file: File): any {\n const id: string = getUniqueId(4);\n const temp: string[] = file.name.split('.');\n const ext = temp[temp.length - 1];\n const newFileAttachment = {\n FileName: file.name,\n Id: id,\n FileId: id,\n IsDeleted: false,\n IsNew: true,\n Type: ext\n };\n this._setIconAndImage(newFileAttachment);\n const fileValueExtra = this.valueExtra[newFileAttachment.Id];\n fileValueExtra.UploadState = 'Ready';\n fileValueExtra.binary = file;\n fileValueExtra.cancelation$ = new Subject<void>();\n return newFileAttachment;\n }\n protected uploadFile(fileAttachment: FileAttachmentInfo): Observable<any> {\n const formData = new FormData();\n formData.append('unicFileName', 'x' + BarsaApi.Common.Util.GetNewMetaGuid() + ';;;' + fileAttachment.FileName);\n formData.append('file', this.valueExtra[fileAttachment.Id].binary);\n return this._uploadService.upload(formData, this.Setting.FieldDefId).pipe(\n tap((res) => {\n if (Array.isArray(res)) {\n this._updateValue(fileAttachment, res);\n }\n })\n );\n }\n\n protected _updateValue(fileAttachment: FileAttachmentInfo, res: any[]): void {\n this._deleteFileAttachment(fileAttachment);\n const id = res[0].FileId;\n const newFileAttachment = {\n ...fileAttachment,\n Id: id,\n FileId: id,\n FileName: res[0].FileName,\n IsDeleted: false\n };\n const fileValueExtra = this._getFileValueExtra(id);\n fileValueExtra.binary = null;\n this._setIconAndImage(newFileAttachment);\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","<ng-container *ngIf=\"value\">\n <div class=\"token-container\">\n <div class=\"token-wrapper\">\n <ng-container *ngFor=\"let file of value; trackBy: trackById\">\n <fd-popover *ngIf=\"!file.IsDeleted\">\n <fd-popover-control>\n <fd-token (onCloseClick)=\"onFileDeleted(file.Id)\" [readOnly]=\"(disableOrReadonly$ | async)!!\"\n >{{ file.FileName }}\n <ng-container *ngIf=\"file.IsNew\">\n <span\n *ngIf=\"valueExtra[file.Id].UploadState !== 'Complete'\"\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 <fd-object-number\n *ngIf=\"valueExtra[file.Id].Progress\"\n [number]=\"valueExtra[file.Id].Progress || 0\"\n unit=\"%\"\n status=\"informative\"\n ></fd-object-number>\n\n <ng-container *ngIf=\"valueExtra[file.Id].UploadState === 'Uploading'\">\n <fd-busy-indicator [loading]=\"true\" [size]=\"'s'\"></fd-busy-indicator>\n </ng-container>\n </ng-container>\n </fd-token>\n </fd-popover-control>\n <fd-popover-body>\n <ul\n fd-list\n *ngIf=\"\n valueExtra[file.Id].UploadState !== 'Error' ||\n valueExtra[file.Id].UploadState === 'Complete'\n \"\n >\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 </fd-popover-body>\n </fd-popover>\n </ng-container>\n <div style=\"display: flex\">\n <div style=\"position: relative; width: 3rem\" *ngIf=\"loading\">\n <bsu-mask [size]=\"'s'\" style=\"background: transparent\"></bsu-mask>\n </div>\n <fd-file-uploader\n *ngIf=\"value | canUploadFile: maxFileCount:(disable$ | async)!!:(readonly$ | async)!!\"\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 </div>\n </div>\n </div>\n</ng-container>\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',\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 onRetry(fileAttachment: FileAttachmentInfo): void {\n this.uploadFile(fileAttachment);\n }\n}\n","<fd-toolbar [fdType]=\"'transparent'\" [clearBorder]=\"true\" *ngIf=\"(disableOrReadonly$ | async) === false\">\r\n <fd-file-uploader\r\n fd-toolbar-item\r\n [id]=\"id\"\r\n [name]=\"id\"\r\n [placeholder]=\"'AttachFile' | bbbTranslate\"\r\n [buttonLabel]=\"'AttachFile' | bbbTranslate\"\r\n [buttonAriaLabel]=\"'AttachFile' | bbbTranslate\"\r\n [accept]=\"Setting.ValidExtensions || ''\"\r\n [multiple]=\"maxFileCount > 1\"\r\n (selectedFilesChanged)=\"onFileSelection($event)\"\r\n [contentDensity]=\"(contentDensity$ | async)!!\"\r\n ></fd-file-uploader>\r\n</fd-toolbar>\r\n<ul fd-list [byline]=\"true\">\r\n <ng-container *ngIf=\"fileCount$ | async as fileCount\">\r\n <li fd-list-item *ngIf=\"fileCount === 0\">\r\n <div fd-list-content style=\"text-align: center\">\r\n <span>{{ 'NoFiles' | bbbTranslate }}</span>\r\n </div>\r\n </li>\r\n </ng-container>\r\n <ng-container *ngFor=\"let file of value\">\r\n <li fd-list-item *ngIf=\"!file.IsDeleted\">\r\n <span fd-list-thumbnail>\r\n <fd-icon\r\n *ngIf=\"valueExtra[file.Id].IsIcon; else isImage\"\r\n [glyph]=\"valueExtra[file.Id].FileUrl\"\r\n ></fd-icon>\r\n <ng-template #isImage>\r\n <fd-avatar size=\"m\" [image]=\"valueExtra[file.Id].FileUrl || ''\"></fd-avatar>\r\n </ng-template>\r\n </span>\r\n <!-- for byline, fd-list-content is mandatory -->\r\n <div fd-list-content>\r\n <div fd-list-title>{{ file.FileName }}</div>\r\n <div fd-list-byline [twoCol]=\"true\">\r\n <div fd-list-byline-left></div>\r\n <div fd-list-byline-right style=\"display: flex; justify-content: flex-end\">\r\n <fd-toolbar [fdType]=\"'transparent'\" [clearBorder]=\"true\">\r\n <ng-container *ngIf=\"file.IsNew\">\r\n <span\r\n fd-toolbar-item\r\n fd-object-status\r\n [status]=\"file.Id | uploadFileStatus: valueExtra\"\r\n [label]=\"valueExtra[file.Id]?.UploadState || ''\"\r\n [title]=\"valueExtra[file.Id]?.UploadState\"\r\n [aria-label]=\"'File Upload Status Is ' + valueExtra[file.Id]?.UploadState\"\r\n ></span>\r\n <ng-container *ngIf=\"valueExtra[file.Id].UploadState === 'Uploading'\">\r\n <fdp-slider\r\n fd-toolbar-item\r\n [id]=\"id\"\r\n [name]=\"'filerLinear_' + id\"\r\n [value]=\"valueExtra[file.Id]?.Progress\"\r\n [min]=\"0\"\r\n [max]=\"100\"\r\n [step]=\"1\"\r\n [contentDensity]=\"(contentDensity$ | async)!!\"\r\n >\r\n </fdp-slider>\r\n </ng-container>\r\n </ng-container>\r\n </fd-toolbar>\r\n </div>\r\n </div>\r\n </div>\r\n <button\r\n *ngIf=\"(disableOrReadonly$ | async) === false && valueExtra[file.Id].UploadState !== 'Uploading'\"\r\n fd-button\r\n fdType=\"transparent\"\r\n glyph=\"decline\"\r\n (click)=\"onFileDeleted(file.Id)\"\r\n ></button>\r\n <button\r\n *ngIf=\"valueExtra[file.Id].UploadState === 'Uploading'\"\r\n fd-button\r\n [fdType]=\"'transparent'\"\r\n [glyph]=\"'stop'\"\r\n (click)=\"onTerminate(file)\"\r\n ></button>\r\n <button\r\n *ngIf=\"valueExtra[file.Id].UploadState === 'Error'\"\r\n fd-button\r\n [fdType]=\"'transparent'\"\r\n [glyph]=\"'refresh'\"\r\n (click)=\"onRetry(file)\"\r\n ></button>\r\n </li>\r\n </ng-container>\r\n</ul>\r\n","import { Directive, HostListener, Input, 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 {\n @Input() dialog: any;\n @Input() dialogComponent: DialogComponent;\n\n constructor(private _renderer2: Renderer2, private _portalService: PortalService) {\n super();\n }\n @HostListener('click')\n onFullscreen(): void {\n const dialogRef = this.dialog;\n const dialogComponent = this.dialogComponent;\n dialogRef.data.fullscreen = !dialogRef.data.fullscreen;\n if (dialogRef.data.fullscreen) {\n this._renderer2.addClass(dialogComponent.dialogWindow.nativeElement, 'bsu-dialog-fullscreen');\n this._portalService.windowResize();\n } else {\n this._renderer2.removeClass(dialogComponent.dialogWindow.nativeElement, 'bsu-dialog-fullscreen');\n this._portalService.windowResize();\n }\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 = 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.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.DeSelectRecords([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 fdTemplate=\"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 <fd-button-bar\n *ngIf=\"!dialogConfig.fullscreen\"\n ariaLabel=\"fullscreen\"\n [glyph]=\"dialog.data.fullscreen ? 'exitfullscreen' : 'resize'\"\n fullscreenDialog\n [dialog]=\"dialog\"\n [dialogComponent]=\"dialogTpl\"\n ></fd-button-bar>\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 <ng-container *ngIf=\"dialog.data.ulv1 as ulv1\">\n <bsu-ui-ulv-main-ui\n class=\"ulv-form-multi-select\"\n [context]=\"ulv1\"\n [inDialog]=\"true\"\n [fullscreen]=\"dialog.data.fullscreen\"\n ></bsu-ui-ulv-main-ui>\n </ng-container>\n <div\n *ngIf=\"dialog.data.ulv2 && dialog.data.ShowSecondPanel\"\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\n <div class=\"ulv-selection-form-dialog__tokens-wrapper\">\n <div class=\"ulv-selection-form-dialog__tokens\">\n <fd-toolbar [shouldOverflow]=\"true\" *ngIf=\"dialog.data.selectedItems\">\n <!-- Selected items -->\n <fd-token\n fd-toolbar-item\n fdOverflowPriority=\"high\"\n class=\"fdp-value-help-dialog__selection-token\"\n (onCloseClick)=\"onRemoveSelected(dialog, item)\"\n *ngFor=\"\n let item of dialog.data.selectedItems.MoDataList;\n index as selectedIndex;\n trackBy: _trackBySelectedFn\n \"\n >{{ item.$Caption }}\n </fd-token>\n </fd-toolbar>\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 </fd-dialog-body>\n\n <fd-dialog-footer *ngIf=\"dialog.data.ulv1 && !dialog.data.ulv1?.HideOkCancelButtons\">\n <ng-template fdTemplate=\"footer\">\n <div\n class=\"ulv-selection-form-dialog__actions-row\"\n *ngIf=\"dialog.data.adapter?.ShowOkCancelButtons !== false\"\n >\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 <fdp-button\n [contentDensity]=\"'compact'\"\n data-dismiss-dialog\n fd-dialog-decisive-button\n [label]=\"'Cancel' | bbbTranslate\"\n [buttonType]=\"'transparent'\"\n (click)=\"onCancel(dialog)\"\n ></fdp-button>\n </div>\n </ng-template>\n </fd-dialog-footer>\n </fd-dialog>\n</ng-template>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { DialogRef } from '@fundamental-ngx/core';\n\nimport { BaseComponent } from 'barsa-novin-ray-core';\n@Component({\n selector: 'bsu-ui-ulv-form-multi-select-ui',\n templateUrl: './ui-ulv-form-multi-select-ui.component.html',\n styleUrls: ['./ui-ulv-form-multi-select-ui.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiUlvFormMultiSelectUiComponent extends BaseComponent {\n constructor(public dialogRef: DialogRef) {\n super();\n }\n}\n","<fd-dialog>\r\n <fd-dialog-header>\r\n <h1 fd-title>{{ dialogRef.data.title }}</h1>\r\n <button fd-dialog-close-button (click)=\"dialogRef.dismiss('Close button')\"></button>\r\n </fd-dialog-header>\r\n\r\n <fd-dialog-body>\r\n <ng-container *ngIf=\"dialogRef.data.ulv1 as ulv1\">\r\n <bsu-ui-ulv-main-ui [context]=\"ulv1\"></bsu-ui-ulv-main-ui>\r\n </ng-container>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <ng-template fdTemplate=\"footer\">\r\n <div\r\n class=\"fdp-value-help-dialog__row fdp-value-help-dialog__selection-row\"\r\n aria-label=\"Selected and condition items\"\r\n i18n-aria-label=\"@@platformI18nValueHelpDialog.SelectionBarLabel\"\r\n >\r\n <h5 fd-title class=\"selected-and-condition-title\">\r\n <ng-container>\r\n <ng-container i18n=\"@@platformI18nValueHelpDialog.SelectedAndConditionLabel\"\r\n >Selected Items and Conditions\r\n </ng-container>\r\n ()\r\n </ng-container>\r\n </h5>\r\n\r\n <div class=\"fdp-value-help-dialog__tokens-wrapper\">\r\n <div class=\"fdp-value-help-dialog__tokens\">\r\n <fd-toolbar [shouldOverflow]=\"true\">\r\n <!-- Selected items -->\r\n </fd-toolbar>\r\n </div>\r\n <button\r\n class=\"fdp-value-help-dialog__tokens-clear\"\r\n fd-button\r\n fdType=\"transparent\"\r\n glyph=\"decline\"\r\n i18n-aria-label=\"@@platformI18nValueHelpDialog.ClearSelectedAriaLabel\"\r\n aria-label=\"clear selected items\"\r\n ></button>\r\n </div>\r\n </div>\r\n <div class=\"fdp-value-help-dialog__actions-row\">\r\n <button\r\n fd-button\r\n data-go-advanced\r\n i18n-label=\"@@platformI18nValueHelpDialog.SearchButton\"\r\n label=\"Go\"\r\n fdType=\"emphasized\"\r\n ></button>\r\n <button\r\n fd-button\r\n data-succes\r\n i18n-label=\"@@platformI18nValueHelpDialog.SuccessButton\"\r\n label=\"OK\"\r\n fdType=\"emphasized\"\r\n ></button>\r\n <button\r\n fd-button\r\n data-dismiss-dialog\r\n fd-dialog-decisive-button\r\n i18n-label=\"@@platformI18nValueHelpDialog.CancelButton\"\r\n label=\"Cancel\"\r\n fdType=\"transparent\"\r\n ></button>\r\n </div>\r\n </ng-template>\r\n </fd-dialog-footer>\r\n</fd-dialog>\r\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Input,\n OnInit,\n TemplateRef,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\nimport { Observable } from 'rxjs';\n\nimport { LayoutService, LayoutPanelBaseComponent } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-ly-layout-container',\n templateUrl: './ly-layout-container.component.html',\n styleUrls: ['./ly-layout-container.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [LayoutService]\n})\nexport class LyLayoutContainerComponent extends LayoutPanelBaseComponent implements OnInit {\n @Input() renderItems: TemplateRef<any>;\n @Input() isRoot: boolean;\n @HostBinding('attr.maxLabelWidth') maxLabelWidth = 0;\n @HostBinding('style.display') display;\n @HostBinding('style.flex') flex;\n @ViewChild('viewRefTemplate', { read: ViewContainerRef, static: true }) viewRef: ViewContainerRef;\n\n visible = true;\n // @HostBinding('class.row-reverse-direction')\n rowDirection = false;\n // @HostBinding('class.column-direction')\n columnDirection = false;\n selectedTabIndex: any;\n rootRendered$: Observable<boolean>;\n enable: boolean;\n readonly: boolean;\n\n ngOnInit(): void {\n super.ngOnInit();\n this._setDisplay();\n this.config.controlUi = this;\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.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 }\n /* eslint-disable */\n @Input() SetVisible = (visible: boolean) => {\n // from formpanleui will be set\n this.visible = visible;\n this.display = this.visible ? 'flex' : 'none';\n };\n /* eslint-disable */\n @Input() SetEnable = (enable: boolean) => {\n // from formpanleui will be set\n this.enable = enable;\n };\n /* eslint-disable */\n @Input() SetReadonly = (readonly: boolean) => {\n // from formpanleui will be set\n this.readonly = readonly;\n };\n private _setDisplay(): void {\n this.display = this.visible ? 'flex' : 'none';\n }\n}\n","<canvas #canvas style=\"display: none\"></canvas>\r\n<ng-container *ngFor=\"let item of config | filterToolbarControl\">\r\n <ng-container [ngSwitch]=\"item.xtype\">\r\n <ng-container *ngSwitchCase=\"'Ly.LayoutTabPanel'\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: { $implicit: item, name: 'LyLayoutPanelComponent', selector: 'bsu-ly-tab-container' }\r\n \"\r\n ></ng-container>\r\n <!-- <bsu-ly-tab-container [config]=\"item\"></bsu-ly-tab-container> -->\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'Ly.LayoutPanel'\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: { $implicit: item, name: 'LyLayoutPanelComponent', selector: 'bsu-ly-layout-panel' }\r\n \"\r\n ></ng-container>\r\n <!-- <bsu-ly-layout-panel [config]=\"item\"></bsu-ly-layout-panel> -->\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'Ly.LayoutContainer'\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: {\r\n $implicit: item,\r\n name: 'LyLayoutContainerComponent',\r\n selector: 'bsu-ly-layout-container'\r\n }\r\n \"\r\n ></ng-container>\r\n <!-- <bsu-ly-layout-container [config]=\"item\"></bsu-ly-layout-container> -->\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'Ly.EmptySpace'\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: { $implicit: item, name: 'LyEmptySpaceComponent', selector: 'bsu-ly-empty-space' }\r\n \"\r\n ></ng-container>\r\n <!-- <bsu-ly-empty-space [config]=\"item\"></bsu-ly-empty-space> -->\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'Ly.SimpleLabel'\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: { $implicit: item, name: 'LySimpleLabelComponent', selector: 'bsu-ly-simple-label' }\r\n \"\r\n ></ng-container>\r\n <!-- <bsu-ly-simple-label [config]=\"item\"></bsu-ly-simple-label> -->\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'Ly.LayoutLine'\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: { $implicit: item, name: 'LyLineComponent', selector: 'bsu-ly-line' }\r\n \"\r\n ></ng-container>\r\n <!-- <bsu-ly-line [isVertical]=\"item.IsVertical\"></bsu-ly-line> -->\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'Ly.LayoutJoin'\">\r\n <ng-container *ngIf=\"item.Type === 'HorizontalJoin'; else verticalJoin\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: {\r\n $implicit: item,\r\n selector: 'bsu-ly-horizontal-layout',\r\n name: 'LyLayoutHorizontalComponent'\r\n }\r\n \"\r\n ></ng-container>\r\n <!-- <bsu-ly-horizontal-layout [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-ly-horizontal-layout> -->\r\n </ng-container>\r\n <ng-template #verticalJoin>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: {\r\n $implicit: item,\r\n selector: 'bsu-ly-vertical-layout',\r\n name: 'LyLayoutVerticalComponent'\r\n }\r\n \"\r\n ></ng-container>\r\n <!-- <bsu-ly-vertical-layout [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-ly-vertical-layout> -->\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'Ly.LayoutControl'\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: {\r\n $implicit: item,\r\n selector: 'bsu-layout-control',\r\n name: 'LayoutControlComponent'\r\n }\r\n \"\r\n ></ng-container>\r\n <!-- <bsu-layout-control [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-layout-control> -->\r\n </ng-container>\r\n </ng-container>\r\n</ng-container>\r\n<ng-template #dynamicLayout let-config let-selector=\"selector\" let-name=\"name\">\r\n\r\n <bnrc-dynamic-layout\r\n [config]=\"config\"\r\n [selector]=\"selector\"\r\n [name]=\"name\"\r\n [module]=\"'BarsaSapUi'\"\r\n [moduleFileName]=\"'BarsaSapUi'\"\r\n [maxLabelWidth]=\"(maxLabelWidth$ | async)!!\"\r\n [flex]=\"isSearchPanel ? 'unset' : config.Bounds.width\"\r\n [isSearchPanel]=\"isSearchPanel\"\r\n >\r\n </bnrc-dynamic-layout>\r\n</ng-template>\r\n\r\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\n scrollThrottle = 0;\n constructor(protected _overlay: Overlay) {\n super();\n }\n ngOnInit(): void {\n super.ngOnInit();\n this.repositionScrollStrategy = this._overlay.scrollStrategies.reposition({\n autoClose: this.autoClose,\n scrollThrottle: this.scrollThrottle\n });\n this.isMobile = getDeviceIsMobile();\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>\r\n<ng-template #defaultTemplate>\r\n <ng-container *ngIf=\"visible\">\r\n <div fd-bar barDesign=\"footer\" [inPage]=\"true\" *ngIf=\"buttons.length || workflowButtons?.length\">\r\n <div fd-bar-left *ngIf=\"canSend && false\">\r\n <fd-bar-element class=\"forward\">\r\n <fd-popover\r\n [focusTrapped]=\"true\"\r\n [focusAutoCapture]=\"true\"\r\n [closeOnOutsideClick]=\"false\"\r\n [scrollStrategy]=\"repositionScrollStrategy\"\r\n #forwardPopover\r\n >\r\n <fd-popover-control class=\"forward\">\r\n <button fd-button [fdType]=\"'standard'\" [label]=\"'Forward' | bbbTranslate\"></button>\r\n </fd-popover-control>\r\n <fd-popover-body style=\"min-width: 30vw; max-width: 30vw; min-height: 30vh\">\r\n <div fd-popover-body-header>\r\n <div fd-bar barDesign=\"header\" [cozy]=\"true\">\r\n <div fd-bar-right>\r\n <fd-bar-element\r\n ><button\r\n fd-button\r\n (click)=\"forwardPopover.close()\"\r\n [fdType]=\"'transparent'\"\r\n [glyph]=\"'decline'\"\r\n ></button>\r\n </fd-bar-element>\r\n <div fd-bar-left>\r\n <fd-bar-element>ارجاع فرم به شخص دیگر </fd-bar-element>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <bnrc-form-new\r\n class=\"form-erja\"\r\n [settings]=\"{\r\n MetaTypeDef: { Id: '', $Caption: '' },\r\n MetaView: { Id: '', $Caption: '' },\r\n DisableGenerateId: true\r\n }\"\r\n ></bnrc-form-new>\r\n <div fd-popover-body-footer>\r\n <div fd-bar barDesign=\"footer\" [cozy]=\"true\">\r\n <div fd-bar-right>\r\n <fd-button-bar\r\n [label]=\"'Send' | bbbTranslate\"\r\n fdType=\"emphasized\"\r\n ></fd-button-bar>\r\n <fd-button-bar\r\n [label]=\"'Cancel' | bbbTranslate\"\r\n [fdType]=\"'transparent'\"\r\n (click)=\"forwardPopover.close()\"\r\n ></fd-button-bar>\r\n </div>\r\n </div>\r\n </div>\r\n </fd-popover-body>\r\n </fd-popover>\r\n </fd-bar-element>\r\n </div>\r\n <div fd-bar-right>\r\n <ng-container *ngIf=\"workflowButtonsComboMode && workflowButtons.length > 0; else buttonsMode\">\r\n <fd-split-button\r\n [fixedWidth]=\"false\"\r\n fdType=\"emphasized\"\r\n [mainAction]=\"{ mainActionTitle: 'Select' | bbbTranslate }\"\r\n >\r\n <fd-menu>\r\n <li\r\n fd-menu-item\r\n *ngFor=\"let btn of workflowButtons\"\r\n (click)=\"onWorkflowButtonSelected(btn)\"\r\n >\r\n <div fd-menu-interactive>\r\n <span fd-menu-title>{{ btn.text }}</span>\r\n </div>\r\n </li>\r\n </fd-menu>\r\n </fd-split-button>\r\n <fd-button-bar\r\n [fdType]=\"'positive'\"\r\n [label]=\"'Send' | bbbTranslate\"\r\n [disabled]=\"!selectedWorkflowButton\"\r\n [glyph]=\"'accept'\"\r\n (click)=\"onAcceptWorkflow()\"\r\n ></fd-button-bar>\r\n </ng-container>\r\n\r\n <ng-container *ngFor=\"let btn of buttons; let i = index\">\r\n <fd-button-bar\r\n *ngIf=\"btn !== '-'\"\r\n [fdType]=\"btn.design ? btn.design : btn.Data?.JsonExtraProp?.Design\"\r\n [label]=\"btn.text\"\r\n [glyph]=\"btn.newIcon ? btn.newIcon : btn.Data?.JsonExtraProp?.Icon\"\r\n (click)=\"onToolClick(btn)\"\r\n ></fd-button-bar>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"isMobile\" style=\"background-color: transparent; height: 4rem\"></div>\r\n</ng-template>\r\n<ng-template #buttonsMode>\r\n <ng-container *ngFor=\"let btn of workflowButtons; let i = index\">\r\n <fd-button-bar\r\n *ngIf=\"btn !== '-'\"\r\n [attr.workflowButton]=\"true\"\r\n [fdType]=\"btn.design ? btn.design : btn.Data?.JsonExtraProp?.Design\"\r\n [label]=\"btn.text\"\r\n [glyph]=\"btn.newIcon ? btn.newIcon : btn.Data?.JsonExtraProp?.Icon\"\r\n (click)=\"onToolClick(btn)\"\r\n ></fd-button-bar>\r\n </ng-container>\r\n</ng-template>\r\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 @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 this.config.controlUi = this;\n this.flex = this.config.Bounds.width;\n }\n refreshLayout(): void {\n this.layoutService.refreshLayout();\n }\n}\n","<canvas #canvas style=\"display: none\"></canvas>\n\n<ng-container *untilInView=\"el\">\n <ng-container *ngFor=\"let item of config | filterToolbarControl\">\n <ng-container [ngSwitch]=\"item.xtype\">\n <ng-container *ngSwitchCase=\"'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 </ng-container>\n <ng-container *ngSwitchCase=\"'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 </ng-container>\n <ng-container *ngSwitchCase=\"'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 </ng-container>\n <ng-container *ngSwitchCase=\"'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 </ng-container>\n <ng-container *ngSwitchCase=\"'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 </ng-container>\n <ng-container *ngSwitchCase=\"'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 </ng-container>\n <ng-container *ngSwitchCase=\"'Ly.LayoutJoin'\">\n <ng-container *ngIf=\"item.Type === 'HorizontalJoin'; else verticalJoin\">\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 </ng-container>\n <ng-template #verticalJoin>\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 </ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"'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 </ng-container>\n </ng-container>\n </ng-container>\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 {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n TemplateRef,\r\n ViewChild,\r\n ViewContainerRef\r\n} from '@angular/core';\r\nimport { ContentDensity, DynamicPageComponent, TabPanelComponent } from '@fundamental-ngx/core';\r\n\r\nimport { BaseComponent, BreadCrumbInfo, MetaobjectDataModel, LayoutSetting } from 'barsa-novin-ray-core';\r\n@Component({\r\n selector: 'bsu-fundamental-dynamic-form',\r\n templateUrl: './fundamental-dynamic-form.component.html',\r\n styleUrls: ['./fundamental-dynamic-form.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class FundamentalDynamicFormComponent extends BaseComponent implements OnInit {\r\n @ViewChild(DynamicPageComponent) _dynamicPageComponent: DynamicPageComponent;\r\n @Output() toolbarClick = new EventEmitter<any>();\r\n @Output() workflowChoiceClick = new EventEmitter<any>();\r\n /* eslint-disable */\r\n @Output() close = new EventEmitter();\r\n @Input() breadCrumbs: BreadCrumbInfo[] | null;\r\n @Input() toolbarVisible: boolean;\r\n @Input() toolbarItems: any[];\r\n @Input() layoutActions: any[];\r\n @Input() layout94;\r\n @Input() parameters: MetaobjectDataModel;\r\n @Input() workflowPanelUi: any;\r\n @Input() context: any;\r\n @Input() title: string;\r\n @Input() subtitle: string;\r\n @Input() description: string;\r\n @Input() facetList: any[];\r\n @Input() fieldDict: { [key: string]: string } | undefined;\r\n @Input() removeHeaderBorder: boolean;\r\n @Input() removeContentPadding: boolean;\r\n @Input() isMobile: boolean;\r\n @Input() mo: MetaobjectDataModel;\r\n @Input() avatar: any;\r\n @Input() rtl: boolean;\r\n @Input() hideTitle = true;\r\n @Input() hideClose: boolean;\r\n @Input() hidePin: boolean;\r\n @Input() mask: boolean;\r\n @Input() canSend: boolean;\r\n @Input() contentIsPage: boolean;\r\n @Input() contentDensity: ContentDensity;\r\n @Input() deviceSize: 's' | 'm' | 'l' | 'xl';\r\n @Input() dirValue: 'rtl' | 'ltr';\r\n @Input() modernTabs: LayoutSetting[];\r\n @ViewChild('titleRef', { read: ViewContainerRef }) titleRef: ViewContainerRef;\r\n @ViewChild('headerAvatar') headerAvatarRef: TemplateRef<any>;\r\n workflowButtons: any[];\r\n selectedTab: any;\r\n\r\n toolbarShouldOverflow = false;\r\n workflowInfoText: string;\r\n workflowButtonsComboMode: boolean;\r\n\r\n constructor(public el: ElementRef) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.facetList ||= [];\r\n this.workflowInfoText = this.workflowPanelUi?.Setting?.Workflow?.InfoText;\r\n const workflowButtons = this.workflowPanelUi?.buttonList ?? [];\r\n this.workflowButtonsComboMode = this.workflowPanelUi?.Setting?.Workflow?.ButtonsComboMode;\r\n this.workflowButtons = workflowButtons;\r\n\r\n const toolbarButtonsCount = this.toolbarItems.filter((c) => typeof c !== 'string' && c.text !== '-').length;\r\n if (this.deviceSize === 's' && toolbarButtonsCount > 1) {\r\n this.toolbarShouldOverflow = true;\r\n } else {\r\n if (toolbarButtonsCount > 5) {\r\n this.toolbarShouldOverflow = true;\r\n }\r\n }\r\n }\r\n onToolbarClick(btn, menu: any = null): void {\r\n if (menu) {\r\n menu.close();\r\n }\r\n this.toolbarClick.emit(btn);\r\n }\r\n onWfChoiceSelect(wfChoice): void {\r\n this.workflowChoiceClick.emit(wfChoice);\r\n }\r\n onTabChanged(tab: TabPanelComponent): void {\r\n this.selectedTab = tab.title;\r\n }\r\n getNumber(val): number {\r\n return Number(val);\r\n }\r\n onDynamicComponentEvents(e) {}\r\n}\r\n","<div *ngIf=\"mask\" style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%\">\r\n <bsu-mask size=\"m\"></bsu-mask>\r\n</div>\r\n\r\n<fd-dynamic-page\r\n [size]=\"isMobile ? 'small' : 'large'\"\r\n [class.header-border]=\"!removeHeaderBorder\"\r\n [attr.contentIsPage]=\"contentIsPage\"\r\n>\r\n <fd-dynamic-page-header\r\n [class.simple-title]=\"!description\"\r\n [title]=\"(hideTitle === true ? '' : title) | bbbTranslate\"\r\n [subtitle]=\"subtitle | bbbTranslate\"\r\n [class.p-b0]=\"removeContentPadding\"\r\n [class.hide-title]=\"hideTitle === true && hideClose === true\"\r\n #titleRef\r\n >\r\n <fd-breadcrumb>\r\n <ng-container *ngIf=\"breadCrumbs\">\r\n <ng-container\r\n *ngFor=\"let breadCrumb of breadCrumbs | slice: 0:breadCrumbs.length; let i = index; let last = last\"\r\n >\r\n <fd-breadcrumb-item>\r\n <bsu-breadcrumb\r\n [index]=\"i\"\r\n [isLast]=\"last\"\r\n [breadCrumb]=\"breadCrumb\"\r\n [allBreadCrumb]=\"breadCrumbs\"\r\n ></bsu-breadcrumb>\r\n </fd-breadcrumb-item>\r\n </ng-container>\r\n </ng-container>\r\n </fd-breadcrumb>\r\n <fd-dynamic-page-global-actions>\r\n <!-- global actions -->\r\n <fd-toolbar\r\n *ngIf=\"toolbarVisible\"\r\n fdType=\"transparent\"\r\n [clearBorder]=\"true\"\r\n [shouldOverflow]=\"deviceSize === 's'\"\r\n >\r\n <ng-container *ngFor=\"let btn of toolbarItems; let i = index; let last = last; let first = first\">\r\n <fd-toolbar-separator\r\n [attr.i]=\"i\"\r\n [attr.last]=\"last\"\r\n [attr.first]=\"first\"\r\n *ngIf=\"(btn === '-' || btn.text === '-') && !last && !first\"\r\n ></fd-toolbar-separator>\r\n <ng-container *ngIf=\"btn.IAmMenu; else simpleButton\">\r\n <fd-split-button\r\n [dir]=\"dirValue\"\r\n [compact]=\"contentDensity === 'compact' ? true : false\"\r\n fd-toolbar-item\r\n [mainAction]=\"{ mainActionTitle: btn.text, keepMainAction: true }\"\r\n [fdType]=\"btn.design ? btn.design : btn.Data?.JsonExtraProp?.Design\"\r\n [glyph]=\"(btn.newIcon ? btn.newIcon : btn.Data?.JsonExtraProp?.Icon) || 'slim-arrow-down'\"\r\n (click)=\"menu.open()\"\r\n >\r\n <fd-menu #menu>\r\n <li\r\n fd-menu-item\r\n *ngFor=\"let menuItem of btn.menu.items\"\r\n [disabled]=\"menuItem.disabled\"\r\n (click)=\"onToolbarClick(menuItem, menu)\"\r\n >\r\n <div fd-menu-interactive>\r\n <fd-menu-addon\r\n position=\"before\"\r\n [glyph]=\"\r\n menuItem.newIcon ? menuItem.newIcon : menuItem.Data?.JsonExtraProp?.Icon\r\n \"\r\n >\r\n </fd-menu-addon>\r\n <img class=\"mr8\" *ngIf=\"menuItem.icon\" [src]=\"menuItem.icon\" />\r\n <span fd-menu-title>{{ menuItem.text }}</span>\r\n </div>\r\n </li>\r\n </fd-menu>\r\n </fd-split-button>\r\n </ng-container>\r\n <ng-template #simpleButton>\r\n <ng-container *ngIf=\"!(btn === '-' || btn.text === '-')\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n btn.Data?.CustomUi?.Selector ? dynamicBtnTemplate : btnTemplate;\r\n context: { $implicit: btn }\r\n \"\r\n ></ng-container>\r\n <ng-template #btnTemplate let-btn>\r\n <button\r\n fd-toolbar-item\r\n fd-button\r\n [disabled]=\"btn.disabled\"\r\n [buttonType]=\"\r\n btn.isWorkflow\r\n ? 'positive'\r\n : btn.design\r\n ? btn.design\r\n : btn.Data?.JsonExtraProp?.Design\r\n \"\r\n [glyph]=\"btn.newIcon ? btn.newIcon : btn.Data?.JsonExtraProp?.Icon\"\r\n (click)=\"onToolbarClick(btn)\"\r\n >\r\n <img\r\n *ngIf=\"!btn.Data?.JsonExtraProp?.Icon && !btn.newIcon && btn.icon\"\r\n width=\"16\"\r\n [src]=\"btn.icon\"\r\n />\r\n <span>{{ btn.text }}</span>\r\n </button>\r\n </ng-template>\r\n <ng-template #dynamicBtnTemplate let-btn>\r\n <bnrc-dynamic-form-toolbaritem\r\n fd-toolbar-item\r\n [component]=\"btn.Data.CustomUi\"\r\n [context]=\"btn\"\r\n [isEnable]=\"btn.Command?._isEnable\"\r\n (btnClick)=\"onToolbarClick(btn)\"\r\n ></bnrc-dynamic-form-toolbaritem>\r\n </ng-template>\r\n </ng-container>\r\n <!-- <button\r\n *ngIf=\"!(btn === '-' || btn.text === '-')\"\r\n fd-toolbar-item\r\n fd-button\r\n [buttonType]=\"\r\n btn.isWorkflow ? 'positive' : btn.design ? btn.design : btn.Data?.JsonExtraProp?.Design\r\n \"\r\n [glyph]=\"btn.newIcon ? btn.newIcon : btn.Data?.JsonExtraProp?.Icon\"\r\n (click)=\"onToolbarClick(btn)\"\r\n >\r\n <img\r\n *ngIf=\"!btn.Data?.JsonExtraProp?.Icon && !btn.newIcon && btn.icon\"\r\n width=\"16\"\r\n [src]=\"btn.icon\"\r\n />\r\n <span>{{ btn.text }}</span>\r\n </button> -->\r\n </ng-template>\r\n </ng-container>\r\n </fd-toolbar>\r\n <!-- <bsu-ui-form-panel-toolbar\r\n [buttons]=\"toolbarItems | tlbButtons: 'inFooter':false\"\r\n [size]=\"size\"\r\n [deviceSize]=\"deviceSize$ | async\"\r\n [visible]=\"toolbarVisible\"\r\n (toolClick)=\"onToolbarClick($event)\"\r\n ></bsu-ui-form-panel-toolbar> -->\r\n </fd-dynamic-page-global-actions>\r\n <fd-dynamic-page-layout-actions>\r\n <!-- layout actions -->\r\n <!-- <div [formActions]=\"this.toolbar\"></div> -->\r\n <fd-toolbar *ngIf=\"!hideClose\" fdType=\"transparent\" [clearBorder]=\"true\">\r\n <button fd-button fdType=\"transparent\" aria-label=\"Close\" (click)=\"close.emit()\" title=\"Close\">\r\n <i class=\"sap-icon--decline\"></i>\r\n </button>\r\n </fd-toolbar>\r\n </fd-dynamic-page-layout-actions>\r\n </fd-dynamic-page-header>\r\n <fd-dynamic-page-subheader\r\n *ngIf=\"description || facetList.length > 0 || workflowInfoText\"\r\n [class.header-no-description]=\"!(description || workflowInfoText)\"\r\n [class.no-pin]=\"hidePin\"\r\n [collapsible]=\"!!workflowInfoText || (facetList && facetList.length > 0)\"\r\n [pinnable]=\"true\"\r\n [collapsed]=\"(!facetList || facetList.length === 0) && !workflowInfoText\"\r\n >\r\n <fd-message-strip [type]=\"'warning'\" *ngIf=\"workflowInfoText\" [dismissible]=\"false\">\r\n {{ workflowInfoText | bbbTranslate }}\r\n </fd-message-strip>\r\n <fd-facet-group ariaLabel=\"Facet Group\">\r\n <fd-facet *ngIf=\"avatar\" type=\"image\">\r\n <fd-avatar\r\n title=\"avatar\"\r\n [glyph]=\"avatar\"\r\n [image]=\"!avatar?.FileId ? null : (avatar?.FileId | picFieldSrc: 'ID':null)\"\r\n [size]=\"deviceSize === 'xl' ? 'l' : deviceSize\"\r\n ></fd-avatar>\r\n <!-- <div\r\n class=\"fd-avatar fd-avatar--circle\"\r\n [class]=\"'fd-avatar--' + (deviceSize === 'xl' ? 'l' : deviceSize)\"\r\n >\r\n <i *ngIf=\"avatar\" class=\"fd-avatar__icon\" [class]=\"avatar | sapFontClass\" role=\"presentation\"> </i>\r\n </div> -->\r\n </fd-facet>\r\n <fd-facet\r\n *ngFor=\"let facet of facetList\"\r\n [type]=\"facet.type\"\r\n [facetTitle]=\"facet.mo.Title | bbbTranslate\"\r\n [subtitle]=\"facet.mo.SubTitle | facetValue | bbbTranslate\"\r\n >\r\n <fd-facet-content *ngFor=\"let item of facet.mo.ItemList?.MoDataList\">\r\n <label fd-form-label [colon]=\"true\" for=\"form-value-10\">{{ item.Title }}</label>\r\n <fd-text [text]=\"item.Value | facetValue\" id=\"form-value-10\"></fd-text>\r\n </fd-facet-content>\r\n <span\r\n *ngIf=\"\r\n !facet.mo.IsNumber && facet.type === 'key-value' && !facet.mo.Component?.Selector;\r\n else dynamicComponentTpl\r\n \"\r\n fd-object-status\r\n [status]=\"facet.mo.Status | facetValue\"\r\n [label]=\"facet.mo.Component?.Selector ? '' : (facet.mo.Text | facetValue)\"\r\n [large]=\"facet.mo.IsLarge\"\r\n [title]=\"facet.mo.Text | facetValue\"\r\n [aria-label]=\"facet.mo.Text | facetValue\"\r\n [glyph]=\"facet.mo.Icon\"\r\n >\r\n </span>\r\n <ng-template #dynamicComponentTpl>\r\n <bnrc-dynamic-component\r\n [class]=\"'fd-object-status--' + facet.mo.Status | facetValue\"\r\n [class.fd-object-status--large]=\"facet.mo.IsLarge\"\r\n [component]=\"facet.mo.Component\"\r\n [value]=\"facet.mo.Text\"\r\n ></bnrc-dynamic-component>\r\n </ng-template>\r\n <fd-object-number\r\n *ngIf=\"facet.mo.IsNumber && facet.type === 'key-value'\"\r\n [number]=\"facet.mo.Text | facetValue\"\r\n [large]=\"facet.mo.IsLarge\"\r\n [unit]=\"facet.mo.Unit | facetValue\"\r\n [status]=\"facet.mo.Status | facetValue\"\r\n [decimal]=\"facet.mo.Decimal | facetValue\"\r\n ></fd-object-number>\r\n\r\n <div *ngIf=\"facet.type === 'plain-text'\" [style.width.px]=\"facet.mo.Width\" style=\"white-space: normal\">\r\n <fd-text [text]=\"facet.mo.Text | facetValue\" hyphenation=\"auto\"></fd-text>\r\n </div>\r\n\r\n <fd-facet-content *ngIf=\"facet.type === 'rating-indicator'\">\r\n <fd-rating-indicator\r\n style=\"pointer-events: none\"\r\n size=\"md\"\r\n [dynamicTextIndicator]=\"facet.mo.Footer\"\r\n [displayMode]=\"true\"\r\n [value]=\"facet.mo.Value | facetValue: facet.type\"\r\n ></fd-rating-indicator>\r\n </fd-facet-content>\r\n <div *ngIf=\"facet.type === 'progress'\" [style.width]=\"'10rem'\">\r\n <span fd-form-label>{{ facet.mo.Subtitle | facetValue }}</span>\r\n <fd-progress-indicator\r\n style=\"width: 10r em\"\r\n [state]=\"facet.mo.State\"\r\n [valueText]=\"'1 از 10 مرحله'\"\r\n [valueNow]=\"facet.mo.Value | facetValue: facet.type\"\r\n [valueMax]=\"10\"\r\n [unit]=\"'مرحله'\"\r\n ></fd-progress-indicator>\r\n <!-- <ui5-progress-indicator\r\n style=\"width: 10rem\"\r\n [valueState]=\"facet.mo.State\"\r\n [value]=\"getNumber(facet.mo.Value)\"\r\n ></ui5-progress-indicator> -->\r\n </div>\r\n <div *ngIf=\"facet.type === 'microcharts'\">\r\n <label wrap>in progress ...</label>\r\n </div>\r\n </fd-facet>\r\n </fd-facet-group>\r\n <span *ngIf=\"description\">{{ description }}</span>\r\n </fd-dynamic-page-subheader>\r\n\r\n <fd-tab-list\r\n (selectedTabChange)=\"onTabChanged($event)\"\r\n *ngIf=\"!contentIsPage && modernTabs && modernTabs.length > 0 && !parameters?.LayoutComponent; else renderLayout\"\r\n [collapseOverflow]=\"true\"\r\n [stackContent]=\"false\"\r\n maxContentHeight=\"auto\"\r\n [expandOverflowText]=\"'More' | bbbTranslate\"\r\n #tablist\r\n >\r\n <fd-tab\r\n *ngFor=\"let tab of modernTabs; let i = index\"\r\n [title]=\"tab.Title!! | bbbTranslate\"\r\n [selected]=\"true\"\r\n style=\"height: 100%\"\r\n >\r\n <fd-dynamic-page-content [id]=\"tab.id\">\r\n <bsu-ly-tab-page [config]=\"tab\" [tablist]=\"tablist\"></bsu-ly-tab-page>\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n </fd-tab-list>\r\n <ng-template #renderLayout>\r\n <fd-dynamic-page-content [class.no-padding]=\"removeContentPadding\" *ngIf=\"!contentIsPage\">\r\n <!-- <bsu-ly-layout-container-of-root\r\n [config]=\"layout94\"\r\n [isPanel]=\"false\"\r\n [isRoot]=\"true\"\r\n ></bsu-ly-layout-container-of-root> -->\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n parameters?.LayoutComponent ? renderLayoutComponent : renderDefaultLayout;\r\n context: {\r\n $implicit: parameters?.LayoutComponent,\r\n layout94: layout94\r\n }\r\n \"\r\n ></ng-container>\r\n </fd-dynamic-page-content>\r\n </ng-template>\r\n <fd-dynamic-page-footer>\r\n <bsu-layout-actions\r\n [canSend]=\"canSend\"\r\n [buttons]=\"layoutActions\"\r\n [workflowButtons]=\"workflowButtons\"\r\n [workflowButtonsComboMode]=\"workflowButtonsComboMode\"\r\n [deviceSize]=\"deviceSize\"\r\n [rtl]=\"rtl\"\r\n (toolClick)=\"onToolbarClick($event)\"\r\n (workflowChoiceSelect)=\"onWfChoiceSelect($event)\"\r\n >\r\n </bsu-layout-actions>\r\n </fd-dynamic-page-footer>\r\n</fd-dynamic-page>\r\n<ng-container *ngIf=\"contentIsPage\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderLayoutComponent;\r\n context: {\r\n $implicit: parameters?.LayoutComponent,\r\n layout94: layout94\r\n }\r\n \"\r\n ></ng-container>\r\n</ng-container>\r\n<ng-template #renderDefaultLayout let-layout94=\"layout94\">\r\n <bsu-ly-layout-container-of-root\r\n [config]=\"layout94\"\r\n [isPanel]=\"false\"\r\n [isRoot]=\"true\"\r\n ></bsu-ly-layout-container-of-root>\r\n</ng-template>\r\n<ng-template #renderLayoutComponent let-component let-layout94=\"layout94\">\r\n <bnrc-dynamic-form-component\r\n [component]=\"component\"\r\n [removeContentPadding]=\"removeContentPadding\"\r\n [breadCrumbs]=\"breadCrumbs\"\r\n [description]=\"description\"\r\n [title]=\"title\"\r\n [subtitle]=\"subtitle\"\r\n [toolbarItems]=\"toolbarItems\"\r\n [layoutActions]=\"layoutActions\"\r\n [facetList]=\"facetList\"\r\n [settings]=\"component.Settings\"\r\n [workflowPanelUi]=\"workflowPanelUi\"\r\n [isMobile]=\"isMobile\"\r\n [mo]=\"mo\"\r\n [layout94]=\"layout94\"\r\n [context]=\"context\"\r\n [rtl]=\"rtl\"\r\n [fieldDict]=\"fieldDict\"\r\n [mask]=\"mask\"\r\n [dirValue]=\"dirValue\"\r\n [deviceSize]=\"deviceSize\"\r\n [contentDensity]=\"contentDensity\"\r\n [modernTabs]=\"modernTabs\"\r\n [avatar]=\"avatar\"\r\n (events)=\"onDynamicComponentEvents($event)\"\r\n ></bnrc-dynamic-form-component>\r\n</ng-template>\r\n","import { ChangeDetectionStrategy, Component, HostListener, Input, OnInit, TemplateRef, ViewChild } from '@angular/core';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { map, takeUntil, tap } from 'rxjs/operators';\nimport { DialogRef, MultiInputComponent } from '@fundamental-ngx/core';\n\nimport { BarsaApi, ReportModel, MetaobjectDataModel } from 'barsa-novin-ray-core';\nimport { DeviceInfoFieldBaseComponent } from '../device-info-field-base';\ninterface LinearItemMo extends MetaobjectDataModel {\n Data: MetaobjectDataModel;\n Id: string;\n Text: string;\n}\n@Component({\n selector: 'bsu-ui-linear-list-container-with-button',\n templateUrl: './ui-linear-list-container-with-button.component.html',\n styleUrls: ['./ui-linear-list-container-with-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiLinearListContainerWithButtonComponent extends DeviceInfoFieldBaseComponent implements OnInit {\n @ViewChild(MultiInputComponent)\n multiInputComponent: MultiInputComponent;\n @ViewChild('container', { read: TemplateRef })\n dialogContainer: TemplateRef<any>;\n @Input() set UlvUi(val: { Setting: ReportModel }) {\n if (val) {\n const moList = val.Setting.Data.MoDataList;\n this.dropDownValuesSource.next(moList);\n this._ulvUi = val;\n }\n }\n mobile = false;\n dropDownValuesSource = new BehaviorSubject<MetaobjectDataModel[]>([]);\n dropDownValues$ = this.dropDownValuesSource.asObservable().pipe(\n map((moList) => {\n const t = moList.filter((c) => this.value.find((d) => d.Id === c.Id) === undefined);\n return t;\n }),\n tap(\n (moList) =>\n (this.firstItem = {\n $Caption: moList[0]?.$Caption,\n Id: moList[0]?.Id,\n Text: moList[0]?.$Caption,\n Data: moList[0]\n })\n )\n );\n selected: any[];\n report = null;\n term = '';\n termSource = new Subject<string>();\n originalMoList: LinearItemMo[];\n value: LinearItemMo[];\n rtl = BarsaApi.LoginFormData.IsRtl;\n dialogRef: DialogRef;\n dialogOpen: boolean;\n firstItem: LinearItemMo;\n\n private showUlvSource = new Subject<void>();\n private _ulvUi: { [key: string]: any; Setting: ReportModel };\n private _triggerClicked: boolean;\n\n @HostListener('keydown.enter', ['$event'])\n onKeyEnter(): void {\n if (this.term) {\n if (!this.dropDownValuesSource.getValue().length) {\n this.fireContextEvent('RequestCommand', this.context, 'New');\n }\n }\n }\n @HostListener('keydown.arrowdown', ['$event'])\n onKeyDown(): void {\n if (!this.term && this.hidden()) {\n this.context.fireEvent('RequestFilter2');\n }\n }\n @HostListener('keydown.esc', ['$event'])\n onKeyEsc(): void {\n this._changeDropDownOpenState(false);\n }\n ngOnInit(): void {\n this.showUlvSource\n .asObservable()\n .pipe(takeUntil(this._onDestroy$))\n .subscribe(() => this._openUlv());\n super.ngOnInit();\n this.report = this.Setting.Report;\n\n this.originalMoList = [...this.value];\n this.termSource\n .asObservable()\n .pipe(\n takeUntil(this._onDestroy$),\n tap((term) => {\n this.term = term;\n if (!term) {\n this.dropDownValuesSource.next([]);\n } else {\n this.context.fireEvent('RequestFilter', term);\n }\n })\n )\n .subscribe();\n }\n\n onSearchTermChange(term: string): void {\n this.termSource.next(term);\n }\n onOpenReport(): void {\n this._triggerClicked = true;\n this.termSource.next('');\n this.context.fireEvent('TriggerClick', this.context);\n }\n\n onSelectedChange(arr: LinearItemMo[]): void {\n this._selectedChanged(arr);\n }\n onRemoveSelected(mo): void {\n this._removeFromSelected(mo);\n }\n onDismiss(): void {\n this._closeDialog();\n }\n\n onOk(): void {\n this._selectedChanged(this.dialogRef.data.selectedItems);\n this._closeDialog();\n }\n onClear(): void {\n this.dialogRef.data.ulvUi.viewerControl.ClearAllSelected();\n this.dialogRef.data.selectedItems = [];\n }\n _trackBySelectedFn(_index: number, item: MetaobjectDataModel): number | string {\n return item.Id;\n }\n\n displayFunc(obj: any): string {\n return obj.Text ?? obj.$Caption;\n }\n _setValue(value: any): void {\n this.originalMoList = [...value];\n super._setValue(value);\n }\n /* eslint-disable */\n @Input() GetTextItemValue = () => this.term;\n /* eslint-disable */\n @Input() show = () => {\n this._openUlv();\n };\n /* eslint-disable */\n @Input() hide = () => {\n this._changeDropDownOpenState(false);\n };\n /* eslint-disable */\n @Input() hidden = () => {\n return this.multiInputComponent && !this.multiInputComponent.open && !this.dialogOpen;\n };\n @Input() GetSelectionData = () => {\n return this.multiInputComponent.selected;\n /* eslint-disable */\n };\n private _changeDropDownOpenState(val: boolean): void {\n if (this.multiInputComponent) {\n this.multiInputComponent.open = val;\n }\n }\n private _openUlv(): void {\n if (this.report && !this.term && this._triggerClicked) {\n if (this.dialogOpen || !this._ulvUi) {\n return;\n }\n const view: any = this._ulvUi.Setting.View;\n view.IsCheckList = true;\n this.dialogOpen = true;\n const deviceSize = this._portalService.deviceSize;\n const largeScreen = deviceSize === 'l' || deviceSize === 'xl';\n const dialogConfig: { [key: string]: any } = {\n data: {\n ulvUi: this._ulvUi,\n title: this._bbbPipe.transform('Select'),\n selectedItems: [...this.originalMoList]\n },\n escKeyCloseable: false,\n dialogPanelClass: `ulv-selection-form-dialog ${deviceSize ? 'ulv-selection-form-dialog-mobile' : ''}`\n };\n if (largeScreen) {\n dialogConfig.width = '60vw';\n dialogConfig.height = '60vh';\n dialogConfig.minWidth = '600';\n dialogConfig.minHeight = '360';\n } else {\n dialogConfig.mobile = true;\n dialogConfig.fullScreen = true;\n }\n if (this._ulvUi?.Setting?.Extra?.DefaultCommandsAccess?.View) {\n this._ulvUi.Setting.Extra.DefaultCommandsAccess.View = false;\n }\n const dataSetting = this._ulvUi.Setting.Data;\n if (largeScreen && dataSetting) {\n if (dataSetting.Paging?.HasPaging) {\n dialogConfig.height = '100vh';\n } else {\n dialogConfig.height = dataSetting.MoDataList.length > 10 ? '100vh' : '60vh';\n }\n }\n const dialogRef = this._dialogService.open(this.dialogContainer, dialogConfig);\n\n if (!this._ulvUi.$RegisterEvent) {\n this._ulvUi.$RegisterEvent = true;\n\n this._ulvUi.viewerControl.on({\n afterrender: () => {\n this._ulvUi.viewerControl.ClearAllSelected();\n this._ulvUi.viewerControl.selectRecords(this.originalMoList);\n },\n rowSelectAll: (context) => {\n context.Setting.Data.MoDataList.forEach((mo) => {\n this._addMoToSelected(mo);\n });\n },\n rowDeselectAll: (context) => {\n context.Setting.Data.MoDataList.forEach((mo) => {\n this._removeFromSelected(mo);\n });\n },\n rowselect: (sender, index, mo) => {\n this._addMoToSelected(mo);\n },\n rowdeselect: (sender, index, mo) => {\n this._removeFromSelected(mo);\n }\n });\n }\n this.dialogRef = dialogRef;\n } else {\n this._changeDropDownOpenState(true);\n }\n }\n\n private _closeDialog(): void {\n this._triggerClicked = false;\n this.dialogOpen = false;\n this.dialogRef.close();\n }\n\n private _addMoToSelected(mo: any): void {\n if (!mo) {\n return;\n }\n const selected = this.dialogRef.data.selectedItems;\n if (!selected.find((c) => c.Id === mo.Id)) {\n selected.push({\n Id: mo.Id,\n Text: mo.$Caption,\n Data: mo,\n $Caption: mo.$Caption\n });\n }\n }\n\n private _removeFromSelected(mo: any): void {\n const selected = this.dialogRef.data.selectedItems.filter((c) => c.Id !== mo.Id);\n this.dialogRef.data.selectedItems = selected;\n }\n\n private _selectedChanged(arr: LinearItemMo[]): void {\n const deletedItems: MetaobjectDataModel[] = [];\n const addedItems: MetaobjectDataModel[] = [];\n const value = this.value;\n value.forEach((mo) => {\n const selectedMo = arr.find((c) => c.Id === mo.Id);\n if (!selectedMo) {\n mo.Data.$IsChecked = false;\n deletedItems.push(mo.Data);\n }\n });\n arr.forEach((mo) => {\n const selectedMo = value.find((c) => c.Id === mo.Id);\n if (!selectedMo) {\n addedItems.push(mo.Data || mo);\n mo.$IsChecked = true;\n }\n });\n\n if (deletedItems.length > 0) {\n this.fireContextEvent('RequestCommand', this.context, 'Delete', deletedItems);\n }\n if (addedItems.length > 0) {\n this.fireContextEvent('RequestCommand', this.context, 'Add', addedItems);\n // this._ulvUi.viewerControl.fireEvent('rowclick');\n }\n this._changeDropDownOpenState(false);\n }\n}\n","<fd-multi-input\r\n [inputId]=\"id\"\r\n [class.control-readonly]=\"(readonly$ | async) === true\"\r\n [dropdownValues]=\"(dropDownValues$ | async)!!\"\r\n [placeholder]=\"'EnterSearchCriteria' | bbbTranslate\"\r\n [ngModel]=\"originalMoList\"\r\n [displayFn]=\"displayFunc\"\r\n [showAllButton]=\"false\"\r\n [displayAddonButton]=\"false\"\r\n [allowNewTokens]=\"false\"\r\n [includes]=\"false\"\r\n [disabled]=\"(disable$ | async) === true\"\r\n (searchTermChange)=\"onSearchTermChange($event)\"\r\n (selectedChange)=\"onSelectedChange($event)\"\r\n></fd-multi-input>\r\n<!-- <fdp-multi-input\r\n[placeholder]=\"'EnterSearchCriteria'|bbbTranslate\"\r\ntype=\"text\"\r\n[id]=\"id\"\r\n[dataSource]=\"(dropDownValues$ | async)!!\"\r\n(selectionChange)=\"onSelectedChange($event)\"\r\ndisplayKey=\"$Caption\"\r\n[autofocus]=\"true\"\r\n\r\n>\r\n</fdp-multi-input> -->\r\n<button\r\n *ngIf=\"report\"\r\n fd-button\r\n [attr.rtl]=\"rtl\"\r\n [aria-label]=\"'Advanced' | bbbTranslate\"\r\n glyph=\"value-help\"\r\n [disabled]=\"(disableOrReadonly$ | async)!!\"\r\n (click)=\"onOpenReport()\"\r\n></button>\r\n\r\n<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #container>\r\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\" #dialogTpl>\r\n <fd-dialog-header>\r\n <ng-template fdTemplate=\"header\">\r\n <div fd-bar-left>\r\n <fd-bar-element>\r\n <h1 id=\"fd-dialog-header-3\" fd-title>{{ dialog.data.title }}</h1>\r\n </fd-bar-element>\r\n </div>\r\n <div fd-bar-right>\r\n <fd-button-bar\r\n *ngIf=\"dialogConfig.height !== '100vh'\"\r\n ariaLabel=\"fullscreen\"\r\n [glyph]=\"dialog.data.fullscreen ? 'exitfullscreen' : 'resize'\"\r\n fullscreenDialog\r\n [dialog]=\"dialog\"\r\n [dialogComponent]=\"dialogTpl\"\r\n ></fd-button-bar>\r\n <fd-button-bar ariaLabel=\"close\" glyph=\"decline\" (click)=\"onDismiss()\"></fd-button-bar>\r\n </div>\r\n </ng-template>\r\n <!-- <h3 fd-title>{{ dialog.data.title }}</h3>\r\n <button fd-dialog-close-button></button> -->\r\n </fd-dialog-header>\r\n <fd-dialog-body>\r\n <ng-container *ngIf=\"dialog.data.ulvUi as ulvUi\">\r\n <bsu-ui-ulv-main-ui [context]=\"ulvUi\" class=\"linear-list-selection\"></bsu-ui-ulv-main-ui>\r\n </ng-container>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer class=\"linear-footer\">\r\n <ng-template fdTemplate=\"footer\">\r\n <div\r\n class=\"ulv-selection-form-dialog__row ulv-selection-form-dialog__selection-row\"\r\n [aria-label]=\"'SelectedItemsAndConditions' | bbbTranslate\"\r\n >\r\n <h5 fd-title class=\"selected-and-condition-title\">\r\n <ng-container>\r\n <ng-container>{{ 'SelectedItemsAndConditions' | bbbTranslate }} </ng-container>\r\n ({{ dialog.data.selectedItems?.length || 0 }})\r\n </ng-container>\r\n </h5>\r\n\r\n <div class=\"ulv-selection-form-dialog__tokens-wrapper\">\r\n <div class=\"ulv-selection-form-dialog__tokens\">\r\n <fd-toolbar *ngIf=\"dialog.data.selectedItems\">\r\n <!-- Selected items -->\r\n <fd-token\r\n fd-toolbar-item\r\n fdOverflowPriority=\"high\"\r\n class=\"fdp-value-help-dialog__selection-token\"\r\n (onCloseClick)=\"onRemoveSelected(item)\"\r\n *ngFor=\"\r\n let item of dialog.data.selectedItems;\r\n index as selectedIndex;\r\n trackBy: _trackBySelectedFn\r\n \"\r\n >{{ item.Text }}\r\n </fd-token>\r\n </fd-toolbar>\r\n </div>\r\n <button\r\n class=\"ulv-selection-form-dialog__tokens-clear\"\r\n fd-button\r\n fdType=\"transparent\"\r\n glyph=\"decline\"\r\n [aria-label]=\"'Clear' | bbbTranslate\"\r\n (click)=\"onClear()\"\r\n ></button>\r\n </div>\r\n </div>\r\n <div class=\"ulv-selection-form-dialog__actions-row\">\r\n <button\r\n fd-button\r\n data-succes\r\n [label]=\"'OK' | bbbTranslate\"\r\n fdType=\"emphasized\"\r\n (click)=\"onOk()\"\r\n ></button>\r\n <button\r\n fd-button\r\n data-dismiss-dialog\r\n fd-dialog-decisive-button\r\n [label]=\"'Cancel' | bbbTranslate\"\r\n fdType=\"transparent\"\r\n (click)=\"onDismiss()\"\r\n ></button>\r\n </div>\r\n </ng-template>\r\n </fd-dialog-footer>\r\n </fd-dialog>\r\n</ng-template>\r\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\n\nimport { FieldBaseComponent } from 'barsa-novin-ray-core';\n@Component({\n selector: 'bsu-message-strip',\n templateUrl: './message-strip.component.html',\n styleUrls: ['./message-strip.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class MessageStripComponent extends FieldBaseComponent implements OnInit {\n safeHtml;\n\n ngOnInit(): void {\n this._setSafeHtml(this.value);\n super.ngOnInit();\n const staticText = this.parameters?.StaticText;\n if (staticText) {\n this._setSafeHtml(staticText);\n }\n }\n protected _setValue(value: any): void {\n super._setValue(value);\n this._setSafeHtml(value);\n }\n private _setSafeHtml(value: string): void {\n this.safeHtml = this._domSanitizer.bypassSecurityTrustHtml(value);\n }\n}\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 } from '@angular/core';\nimport { MessageToastConfig, MessageToastService } from '@fundamental-ngx/core';\n\nimport { BaseComponent, BarsaApi, getDeviceIsMobile } from 'barsa-novin-ray-core';\n\ninterface Config {\n title: true; // Title of notification. Do not include it for default title or set custom string. Set this false to disable title\n size: 'mini'; // normal, mini, large\n soundPath: 'src/sounds/'; // The folder path where sounds are located\n soundExt: '.ogg'; // Default extension for all sounds\n showClass: 'fadeInDown'; // Show animation class.\n hideClass: 'zoomOut'; // Hide animation class. 'zoomOut'\n icon: true; // Icon of notification. Leave as is for default icon or set custom string\n msg: ''; // Message of notification\n img: null; // Image source string\n closable: true; // Make notifications closable\n delay: 6000; // Hide notification after this time (in miliseconds)\n delayIndicator: true; // Show timer indicator\n closeOnClick: true; // Close notifications by clicking on them\n width: 400; // Width of notification box\n sound: true; // Sound of notification. Set this false to disable sound. Leave as is for default sound or set custom soud path\n position: 'bottom right'; // Available options: \"top left\", \"top right\", \"bottom left\", \"bottom right\", \"center top\", \"center bottom\".\n iconSource: 'fontAwesome'; // \"bootstrap\" or \"fontAwesome\" the library which will be used for icons\n rounded: false; // Whether to make notification corners rounded\n messageHeight: 60; // Notification message maximum height. This is not for notification itself, this is for .lobibox-notify-msg\n pauseDelayOnHover: true; // When you mouse over on notification, delay will be paused, only if continueDelayOnInactiveTab is false.\n onClickUrl: null; // The url which will be opened when notification is clicked\n showAfterPrevious: false; // Set this to true if you want notification not to be shown until previous notification is closed.\n continueDelayOnInactiveTab: false; // Continue delay when browser tab is inactive\n onClick: () => void;\n}\n@Component({\n selector: 'bsu-ul-toast-adapter',\n templateUrl: './ul-toast-adapter.component.html',\n styleUrls: ['./ul-toast-adapter.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UlToastAdapterComponent extends BaseComponent implements OnInit {\n @ViewChild('template', { read: TemplateRef }) templareRef: TemplateRef<any>;\n\n constructor(public messageToastService: MessageToastService) {\n super();\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n BarsaApi.Bw.Toast.Adapter.on({\n Show: (type, opt) => this._show(type, opt)\n });\n }\n protected _show(type, opt): void {\n const config: Config = opt;\n\n const toastConfig: MessageToastConfig = {};\n\n toastConfig.duration = config.delay;\n\n toastConfig.data = opt;\n toastConfig.data.type = type;\n if (getDeviceIsMobile()) {\n toastConfig.minWidth = '100vw';\n } else {\n toastConfig.minWidth = '50vw';\n }\n if (type === 'info') {\n toastConfig.data.type = 'information';\n }\n this.messageToastService.open(this.templareRef, toastConfig);\n }\n}\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';\n\nimport { FieldBaseComponent } from 'barsa-novin-ray-core';\n@Component({\n selector: 'bsu-static-text',\n templateUrl: './static-text.component.html',\n styleUrls: ['./static-text.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class StaticTextComponent extends FieldBaseComponent {\n styleObj: Record<string, unknown>;\n}\n","<fd-text\n [text]=\"value || context._innerControl?.value | bbbTranslate\"\n [maxLines]=\"parameters.MaxLines\"\n [expandable]=\"parameters.Expandable\"\n [ngStyle]=\"parameters?.Style | removeNewline | convertToStyle\"\n></fd-text>\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(): void {\n this.context.fireEvent('click', this.context);\n }\n}\n","<ng-container *ngIf=\"parameters?.routerLink; else button\">\r\n <a\r\n [routerLink]=\"['./']\"\r\n fd-link\r\n [emphasized]=\"parameters?.Emphasized\"\r\n [ngStyle]=\"parameters?.Style | removeNewline | convertToStyle\"\r\n >\r\n {{\r\n layoutInfo.UseLayoutItemTextForControl\r\n ? layoutInfo.Caption\r\n : context?.Setting?.ControlFieldCaptionTranslated\r\n }}\r\n </a>\r\n</ng-container>\r\n<ng-template #button>\r\n <a\r\n fd-link\r\n [emphasized]=\"parameters?.Emphasized\"\r\n (click)=\"onClick()\"\r\n [ngStyle]=\"parameters?.Style | removeNewline | convertToStyle\"\r\n [href]=\"parameters.Link\"\r\n >\r\n {{\r\n layoutInfo.UseLayoutItemTextForControl\r\n ? layoutInfo.Caption\r\n : context?.Setting?.ControlFieldCaptionTranslated\r\n }}\r\n </a>\r\n</ng-template>\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { SearchInput } from '@fundamental-ngx/platform';\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($event: SearchInput): void {\n this.searchTerm = $event.text;\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","<fdp-search-field\r\n style=\"width: 100%\"\r\n placeholder=\"عبارت جستجو\"\r\n [suggestions]=\"[]\"\r\n (searchSubmit)=\"onSearchSubmit($event)\"\r\n></fdp-search-field>\r\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, OnInit } from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\n\nimport { BaseComponent, MetaobjectDataModel, FilePictureInfoModel, getImagePath } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-global-search-module',\n templateUrl: './global-search-module.component.html',\n styleUrls: ['./global-search-module.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class GlobalSearchModuleComponent extends BaseComponent implements OnInit {\n @HostBinding('style.background')\n public background: SafeStyle;\n @Input() settings: {\n SearchField: string;\n Title: string;\n BackgroundImage: FilePictureInfoModel;\n GlobalSearchResult: MetaobjectDataModel;\n };\n constructor(private sanitizer: DomSanitizer) {\n super();\n }\n ngOnInit(): void {\n super.ngOnInit();\n if (this.settings?.BackgroundImage) {\n this.background = this.sanitizer.bypassSecurityTrustStyle(\n `linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,.6)),url(${getImagePath(\n 'ID',\n null,\n this.settings.BackgroundImage.FileId,\n '',\n 1704,\n 800\n )}) no-repeat top center`\n );\n }\n }\n}\n","<h2 *ngIf=\"settings.Title\">{{ settings.Title }}</h2>\r\n<bsu-global-search [mo]=\"settings.GlobalSearchResult\"></bsu-global-search>\r\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 constructor(protected _formPanelService: FormPanelService) {\n super(_formPanelService);\n }\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';\n\nimport { FormPanelService, LayoutItemBaseComponent } from 'barsa-novin-ray-core';\n@Component({\n selector: 'bsu-ly-simple-label',\n templateUrl: './ly-simple-label.component.html',\n styleUrls: ['./ly-simple-label.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LySimpleLabelComponent extends LayoutItemBaseComponent implements OnInit {\n @HostBinding('style.flex') flex;\n constructor(protected formPanelService: FormPanelService) {\n super(formPanelService);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n const { Bounds } = this.config;\n this.flex = Bounds.width;\n }\n}\n","<!-- <label fd-form-label [wrap]=\"true\">{{ config.Text }}</label> -->\r\n<h6 fd-title [wrap]=\"true\" *ngIf=\"!config.CustomUi\">{{ config.Text }}</h6>\r\n<bnrc-dynamic-component\r\n *ngIf=\"config.CustomUi\"\r\n [component]=\"config.CustomUi\"\r\n [value]=\"config.Text\"\r\n></bnrc-dynamic-component>\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\nimport { FieldBaseComponent, BarsaApi } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-captcha-field',\n templateUrl: './captcha-field.component.html',\n styleUrls: ['./captcha-field.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CaptchaFieldComponent extends FieldBaseComponent {\n now: string = new Date().toString();\n capId = BarsaApi.LoginFormData.CaptchaId;\n onValueChange(e): void {\n this.value = e.target.value;\n this.valueChange.emit(this.value);\n }\n onRefresh(): void {\n this.now = new Date().toString();\n this._cdr.detectChanges();\n }\n}\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';\nimport { Observable, Subject } from 'rxjs';\nimport { debounceTime, filter, map, switchMap, takeUntil } from 'rxjs/operators';\n\nimport { FieldBaseComponent, BarsaApi } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-ui-text-field-auto-complete',\n templateUrl: './ui-text-field-auto-complete.component.html',\n styleUrls: ['./ui-text-field-auto-complete.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiTextFieldAutoCompleteComponent extends FieldBaseComponent implements OnInit {\n inputTextChanged = new Subject<string>();\n suggestionList$: Observable<string[]>;\n\n ngOnInit(): void {\n super.ngOnInit();\n this.suggestionList$ = this.inputTextChanged.asObservable().pipe(\n takeUntil(this._onDestroy$),\n filter((value) => value.length > 2),\n debounceTime(500),\n map((value) => this._createUlvParams(value)),\n switchMap(\n (ulvParams) =>\n new Promise<string[]>((resolve, reject) => {\n BarsaApi.Bw.ExecuteReport(\n { ulvParams },\n (result) => {\n // succeed\n const suggestionList = result.Data.MoDataList.map((item) => item.$Caption);\n resolve(suggestionList);\n },\n (err) => {\n reject(err);\n }\n );\n })\n )\n );\n this.suggestionList$.subscribe();\n }\n\n onValueChange(value): void {\n this.value = value;\n this.valueChange.emit(this.value);\n this.inputTextChanged.next(this.value);\n }\n\n private _createUlvParams(filterText): any {\n return new BarsaApi.Ul.UlvParams({\n FieldDefId: this.Setting.ControlFieldDefId,\n FilterText: filterText,\n UsageEnum: BarsaApi.Ul.UlvMainCtrlr.UlvUsageEnum.Combo,\n ColumnRequestEnum: BarsaApi.Common.Enums.ColumnRequestEnum.Title\n });\n }\n}\n","<fd-combobox\n [inputId]=\"id\"\n [placeholder]=\"Setting?.NullText || ''\"\n [readonly]=\"(readonly$ | async) === true\"\n [disabled]=\"(disable$ | async) === true\"\n [maxlength]=\"Setting?.MaxLength !== undefined ? Setting?.MaxLength : null\"\n [style.direction]=\"Setting?.IsLtr === true ? 'ltr' : 'rtl'\"\n [showDropdownButton]=\"false\"\n [dropdownValues]=\"(suggestionList$ | async) || []\"\n [ngModel]=\"value\"\n (inputTextChange)=\"onValueChange($event)\"\n>\n</fd-combobox>\n","import { ChangeDetectionStrategy, Component, TemplateRef, ViewChild } from '@angular/core';\nimport { of } from 'rxjs';\nimport { debounceTime, delay, takeUntil } from 'rxjs/operators';\nimport { DialogService } from '@fundamental-ngx/core';\nimport { BarsaApi, BaseComponent } from 'barsa-novin-ray-core';\n@Component({\n selector: 'bsu-ul-loading-mask-ui',\n templateUrl: './ul-loading-mask-ui.component.html',\n styleUrls: ['./ul-loading-mask-ui.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UlLoadingMaskUiComponent extends BaseComponent {\n @ViewChild('waitRef') waitRef: TemplateRef<any>;\n constructor(private _dialogService: DialogService) {\n super();\n BarsaApi.Ul.CustomLoadingMaskUi.on({\n Mask: this.mask.bind(this),\n Unmask: this.unmask.bind(this),\n MaskBody: this.maskBody.bind(this),\n UnmaskBody: this.unmaskBody.bind(this),\n UnmaskAll: this.unmaskAll.bind(this)\n });\n }\n mask(element, option): void {\n const containerRef = this.resolveElement(element);\n this._mask(containerRef, option);\n }\n unmask(element): void {\n const containerRef = this.resolveElement(element);\n this._unmask(containerRef);\n }\n unmaskAll(): void {\n this._dialogService.dismissAll();\n }\n maskBody(): void {\n const body = this.getBody();\n this._mask(body);\n }\n unmaskBody(): void {\n const body = this.getBody();\n this._unmask(body);\n }\n\n private _unmask(containerRef: any): void {\n if (containerRef && containerRef.maskDialog?.close) {\n containerRef.maskDialog.close();\n containerRef.maskDialog = null;\n }\n }\n\n private getBody(): any {\n return document.querySelector('body');\n }\n\n private _mask(containerRef: any, option?: any): void {\n if (containerRef.maskDialog) {\n return;\n }\n const maskDelay = option?.delay || 5000;\n containerRef.maskDialog = this._dialogService.open(this.waitRef, {\n container: containerRef,\n responsivePadding: true,\n fullScreen: true\n });\n of(true)\n .pipe(takeUntil(this._onDestroy$), delay(maskDelay), debounceTime(200))\n .subscribe(() => {\n if (containerRef.maskDialog?.close) {\n containerRef.maskDialog.close();\n }\n });\n }\n\n private resolveElement(element: any): any {\n let containerRef = element;\n if (containerRef.getEl) {\n containerRef.getEl();\n } else if (containerRef.controlUi) {\n containerRef = containerRef.controlUi;\n }\n return containerRef;\n }\n}\n","<ng-template #waitRef>\r\n <bsu-mask></bsu-mask>\r\n</ng-template>\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { BaseComponent } from 'barsa-novin-ray-core';\n@Component({\n selector: 'bsu-ui-workflow-panel-ui',\n templateUrl: './ui-workflow-panel-ui.component.html',\n styleUrls: ['./ui-workflow-panel-ui.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiWorkflowPanelUiComponent extends BaseComponent {\n @Input() context: any;\n @Input() infoHtml: string;\n @Input() showInfoBar: boolean;\n @Input() buttonList: {\n handler: () => void;\n text: string;\n Data: any;\n newIcon: string;\n }[];\n\n onToolClick(btn): void {\n btn.handler(btn, this.context);\n }\n}\n","<fd-bar-element>\r\n <button\r\n *ngFor=\"let btn of buttonList.slice().reverse(); let i = index\"\r\n fd-button\r\n [fdType]=\"i === 0 ? 'emphasized' : 'standard'\"\r\n [label]=\"btn.text\"\r\n [glyph]=\"btn.Data?.JsonExtraProp?.Icon\"\r\n (click)=\"onToolClick(btn)\"\r\n ></button>\r\n</fd-bar-element>\r\n","import { ChangeDetectionStrategy, Component, ComponentRef, OnInit, TemplateRef, ViewChild } from '@angular/core';\nimport { DialogRef, DialogService } from '@fundamental-ngx/core';\nimport {\n BarsaApi,\n DialogParams,\n FormComponent,\n PortalService,\n ContainerService,\n BaseComponent\n} from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-form-dialog',\n templateUrl: './form-dialog.component.html',\n styleUrls: ['./form-dialog.component.scss'],\n providers: [ContainerService],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormDialogComponent extends BaseComponent implements OnInit {\n @ViewChild('dialog', { read: TemplateRef, static: true })\n dialogTemplateRef: TemplateRef<any>;\n\n formPanelCtrlr: any;\n formComponentRef: ComponentRef<FormComponent>;\n caption = '';\n fullscreen = false;\n dialogOpened: boolean;\n dialogRef: DialogRef;\n inDialog: any;\n params: {\n moId: string;\n typeDefId: string;\n reportId: string;\n inDialog: boolean;\n };\n parentContainer: any;\n deviceSize: string;\n isNonePersistance = false;\n showSaveButton = true;\n showToolbar = true;\n showFooter: boolean;\n constructor(\n private _dialogService: DialogService,\n private dialogParams: DialogParams,\n private _portalService: PortalService\n ) {\n super();\n this._portalService.deviceSize$.subscribe((deviceSize) => {\n this.deviceSize = deviceSize;\n });\n const formPanelCtrlr = this.dialogParams.context.formpanelCtrlr;\n const moId = this.dialogParams.context.id;\n const typeDefId = this.dialogParams.context.tyid;\n const reportId = this.dialogParams.context.repid;\n this.inDialog = this.dialogParams.context.inDialog;\n this.fullscreen = this.dialogParams.context.fullscreen;\n this.params = { moId, typeDefId, reportId, inDialog: true };\n this._setCaption(formPanelCtrlr);\n this.formPanelCtrlr = formPanelCtrlr;\n }\n ngOnInit(): void {\n super.ngOnInit();\n const formPanelCtrlr = this.formPanelCtrlr;\n this.showSaveButton = BarsaApi.Common.Util.TryGetValue(\n formPanelCtrlr,\n 'Setting.View.FormSettings.ShowSaveButton'\n );\n this.showToolbar = BarsaApi.Common.Util.TryGetValue(formPanelCtrlr, 'Setting.View.FormSettings.ShowToolbar');\n this.isNonePersistance = formPanelCtrlr?.Setting?.View?.IsNonePersistance;\n this.showFooter = this.isNonePersistance\n ? this.showSaveButton !== false && this.showToolbar !== false\n : this.showSaveButton;\n if (typeof this.showFooter == typeof null) {\n this.showFooter = true;\n }\n this.openDialog();\n }\n openDialog(): void {\n const smallDevice = this.deviceSize === 's' || this.deviceSize === 'm';\n const width = smallDevice ? '100vw' : '30vw';\n let height = smallDevice ? '100vh' : 'auto';\n const viewWidth = BarsaApi.Common.Util.TryGetValue(this.formPanelCtrlr, 'Setting.View.CustomSize.width', null);\n const viewHieght = BarsaApi.Common.Util.TryGetValue(\n this.formPanelCtrlr,\n 'Setting.View.CustomSize.height',\n null\n );\n const minWidth = smallDevice ? '100vw' : viewWidth ? viewWidth + 'px' : 'auto';\n const minHeight = smallDevice ? '100vw' : viewHieght ? viewHieght + 'px' : 'auto';\n if (viewHieght) {\n height = '100%';\n }\n const modalSetting = BarsaApi.Common.Util.TryGetValue(\n this.formPanelCtrlr,\n 'Setting.View.CustomUi.Parameters.ModalSetting',\n null\n );\n let setting = {\n escKeyCloseable: false,\n responsivePadding: true,\n backdropClickCloseable: false,\n mobile: smallDevice,\n width,\n height,\n // bodyMinHeight: minHeight,\n minHeight,\n minWidth,\n fullScreen: smallDevice,\n verticalPadding: true,\n resizable: false,\n data: { caption: this.caption }\n };\n if (modalSetting) {\n setting = { ...setting, ...modalSetting };\n }\n this.dialogRef = this._dialogService.open(this.dialogTemplateRef, setting);\n }\n\n onCancel(): void {\n this._close();\n }\n onSave(): void {\n const adapter = this.formPanelCtrlr.Adapter;\n adapter.fireEvent('ToolClick', adapter, { Key: 'SaveAndClose' });\n }\n onOk(): void {\n const adapter = this.formPanelCtrlr.Adapter;\n adapter.fireEvent('ToolClick', adapter, { Key: 'Ok' });\n }\n\n onFormClose(): void {\n this.dialogRef.close();\n this.dialogParams.close();\n this.dialogOpened = false;\n }\n // /* eslint-disable */\n // @Input() ShowFormPanelControl = (formpanelCtrlr) => {};\n // /* eslint-disable */\n // @Input() ForceCloseChild = () => {};\n // /* eslint-disable */\n // @Input() RefreshFormPanelControl = (formpanelCtrlr) => {};\n\n private _close(): void {\n // this.dialogRef.nativeElement.close();\n this.formPanelCtrlr.Adapter.Control.fireEvent('RequestForClose', this.formPanelCtrlr.Adapter.Control);\n // this.dialogRef.close();\n // this.dialogParams.close();\n // this.dialogOpened = false;\n }\n\n private _setCaption(formPanelCtrlr: any): void {\n const typeDefName = BarsaApi.Common.Util.TryGetValue(formPanelCtrlr, 'Mo.$TypeDefName', '');\n const moCaption = BarsaApi.Common.Util.TryGetValue(formPanelCtrlr, 'Mo.$Caption', '');\n this.caption = typeDefName + ':' + moCaption;\n }\n}\n","<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #dialog>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\n <fd-dialog-header>\n <h1 fd-title>{{ dialogConfig.data.caption }}</h1>\n <button fd-dialog-close-button (click)=\"onCancel()\"></button>\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 <ng-container *ngIf=\"isNonePersistance; else saveBtn\">\n <fd-dialog-footer-button>\n <fd-button-bar\n fd-dialog-decisive-button\n fdType=\"emphasized\"\n [label]=\"'Ok' | bbbTranslate\"\n (click)=\"onOk()\"\n ></fd-button-bar>\n </fd-dialog-footer-button>\n </ng-container>\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 <fd-dialog-footer-button>\n <fd-button-bar\n fd-initial-focus\n fd-dialog-decisive-button\n fdType=\"transparent\"\n [label]=\"'Cancel' | bbbTranslate\"\n (click)=\"onCancel()\"\n ></fd-button-bar>\n </fd-dialog-footer-button>\n </fd-dialog-footer>\n </fd-dialog>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { PageBaseComponent } from 'barsa-novin-ray-core';\nimport { FormDialogComponent } from './form-dialog/form-dialog.component';\n\n@Component({\n selector: 'bsu-page-with-form-handler-base',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PageWithFormHandlerBaseComponent extends PageBaseComponent {\n formpanelCtrlr: any;\n /* eslint-disable */\n @Input() ShowFormPanelControl = (formpanelCtrlr) => {\n this.formpanelCtrlr = formpanelCtrlr;\n this._portalService.ShowFormPanelControl(\n formpanelCtrlr,\n this._router,\n this._activatedRoute,\n FormDialogComponent,\n true\n );\n };\n /* eslint-disable */\n @Input() ForceCloseChild = () => {\n this._router.navigate(['../'], { relativeTo: this._activatedRoute });\n };\n /* eslint-disable */\n @Input() RefreshFormPanelControl = (formpanelCtrlr) => {\n if (!this.formpanelCtrlr) {\n this.formpanelCtrlr = formpanelCtrlr;\n }\n this._portalService.ShowFormPanelControl(\n this.formpanelCtrlr,\n this._router,\n this._activatedRoute,\n FormDialogComponent,\n true,\n true\n );\n };\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, OnInit } from '@angular/core';\nimport { BarsaApi, ContainerService } from 'barsa-novin-ray-core';\nimport { PageWithFormHandlerBaseComponent } from '../page-with-form-handler-base';\n@Component({\n selector: 'bsu-empty-page',\n templateUrl: './empty-page.component.html',\n styleUrls: ['./empty-page.component.scss'],\n providers: [ContainerService],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class EmptyPageComponent extends PageWithFormHandlerBaseComponent implements OnInit {\n @HostBinding('style.position') _position: string | null = null;\n @HostBinding('class.section') sectionClass = true;\n @HostBinding('class.absolute-page') absolutePageClass = true;\n ngOnInit(): void {\n super.ngOnInit();\n if (!BarsaApi.LoginFormData.IsServiceDesk) {\n this._position = 'relative';\n }\n if (this._activatedRoute.snapshot.data?.pageData?.Component?.Settings?.IsRelativePage) {\n this._position = 'relative';\n }\n }\n}\n","<ng-container #containerRef></ng-container>\n<router-outlet></router-outlet>\n<router-outlet name=\"main\"></router-outlet>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { BaseComponent } from 'barsa-novin-ray-core';\n@Component({\n selector: 'bsu-header-avatar',\n templateUrl: './header-avatar.component.html',\n styleUrls: ['./header-avatar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class HeaderAvatarComponent extends BaseComponent {\n @Input() fileId: string;\n @Input() icon: string;\n}\n","<fd-icon *ngIf=\"icon\" [glyph]=\"icon\"></fd-icon>\r\n<img *ngIf=\"fileId\" width=\"1.5rem\" height=\"auto\" [src]=\"fileId ? (fileId | picFieldSrc: 'ID':null:fileId) : ''\" />\r\n<!-- <fd-avatar\r\n [transparent]=\"fileId ? false : true\"\r\n [circle]=\"true\"\r\n [border]=\"true\"\r\n [size]=\"size\"\r\n [glyph]=\"icon\"\r\n [image]=\"fileId ? (fileId | picFieldSrc: 'ID':null:fileId) : ''\"\r\n></fd-avatar> -->\r\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, OnInit } from '@angular/core';\nimport { BaseComponent, MetaobjectDataModel } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-header-facet-key-value',\n templateUrl: './header-facet-key-value.component.html',\n styleUrls: ['./header-facet-key-value.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class HeaderFacetKeyValueComponent extends BaseComponent implements OnInit {\n @HostBinding('style.width.px') width: string;\n @Input() settings: MetaobjectDataModel;\n @HostBinding('class.header-facet') headerFacetClass = true;\n\n ngOnInit(): void {\n super.ngOnInit();\n this.width = this.settings.Width;\n }\n}\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, HostBinding, Input } from '@angular/core';\nimport { BaseComponent, getUniqueId, MetaobjectDataModel } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-header-facet-form',\n templateUrl: './header-facet-form.component.html',\n styleUrls: ['./header-facet-form.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class HeaderFacetFormComponent extends BaseComponent {\n @Input() settings: MetaobjectDataModel;\n @HostBinding('class.header-facet') headerFacetClass = true;\n\n id = getUniqueId(4);\n}\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';\nimport { BaseComponent, MetaobjectDataModel } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-header-facet-rate',\n templateUrl: './header-facet-rate.component.html',\n styleUrls: ['./header-facet-rate.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class HeaderFacetRateComponent extends BaseComponent implements OnInit {\n @Input() settings: MetaobjectDataModel;\n @HostBinding('class.header-facet') headerFacetClass = true;\n value: number;\n ngOnInit(): void {\n super.ngOnInit();\n this.value = Number(this.settings.Value);\n }\n}\n","<div class=\"productInfo flex-column\">\r\n <!-- <label class=\"facet-title\" fd-form-label>{{ settings.Title }}</label>\r\n <label *ngIf=\"settings.SubTitle\">{{ settings.SubTitle }}</label> -->\r\n <ui5-label class=\"facet-title\">{{ settings.Title }}</ui5-label>\r\n <ui5-label *ngIf=\"settings.SubTitle\">{{ settings.SubTitle }}</ui5-label>\r\n <ui5-rating-indicator [value]=\"value\" readonly style=\"font-size: 2rem\"></ui5-rating-indicator>\r\n <!-- <label class=\"facet-footer\">{{ settings.Footer }}</label> -->\r\n <ui5-label class=\"facet-footer\">{{ settings.Footer }}</ui5-label>\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\">\r\n <!-- <label class=\"facet-title\" fd-form-label>{{ settings.Title }}</label>\r\n <label *ngIf=\"settings.SubTitle\" fd-form-label>{{ settings.SubTitle }}</label> -->\r\n <ui5-label class=\"facet-title\">{{ settings.Title }}</ui5-label>\r\n <ui5-label *ngIf=\"settings.SubTitle\">{{ settings.SubTitle }}</ui5-label>\r\n <div class=\"progress-container\">\r\n <ui5-progress-indicator [valueState]=\"settings.State\" [value]=\"value\"></ui5-progress-indicator>\r\n </div>\r\n <!-- <label class=\"facet-footer\" fd-form-label>{{ settings.Footer }}</label> -->\r\n <ui5-label class=\"facet-footer\">{{ settings.Footer }}</ui5-label>\r\n</div>\r\n","import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\nimport { BaseComponent, MetaobjectDataModel } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-header-facet-microchart',\n templateUrl: './header-facet-microchart.component.html',\n styleUrls: ['./header-facet-microchart.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class HeaderFacetMicrochartComponent extends BaseComponent {\n @HostBinding('class.header-facet') headerFacetClass = true;\n\n @Input() settings: MetaobjectDataModel;\n}\n","<div class=\"productInfo flex-column\">\n <!-- <label class=\"facet-title\" fd-form-label>{{ settings.Title }} :</label> -->\n <!-- <ui5-label class=\"facet-title\" show-colon>{{ settings.Title }}</ui5-label> -->\n <p>در دست ساخت!</p>\n</div>\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, OnInit } from '@angular/core';\nimport { BaseComponent, MetaobjectDataModel } from 'barsa-novin-ray-core';\n@Component({\n selector: 'bsu-header-facet-plain-text',\n templateUrl: './header-facet-plain-text.component.html',\n styleUrls: ['./header-facet-plain-text.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class HeaderFacetPlainTextComponent extends BaseComponent implements OnInit {\n @Input() settings: MetaobjectDataModel;\n @HostBinding('style.width.px')\n @HostBinding('class.header-facet')\n headerFacetClass = true;\n\n width: number;\n\n ngOnInit(): void {\n super.ngOnInit();\n this.width = this.settings.Width ? this.settings.Width : 300;\n }\n}\n","<div class=\"productInfo flex-column\">\n <!-- <label class=\"facet-title\" fd-form-label>{{ settings.Title }}</label>\n <label class=\"facet-plaintext text-wrap\" fd-form-label>{{\n settings.Text\n }}</label> -->\n <!-- <ui5-label class=\"facet-title\">{{ settings.Title }}</ui5-label> -->\n <!-- <ui5-label class=\"facet-plaintext\" wrap>{{ settings.Text }}</ui5-label> -->\n</div>\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n OnInit,\n TemplateRef,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\n\nimport { ButtonType } from '@fundamental-ngx/core';\n\nimport { BarsaApi, getHeaderValue, getDeviceIsMobile } from 'barsa-novin-ray-core';\n\nimport { insertAvatar } from '../constants';\nimport { PageWithFormHandlerBaseComponent } from '../page-with-form-handler-base';\n\n@Component({\n selector: 'bsu-page-with-header',\n templateUrl: './page-with-header.component.html',\n styleUrls: ['./page-with-header.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PageWithHeaderComponent extends PageWithFormHandlerBaseComponent implements OnInit, AfterViewInit {\n @HostBinding('class.form-page-content') formpageContentClass = true;\n @ViewChild('content', { read: ElementRef }) contentRef: ElementRef;\n @ViewChild('headerAvatar') headerAvatarRef: TemplateRef<any>;\n @ViewChild('titleRef', { read: ViewContainerRef }) titleRef: ViewContainerRef;\n\n headerLayout: any;\n title: string;\n subtitle: string;\n avatar: string;\n removeContentPadding: boolean;\n removeHeaderBorder: boolean;\n commands: { Title: string; Icon: string; Design: ButtonType; Command: any }[];\n\n get isMobile(): boolean {\n return getDeviceIsMobile();\n }\n ngOnInit(): void {\n super.ngOnInit();\n this.getData$().subscribe((pageData) => {\n this.headerLayout = pageData?.Component.Settings;\n this.removeContentPadding = pageData?.Component.Settings?.RemoveContentPadding;\n this.removeHeaderBorder = pageData?.Component.Settings?.RemoveHeaderBorder;\n this.commands = pageData?.Component.Settings?.Commands?.MoDataList;\n if (this.headerLayout) {\n this._activatedRoute.snapshot.data.breadcrumb = this.headerLayout.BreadCrumb;\n this.title = getHeaderValue(this.headerLayout.Title);\n this.subtitle = getHeaderValue(this.headerLayout.SubTitle);\n this.avatar = getHeaderValue(this.headerLayout.Avatar);\n }\n });\n }\n ngAfterViewInit(): void {\n super.ngAfterViewInit();\n if (this.headerAvatarRef && this.avatar) {\n setTimeout(() => {\n insertAvatar(this._el, this.headerAvatarRef, this.titleRef, this.avatar);\n }, 0);\n }\n }\n\n onCommandClick(command): void {\n const e = { command: command.Command, DynamicSetting: null };\n BarsaApi.Common.CustomCodeManager.RunDynamicCommand(command.Command.Id, e);\n }\n addFragmentDocToPage(fragmentDoc): void {\n this.contentRef.nativeElement.appendChild(fragmentDoc);\n }\n}\n","<ng-container *ngIf=\"!headerLayout || !title; else pageWithHeader\">\r\n <div #content></div>\r\n</ng-container>\r\n<ng-template #pageWithHeader>\r\n <fdp-dynamic-page [size]=\"isMobile ? 'small' : 'large'\" [class.header-border]=\"!removeHeaderBorder\">\r\n <fdp-dynamic-page-title\r\n [class.simple-title]=\"!headerLayout.Description\"\r\n [title]=\"title\"\r\n [subtitle]=\"subtitle\"\r\n [class.p-b0]=\"headerLayout?.RemoveContentPadding\"\r\n #titleRef\r\n >\r\n <fd-breadcrumb>\r\n <fd-breadcrumb-item>\r\n <span>{{ headerLayout.BreadCrumb }}</span>\r\n </fd-breadcrumb-item>\r\n </fd-breadcrumb>\r\n <ng-container *ngFor=\"let facetColumn of headerLayout.FacetList?.MoDataList\">\r\n <fdp-dynamic-page-key-info>\r\n <ng-container [ngSwitch]=\"facetColumn.ColumnType.$Caption\">\r\n <bsu-header-facet-key-value\r\n *ngSwitchCase=\"'KeyValue'\"\r\n [settings]=\"facetColumn.ColumnSettings.$FormPanelSetting.Data.Mo\"\r\n ></bsu-header-facet-key-value>\r\n <bsu-header-facet-form\r\n *ngSwitchCase=\"'Form'\"\r\n [settings]=\"facetColumn.ColumnSettings.$FormPanelSetting.Data.Mo\"\r\n ></bsu-header-facet-form>\r\n <bsu-header-facet-plain-text\r\n *ngSwitchCase=\"'PlainText'\"\r\n [settings]=\"facetColumn.ColumnSettings.$FormPanelSetting.Data.Mo\"\r\n ></bsu-header-facet-plain-text>\r\n <bsu-header-facet-rate\r\n *ngSwitchCase=\"'Rate'\"\r\n [settings]=\"facetColumn.ColumnSettings.$FormPanelSetting.Data.Mo\"\r\n ></bsu-header-facet-rate>\r\n <bsu-header-facet-progress\r\n *ngSwitchCase=\"'Progress'\"\r\n [settings]=\"facetColumn.ColumnSettings.$FormPanelSetting.Data.Mo\"\r\n ></bsu-header-facet-progress>\r\n <bsu-header-facet-microchart\r\n *ngSwitchCase=\"'Microchart'\"\r\n [settings]=\"facetColumn.ColumnSettings.$FormPanelSetting.Data.Mo\"\r\n ></bsu-header-facet-microchart>\r\n <div *ngSwitchDefault></div>\r\n </ng-container>\r\n </fdp-dynamic-page-key-info>\r\n </ng-container>\r\n <fdp-dynamic-page-global-actions>\r\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\" [showOverflow]=\"true\">\r\n <ng-container *ngFor=\"let btn of commands\">\r\n <button\r\n fd-toolbar-item\r\n fd-button\r\n [fdType]=\"btn.Design\"\r\n [label]=\"btn.Title\"\r\n [glyph]=\"btn.Icon\"\r\n (click)=\"onCommandClick(btn)\"\r\n ></button>\r\n </ng-container>\r\n <bsu-global-search\r\n *ngIf=\"headerLayout.HasGlobalSearch\"\r\n [mo]=\"headerLayout.GlobalSearchSettings.GlobalSearchResult\"\r\n ></bsu-global-search>\r\n </fd-toolbar>\r\n </fdp-dynamic-page-global-actions>\r\n <fdp-dynamic-page-layout-actions> </fdp-dynamic-page-layout-actions>\r\n </fdp-dynamic-page-title>\r\n <fdp-dynamic-page-header\r\n [class.hide]=\"!headerLayout.Description\"\r\n [collapsible]=\"true\"\r\n [pinnable]=\"false\"\r\n [collapsed]=\"true\"\r\n >\r\n <span *ngIf=\"headerLayout.Description\">{{ headerLayout.Description }}</span>\r\n </fdp-dynamic-page-header>\r\n <fdp-dynamic-page-content [class.no-padding]=\"removeContentPadding\">\r\n <div #content></div>\r\n </fdp-dynamic-page-content>\r\n </fdp-dynamic-page>\r\n <ng-template #headerAvatar let-avatar let-isIcon=\"isIcon\" let-isNullImage=\"isNullImage\">\r\n <div class=\"fd-dynamic-page__avatar\">\r\n <bsu-header-avatar\r\n [icon]=\"isIcon ? avatar : ''\"\r\n [fileId]=\"isNullImage ? '' : avatar.FileId\"\r\n [size]=\"'m'\"\r\n ></bsu-header-avatar>\r\n </div>\r\n </ng-template>\r\n</ng-template>\r\n","import { ChangeDetectionStrategy, Component, Input, OnInit, TemplateRef, ViewChild } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { delay, takeUntil } from 'rxjs/operators';\nimport { ContentDensity, ContentDensityService, DialogConfig, DialogRef, DialogService } from '@fundamental-ngx/core';\n\nimport { BaseComponent, BarsaApi } from 'barsa-novin-ray-core';\n\ninterface MessageBoxObject extends DialogConfig {\n scope: any;\n title: string;\n delay: number;\n msg: string;\n buttons: { [key: string]: boolean };\n icon: string;\n iconType: string;\n fn: (key: string) => void;\n}\n@Component({\n selector: 'bsu-ul-msg-box-adapter',\n templateUrl: './ul-msg-box-adapter.component.html',\n styleUrls: ['./ul-msg-box-adapter.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UlMsgBoxAdapterComponent extends BaseComponent implements OnInit {\n @ViewChild('templateRef') templateRef: TemplateRef<any>;\n @ViewChild('waitRef') waitRef: TemplateRef<any>;\n @Input() context;\n contentDensity$: Observable<ContentDensity>;\n constructor(private _dialogService: DialogService, private _contentDensityService: ContentDensityService) {\n super();\n BarsaApi.Ul.MsgBox.Adapter.on({\n Show: (msgBoxData) => this.show(msgBoxData),\n wait: (msg, title, msgBoxData) => this.wait(msg, title, msgBoxData),\n hide: () => this.hide()\n });\n this.contentDensity$ = this._contentDensityService.contentDensity.asObservable();\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n }\n onButton(btn, dialog: DialogRef, dialogConfig: MessageBoxObject): void {\n dialog.close();\n dialogConfig.fn.call(this, btn.key);\n }\n onClose(dialog, dialogConfig: MessageBoxObject): void {\n dialog.close();\n dialogConfig.fn.call(this, 'cancel');\n }\n reverseObj(obj): any {\n return Object.keys(obj)\n .reverse()\n .reduce((a, key) => {\n a[key] = obj[key];\n return a;\n }, {});\n }\n show = (object: MessageBoxObject): void => {\n object.iconType = this.getMsgType(object.icon);\n this._dialogService.open(this.templateRef, {\n ...object,\n responsivePadding: true\n });\n /* eslint-disable */\n };\n wait = (\n msg,\n title,\n object: {\n interval: number;\n duration: number;\n increment: number;\n text: string;\n icon: string;\n iconType: string;\n scope: any;\n fn: () => void;\n }\n ) => {\n object.iconType = this.getMsgType(object.icon);\n const waitDialog = this._dialogService.open(this.waitRef, {\n ...object,\n responsivePadding: true,\n fullScreen: true\n });\n if (!object.duration) {\n return;\n }\n\n of(true)\n .pipe(takeUntil(this._onDestroy$), delay(object.duration))\n .subscribe((c) => {\n waitDialog.close();\n });\n };\n hide = () => {\n this._dialogService.dismissAll();\n /* eslint-disable */\n };\n getMsgType(icon: string | any): string {\n switch (icon) {\n case BarsaApi.Ul.MsgBox.INFO:\n return 'information';\n case BarsaApi.Ul.MsgBox.WARNING:\n return 'warning';\n case BarsaApi.Ul.MsgBox.QUESTION:\n return 'default';\n case BarsaApi.Ul.MsgBox.ERROR:\n return 'error';\n }\n return 'default';\n }\n keepOrder = (a, b) => {\n return a;\n /* eslint-disable */\n };\n getBtnCaption(name: string | any): string {\n switch (name) {\n case 'ok':\n return 'تایید';\n case 'cancel':\n return 'انصراف';\n case 'yes':\n return 'بله';\n case 'no':\n return 'خیر';\n }\n return '';\n }\n}\n","<ng-template #waitRef>\r\n <bsu-mask></bsu-mask>\r\n</ng-template>\r\n<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #templateRef>\r\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\r\n <fd-dialog-header>\r\n <h1 fd-title>\r\n {{ dialogConfig.title }}\r\n </h1>\r\n </fd-dialog-header>\r\n\r\n <fd-dialog-body style=\"padding: 15px\">\r\n <div style=\"min-height: 125px\">\r\n <label fd-label [type]=\"dialogConfig.iconType\" [innerHtml]=\"dialogConfig.msg\"> </label>\r\n </div>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <fd-dialog-footer-button *ngFor=\"let btn of dialogConfig.buttons | keyvalue: keepOrder\">\r\n <button\r\n fd-button\r\n fd-dialog-decisive-button\r\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\"\r\n (click)=\"onButton(btn, dialog, dialogConfig)\"\r\n ></button>\r\n </fd-dialog-footer-button>\r\n </fd-dialog-footer>\r\n </fd-dialog>\r\n</ng-template>\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\nimport { FieldBaseComponent } from 'barsa-novin-ray-core';\n@Component({\n selector: 'bsu-ui-mo-info-combo-viewer',\n templateUrl: './ui-mo-info-combo-viewer.component.html',\n styleUrls: ['./ui-mo-info-combo-viewer.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiMoInfoComboViewerComponent extends FieldBaseComponent {\n onBtnClick(): void {\n this.context.fireEvent('ButtonClick', this.context);\n }\n}\n","<fd-text [text]=\"value | bbbTranslate\" hyphenation=\"auto\"></fd-text>\n<button\n *ngIf=\"(disableOrReadonly$ | async) !== true && !Setting.IsReadOnly && Setting.ViewRelatedFormType !== 'Hide'\"\n fd-button\n [glyph]=\"'edit'\"\n [fdType]=\"'transparent'\"\n (click)=\"onBtnClick()\"\n></button>\n","import { ChangeDetectionStrategy, Component, HostBinding, OnInit, QueryList, ViewChildren } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { TabPanelComponent } from '@fundamental-ngx/core';\nimport { LayoutItemBaseComponent, LayoutSetting } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-ly-tab-container',\n templateUrl: './ly-tab-container.component.html',\n styleUrls: ['./ly-tab-container.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LyTabContainerComponent extends LayoutItemBaseComponent implements OnInit {\n @ViewChildren(TabPanelComponent) tabpages: QueryList<TabPanelComponent>;\n @HostBinding('style.flex') flex;\n selected: number;\n _tabsSource = new BehaviorSubject<LayoutSetting[]>([]);\n tabs$ = this._tabsSource.asObservable();\n\n ngOnInit(): void {\n super.ngOnInit();\n this.flex = this.config.Bounds.width;\n this._setTabs();\n this.formPanelService.groupLayout$.pipe(takeUntil(this._onDestroy$)).subscribe(() => {\n this._setTabs();\n });\n }\n private _setTabs(): void {\n const tabs: LayoutSetting[] = this.config.items;\n const visibleTabs = tabs.filter((c) => c.Visible !== false);\n this._tabsSource.next(visibleTabs);\n }\n\n // ngAfterViewInit(): void {\n // super.ngAfterViewInit();\n\n // setTimeout(() => {\n // const selectedTab = this.tabpages.toArray()[this.selected];\n // if (selectedTab) {\n // selectedTab.open(true);\n // }\n // }, 0);\n // }\n}\n","<fd-tab-list [collapseOverflow]=\"true\">\n <ng-container *ngFor=\"let tabPage of tabs$ | async; let tabindex = index\">\n <fd-tab\n [title]=\"tabPage.Title || '' | bbbTranslate\"\n [disabled]=\"tabPage.disabled\"\n [class.control-disabled]=\"tabPage.Enable === false\"\n [class.readonly]=\"tabPage.Readonly\"\n >\n <bsu-ly-tab-page [config]=\"tabPage\"></bsu-ly-tab-page>\n </fd-tab>\n </ng-container>\n</fd-tab-list>\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Input,\n OnInit,\n SkipSelf,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\n\nimport { LayoutItemBaseComponent, LayoutService, FormPanelService } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-ly-vertical-layout',\n templateUrl: './ly-vertical-layout.component.html',\n styleUrls: ['./ly-vertical-layout.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LyVerticalLayoutComponent extends LayoutItemBaseComponent implements OnInit, AfterViewInit {\n @HostBinding('style.flex') flex;\n @HostBinding('style.flex-direction') flexDirection = 'column';\n @HostBinding('style.flex-wrap') flexWrap;\n @Input() maxLabelWidth: number;\n @ViewChild('viewRefTemplate', { read: ViewContainerRef, static: true }) viewRef: ViewContainerRef;\n\n searchPanelIsObject: boolean;\n constructor(protected formPanelService: FormPanelService, @SkipSelf() private layoutService: LayoutService) {\n super(formPanelService);\n // if (this.isSearchPanel && !this.searchPanelIsObject) { // commented because it show search panel dirty\n // this.flexDirection = 'row';\n // this.flexWrap = 'wrap';\n // }\n\n layoutService.addHorizontal(this.id);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.flex = this.config.Bounds.width;\n }\n ngAfterViewInit(): void {\n super.ngAfterViewInit();\n this.layoutService.removeHorizontal(this.id);\n }\n}\n","<ng-container *ngFor=\"let item of config | filterToolbarControl\">\n <ng-container [ngSwitch]=\"item.xtype\">\n <ng-container *ngSwitchCase=\"'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 </ng-container>\n <ng-container *ngSwitchCase=\"'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 </ng-container>\n <ng-container *ngSwitchCase=\"'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 </ng-container>\n <ng-container *ngSwitchCase=\"'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 </ng-container>\n <ng-container *ngSwitchCase=\"'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 </ng-container>\n <ng-container *ngSwitchCase=\"'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 </ng-container>\n <ng-container *ngSwitchCase=\"'Ly.LayoutJoin'\">\n <ng-container *ngIf=\"item.Type === 'HorizontalJoin'; else verticalJoin\">\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 </ng-container>\n <ng-template #verticalJoin>\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 </ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"'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 </ng-container>\n </ng-container>\n</ng-container>\n<ng-template #dynamicLayout let-config let-selector=\"selector\" 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 >\n </bnrc-dynamic-layout>\n</ng-template>\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Input,\n OnInit,\n SkipSelf,\n TemplateRef,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\n\nimport { LayoutItemBaseComponent, LayoutService, getDeviceIsMobile, FormPanelService } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-ly-horizontal-layout',\n templateUrl: './ly-horizontal-layout.component.html',\n styleUrls: ['./ly-horizontal-layout.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LyHorizontalLayoutComponent extends LayoutItemBaseComponent implements OnInit {\n @Input() renderItems: TemplateRef<any>;\n @Input() maxLabelWidth: number;\n @HostBinding('style.flex') flex;\n @HostBinding('class.horizontal-layout') horizontalLayoutClass = true;\n @HostBinding('class.wrap-content') wrapContent = false;\n @HostBinding('style.flex-direction') flexDirection = 'row';\n @HostBinding('style.opacity') opacity = 1;\n @ViewChild('viewRefTemplate', { read: ViewContainerRef, static: true }) viewRef: ViewContainerRef;\n\n hasHorizontalText: boolean;\n constructor(\n protected _el: ElementRef,\n protected formPanelService: FormPanelService,\n @SkipSelf() private layoutService: LayoutService\n ) {\n super(formPanelService);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n\n this.layoutService.addHorizontal(this.id);\n\n this.flex = this.config.Bounds.width;\n if (!this.config.$Reverse) {\n this.config.items = this.config.items.reverse();\n this.config.$Reverse = true;\n }\n\n if (getDeviceIsMobile()) {\n this.wrapContent = true;\n }\n this._setHasHorizontalText();\n }\n private _setHasHorizontalText(): void {\n if (!this.wrapContent) {\n this.config.items.forEach((c) => {\n if (c.TextVisible) {\n this.hasHorizontalText = !this.wrapContent;\n }\n });\n }\n }\n}\n","<ng-container *ngFor=\"let item of config | filterToolbarControl\">\n <ng-container [ngSwitch]=\"item.xtype\">\n <ng-container *ngSwitchCase=\"'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 </ng-container>\n <ng-container *ngSwitchCase=\"'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 </ng-container>\n <ng-container *ngSwitchCase=\"'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 </ng-container>\n <ng-container *ngSwitchCase=\"'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 </ng-container>\n <ng-container *ngSwitchCase=\"'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 </ng-container>\n <ng-container *ngSwitchCase=\"'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 </ng-container>\n <ng-container *ngSwitchCase=\"'Ly.LayoutJoin'\">\n <ng-container *ngIf=\"item.Type === 'HorizontalJoin'; else verticalJoin\">\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 </ng-container>\n <ng-template #verticalJoin>\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 </ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"'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 </ng-container>\n </ng-container>\n</ng-container>\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 { ChangeDetectionStrategy, Component, ElementRef, Input, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { BehaviorSubject, Observable, of, Subject } from 'rxjs';\nimport { catchError, filter, switchMap, tap } from 'rxjs/operators';\nimport { Media } from '@fundamental-ngx/platform';\nimport { ContentDensity } from '@fundamental-ngx/core';\n\nimport { BarsaApi, UploadService, getDeviceIsMobile, FilesValidationHelper } 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 uploadState$: Observable<string>;\n progress$: Observable<number>;\n uploading$: Observable<boolean>;\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 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.uploading$ = this._uploadService.uploading$;\n this.progress$ = this._uploadService.progress$;\n this.uploadState$ = this._uploadService.uploadState$;\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 onThumbnailClicked(imgIndex: number): void {\n this.selectedIndex = imgIndex;\n this.gallery.nativeElement.querySelector('[id=\"' + String(imgIndex) + '\"]')?.scrollIntoView(true);\n }\n\n onDelete(): void {\n if (!(this.selectedIndex >= 0)) {\n return;\n }\n const selectedMedia = this.value[this.selectedIndex];\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(selectedFiles: File[]): void {\n this.filesValidationHelper\n .validateFiles(selectedFiles)\n .pipe(\n filter((files) => files.length > 0),\n switchMap((files) => this.uploadToServer(files))\n )\n .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 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 catchError((err) => of(err))\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}\n","<ng-container>\n <fd-toolbar *untilInView=\"el\" [transparent]=\"true\" [shouldOverflow]=\"true\">\n <fd-file-uploader\n #uploader\n [style.display]=\"'none'\"\n fd-toolbar-item\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 <fdp-button\n [disabled]=\"!(value | canUploadFile: maxFileCount:(disable$ | async)!!:(readonly$ | async)!!)\"\n fd-toolbar-item\n glyph=\"attachment\"\n buttonType=\"transparent\"\n (click)=\"uploader.open()\"\n ></fdp-button>\n <fdp-button\n [disabled]=\"selectedIndex === -1 || (disableOrReadonly$ | async)!!\"\n class=\"delete\"\n fd-toolbar-item\n glyph=\"delete\"\n [buttonType]=\"'transparent'\"\n (click)=\"onDelete()\"\n ></fdp-button>\n <fdp-button fd-toolbar-item glyph=\"zoom-in\" [buttonType]=\"'transparent'\" (click)=\"onZoomIn()\"></fdp-button>\n <fdp-button fd-toolbar-item glyph=\"zoom-out\" [buttonType]=\"'transparent'\" (click)=\"onZoomOut()\"></fdp-button>\n <fdp-button\n fd-toolbar-item\n glyph=\"exitfullscreen\"\n [buttonType]=\"'transparent'\"\n (click)=\"onFillOriginal()\"\n ></fdp-button>\n <fdp-button\n fd-toolbar-item\n glyph=\"resize-horizontal\"\n [buttonType]=\"'transparent'\"\n (click)=\"onFillWidth()\"\n ></fdp-button>\n <fdp-button fd-toolbar-item glyph=\"resize\" [buttonType]=\"'transparent'\" (click)=\"onFillAll()\"></fdp-button>\n <fdp-split-menu-button\n [readonly]=\"(readonly$ | async)!!\"\n [disabled]=\"(readonly$ | async)!!\"\n *ngIf=\"value | canUploadFile: maxFileCount:(disable$ | async)!!:(readonly$ | async)!!\"\n fd-toolbar-item\n [menu]=\"menu1\"\n [buttonLabel]=\"'Scan' | bbbTranslate\"\n [title]=\"'Scan' | bbbTranslate\"\n type=\"transparent\"\n [menuTitle]=\"'Scan' | bbbTranslate\"\n (primaryButtonClick)=\"onScan()\"\n >\n </fdp-split-menu-button>\n <fdp-menu #menu1 xPosition=\"after\">\n <fdp-menu-item (itemSelect)=\"onAdvanceScan()\">{{ 'AdvancedScan' | bbbTranslate }}</fdp-menu-item>\n </fdp-menu>\n </fd-toolbar>\n</ng-container>\n<ng-container *ngIf=\"mediaData$ | async as mediaData\">\n <div *ngIf=\"mediaData.length > 0; else hashed\" dir=\"rtl\" class=\"gallery\" #gallery>\n <div class=\"column small-imgs-box\">\n <div\n class=\"pics\"\n (click)=\"onThumbnailClicked(i)\"\n *ngFor=\"let media of mediaData; let i = index\"\n [class.selected]=\"i === selectedIndex || (!selectedIndex && i === 0)\"\n >\n <img [src]=\"media.thumbnailUrl\" />\n </div>\n </div>\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\" *ngFor=\"let media of mediaData; let i = index\">\n <img imgLazy [imgLazy]=\"media.mediaUrl\" [src]=\"media.mediaUrl\" />\n </div>\n </div>\n </div>\n\n <ng-template #hashed>\n <div class=\"hatchBackground\" style=\"display: flex; align-items: center; justify-content: center\">\n <fd-busy-indicator fd-toolbar-item [loading]=\"(uploading$ | async)!!\"></fd-busy-indicator>\n </div>\n </ng-template>\n</ng-container>\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, OnInit } from '@angular/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 this.parameters = BarsaApi.Common.Util.TryGetValue(this.context, 'Setting.CustomUi.Parameters');\n if (!this.parameters) {\n this.parameters = this.settings;\n }\n let richText = BarsaApi.Common.Util.TryGetValue(this.parameters, 'Text', '');\n this.placeholders = BarsaApi.Common.Util.TryGetValue(this.parameters, 'Placeholders', null);\n this.classList = BarsaApi.Common.Util.TryGetValue(this.parameters, 'ClassList', null);\n this.placeholders?.MoDataList.forEach((placeholder) => {\n const placeholderInText = `[${placeholder.Placeholder}]`;\n const mo = this.context.FormPanelUi.Mo;\n const filedName = mo.$FieldDict[placeholder.FieldCaption];\n const value = mo[filedName];\n richText = richText.replace(placeholderInText, value);\n });\n this.text = this._domSanitizer.bypassSecurityTrustHtml(richText);\n }\n}\n","<div [innerHtml]=\"text\"></div>\r\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Injector,\n Optional,\n Self,\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} 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 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 _cdr: ChangeDetectorRef,\n @Self() @Optional() protected _containerService: ContainerService\n ) {\n super(\n _el,\n _activatedRoute,\n _portalService,\n _vcr,\n _barsaDialogService,\n _injector,\n _router,\n _cdr,\n _containerService\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","<bnrc-form *ngIf=\"rendered\" [formPanelCtrl]=\"formPanelCtrlr\" [params]=\"params\" (formClose)=\"onFormClose()\"></bnrc-form>\r\n","import { ChangeDetectionStrategy, Component, HostBinding, OnInit, Self } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ContentDensity, ContentDensityService } from '@fundamental-ngx/core';\n\nimport {\n FormBaseComponent,\n PortalService,\n BreadCrumbInfo,\n FormPanelService,\n BreadcrumbService\n} from 'barsa-novin-ray-core';\nimport { ActivatedRoute, Router } from '@angular/router';\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 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 constructor(\n protected _breadcrumbService: BreadcrumbService,\n protected _contentDensityService: ContentDensityService,\n protected _portalService: PortalService,\n protected _activatedRoute: ActivatedRoute,\n protected _router: Router,\n @Self() protected _formPanelService: FormPanelService // private layoutService: LayoutService\n ) {\n super(_formPanelService);\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 this._formPanelService.mo$.subscribe((c) => (this._typeDefName = c?.$TypeDefName ?? ''));\n }\n}\n","<ng-container *ngIf=\"isSearchPanel || (isSimple$ | async) || isSubForm || isModal || isFormReport; else dynamicPage\">\n <bsu-mask *ngIf=\"mask$ | async\"> </bsu-mask>\n <div>\n <bsu-ly-layout-container-of-root\n [config]=\"layout94$ | async\"\n [isPanel]=\"false\"\n [isRoot]=\"true\"\n ></bsu-ly-layout-container-of-root>\n <div class=\"workflow-buttons\" *ngIf=\"workflowPanelUi$ | async as workflowPanelUi\">\n <div style=\"flex-grow: 1\"></div>\n <bsu-layout-actions\n [simple]=\"true\"\n [buttons]=\"[]\"\n [workflowButtons]=\"workflowPanelUi?.buttonList ?? []\"\n (toolClick)=\"onToolbarClick($event)\"\n >\n </bsu-layout-actions>\n </div>\n </div>\n <!-- <div fd-bar barDesign=\"floating-footer\">\n <div\n *ngIf=\"context.WorkflowPanelUi\"\n fd-bar-right\n [footerActions]=\"context.WorkflowPanelUi\"\n ></div>\n <div\n *ngIf=\"\n !context.WorkflowPanelUi &&\n showToolbar &&\n \n toolbar.items.length > 0\n \"\n fd-bar-right\n [footerActions]=\"toolbar\"\n ></div>\n </div> -->\n</ng-container>\n<ng-template #dynamicPage>\n <bsu-fundamental-dynamic-form\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 [hideClose]=\"(hideClose$ | async)!!\"\n [hideTitle]=\"(hideTitle$ | async)!!\"\n [hidePin]=\"(hidePin$ | 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 [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 (close)=\"onClose()\"\n (toolbarClick)=\"onToolbarClick($event)\"\n [contentIsPage]=\"parameters?.ContentIsPage\"\n (workflowChoiceClick)=\"onWorkflowChoiceClick($event)\"\n ></bsu-fundamental-dynamic-form>\n</ng-template>\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 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 }\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 this.arrStatus[currId] = 'completed';\n this.arrStatus[currId + 1] = 'current';\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\">\r\n <fd-wizard-navigation>\r\n <ul fd-wizard-progress-bar [size]=\"wizardSize\" role=\"list\" aria-label=\"Wizard Steps\">\r\n <li\r\n *ngFor=\"let step of modernTabs; let i = index\"\r\n fd-wizard-step\r\n [status]=\"arrStatus[i]\"\r\n (statusChange)=\"onStatusChange(i, $event)\"\r\n [label]=\"step.Title || '' | bbbTranslate\"\r\n (click)=\"onStepClick(i, $event)\"\r\n >\r\n <fd-wizard-step-indicator>{{ i + 1 }}</fd-wizard-step-indicator>\r\n <fd-wizard-content>\r\n <div class=\"fix-form-content\">\r\n <div\r\n #layoutRef\r\n [style.max-width]=\"maxContentWidth ? maxContentWidth + 'px' : 'auto'\"\r\n [style.min-height.px]=\"minTabHeight ? minTabHeight : 400\"\r\n >\r\n <bsu-ly-layout-container-of-root\r\n #containerRootRef\r\n class=\"content-wizard\"\r\n *ngIf=\"i === selectedIndex\"\r\n [config]=\"step\"\r\n [isPanel]=\"false\"\r\n [isRoot]=\"true\"\r\n ></bsu-ly-layout-container-of-root>\r\n </div>\r\n </div>\r\n </fd-wizard-content>\r\n </li>\r\n </ul>\r\n </fd-wizard-navigation>\r\n</fd-wizard>\r\n","import { ComponentFactoryResolver, ComponentRef, Directive, Input, OnInit, ViewContainerRef } 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(private vcr: ViewContainerRef, private factoryResolver: ComponentFactoryResolver) {\n super();\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';\n\nimport { FormPanelService } from 'barsa-novin-ray-core';\nimport { UiFormPanelComponent } from '../ui-form-panel/ui-form-panel.component';\nimport { WizardLayoutDirective } from '../wizard-layout.directive';\n@Component({\n selector: 'bsu-form-wizard',\n templateUrl: './form-wizard.component.html',\n styleUrls: ['./form-wizard.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [FormPanelService]\n})\nexport class FormWizardComponent extends UiFormPanelComponent {\n @ViewChild(WizardLayoutDirective) wizardLayout: WizardLayoutDirective;\n}\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<bsu-mask *ngIf=\"mask$ | async\"> </bsu-mask>\n","import { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, OnInit, ViewChild } from '@angular/core';\n\nimport { FieldBaseComponent } from 'barsa-novin-ray-core';\n@Component({\n selector: 'bsu-ui-text-area',\n templateUrl: './ui-text-area.component.html',\n styleUrls: ['./ui-text-area.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiTextAreaComponent extends FieldBaseComponent implements OnInit, AfterViewInit {\n @ViewChild('textarea', { read: ElementRef }) textarea: ElementRef;\n rowCount: number;\n minHeight: number;\n ngOnInit(): void {\n super.ngOnInit();\n this.rowCount = this.JsonExtraProp?.Row;\n const layoutInfo = this.layoutInfo;\n let minHeight = layoutInfo.Bounds.height;\n if (minHeight < layoutInfo.MinSize.height) {\n minHeight = layoutInfo.MinSize.height;\n }\n this.minHeight = minHeight;\n }\n ngAfterViewInit(): void {\n super.ngAfterViewInit();\n this._calcTextAreaHeight2();\n }\n onValueChange(e): void {\n this.value = e.target.value;\n this.valueChange.emit(this.value);\n }\n onKeyup(): void {\n this._calcTextAreaHeight2();\n }\n private _calcTextAreaHeight2(): void {\n const elTextArea = this.textarea.nativeElement;\n elTextArea.style.height = '1px';\n elTextArea.style.height = 10 + elTextArea.scrollHeight + 'px';\n this._cdr.detectChanges();\n }\n}\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","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n TemplateRef,\n ViewChild\n} from '@angular/core';\nimport { fromEvent, Subscription } from 'rxjs';\nimport { debounceTime, tap } from 'rxjs/operators';\n\nimport { BaseComponent, UiService } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-responsive-toolbar-renderer',\n templateUrl: './responsive-toolbar-renderer.component.html',\n styleUrls: ['./responsive-toolbar-renderer.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ResponsiveToolbarRendererComponent extends BaseComponent implements AfterViewInit, OnDestroy {\n @Input() buttons: any[];\n @Input() renderToolbar: TemplateRef<any>;\n @Output() btnClick = new EventEmitter<any>();\n @ViewChild('dialogRef') dialogRef: ElementRef;\n\n showPopupButton: boolean;\n resizeSubscription$: Subscription;\n\n constructor(private uiService: UiService, private el: ElementRef) {\n super();\n }\n get inToolbarBtn(): any {\n return this.buttons.filter((c) => !c.inPopup);\n }\n get inPopoverBtn(): any {\n return this.buttons.filter((c) => c.inPopup);\n }\n ngAfterViewInit(): void {\n super.ngAfterViewInit();\n\n this.resizeToolbar();\n this.resizeSubscription$ = fromEvent(window, 'resize')\n .pipe(\n debounceTime(100),\n tap(() => this.resizeToolbar())\n )\n .subscribe();\n this.uiService.tabSelected$.subscribe((tab: HTMLElement) => {\n const el = this.el.nativeElement as HTMLElement;\n if (tab.contains(el)) {\n this.resizeToolbar();\n } else {\n }\n });\n }\n ngOnDestroy(): void {\n super.ngOnDestroy();\n if (this.resizeSubscription$) {\n this.resizeSubscription$.unsubscribe();\n }\n }\n resizeToolbar(): void {\n const width = this.el.nativeElement.offsetWidth;\n let btnListWidth = 0;\n this.showPopupButton = false;\n this.buttons.forEach((btn) => {\n if (typeof btn !== 'string') {\n btn.inPopup = false;\n }\n });\n const containerWidth = width - 42;\n this.buttons.forEach((btn, i) => {\n btnListWidth += btn.width;\n if (btnListWidth > containerWidth) {\n this.showPopupButton = true;\n }\n if (this.showPopupButton && typeof this.buttons[i] !== 'string') {\n this.buttons[i].inPopup = true;\n }\n });\n }\n\n onShowPopover(el): void {\n this.dialogRef.nativeElement.openBy(el);\n }\n onButtonClick(btn): void {\n this.btnClick.emit(btn);\n }\n}\n","<div class=\"toolbar-container\">\r\n <ng-container *ngTemplateOutlet=\"renderToolbar; context: { $implicit: inToolbarBtn }\"></ng-container>\r\n <ui5-button\r\n *ngIf=\"showPopupButton\"\r\n #showPopoverRef\r\n class=\"toolbar-btn overflow-btn\"\r\n icon=\"overflow\"\r\n (click)=\"onShowPopover(showPopoverRef)\"\r\n ></ui5-button>\r\n</div>\r\n<ui5-popover #dialogRef horizontal-align=\"Center\" placement-type=\"Bottom\" vertical-align=\"Center\">\r\n <div class=\"toolbar-container modal-toolbar\">\r\n <ng-container *ngTemplateOutlet=\"renderToolbar; context: { $implicit: inPopoverBtn }\"></ng-container>\r\n </div>\r\n</ui5-popover>\r\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\n Output,\n QueryList,\n ViewChildren\n} from '@angular/core';\nimport { BaseComponent, PortalService } from 'barsa-novin-ray-core';\nimport { Observable } from 'rxjs';\n\n@Component({\n selector: 'bsu-responsive-toolbar',\n templateUrl: './responsive-toolbar.component.html',\n styleUrls: ['./responsive-toolbar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ResponsiveToolbarComponent extends BaseComponent implements OnInit {\n @Input() buttons: any[];\n @Output() btnClick = new EventEmitter<any>();\n @ViewChildren('btnRef') btnListRef: QueryList<ElementRef>;\n\n dirValue$: Observable<string>;\n buttonsCalculated: any[];\n btns: any[];\n\n constructor(private portalService: PortalService) {\n super();\n this.dirValue$ = this.portalService.dirValue$;\n }\n ngOnInit(): void {\n super.ngOnInit();\n this.btns = this.buttons;\n }\n calculateWidthOfButtons(): void {\n const tempList: any = [];\n this.btnListRef.toArray().forEach((btnRef, i) => {\n let btnTemp = this.buttons[i];\n if (this.buttons[i] === '-') {\n btnTemp = { text: '-', width: btnRef.nativeElement.offsetWidth };\n } else {\n btnTemp.width = btnRef.nativeElement.offsetWidth + 10;\n }\n tempList.push(btnTemp);\n });\n this.buttonsCalculated = [...tempList];\n }\n onButtonClick(button): void {\n this.btnClick.emit(button);\n }\n}\n","<!-- <div style=\"width: 100%; height: 0; visibility: hidden\" #containerRef>\r\n <ng-container\r\n *ngTemplateOutlet=\"renderToolbar; context: { $implicit: buttons }\"\r\n ></ng-container>\r\n</div>\r\n<bsu-responsive-toolbar-renderer\r\n *ngIf=\"buttonsCalculated\"\r\n [buttons]=\"buttonsCalculated\"\r\n (btnClick)=\"onButtonClick($event)\"\r\n [renderToolbar]=\"renderToolbar\"\r\n></bsu-responsive-toolbar-renderer>\r\n\r\n<ng-template #renderToolbar let-btnList>\r\n <ng-container *ngFor=\"let btn of btnList\">\r\n <ng-container *ngIf=\"btn === '-' || btn.text === '-'; else btnCommand\">\r\n <span #btnRef class=\"toolbar-btn toolbar-vseperator\"></span>\r\n </ng-container>\r\n <ng-template #btnCommand>\r\n <ui5-button\r\n #btnRef\r\n (click)=\"onButtonClick(btn)\"\r\n [attr.disabled]=\"btn.enable === false ? true : null\"\r\n [attr.disabled]=\"btn.readonly === true ? true : null\"\r\n class=\"toolbar-btn\"\r\n [attr.design]=\"btn.emphasized ? 'Emphasized' : 'Transparent'\"\r\n [attr.icon]=\"btn.newIcon ? btn.newIcon : null\"\r\n >{{ btn.text }}\r\n <img *ngIf=\"!btn.newIcon && !btn.isBuiltin\" width=\"16\" [src]=\"btn.icon\"\r\n /></ui5-button>\r\n </ng-template>\r\n </ng-container>\r\n</ng-template> -->\r\n\r\n<fd-toolbar [shouldOverflow]=\"true\" [style.direction]=\"dirValue$ | async\">\r\n <ng-container *ngFor=\"let btn of btns\">\r\n <fd-toolbar-separator *ngIf=\"btn === '-' || btn.text === '-'; else btnCommand\"></fd-toolbar-separator>\r\n <ng-template #btnCommand>\r\n <button\r\n fd-toolbar-item\r\n fd-button\r\n (click)=\"onButtonClick(btn)\"\r\n [attr.disabled]=\"btn.enable === false ? true : null\"\r\n [attr.disabled]=\"btn.readonly === true ? true : null\"\r\n [fdType]=\"btn.emphasized ? 'emphasized' : 'transparent'\"\r\n [label]=\"btn.text\"\r\n [glyph]=\"btn.newIcon ? btn.newIcon : null\"\r\n >\r\n <img *ngIf=\"!btn.newIcon && !btn.isBuiltin\" width=\"16\" [src]=\"btn.icon\" />\r\n </button>\r\n </ng-template>\r\n </ng-container>\r\n</fd-toolbar>\r\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.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 _addFormControl(formControl): void {\n this.customFormPanelUi = formControl;\n this._cdr.detectChanges();\n }\n}\n","<ng-container *ngIf=\"customFormPanelUi\">\n <bnrc-form *untilInView=\"el\" [customFormPanelUi]=\"customFormPanelUi\"></bnrc-form>\n</ng-container>\n","import { AfterViewInit, Component, ElementRef, OnInit, Input, ViewChild, ChangeDetectionStrategy } from '@angular/core';\nimport { FieldBaseComponent, DateService, LogService, getDateService } 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\n ngOnInit(): void {\n super.ngOnInit();\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 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 // timeFormat2 += ' A';\n this.formatPattern = `YYYY/MM/DD${timeFormat2}`;\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 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 return (this.context.caption = this.valueCaption =\n this._dateService.getMoment(value).format(this.formatPattern));\n }\n /* eslint-disable */\n @Input() GetCaption = () => this.valueCaption;\n}\n","<input\n *ngIf=\"(disableOrReadonly$ | async)!!; else datetime\"\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]=\"valueCaption\"\n/>\n<ng-template #datetime>\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 [showDate]=\"Setting.ShowDate1\"\n [showTime]=\"Setting.ShowTime1\"\n [primaryCalendarType]=\"Setting.CalendarType\"\n [formatPattern]=\"formatPattern\"\n (valueChange)=\"onDateChange2($event)\"\n [readonly]=\"(readonly$ | async) === true ? true : false\"\n [disabled]=\"(disable$ | async) === true ? true : false\"\n >\n </bc-date-time-picker>\n </div>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, HostBinding, OnInit } from '@angular/core';\n\nimport { FieldBaseComponent } from 'barsa-novin-ray-core';\n@Component({\n selector: 'bsu-ui-button',\n templateUrl: './ui-button.component.html',\n styleUrls: ['./ui-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiButtonComponent extends FieldBaseComponent implements OnInit {\n @HostBinding('style.margin') designMode: string;\n label: string;\n ngOnInit(): void {\n super.ngOnInit();\n this.label = this.context.text;\n this.designMode = this.JsonExtraProp?.Design ? '3px 1px' : '0';\n if (this.layoutInfo?.UseLayoutItemTextForControl && !this.layoutInfo.TextVisible) {\n this.label = this.layoutInfo.Caption;\n }\n }\n onClick(): void {\n if (this.context.fireEvent) {\n this.context.fireEvent('click', this.context);\n }\n }\n}\n","<button\n (click)=\"onClick()\"\n [disabled]=\"(disable$ | async)!!\"\n fd-button\n [fdType]=\"parameters?.FdType$Caption\"\n [glyph]=\"parameters?.Icon\"\n>\n <img\n *ngIf=\"!parameters?.Icon && context?.Setting?.FieldIcon && !JsonExtraProp?.Icon\"\n [src]=\"context?.Setting.FieldIcon\"\n />\n <span class=\"fd-button__text\" *ngIf=\"label && !JsonExtraProp?.OnlyIcon && !parameters?.OnlyIcon\">{{\n label | bbbTranslate\n }}</span>\n</button>\n","import { ChangeDetectionStrategy, Component, HostBinding, OnChanges, OnInit, SimpleChanges } from '@angular/core';\nimport { SafeHtml } from '@angular/platform-browser';\n\nimport { BarsaApi, FieldBaseComponent } 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\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}\n","<ng-container *untilInView=\"el\">\r\n <div\r\n class=\"html-readonly\"\r\n *ngIf=\"Setting.IsHtmlViewer || (disableOrReadonly$ | async); else textarea\"\r\n [class.readonly]=\"readonly$ | async\"\r\n [class.anonymous]=\"isAnonymous\"\r\n [class.disable]=\"disable$ | async\"\r\n [innerHtml]=\"Setting.IsHtmlViewer ? sefeValue : ''\"\r\n ></div>\r\n <ng-template #textarea>\r\n <bsu-mask *ngIf=\"!tinyInit\"></bsu-mask>\r\n <bsu-barsa-tinyemce\r\n [Setting]=\"Setting\"\r\n [value]=\"value\"\r\n (tinyInit)=\"onTinyInit()\"\r\n (valueChange)=\"onTinyChanged($event)\"\r\n [readonly]=\"isReadonly\"\r\n ></bsu-barsa-tinyemce>\r\n </ng-template>\r\n</ng-container>\r\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewChildren\n} from '@angular/core';\nimport { DialogConfig, DialogRef, DialogService } from '@fundamental-ngx/core';\nimport { BarsaApi, BaseComponent, getDeviceIsMobile, BbbTranslatePipe } from 'barsa-novin-ray-core';\nimport { UiGridColumnsComponent } from '../ui-grid-columns/ui-grid-columns.component';\nimport { UiGridSortSettingComponent } from '../ui-grid-sort-setting/ui-grid-sort-setting.component';\n\n@Component({\n selector: 'bsu-ulv-settings',\n templateUrl: './ulv-settings.component.html',\n styleUrls: ['./ulv-settings.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UlvSettingsComponent extends BaseComponent implements OnInit {\n @Input() context: any;\n @Output() changed = new EventEmitter<any>();\n @Output() restore = new EventEmitter();\n @ViewChild('dialogTemplateRef', { read: TemplateRef })\n dialogTemplateRef: TemplateRef<any>;\n @ViewChild('gridColumnsRef') gridColumnsComponent: UiGridColumnsComponent;\n @ViewChild('gridSortRef') gridSortComponent: UiGridSortSettingComponent;\n @ViewChild('gridGroupRef') gridGroupComponent: UiGridSortSettingComponent;\n @ViewChildren('settingButtons') settingButtonRef: QueryList<ElementRef>;\n settingButtons: any = [];\n selectedSettingButton = 0;\n dialogRef: DialogRef;\n options: { Event: string } = { Event: '' };\n allColumns: any;\n sortSettings: { IsGrouped: boolean; Name: string; SortDirection: string }[];\n isMobile: boolean;\n\n constructor(private dialogService: DialogService, private bbbPipe: BbbTranslatePipe) {\n super();\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.isMobile = getDeviceIsMobile();\n this.allColumns = BarsaApi.Common.Util.TryGetValue(this.context, 'Setting.View.Columns', []).filter(\n (c) => c.Name !== 'Id' && c.Name !== '$Caption' && c.Name !== '$StyleIndex'\n );\n this.sortSettings = BarsaApi.Common.Util.TryGetValue(\n this.context,\n 'Setting.View.GridSetting.SortSettingList',\n []\n );\n this._initSelectBtns();\n }\n\n close(): void {\n this.dialogRef.close();\n }\n /* eslint-disable */\n @Input() open = (): void => {\n const dialogConfig: DialogConfig = {\n escKeyCloseable: false,\n responsivePadding: true,\n backdropClickCloseable: false\n };\n\n if (!this.isMobile) {\n dialogConfig.width = '60%';\n dialogConfig.height = '56%';\n }\n // this.dialogRef.nativeElement.open(htmlElement);\n this.dialogRef = this.dialogService.open(this.dialogTemplateRef, dialogConfig);\n };\n\n onCancelSettings(): void {\n this.dialogRef.close();\n }\n\n onOkClick(): void {\n const colList = this.gridColumnsComponent.columns;\n const sortSetting = this.gridSortComponent.getSettings();\n const grouped = this.gridGroupComponent.getSettings();\n sortSetting.forEach((c) => {\n const groupItem = grouped.find((d) => d.Name === c.Name);\n if (groupItem) {\n c.IsGrouped = groupItem.IsGrouped;\n }\n });\n const autoSizeColumns = BarsaApi.Common.Util.TryGetValue(\n this.context,\n 'Setting.View.GridSetting.AutoSizeColumns',\n false\n );\n const setting = {\n ColSettingList: colList,\n SortSettingList: sortSetting,\n AutoSizeColumns: autoSizeColumns\n };\n this.changed.emit({ setting, options: this.options });\n this.close();\n }\n\n onRestoreClick(): void {\n this.restore.emit();\n }\n\n onSettingButtonsSelectionChange(index): void {\n this.selectedSettingButton = index;\n }\n\n onChangeSetting(): void {\n this.options.Event = 'SortChange';\n }\n\n private _initSelectBtns(): void {\n this.settingButtons = [\n { text: this.bbbPipe.transform('Columns') },\n { text: this.bbbPipe.transform('Sort') },\n // { text: this.bbbPipe.transform('Filter') },\n { text: this.bbbPipe.transform('Groups') }\n ];\n }\n}\n","<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #dialogTemplateRef>\r\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\r\n <fd-dialog-header>\r\n <h1 fd-title>{{ 'Settings' | bbbTranslate }}</h1>\r\n <button fd-dialog-close-button (click)=\"dialog.dismiss('Close button')\"></button>\r\n </fd-dialog-header>\r\n <fd-dialog-body class=\"setting-wrapper\">\r\n <fd-segmented-button>\r\n <button\r\n (click)=\"onSettingButtonsSelectionChange(i)\"\r\n #settingButtons\r\n *ngFor=\"let button of settingButtons; let i = index\"\r\n [class.is-selected]=\"selectedSettingButton === i ? true : null\"\r\n fd-button\r\n [label]=\"button.text\"\r\n ></button>\r\n </fd-segmented-button>\r\n <div\r\n class=\"setting-section\"\r\n [class.section-visible]=\"settingButtons[selectedSettingButton]?.text === ('Columns' | bbbTranslate)\"\r\n >\r\n <bsu-ui-grid-columns [columns]=\"allColumns\" #gridColumnsRef></bsu-ui-grid-columns>\r\n </div>\r\n <div\r\n class=\"setting-section\"\r\n [class.section-visible]=\"settingButtons[selectedSettingButton]?.text === ('Sort' | bbbTranslate)\"\r\n >\r\n <bsu-ui-grid-sort-setting\r\n #gridSortRef\r\n [columns]=\"allColumns\"\r\n [sortSettings]=\"sortSettings\"\r\n (changeSetting)=\"onChangeSetting()\"\r\n ></bsu-ui-grid-sort-setting>\r\n </div>\r\n\r\n <div\r\n class=\"setting-section\"\r\n [class.section-visible]=\"settingButtons[selectedSettingButton]?.text === ('Groups' | bbbTranslate)\"\r\n >\r\n <bsu-ui-grid-sort-setting\r\n #gridGroupRef\r\n [columns]=\"allColumns\"\r\n [class.section-visible]=\"selectedSettingButton === 1\"\r\n [sortSettings]=\"sortSettings\"\r\n [showGroups]=\"true\"\r\n (changeSetting)=\"onChangeSetting()\"\r\n ></bsu-ui-grid-sort-setting>\r\n </div>\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-button>\r\n <button\r\n fd-button\r\n fdType=\"transparent\"\r\n (click)=\"onRestoreClick()\"\r\n [label]=\"'Restore' | bbbTranslate\"\r\n ></button>\r\n </fd-dialog-footer-button>\r\n </fd-dialog-footer>\r\n </fd-dialog>\r\n</ng-template>\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\nimport { FieldBaseComponent } from 'barsa-novin-ray-core';\n@Component({\n selector: 'bsu-ui-search-command-info-ui',\n templateUrl: './ui-search-command-info-ui.component.html',\n styleUrls: ['./ui-search-command-info-ui.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiSearchCommandInfoUiComponent extends FieldBaseComponent {\n searchTerm = '';\n\n onSearch(): void {\n this.context.fireEvent('SearchClick');\n }\n onClear(): void {\n this.context.fireEvent('ClearClick');\n }\n}\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, ElementRef } from '@angular/core';\r\nimport { FormToolbarBaseComponent, PortalService } from 'barsa-novin-ray-core';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'bsu-ui-form-panel-toolbar',\r\n templateUrl: './ui-form-panel-toolbar.component.html',\r\n styleUrls: ['./ui-form-panel-toolbar.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class UiFormPanelToolbarComponent extends FormToolbarBaseComponent {\r\n compact = true;\r\n dirValue$: Observable<string>;\r\n constructor(public el: ElementRef, private portalService: PortalService) {\r\n super();\r\n this.dirValue$ = this.portalService.dirValue$;\r\n }\r\n}\r\n","<fd-toolbar *ngIf=\"visible\" fdType=\"transparent\" [clearBorder]=\"true\" [size]=\"size\" [shouldOverflow]=\"true\">\r\n <ng-container *ngFor=\"let btn of buttons; let i = index\">\r\n <fd-toolbar-separator\r\n [attr.i]=\"i\"\r\n *ngIf=\"(btn === '-' || btn.text === '-') && i > 0 && i < buttons.length - 1\"\r\n ></fd-toolbar-separator>\r\n <ng-container *ngIf=\"btn.IAmMenu\">\r\n <fd-split-button\r\n [dir]=\"dirValue$ | async\"\r\n [compact]=\"true\"\r\n fd-toolbar-item\r\n [mainAction]=\"{ mainActionTitle: btn.text, keepMainAction: true }\"\r\n [fdType]=\"btn.design ? btn.design : btn.Data?.JsonExtraProp?.Design\"\r\n [glyph]=\"(btn.newIcon ? btn.newIcon : btn.Data?.JsonExtraProp?.Icon) || 'slim-arrow-down'\"\r\n (click)=\"menu.open()\"\r\n >\r\n <fd-menu #menu>\r\n <li fd-menu-item *ngFor=\"let menuItem of btn.menu.items\" (itemSelect)=\"onToolClick(menuItem)\">\r\n <div fd-menu-interactive>\r\n <fd-menu-addon\r\n position=\"before\"\r\n [glyph]=\"menuItem.newIcon ? menuItem.newIcon : menuItem.Data?.JsonExtraProp?.Icon\"\r\n >\r\n </fd-menu-addon>\r\n <span fd-menu-title>{{ menuItem.text }}</span>\r\n <img class=\"mr8\" *ngIf=\"menuItem.icon\" [src]=\"menuItem.icon\" />\r\n </div>\r\n </li>\r\n </fd-menu>\r\n </fd-split-button>\r\n </ng-container>\r\n <fdp-button\r\n *ngIf=\"btn !== '-' && btn.text !== '-' && !btn.IAmMenu\"\r\n fd-toolbar-item\r\n [contentDensity]=\"compact ? 'compact' : 'cozy'\"\r\n [buttonType]=\"btn.design ? btn.design : btn.Data?.JsonExtraProp?.Design\"\r\n [label]=\"btn.text\"\r\n [glyph]=\"btn.newIcon ? btn.newIcon : btn.Data?.JsonExtraProp?.Icon\"\r\n (click)=\"onToolClick(btn)\"\r\n ></fdp-button>\r\n </ng-container>\r\n</fd-toolbar>\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'bsu-ui-info-bar-panel',\n templateUrl: './ui-info-bar-panel.component.html',\n styleUrls: ['./ui-info-bar-panel.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiInfoBarPanelComponent {}\n","<p>ui-info-bar-panel works!</p>\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, OnInit, Output } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { takeUntil, tap } from 'rxjs/operators';\n\nimport { BbbTranslatePipe, BaseComponent, UlvMainService, 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 pagingSetting$: Observable<PagingSetting | null>;\n context: any;\n currentPage = 0;\n totalPage = 0;\n totalPageStr: string;\n constructor(private ulvMainService: UlvMainService, private bbbPipe: BbbTranslatePipe) {\n super();\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.pagingSetting$ = this.ulvMainService.pagingSetting$.pipe(\n takeUntil(this._onDestroy$),\n tap((pagingSetting: PagingSetting | null) => {\n if (pagingSetting === null) {\n this.height = 0;\n return;\n }\n this.totalPage = Number(pagingSetting.TotalPages);\n const totalRows = pagingSetting.TotalRows.toString();\n this.totalPageStr = this.bbbPipe.transform('CountWithParenthesis').replace('{0}', totalRows);\n })\n );\n }\n\n onPageSizeChange(e): void {\n const selectedValue = e.target.selectedOption.value;\n this.ulvMainService.pageSizeChanged(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 _pageChanged(pageNumber?: number): void {\n pageNumber = typeof pageNumber === 'undefined' ? this.currentPage : pageNumber;\n this.ulvMainService.pageChanged(pageNumber);\n }\n}\n","<!-- <ng-container *ngIf=\"config?.Setting?.Data?.Paging?.HasPaging\">\r\n <div class=\"icons\">\r\n <button\r\n fd-button\r\n [attr.disabled]=\"currentPage === totalPage - 1 ? true : null\"\r\n fdType=\"transparent\"\r\n glyph=\"begin\"\r\n (click)=\"onEndClick()\"\r\n ></button>\r\n <button\r\n fd-button\r\n [attr.disabled]=\"currentPage + 1 >= totalPage ? true : null\"\r\n fdType=\"transparent\"\r\n glyph=\"navigation-left-arrow\"\r\n (click)=\"onNextClick()\"\r\n ></button>\r\n <button\r\n fd-button\r\n [attr.disabled]=\"currentPage - 1 < 0 ? true : null\"\r\n fdType=\"transparent\"\r\n glyph=\"navigation-right-arrow\"\r\n (click)=\"onPreviousClick()\"\r\n ></button>\r\n <button\r\n fd-button\r\n [attr.disabled]=\"currentPage === 0 ? true : null\"\r\n fdType=\"transparent\"\r\n glyph=\"begin\"\r\n (click)=\"onFirstClick()\"\r\n ></button>\r\n </div>\r\n <div class=\"pagesize\">\r\n <label style=\"padding: 0 5px\"\r\n >{{ currentPage * pageSize }}-{{ currentPage * pageSize + pageSize }} از\r\n {{ config.Setting.Data.Paging.TotalRows }}</label\r\n >\r\n <fd-select (valueChange)=\"onPageSizeChange($event)\" [value]=\"pageSize\">\r\n <fd-option [value]=\"24\">24</fd-option>\r\n <fd-option [value]=\"100\">100</fd-option>\r\n <fd-option [value]=\"100\">100</fd-option>\r\n </fd-select>\r\n\r\n <label style=\"padding: 0 5px\">{{ ItemsPerPage }}:</label>\r\n </div>\r\n</ng-container> -->\r\n<ng-container *ngIf=\"pagingSetting$ | async as pagingSetting\">\r\n <fd-pagination\r\n *ngIf=\"pagingSetting && pagingSetting.HasPaging\"\r\n [totalItems]=\"pagingSetting.TotalRows\"\r\n (pageChangeStart)=\"onPageChange($event)\"\r\n [itemsPerPage]=\"pagingSetting.PageSize\"\r\n [currentPage]=\"currentPage\"\r\n [displayTextTemplate]=\"showingItems\"\r\n ></fd-pagination>\r\n</ng-container>\r\n<ng-template #showingItems let-showing=\"showing\">\r\n <span dir=\"ltr\">\r\n {{ 'From' | bbbTranslate }} {{ showing.from }} {{ 'To' | bbbTranslate }} {{ showing.to }} {{ totalPageStr }}\r\n </span>\r\n</ng-template>\r\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { DialogRef } from '@fundamental-ngx/core';\n\nimport { BaseComponent, getDeviceIsMobile, MetaobjectDataModel } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-ulv-selection',\n templateUrl: './ulv-selection.component.html',\n styleUrls: ['./ulv-selection.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UlvSelectionComponent extends BaseComponent implements AfterViewInit {\n @Input() context: {\n [key: string]: any;\n };\n @Input() config: {\n _icon: null;\n ShowSecondPanel: string;\n FormTitle: string;\n };\n @Input() body;\n\n @ViewChild('dialogRef', { read: TemplateRef })\n dialogTemplateRef: TemplateRef<any>;\n\n @ViewChild('content', { read: ElementRef })\n contentRef: ElementRef;\n visibility = false;\n onParams: {\n scope: any;\n beforeclose: () => void;\n AddRemoveButtonClick: () => void;\n };\n hasUlv: boolean;\n isMobile: any;\n ulvMainUi: any;\n caption: any;\n data: any;\n\n constructor(public dailogRef: DialogRef) {\n super();\n this.data = this.dailogRef.data;\n }\n\n ngAfterViewInit(): void {\n this.isMobile = getDeviceIsMobile();\n }\n\n getCaption(): void {\n return this.ulvMainUi?.Setting?.Extra?.Report?.Caption || '';\n }\n\n onOk(): void {}\n\n onClear(): void {}\n\n onDismiss(): void {\n this.dailogRef.close();\n }\n\n _trackBySelectedFn(_index: number, item: MetaobjectDataModel): number | string {\n return item.Id;\n }\n\n onRemoveSelected(): void {}\n\n beforeClose(): void {\n this.onParams.beforeclose.bind(this.context)();\n }\n\n onBeforeClose(): void {\n this.beforeClose();\n }\n\n onClose(): void {\n this.beforeClose();\n }\n\n onBeforeOpen(): void {\n this.visibility = this.visibility ? true : false;\n }\n}\n","<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #container>\r\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\r\n <fd-dialog-header>\r\n <h3 fd-title>{{ data.title }}</h3>\r\n </fd-dialog-header>\r\n\r\n <fd-dialog-body>\r\n <ng-container *ngIf=\"data.ulvUi as ulvUi\">\r\n <bsu-ui-ulv-main-ui [context]=\"ulvUi\"></bsu-ui-ulv-main-ui>\r\n </ng-container>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <ng-template fdTemplate=\"footer\">\r\n <div\r\n class=\"ulv-selection-form-dialog__row ulv-selection-form-dialog__selection-row\"\r\n aria-label=\"Selected and condition items\"\r\n i18n-aria-label=\"@@platformI18nValueHelpDialog.SelectionBarLabel\"\r\n >\r\n <h5 fd-title class=\"selected-and-condition-title\">\r\n <ng-container>\r\n <ng-container i18n=\"@@platformI18nValueHelpDialog.SelectedAndConditionLabel\"\r\n >Selected Items and Conditions\r\n </ng-container>\r\n ({{ data.selectedItems?.length || 0 }})\r\n </ng-container>\r\n </h5>\r\n\r\n <div class=\"ulv-selection-form-dialog__tokens-wrapper\">\r\n <div class=\"ulv-selection-form-dialog__tokens\">\r\n <fd-toolbar [shouldOverflow]=\"true\" *ngIf=\"data.selectedItems\">\r\n <!-- Selected items -->\r\n <fd-token\r\n fd-toolbar-item\r\n fdOverflowPriority=\"high\"\r\n class=\"fdp-value-help-dialog__selection-token\"\r\n (onCloseClick)=\"onRemoveSelected()\"\r\n *ngFor=\"\r\n let item of data.selectedItems;\r\n index as selectedIndex;\r\n trackBy: _trackBySelectedFn\r\n \"\r\n >{{ item.$Caption }}\r\n </fd-token>\r\n </fd-toolbar>\r\n </div>\r\n <button\r\n class=\"ulv-selection-form-dialog__tokens-clear\"\r\n fd-button\r\n fdType=\"transparent\"\r\n glyph=\"decline\"\r\n i18n-aria-label=\"@@platformI18nValueHelpDialog.ClearSelectedAriaLabel\"\r\n aria-label=\"clear selected items\"\r\n (click)=\"onClear()\"\r\n ></button>\r\n </div>\r\n </div>\r\n <div class=\"ulv-selection-form-dialog__actions-row\">\r\n <button\r\n fd-button\r\n data-succes\r\n i18n-label=\"@@platformI18nValueHelpDialog.SuccessButton\"\r\n label=\"OK\"\r\n fdType=\"emphasized\"\r\n (click)=\"onOk()\"\r\n ></button>\r\n <button\r\n fd-button\r\n data-dismiss-dialog\r\n fd-dialog-decisive-button\r\n i18n-label=\"@@platformI18nValueHelpDialog.CancelButton\"\r\n label=\"Cancel\"\r\n fdType=\"transparent\"\r\n (click)=\"onDismiss()\"\r\n ></button>\r\n </div>\r\n </ng-template>\r\n </fd-dialog-footer>\r\n </fd-dialog>\r\n</ng-template>\r\n","import { ChangeDetectionStrategy, Component, HostListener, OnDestroy, OnInit } from '@angular/core';\n\nimport { FieldBaseComponent } from 'barsa-novin-ray-core';\n@Component({\n selector: 'bsu-ui-single-picture',\n templateUrl: './ui-single-picture.component.html',\n styleUrls: ['./ui-single-picture.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiSinglePictureComponent extends FieldBaseComponent implements OnInit, OnDestroy {\n imageUrl: string;\n pos: any;\n @HostListener('click', ['$event.target'])\n hostClick(): void {\n this.context?.fireEvent('click', this.context);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.imageUrl = this.context.Setting.ImageUrl;\n this.imageUrl = this.imageUrl || this.context.imageUrl;\n this.pos = this.context.pos;\n this.context.on({\n DispalyImage: this._displayImage.bind(this)\n });\n }\n ngOnDestroy(): void {\n super.ngOnDestroy();\n this.context.un('DisplayImage', this._displayImage);\n }\n private _displayImage(imageUrl, pos): void {\n this.imageUrl = imageUrl;\n this.pos = pos;\n }\n}\n","<div\r\n style=\"width: 100%; overflow: hidden\"\r\n [style.max-height.px]=\"Setting.SizeMode === 2 ? layoutInfo.ControlBounds.height : null\"\r\n [class.center]=\"Setting.SizeMode === 3\"\r\n>\r\n <img\r\n [style.max-height.px]=\"Setting.SizeMode === 0 ? layoutInfo.ControlBounds.height : null\"\r\n [style.max-width.px]=\"Setting.SizeMode === 0 ? layoutInfo.ControlBounds.width : null\"\r\n [src]=\"imageUrl\"\r\n [ngClass]=\"Setting.SizeMode === 1 ? 'cover' : 'contain'\"\r\n />\r\n</div>\r\n","import { ChangeDetectionStrategy, Component, HostBinding, OnInit } from '@angular/core';\n\nimport { LayoutItemBaseComponent, FormPanelService } 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('style.flex') flex;\n @HostBinding('style.max-width.px') maxWidth;\n height;\n constructor(protected formPanelService: FormPanelService) {\n super(formPanelService);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n const { Bounds, MaxSize } = this.config;\n this.height = Bounds.height;\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';\n\nimport { NumberBaseComponent } from 'barsa-novin-ray-core';\n@Component({\n selector: 'bsu-ui-time-span',\n templateUrl: './ui-time-span.component.html',\n styleUrls: ['./ui-time-span.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiTimeSpanComponent extends NumberBaseComponent implements OnInit {\n @ViewChild('inputRef', { read: ElementRef, static: true })\n inputRef: ElementRef;\n inputElement: HTMLInputElement | null | undefined;\n\n ngOnInit(): void {\n super.ngOnInit();\n this.Setting.DecimalPrecision = 2;\n this.Setting.ShowThousandSeperator = false;\n this.inputElement = this.inputRef.nativeElement;\n super.ngOnInit(); // this is required.\n }\n}\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]=\"Setting.IsLtr === true ? 'ltr' : null\"\r\n (keydown)=\"onKeyDown($event)\"\r\n (input)=\"onValueChange($event)\"\r\n/>\r\n","import { ChangeDetectionStrategy, Component, ElementRef, OnInit, ViewChild } from '@angular/core';\n\nimport { NumberBaseComponent } from 'barsa-novin-ray-core';\n@Component({\n selector: 'bsu-ui-num-decimal-ui',\n templateUrl: './ui-num-decimal-ui.component.html',\n styleUrls: ['./ui-num-decimal-ui.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiNumDecimalUiComponent extends NumberBaseComponent implements OnInit {\n @ViewChild('inputRef', { read: ElementRef, static: true })\n inputRef: ElementRef;\n inputElement: HTMLInputElement | null | undefined;\n ngOnInit(): void {\n this.inputElement = this.inputRef.nativeElement;\n super.ngOnInit();\n }\n protected raiseValueChange(val): void {\n this.valueChange.emit(val);\n }\n}\n","<input\r\n #inputRef\r\n fd-form-control\r\n [id]=\"id\"\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 class=\"number-input\"\r\n [style.direction]=\"Setting.IsLtr === true ? 'ltr' : null\"\r\n (keydown)=\"onKeyDown($event)\"\r\n (input)=\"onValueChange($event)\"\r\n/>\r\n<label fd-form-label flexShrink=\"0\" *ngIf=\"Setting.CurrencySymbol\">{{ Setting.CurrencySymbol }} </label>\r\n","import { ChangeDetectionStrategy, Component, 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 {\n selectedItems: { id: string; txt: string }[] = [];\n maxWidth: any;\n ngOnInit(): void {\n super.ngOnInit();\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 }\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 onOpenChange(isOpen: boolean, multiInput: MultiInputComponent): void {\n if (isOpen) {\n setTimeout(() => {\n multiInput.listComponent.items.get(0)?.focus();\n }, 0);\n }\n }\n\n onValueChange(e): void {\n const selectedValue = e.target.selectedOption.value;\n this.value = selectedValue;\n this.valueChange.emit(this.value);\n this.fireContextEvent('select', this.value);\n }\n onSelectionChange(e): void {\n this.value = e.target.selectedValues.map((c) => c.value).join(',');\n this._raiseValueChanged();\n }\n\n onSelectedChange(): void {\n this.value = this.selectedItems.map((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 private _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]=\"context.store.data[context.store.root]\"\n [placeholder]=\"'Search' | bbbTranslate\"\n [(ngModel)]=\"selectedItems\"\n [displayFn]=\"displayFunc\"\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 <img [attrRtl] *ngIf=\"item.url\" [src]=\"item.url\" />\n <span fd-list-title>{{ item.txt | bbbTranslate }}</span>\n </div>\n</ng-template>\n","import {\n Component,\n HostListener,\n Input,\n ViewChild,\n ChangeDetectionStrategy,\n OnInit,\n AfterViewInit\n} from '@angular/core';\nimport { Observable, of, Subject } from 'rxjs';\nimport { debounceTime, filter, distinctUntilChanged, tap, takeUntil, switchMap } from 'rxjs/operators';\nimport { ComboboxComponent, DialogRef } from '@fundamental-ngx/core';\n\nimport {\n FieldBaseComponent,\n BarsaApi,\n ReportExtraInfo,\n MoForReportModel,\n ClassNamesModel,\n ViewTypes,\n MetaobjectDataModel\n} from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-ui-mo-info-ulv-combo',\n templateUrl: './ui-mo-info-ulv-combo.component.html',\n styleUrls: ['./ui-mo-info-ulv-combo.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiMoInfoUlvComboComponent extends FieldBaseComponent implements OnInit, AfterViewInit {\n @Input() ulvAdapter: {\n [key: string]: any;\n Setting: {\n [key: string]: any;\n View: ViewTypes;\n ClassNames: ClassNamesModel;\n Extra: ReportExtraInfo;\n Data: MoForReportModel;\n };\n };\n @Input() Control: any;\n @Input() UlvUi: any;\n @Input() UlvMainCtrlr: any;\n @ViewChild(ComboboxComponent) fdComboRef: ComboboxComponent;\n\n isExpand: boolean;\n smartChange = new Subject<string>();\n loading$: Observable<boolean>;\n tickRef: any;\n inputElement: HTMLInputElement;\n isFirstLoad: boolean;\n popoverElement: any;\n rawValue: string;\n formSelectionDialog: DialogRef;\n isOpenSelectionDialog: boolean;\n hasReport: any;\n originalValue: any;\n isDataLoadedFirstTime: boolean;\n valueText: string;\n private _openPopupFormSelectionSource = new Subject<void>();\n private _closeDialogSource = new Subject<void>();\n private _loadingSource = new Subject<boolean>();\n private _valueMo: MetaobjectDataModel | null;\n\n @HostListener('keydown.alt', ['$event'])\n onAlt(e): void {\n e.stopPropagation();\n e.preventDefault();\n }\n ngOnInit(): void {\n this.loading$ = this._loadingSource.asObservable().pipe(takeUntil(this._onDestroy$));\n this.loading$.subscribe(() => {\n this.isDataLoadedFirstTime =\n typeof this.ulvAdapter?.Setting?.Data?.MoDataList === 'object' ||\n typeof this.UlvUi?.Setting?.Data?.MoDataList === 'object';\n });\n this.smartChange\n .pipe(\n takeUntil(this._onDestroy$),\n debounceTime(200),\n filter((value) => this._filterSmartChange(value)),\n distinctUntilChanged(),\n tap((value) => (this.rawValue = value))\n )\n .subscribe((value) => {\n this.context.fireEvent('SmartChange', this.context, value);\n });\n this._openPopupFormSelectionSource\n .asObservable()\n .pipe(\n takeUntil(this._closeDialogSource),\n takeUntil(this._onDestroy$),\n filter(() => this.UlvUi && !this.isOpenSelectionDialog && this.context._showPopup),\n switchMap(() => this._openPopupFormSelection())\n )\n .subscribe();\n super.ngOnInit();\n this.originalValue = this.value;\n this.hasReport = this.Setting.RelationViewType === 'ReportView' || this.Setting.ReportName === 'Hierarchical';\n this.Control = this;\n this._setValueText(this.value);\n }\n ngAfterViewInit(): void {\n super.ngAfterViewInit();\n // this._setComboText(this.value);\n }\n\n onOpenChange(fdCombobox, isOpen: boolean): void {\n if (isOpen) {\n this._focus();\n // fdCombobox.open = false; // it close popup when click on dropdown button in component\n } else {\n const inputText = this.fdComboRef?.inputTextValue;\n if (!this.value && inputText) {\n this._raiseSmartChange(inputText);\n }\n }\n }\n onInputChange(e): void {\n this._raiseSmartChange(e);\n }\n onInputChange2(e): void {\n this._raiseSmartChange(e.target.value);\n }\n onValueChange(e): void {\n this._raiseValueChanged(e.target.value);\n }\n onNew(): void {\n this._triggerClick('New');\n }\n onClear(): void {\n this._triggerClick('Delete');\n }\n onEdit(): void {\n this._triggerClick('Edit');\n }\n onSearch(): void {\n this._triggerClick('Popup');\n }\n /* eslint-disable */\n customFilter(content: any[], searchTerm: string): any[] {\n return content;\n }\n\n displayFunc = (obj: MetaobjectDataModel) => {\n if (obj) {\n const colName = this.getFirstColumnName();\n return this.getMoValueCaption(obj, colName, obj.$Caption);\n }\n return '';\n };\n getMoValueCaption(valueMo: MetaobjectDataModel | null, colName: string, defaultValue: string): string {\n if (valueMo === null) {\n return defaultValue;\n }\n let captionValueMo;\n const molist: MetaobjectDataModel[] = BarsaApi.Common.Util.TryGetValue(\n this.ulvAdapter,\n 'Setting.Data.MoDataList',\n []\n );\n const foundedMo = molist.find((c) => c.Id === valueMo.Id);\n if (colName && foundedMo && foundedMo[colName]) {\n if (foundedMo[colName + '$Caption']) {\n captionValueMo = foundedMo[colName + '$Caption'];\n } else if (foundedMo[colName].$Caption) {\n captionValueMo = foundedMo[colName].$Caption;\n } else {\n captionValueMo = foundedMo[colName];\n }\n }\n return this._bbbPipe.transform(captionValueMo || defaultValue);\n }\n getFirstColumnName() {\n let colName = '$Caption';\n if (this.UlvMainCtrlr && this.UlvMainCtrlr?.Dd?.Setting?.View) {\n if (this.UlvMainCtrlr.Dd.Setting.View.Columns) {\n const firstCol = this.UlvMainCtrlr.Dd.Setting.View.Columns.find(\n (c) => !c.Name.startsWith('$') && c.Name !== 'Id'\n );\n if (firstCol?.Name) {\n colName = firstCol.Name;\n }\n }\n }\n return colName;\n }\n\n /* eslint-disable */\n @Input() IsExpanded = (type) => false;\n // return this.comboRef.nativeElement.responsivePopover.isOpen();\n /* eslint-disable */\n @Input() Collapse = (type) => {};\n /* eslint-disable */\n @Input() Expand = (type) => {\n this.ulvAdapter = this.UlvMainCtrlr[type];\n };\n /* eslint-disable */\n @Input() on = () => {};\n /* eslint-disable */\n @Input() Focus = () => {};\n @Input()\n SetUlvAdapter = (type, ulvAdapter) => {\n this.ulvAdapter = ulvAdapter;\n /* eslint-disable */\n };\n @Input()\n IsUiCreated = (type) => {\n return true;\n /* eslint-disable */\n };\n @Input()\n Mask = (type) => {\n this._loadingSource.next(true);\n /* eslint-disable */\n };\n @Input()\n hide = (type) => {\n // this.triggerClick('Normal');\n if (this.formSelectionDialog) {\n this.formSelectionDialog.close();\n }\n /* eslint-disable */\n };\n @Input()\n show = (type) => {\n // this.triggerClick('Normal');\n this._openPopupFormSelectionSource.next(); // rabete taki general info .popup baz mishod ke baiad dropdown bashe.\n /* eslint-disable */\n };\n @Input()\n Unmask = (type) => {\n this._loadingSource.next(false);\n /* eslint-disable */\n };\n @Input()\n getRawValue = () => {\n if (!this.value) {\n return this.rawValue;\n }\n return '';\n /* eslint-disable */\n };\n protected _setValue(value: any): void {\n this._setValueText(value);\n super._setValue(value);\n // this._setComboText(value);\n }\n protected _setValueText(value): void {\n if (value === null || typeof value === 'undefined') {\n this._valueMo = null;\n }\n if (!value) {\n this.valueText = '';\n } else if (typeof value === 'string') {\n this.valueText = value;\n } else if (typeof value === 'object') {\n this.valueText = value.$Caption;\n }\n if (value && this.UlvMainCtrlr && this.UlvMainCtrlr.Dd) {\n const view = this.UlvMainCtrlr.Dd.Setting.View;\n let colName = '$Caption';\n if (view.Columns) {\n const firstCol = view.Columns.find((c) => !c.Name.startsWith('$') && c.Name !== 'Id');\n colName = firstCol?.Name ? firstCol.Name : '$Caption';\n }\n this.valueText = this.getMoValueCaption(this._valueMo, colName, this.valueText);\n }\n }\n protected _setComboText(value: string): void {\n if (value === null || typeof value === 'undefined') {\n this._valueMo = null;\n //this.fdComboRef.inputTextValue = '';\n //this.fdComboRef._cdRef.detectChanges();\n }\n const inputText = this.fdComboRef?.inputTextValue;\n if (this.fdComboRef && !inputText && value != inputText) {\n if (this.UlvMainCtrlr && this.UlvMainCtrlr.Dd) {\n const view = this.UlvMainCtrlr.Dd.Setting.View;\n let colName = '$Caption';\n if (view.Columns) {\n const firstCol = view.Columns.find((c) => !c.Name.startsWith('$') && c.Name !== 'Id');\n colName = firstCol?.Name ? firstCol.Name : '$Caption';\n }\n value = this.getMoValueCaption(this._valueMo, colName, value);\n }\n this.fdComboRef.inputTextValue = value ? this._bbbPipe.transform(value) + '' : '';\n this._cdr.detectChanges();\n }\n }\n protected _openPopupFormSelection(): Observable<boolean> {\n this.isOpenSelectionDialog = true;\n this.UlvUi.viewerControl.ShowOkCancelButtons = true; // this is useful to ulv manage toolbar buttons.for example move in tree does not shown\n this.formSelectionDialog = BarsaApi.Bw.UlvFormMultiSelect.Show(this.context, {\n ulv1: this.UlvUi,\n title: this._bbbPipe.transform('Select'),\n IsLoaded: true\n });\n setTimeout(() => {\n this.isOpenSelectionDialog = false;\n }, 500);\n return of(true);\n }\n protected _filterSmartChange(value): boolean {\n let canRequest = this.ulvAdapter && value !== this.value;\n if (canRequest) {\n const molist: MetaobjectDataModel[] = BarsaApi.Common.Util.TryGetValue(\n this.ulvAdapter,\n 'Setting.Data.MoDataList',\n []\n );\n if (!molist) {\n return true;\n }\n const colName = this.getFirstColumnName();\n\n const findMo = molist.find((mo) => {\n const caption = this.getMoValueCaption(mo, colName, mo.$Caption);\n return caption === value;\n });\n if (findMo) {\n canRequest = false;\n this._fireValueChange(findMo);\n }\n }\n return canRequest;\n }\n\n protected _focus(): void {\n this._triggerClick('Normal');\n }\n\n protected _raiseSmartChange(value): void {\n this.smartChange.next(value);\n }\n\n protected _triggerClick(eventName, value = null): void {\n this.context.fireEvent('TriggerClick', this.context, eventName, value);\n }\n\n protected _raiseValueChanged(caption): void {\n const inputValue = caption;\n const molist: MetaobjectDataModel[] = BarsaApi.Common.Util.TryGetValue(\n this.ulvAdapter,\n 'Setting.Data.MoDataList',\n []\n );\n if (!molist || molist.length === 0) {\n return;\n }\n //const colName = this.getFirstColumnName();\n\n const mo = molist.find((c) => c.$Caption === inputValue);\n if (!mo) {\n return;\n }\n this._fireValueChange(mo);\n }\n protected _fireValueChange(mo): void {\n this.value = mo;\n this._valueMo = mo;\n this._setValueText(this.value);\n // this._setComboText(mo.$Caption);\n // this._cdr.detectChanges();\n this._triggerClick('ItemSelect', this.value);\n }\n}\n","<ng-container *ngIf=\"context._showPopup; else combo\">\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$ | async) === 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 <span\n fd-input-group-addon\n *ngIf=\"value && (disableOrReadonly$ | async) !== true\"\n class=\"fd-input-group__addon--button\"\n >\n <button fd-button fdType=\"transparent\" glyph=\"decline\" (click)=\"onClear()\"></button>\n </span>\n <span\n fd-input-group-addon\n *ngIf=\"!value && (disableOrReadonly$ | async) !== true && Setting.ShowNewButton\"\n class=\"fd-input-group__addon--button\"\n >\n <button fd-button fdType=\"transparent\" glyph=\"add\" (click)=\"onNew()\"></button>\n </span>\n <span\n fd-input-group-addon\n *ngIf=\"value && (disableOrReadonly$ | async) !== true && Setting.ViewRelatedFormType === 'Show'\"\n class=\"fd-input-group__addon--button\"\n >\n <button fd-button fdType=\"transparent\" glyph=\"edit\" (click)=\"onEdit()\"></button>\n </span>\n <span\n fd-input-group-addon\n *ngIf=\"value && (disableOrReadonly$ | async) !== true && Setting.ViewRelatedFormType === 'ShowReadOnly'\"\n class=\"fd-input-group__addon--button\"\n >\n <button fd-button fdType=\"transparent\" glyph=\"show\" (click)=\"onEdit()\"></button>\n </span>\n <span\n fd-input-group-addon\n *ngIf=\"!value && (disableOrReadonly$ | async) !== true\"\n class=\"fd-input-group__addon--button\"\n >\n <button fd-button fdType=\"transparent\" glyph=\"search\" (click)=\"onSearch()\"></button>\n </span>\n </div>\n</ng-container>\n\n<ng-template #combo>\n <div [class.control-disabled]=\"disable$ | async\" class=\"simple-combo-wrapper\">\n <fd-combobox\n #fdCombobox\n class=\"combo-mo-ulv\"\n [class.has-report]=\"hasReport\"\n [placeholder]=\"''\"\n [fillOnSelect]=\"true\"\n [readOnly]=\"(readonly$ | async) === true ? true : false\"\n [disabled]=\"(disable$ | async) === true ? true : false\"\n [dropdownValues]=\"(loading$ | async) === true | moInfoUlvMoList: isDataLoadedFirstTime:ulvAdapter:UlvUi\"\n [filterFn]=\"customFilter\"\n [openOnKeyboardEvent]=\"true\"\n [itemTemplate]=\"template\"\n [ngModel]=\"valueText | bbbTranslate\"\n [displayFn]=\"displayFunc\"\n [showDropdownButton]=\"(disableOrReadonly$ | async) !== true\"\n (inputTextChange)=\"onInputChange($event)\"\n (openChange)=\"onOpenChange(fdCombobox, $event)\"\n ></fd-combobox>\n <fdp-button\n *ngIf=\"hasReport && (disableOrReadonly$ | async) !== true\"\n glyph=\"search\"\n buttonType=\"transparent\"\n class=\"combo-popup-btn\"\n (click)=\"onSearch()\"\n ></fdp-button>\n </div>\n <ng-template #template let-item>\n <div fd-list-content *ngIf=\"item.$isLoading; else showItem\" style=\"width: 100%; height: 20px\">\n <bsu-mask [size]=\"'s'\" [marginTop]=\"'10px'\"></bsu-mask>\n </div>\n <ng-template #showItem>\n <i fd-list-icon [glyph]=\"item.$Icon\"></i>\n <span fd-list-title>{{\n item.isEmpty ? ('NoData' | bbbTranslate) : (item.$MoCaption || item.$Caption | bbbTranslate)\n }}</span>\n </ng-template>\n </ng-template>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { FileUploaderComponent } from '@fundamental-ngx/core';\n\nimport { FieldBaseComponent, BarsaApi, UploadService, getValidExtension } from 'barsa-novin-ray-core';\nimport { Observable, of, Subject } from 'rxjs';\nimport { 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 @Input() imageUrl: any;\n @Input() sizeMode: any;\n files: File[] = [];\n uploadState$: Observable<string>;\n progress$: Observable<any>;\n uploading$: Observable<boolean>;\n cancelation$ = new Subject<void>();\n validExtensions: any;\n\n ngOnInit(): void {\n super.ngOnInit();\n this.progress$ = this._uploadService.progress$;\n this.uploadState$ = this._uploadService.uploadState$;\n this.uploading$ = this._uploadService.uploading$;\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 = this.Setting.ValidExtension\n ? getValidExtension(this.Setting.ValidExtensions)\n : '.jpeg,.jpg,.gif,.png,.bmp,.tif';\n }\n ngOnDestroy(): void {\n super.ngOnDestroy();\n this.context.un('DisplayImage', this._displayImage);\n }\n onFileSelection(files: File[]): void {\n this.files = files;\n this._upload(files);\n }\n onFileDeleted(uploaderComponent: FileUploaderComponent): void {\n uploaderComponent.inputRef.nativeElement.value = null;\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.cancelation$.next();\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 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 const picture = res[0];\n const value = {\n ...picture,\n FileId: picture.FileId\n };\n this.fireContextEvent('Change', this.context, value);\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 [class.inlineEdit]=\"inlineEdit\"\n>\n <div *ngIf=\"!((disableOrReadonly$ | async) === true || Setting.IsReadOnly === true)\">\n <fd-toolbar [fdType]=\"'transparent'\">\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\n <ng-container *ngIf=\"uploadState$ | async as uploadState\">\n <ng-container *ngIf=\"uploadState !== 'Complete'\">\n <fdp-slider\n fd-toolbar-item\n [id]=\"id + '1'\"\n [name]=\"'slider_' + id\"\n [value]=\"progress$ | async\"\n [min]=\"0\"\n [max]=\"100\"\n [step]=\"1\"\n >\n </fdp-slider>\n <button\n *ngIf=\"uploadState === 'Uploading'\"\n fd-toolbar-item\n fd-button\n glyph=\"stop\"\n fdType=\"transparent\"\n (click)=\"onTerminate()\"\n ></button>\n <button\n *ngIf=\"uploadState === 'Error'\"\n fd-toolbar-item\n fd-button\n glyph=\"refresh\"\n [fdType]=\"'transparent'\"\n (click)=\"onRetry()\"\n ></button>\n </ng-container>\n </ng-container>\n </fd-toolbar>\n </div>\n <div\n *ngIf=\"!inlineEdit; else avatarTemplate\"\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 [style.text-align]=\"Setting.SizeMode === '3' ? 'center' : null\"\n >\n <img\n *ngIf=\"(value && imageUrl) || Setting.HasDefaultPicture\"\n [src]=\"imageUrl\"\n [ngClass]=\"Setting.SizeMode === '1' ? 'cover' : 'contain'\"\n [style.height.px]=\"Setting.SizeMode !== '2' ? layoutInfo.ControlBounds.height : null\"\n />\n </div>\n <ng-template #avatarTemplate>\n <fd-avatar [size]=\"'m'\" [image]=\"imageUrl\"></fd-avatar>\n </ng-template>\n</div>\n<bsu-mask *ngIf=\"uploading$ | async\"></bsu-mask>\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\n\nimport { FieldBaseComponent } from 'barsa-novin-ray-core';\n@Component({\n selector: 'bsu-ui-container-with-button',\n templateUrl: './ui-container-with-button.component.html',\n styleUrls: ['./ui-container-with-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiContainerWithButtonComponent extends FieldBaseComponent implements OnInit {\n btnVisible = true;\n btnEnable = true;\n\n ngOnInit(): void {\n super.ngOnInit();\n this.context.on({\n enablebuttons: (btnIdList, enable) => {\n this.btnEnable = enable;\n },\n visiblebuttons: (btnIdList, visible) => {\n this.btnVisible = visible;\n }\n });\n }\n onBtnClick(btn): void {\n btn.handler.bind(this.context)();\n }\n}\n","<bnrc-field-ui class=\"inner-control\" [customField]=\"context._innerControl\" [layoutInfo]=\"layoutInfo\"></bnrc-field-ui>\n<ng-container *ngIf=\"btnVisible && btnEnable\">\n <button\n *ngFor=\"let btn of context._buttonsConfig\"\n fd-button\n [label]=\"btn.text\"\n [glyph]=\"btn.itemId === 'Recalculate' ? 'synchronize' : ''\"\n [fdType]=\"'transparent'\"\n (click)=\"onBtnClick(btn)\"\n ></button>\n</ng-container>\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\n\nimport { FieldBaseComponent } from 'barsa-novin-ray-core';\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 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}\n","<fd-text [class.empty-bracket]=\"!text\" [text]=\"text || 'Empty_Bracket' | bbbTranslate\" hyphenation=\"auto\"></fd-text>\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Input,\n OnInit,\n TemplateRef,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { LayoutPanelBaseComponent, LayoutService } 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 @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 }\n setDisplay(): void {\n this.display = this.visible ? 'flex' : 'none';\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","<canvas #canvas style=\"display: none\"></canvas>\n<fd-panel\n [fixed]=\"!config.ExpandButtonVisible\"\n *ngIf=\"visible\"\n [class.hide-header]=\"!config.TextVisible\"\n [attr.maxWidth]=\"maxWidth\"\n>\n <h5 fd-panel-title>\n {{ (config.TextVisible ? config.Title ?? '' : '') | bbbTranslate }}\n </h5>\n <div fd-panel-content [class.row-reverse-direction]=\"rowDirection\" [class.column-direction]=\"columnDirection\"> \n <ng-container *ngFor=\"let item of config | filterToolbarControl\">\n <ng-container [ngSwitch]=\"item.xtype\">\n <ng-container *ngSwitchCase=\"'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 </ng-container>\n <ng-container *ngSwitchCase=\"'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 </ng-container>\n <ng-container *ngSwitchCase=\"'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 </ng-container>\n <ng-container *ngSwitchCase=\"'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 </ng-container>\n <ng-container *ngSwitchCase=\"'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 </ng-container>\n <ng-container *ngSwitchCase=\"'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 </ng-container>\n <ng-container *ngSwitchCase=\"'Ly.LayoutJoin'\">\n <ng-container *ngIf=\"item.Type === 'HorizontalJoin'; else verticalJoin\">\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 </ng-container>\n <ng-template #verticalJoin>\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 </ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"'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 </ng-container>\n </ng-container>\n </ng-container>\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","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { UiReportViewBaseSetting } from 'barsa-novin-ray-core';\nimport { SapUiReportBaseComponent } from '../sap-ui-report-base.component';\nimport { WidthTypeEnum } from '../ui-editable-grid/ui-editable-grid.component';\n\n@Component({\n selector: 'bsu-ui-grid',\n templateUrl: './ui-grid.component.html',\n styleUrls: ['./ui-grid.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiGridComponent extends SapUiReportBaseComponent<UiReportViewBaseSetting> {\n @Input() showOkCancelButtons;\n enableResizing = true;\n rowResizer = false;\n widthTypeEnum = WidthTypeEnum;\n}\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 hasSummary: context.Setting.View?.HasSummaryRow,\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)!! > 0 ? 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 extraRelation: context.Setting.Extra?.Relation,\n title: title$ | async,\n rtl: rtl$ | async,\n hideToolbar: hideToolbar$ | async,\n allColumns: allColumns,\n gridSetting: gridSetting$ | async,\n contentDensity: contentDensity$ | async,\n formSetting: context.Setting.FormTemplate,\n hasSelected: hasSelected$ | async,\n showOkCancelButtons: showOkCancelButtons,\n disableOverflowContextMenu: viewSetting?.DisableOverflowContextMenu,\n navigationArrow: navigationArrow$ | async,\n containerWidth: containerWidth$ | async,\n newInlineEditMo: newInlineEditMo$ | async,\n typeDefId: context.Setting.Extra.Report.TypeDefId,\n contextView: context.Setting.View,\n cartableTemplates: cartableTemplates$ | async,\n cartableChildsMo: cartableChildsMo$ | async,\n inDialog: inDialog$ | async,\n fullscreen: fullscreen$ | 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-allowInlineEdit=\"allowInlineEdit\"\n let-hideToolbar=\"hideToolbar\"\n let-gridSetting=\"gridSetting\"\n let-contentDensity=\"contentDensity\"\n let-formSetting=\"formSetting\"\n let-hasSelected=\"hasSelected\"\n let-showOkCancelButtons=\"showOkCancelButtons\"\n let-disableOverflowContextMenu=\"disableOverflowContextMenu\"\n let-navigationArrow=\"navigationArrow\"\n let-containerWidth=\"containerWidth\"\n let-newInlineEditMo=\"newInlineEditMo\"\n let-hasSummary=\"hasSummary\"\n let-extraRelation=\"extraRelation\"\n let-typeDefId=\"typeDefId\"\n let-contextView=\"contextView\"\n let-cartableTemplates=\"cartableTemplates\"\n let-cartableChildsMo=\"cartableChildsMo\"\n let-inDialog=\"inDialog\"\n let-fullscreen=\"fullscreen\"\n>\n <bsu-ulv-toolbar\n [hideToolbar]=\"hideToolbar\"\n [deviceName]=\"deviceName\"\n [hideTitle]=\"true\"\n [deviceSize]=\"deviceSize\"\n [toolbarButtons]=\"toolbarButtons\"\n [gridSetting]=\"gridSetting\"\n [title]=\"title\"\n [hasSelected]=\"hasSelected\"\n [access]=\"access\"\n [contentDensity]=\"contentDensity\"\n [inlineEditMode]=\"inlineEditMode && allowInlineEdit\"\n [allowInlineEdit]=\"allowInlineEdit\"\n (sortClick)=\"onSortSettings(deviceName)\"\n (groupbyClick)=\"onGroupbySettings(deviceName)\"\n (columnClick)=\"onColumnSettings(deviceName)\"\n (editModeClick)=\"onEditMode()\"\n ></bsu-ulv-toolbar>\n <bsu-ui-table-view\n [cartableTemplates]=\"cartableTemplates\"\n [parentHeight]=\"parentHeight\"\n [fullscreen]=\"fullscreen\"\n [inDialog]=\"inDialog\"\n [cartableChildsMo]=\"cartableChildsMo\"\n [contextView]=\"contextView\"\n [containerWidth]=\"containerWidth\"\n [isCheckList]=\"isCheckList\"\n [allChecked]=\"allChecked\"\n [moDataList]=\"moDataList\"\n [access]=\"access\"\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 [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 [extraRelation]=\"extraRelation\"\n [showOkCancelButtons]=\"showOkCancelButtons\"\n [fitWidth]=\"false\"\n [hasSummary]=\"hasSummary\"\n [rowResizer]=\"rowResizer\"\n [enableResizing]=\"enableResizing\"\n [newInlineEditMo]=\"newInlineEditMo\"\n (ulvCommandClick)=\"onUlvCommand($event)\"\n (selectNextInlineRecord)=\"onSelectNextInlineRecord($event)\"\n (editFormPanelCancel)=\"onEditFormPanelCancel()\"\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 (columnResized)=\"onColumnResized($event)\"\n >\n </bsu-ui-table-view>\n</ng-template>\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 ngOnInit(): void {\n super.ngOnInit();\n this.value = this.context.items.find((c) => c.inputValue === this.value);\n }\n\n onRadioClicked(item): void {\n this.value = item;\n this.valueChange.emit(item);\n }\n}\n","<fd-form-group [isInline]=\"true\">\n <ng-container *ngFor=\"let item of context.items; let i = index; let first = first\">\n <div fd-form-item>\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 >\n {{ item.boxLabel }}\n </fd-radio-button>\n </div>\n </ng-container>\n</fd-form-group>\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { FieldBaseComponent } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-ui-label',\n templateUrl: './ui-label.component.html',\n styleUrls: ['./ui-label.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiLabelComponent extends FieldBaseComponent {}\n","<label fd-label>{{ value }}</label>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { FieldBaseComponent } from 'barsa-novin-ray-core';\n@Component({\n selector: 'bsu-ui-simple-combo',\n templateUrl: './ui-simple-combo.component.html',\n styleUrls: ['./ui-simple-combo.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UiSimpleComboComponent extends FieldBaseComponent {\n caption: string;\n @Input() get MinSize(): { width: number; height: number } {\n return { width: 0, height: 27 };\n }\n\n onValueChange(value): void {\n const selectedValue = value;\n this._handleValueChange(selectedValue);\n }\n\n protected _handleValueChange(selectedValue: any): void {\n this.value = selectedValue;\n this.valueChange.emit(this.value);\n this.fireContextEvent('select', this.value);\n }\n}\n","<fd-select\n style=\"width: 100%\"\n [placeholder]=\"Setting.NullText || ''\"\n [value]=\"value\"\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 <fd-option\n *ngFor=\"let item of context.store.data[context.store.root]\"\n [value]=\"item.id\"\n [style.direction]=\"Setting.IsLtr === true ? 'ltr' : null\"\n >\n <img *ngIf=\"item.url\" [attrRtl]=\"Setting.IsLtr === true ? false : undefined\" [src]=\"item.url\" />\n {{ item.txt | bbbTranslate }}\n </fd-option>\n</fd-select>\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 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","<!-- <fdp-checkbox\n [id]=\"id\"\n [disabled]=\"disable\"\n [readonly]=\"readonly\"\n [contentDensity]=\"(contentDensity$ | async)!!\"\n [label]=\"layoutInfo.UseLayoutItemTextForControl ? layoutInfo.Caption : ''\"\n [ngModel]=\"value\"\n (change)=\"onValueChange($event)\"\n></fdp-checkbox> -->\n\n<fd-checkbox\n [id]=\"id\"\n (change)=\"onValueChange()\"\n [ngModel]=\"value\"\n [disabled]=\"(disableOrReadonly$ | async)!!\"\n [label]=\"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\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]=\"activeText\"\n [inactiveText]=\"inactiveText\"\n (click)=\"onValueChange()\"\n [checked]=\"value\"\n [semantic]=\"semantic\"\n [disabled]=\"(disableOrReadonly$ | async)!!\"\n></fd-switch>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'bsu-ly-layout-field-label',\n templateUrl: './ly-layout-field-label.component.html',\n styleUrls: ['./ly-layout-field-label.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LyLayoutFieldLabelComponent {\n @Input() caption: string;\n @Input() isBold: boolean;\n @Input() isMandatory: boolean;\n @Input() inputId: string;\n @Input() get MaxSize(): { width: number; height: number } {\n return { width: 0, height: 30 };\n }\n}\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 } from '@angular/core';\n\nimport { FieldBaseComponent } from 'barsa-novin-ray-core';\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 {\n @Input() value: string;\n @Input() get MinSize(): { width: number; height: number } {\n return { width: 0, height: 30 };\n }\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}\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 [attr.type]=\"Setting.IsPassword ? 'password' : 'text'\"\r\n [value]=\"!value ? '' : value\"\r\n [attr.maxLength]=\"Setting.MaxLength !== undefined ? Setting.MaxLength : null\"\r\n [id]=\"id\"\r\n [style.direction]=\"Setting.IsLtr === true ? 'ltr' : null\"\r\n (input)=\"onValueChange($event)\"\r\n (keydown)=\"onKeyDown($event)\"\r\n/>\r\n","import { Input, Component, OnInit, AfterViewInit, OnChanges, OnDestroy, ChangeDetectionStrategy } from '@angular/core';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { ContainerComponent, BarsaApi } from 'barsa-novin-ray-core';\nimport { FormDialogComponent } from './form-dialog/form-dialog.component';\n\n@Component({\n selector: 'bsu-form-page-base',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormPageBaseComponent extends ContainerComponent implements OnInit, AfterViewInit, OnChanges, OnDestroy {\n @Input() formPanelCtrlr: any;\n params: {\n moId: string;\n typeDefId: string;\n reportId: string;\n viewId: string;\n };\n formpanelCtrlrId: string;\n ngOnInit(): void {\n super.ngOnInit();\n this._activatedRoute.params.pipe(takeUntil(this._onDestroy$)).subscribe((params) => {\n const state = this._router.getCurrentNavigation()?.extras.state;\n this.prepareIds(state?.formPanelCtrlrId, params);\n });\n }\n\n ngAfterViewInit(): void {\n super.ngAfterViewInit();\n if (!this.formPanelCtrlr) {\n this.formPanelCtrlr = this._portalService.formPanels[this.formpanelCtrlrId];\n }\n this.hideAllPageContent();\n if (BarsaApi.LoginFormData.IsServiceDesk) {\n setTimeout(() => {\n window.scrollTo({ top: 0 });\n }, 0);\n }\n }\n ngOnDestroy(): void {\n super.ngOnDestroy();\n this._portalService.formPanels[this.formpanelCtrlrId] = null;\n this.removeLastHidePage();\n }\n\n hideAllPageContent(): void {\n // const pages = document.querySelectorAll('.section.absolute-page');\n // pages?.forEach((pageEl) => {\n // if (pageEl !== this._el.nativeElement) {\n // // (pageEl as HTMLElement).classList.add('hide');\n // }\n // });\n // if (pages && pages.length > 0) {\n // (pages[pages.length - 1]?.firstChild as HTMLElement)?.classList?.remove('hide');\n // }\n }\n removeLastHidePage(): void {\n // const pages = document.querySelectorAll('.section.absolute-page');\n // if (pages && pages.length > 0) {\n // const last: null | Element = pages[pages.length - 2];\n // last.classList?.remove('hide');\n // }\n }\n /* eslint-disable */\n @Input() ShowFormPanelControl = (formpanelCtrlr) => {\n this._portalService.ShowFormPanelControl(\n formpanelCtrlr,\n this._router,\n this._activatedRoute,\n FormDialogComponent,\n false\n );\n };\n /* eslint-disable */\n @Input() RefreshFormPanelControl = () => {\n const formpanelCtrlr = this._portalService.formPanels[this.formpanelCtrlrId];\n this.parentContainer.RefreshFormPanelControl(formpanelCtrlr);\n };\n /* eslint-disable */\n @Input() ForceCloseChild = () => {\n this._router.navigate([{ outlets: { popup: null } }], {\n relativeTo: this._activatedRoute\n });\n };\n /* eslint-disable */\n @Input() ForceClose = () => {\n this.parentContainer.ForceCloseChild();\n };\n onFormClose(): void {\n if (\n this._activatedRoute.snapshot.params.isFirst &&\n this._activatedRoute.parent?.parent?.routeConfig?.path === 'form'\n ) {\n const parentUrl = this._router.url.split('/form/')[0];\n this._router.navigateByUrl(parentUrl, {\n replaceUrl: true\n });\n // this.router.navigate(['../']);\n // this.router.navigate([{ outlets: { main: null } }], {\n // relativeTo: this.activatedRoute,\n // });\n } else {\n this._router.navigate(['../'], {\n relativeTo: this._activatedRoute,\n replaceUrl: true\n });\n }\n return;\n const outlet = this._activatedRoute.outlet;\n // let outlets = {};\n // outlets[outlet] = null;\n // if(this.location.getState())\n this._router.navigate([{ outlets: { main: null } }]);\n }\n protected prepareIds(formpanelCtrlrId: string, params): void {\n this.formpanelCtrlrId = formpanelCtrlrId || params.formPanelCtrlrId;\n if (this.formpanelCtrlrId) {\n this.formPanelCtrlr = this._portalService.formPanels[this.formpanelCtrlrId];\n }\n const moId = params.id;\n const typeDefId = params.tyid;\n const reportId = params.repid;\n const viewId = params.vid;\n this.params = Object.assign({}, { moId, typeDefId, reportId, viewId });\n this._cdr.detectChanges();\n }\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, ViewChild } from '@angular/core';\n\nimport { FormService, ContainerService, FormComponent } from 'barsa-novin-ray-core';\nimport { FormPageBaseComponent } from '../form-page-base';\n\n@Component({\n selector: 'bsu-form-page',\n template: `\n <bnrc-form\n [formPanelCtrl]=\"formPanelCtrlr\"\n [formPanelCtrlId]=\"formpanelCtrlrId\"\n [params]=\"params\"\n (formClose)=\"onFormClose()\"\n ></bnrc-form>\n <router-outlet></router-outlet>\n `,\n styleUrls: ['./form-page.component.scss'],\n providers: [FormService, ContainerService],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormPageComponent extends FormPageBaseComponent {\n @ViewChild(FormComponent, { static: true }) formRef: FormComponent;\n @Input() formPanelCtrlr: any;\n @HostBinding('class.section') sectionClass = true;\n @HostBinding('class.absolute-page') absolutePageClass = true;\n moId: string;\n typeDefId: string;\n reportId: string;\n viewId: string;\n formpanelCtrlrId: string;\n ngOnInit(): void {\n this.containerRef = this.formRef.vcr; // it must be first because we change containerRef\n super.ngOnInit();\n }\n}\n","import { Directive, ElementRef, Input, OnInit } from '@angular/core';\r\n\r\nimport { BaseDirective, MetaobjectDataModel } from 'barsa-novin-ray-core';\r\n\r\n@Directive({\r\n selector: '[colRenderer]'\r\n})\r\nexport class ColRendererDirective extends BaseDirective implements OnInit {\r\n @Input() colRenderer: any;\r\n @Input() mo: MetaobjectDataModel;\r\n\r\n constructor(private el: ElementRef) {\r\n super();\r\n }\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n const column = this.colRenderer;\r\n const colName = column.Name;\r\n const data = this.mo[colName];\r\n let caption = this.mo[colName + '$Caption'];\r\n let icon = this.mo[colName + '$Icon'];\r\n\r\n if (typeof data === 'object') {\r\n if (data.$Caption) {\r\n caption = data.$Caption;\r\n }\r\n icon = data.$Icon;\r\n if (column.FieldTypeId === '6' && column.Tag === 'Image') {\r\n // Column is enum with image\r\n caption = '';\r\n }\r\n }\r\n if (!caption && typeof data !== 'object') {\r\n caption = data;\r\n }\r\n\r\n if (column.OnlyImage || (column.FieldTypeId === '6' && column.Tag === 'Image')) {\r\n caption = '';\r\n }\r\n\r\n if (icon) {\r\n caption = `<img src=\"${icon}\" aling=\"middle\"> ${caption}`;\r\n }\r\n (this.el.nativeElement as HTMLElement).innerHTML = caption || '';\r\n }\r\n}\r\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 { 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 } from '@angular/core';\r\nimport { DynamicPageComponent } from '@fundamental-ngx/core';\r\nimport { UiCardViewComponent } from '../ui-card-view/ui-card-view.component';\r\n\r\n@Component({\r\n selector: 'bsu-ui-card-view-horizontal-group',\r\n templateUrl: './ui-card-view-horizontal-group.component.html',\r\n styleUrls: ['./ui-card-view-horizontal-group.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class UiCardViewHorizontalGroupComponent extends UiCardViewComponent {\r\n @ViewChild(DynamicPageComponent, { static: true }) dynamicPage: DynamicPageComponent;\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._ulvMainService.hideSearchpanel$.subscribe(() => this.dynamicPage.refreshSize());\r\n }\r\n}\r\n","<fd-dynamic-page [size]=\"deviceSize | dynamicPageSize\">\r\n <fd-tab-list [stackContent]=\"true\">\r\n <fd-tab\r\n *ngFor=\"let tab of moDataList | groupBy: groupby[0].Name; let index = index\"\r\n [title]=\"tab.key\"\r\n [id]=\"'h_' + index\"\r\n >\r\n <fd-dynamic-page-content>\r\n <h4 fd-title [id]=\"'h_' + index + '_h'\">{{ tab.key }}</h4>\r\n <bsu-card-view-content\r\n [moDataList]=\"tab.value\"\r\n [groupby]=\"[]\"\r\n [title]=\"tab.key\"\r\n [setting]=\"cardSetting\"\r\n [editMode]=\"inlineEditMode\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [allColumns]=\"allColumns\"\r\n [contextMenuItems]=\"contextMenuItems\"\r\n [canView]=\"canView\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [navigationArrow]=\"navigationArrow\"\r\n [isCheckList]=\"isCheckList\"\r\n (rowCheck)=\"onRowCheck($event)\"\r\n (rowClick)=\"onRowClick($event)\"\r\n (ulvCommand)=\"onUlvCommand($event)\"\r\n (editFormPanelSave)=\"onEditFormPanelSave($event)\"\r\n (editFormPanelCancel)=\"onEditFormPanelCancel($event)\"\r\n (action)=\"onAction($event)\"\r\n ></bsu-card-view-content>\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n </fd-tab-list>\r\n</fd-dynamic-page>\r\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 } from '@angular/router';\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild([])],\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 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.text = this.inlineHelp = 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 [fd-inline-help]=\"inlineHelp\"\n [glyph]=\"icon\"\n [class.control-disabled]=\"isEnable === false ? true : false\"\n [fdType]=\"fdType || (!isEnable ? 'transparent' : fdType)\"\n (click)=\"btnClick.emit()\"\n>\n <span *ngIf=\"!onlyIcon || showText\">{{ text }}</span>\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.navigateByUrl('/home');\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\"\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 { BaseComponent, NetworkStatusService } 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 constructor(private _dialogService: DialogService, _networkStatusService: NetworkStatusService) {\n super();\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 dialogConfig.width = '100vw';\n dialogConfig.height = '100vh';\n\n // dialogConfig.mobile = true;\n dialogConfig.fullScreen = true;\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> </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>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, Input, OnInit, ViewChild, ViewContainerRef } from '@angular/core';\nimport { BaseComponent, LayoutSetting } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bsu-barsa-base-layout',\n templateUrl: './barsa-base-layout.component.html',\n styleUrls: ['./barsa-base-layout.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BarsaBaseLayoutComponent extends BaseComponent {\n // @ViewChild('viewRefTemplate', { read: ViewContainerRef, static: true }) viewRef: ViewContainerRef;\n @Input() config: LayoutSetting;\n @Input() maxLabelWidth: number;\n @Input() setFlex: boolean;\n @Input() hasHorizontalText: boolean;\n @Input() isSearchPanel: boolean;\n /**\n *\n */\n constructor(public viewRef: ViewContainerRef) {\n super();\n }\n ngOnInit(): void {\n super.ngOnInit();\n }\n}\n","<ng-container *ngFor=\"let item of config | filterToolbarControl\">\n <ng-container [ngSwitch]=\"item.xtype\">\n <ng-container *ngSwitchCase=\"'Ly.LayoutTabPanel'\">\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, selector: 'bsu-ly-tab-container', name: 'LyTabContainerComponent' }\n \"\n ></ng-container>\n <!-- <bsu-ly-tab-container [config]=\"item\"></bsu-ly-tab-container> -->\n </ng-container>\n <ng-container *ngSwitchCase=\"'Ly.LayoutPanel'\">\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, selector: 'bsu-ly-layout-panel', name: 'LyLayoutPanelComponent' }\n \"\n ></ng-container>\n <!-- <bsu-ly-layout-panel [config]=\"item\"></bsu-ly-layout-panel> -->\n </ng-container>\n <ng-container *ngSwitchCase=\"'Ly.LayoutContainer'\">\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n selector: 'bsu-ly-layout-container',\n name: 'LyLayoutContainerComponent'\n }\n \"\n ></ng-container>\n <!-- <bsu-ly-layout-container [config]=\"item\"></bsu-ly-layout-container> -->\n </ng-container>\n <ng-container *ngSwitchCase=\"'Ly.EmptySpace'\">\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, selector: 'bsu-ly-empty-space', name: 'LyEmptySpaceComponent' }\n \"\n ></ng-container>\n <!-- <bsu-ly-empty-space [config]=\"item\"></bsu-ly-empty-space> -->\n </ng-container>\n <ng-container *ngSwitchCase=\"'Ly.SimpleLabel'\">\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, selector: 'bsu-ly-simple-label', name: 'LySimpleLabelComponent' }\n \"\n ></ng-container>\n <!-- <bsu-ly-simple-label [config]=\"item\"></bsu-ly-simple-label> -->\n </ng-container>\n <ng-container *ngSwitchCase=\"'Ly.LayoutLine'\">\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, selector: 'bsu-ly-line', name: 'LyLineComponent' }\n \"\n ></ng-container>\n <!-- <bsu-ly-line [isVertical]=\"item.IsVertical\"></bsu-ly-line> -->\n </ng-container>\n <ng-container *ngSwitchCase=\"'Ly.LayoutJoin'\">\n <ng-container *ngIf=\"item.Type === 'HorizontalJoin'; else verticalJoin\">\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n selector: 'bsu-ly-horizontal-layout',\n name: 'LyHorizontalLayoutComponent',\n maxLabelWidth: this.maxLabelWidth\n }\n \"\n ></ng-container>\n <!-- <bsu-ly-horizontal-layout [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-ly-horizontal-layout> -->\n </ng-container>\n <ng-template #verticalJoin>\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n selector: 'bsu-ly-vertical-layout',\n name: 'LyVerticalLayoutComponent',\n maxLabelWidth: this.maxLabelWidth\n }\n \"\n ></ng-container>\n <!-- <bsu-ly-vertical-layout [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-ly-vertical-layout> -->\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Ly.LayoutControl'\">\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n selector: 'bsu-layout-control',\n name: 'LayoutControlComponent',\n maxLabelWidth: this.maxLabelWidth\n }\n \"\n ></ng-container>\n <!-- <bsu-layout-control [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-layout-control> -->\n </ng-container>\n </ng-container>\n</ng-container>\n<ng-template #dynamicLayout let-config let-selector=\"selector\" let-name=\"name\" let-maxLabelWidth=\"maxLabelWidth\">\n <bnrc-dynamic-layout\n [flex]=\"!setFlex ? null : isSearchPanel ? 'unset' : config.Bounds.width\"\n [config]=\"config\"\n [selector]=\"selector\"\n [name]=\"name\"\n [module]=\"'BarsaSapUi'\"\n [moduleFileName]=\"'BarsaSapUi'\"\n [maxLabelWidth]=\"maxLabelWidth\"\n [hasHorizontalText]=\"hasHorizontalText\"\n [isSearchPanel]=\"isSearchPanel\"\n [componentContainer]=\"viewRef\"\n >\n </bnrc-dynamic-layout>\n</ng-template>\n","import { ContentDensityEnum, ContentDensityService, RtlService, ThemesService } from '@fundamental-ngx/core';\nimport { BarsaApi, getDeviceIsMobile, getDeviceIsPhone, getDeviceIsTablet, PortalService } from 'barsa-novin-ray-core';\nimport { filter } from 'rxjs';\n\nimport { UiTextFieldComponent } from './ui-text-field/ui-text-field.component';\nimport { LyLayoutFieldLabelComponent } from './ly-layout-field-label/ly-layout-field-label.component';\nimport { UiCheckBoxComponent } from './ui-check-box/ui-check-box.component';\nimport { UiSimpleComboComponent } from './ui-simple-combo/ui-simple-combo.component';\nimport { UiRadioGroupComponent } from './ui-radio-group/ui-radio-group.component';\nimport { UiGridComponent } from './ui-grid/ui-grid.component';\nimport { LyLayoutContainerOfRootComponent } from './ly-layout-container-of-root/ly-layout-container-of-root.component';\nimport { LyLayoutPanelComponent } from './ly-layout-panel/ly-layout-panel.component';\nimport { UiReadOnlyFieldComponent } from './ui-read-only-field/ui-read-only-field.component';\nimport { UiContainerWithButtonComponent } from './ui-container-with-button/ui-container-with-button.component';\nimport { UiPictureFileComponent } from './ui-picture-file/ui-picture-file.component';\nimport { UiMoInfoUlvComboComponent } from './ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component';\nimport { UiMultiSelectComboComponent } from './ui-multi-select-combo/ui-multi-select-combo.component';\nimport { UiNumDecimalUiComponent } from './ui-num-decimal-ui/ui-num-decimal-ui.component';\nimport { UiNumIntUiComponent } from './ui-num-int-ui/ui-num-int-ui.component';\nimport { UiTimeSpanComponent } from './ui-time-span/ui-time-span.component';\nimport { UiFileLinearListBoxComponent } from './ui-file-linear-list-box/ui-file-linear-list-box.component';\nimport { LyEmptySpaceComponent } from './ly-empty-space/ly-empty-space.component';\nimport { UiSinglePictureComponent } from './ui-single-picture/ui-single-picture.component';\nimport { UlvSelectionComponent } from './ulv-selection/ulv-selection.component';\nimport { UlvToolbarComponent } from './ulv-toolbar/ulv-toolbar.component';\nimport { UlvPagingComponent } from './ulv-paging/ulv-paging.component';\nimport { UiGridSortSettingComponent } from './ui-grid-sort-setting/ui-grid-sort-setting.component';\nimport { UiGridSortItemComponent } from './ui-grid-sort-item/ui-grid-sort-item.component';\nimport { UiGridColumnsComponent } from './ui-grid-columns/ui-grid-columns.component';\nimport { MaskComponent } from './mask/mask.component';\nimport { UiInfoBarPanelComponent } from './ui-info-bar-panel/ui-info-bar-panel.component';\nimport { UiFormPanelToolbarComponent } from './ui-form-panel-toolbar/ui-form-panel-toolbar.component';\nimport { UiFormPanelComponent } from './ui-form-panel/ui-form-panel.component';\nimport { UiSearchCommandInfoUiComponent } from './ui-search-command-info-ui/ui-search-command-info-ui.component';\nimport { UlvSettingsComponent } from './ulv-settings/ulv-settings.component';\nimport { UiTinymceComponent } from './ui-tinymce/ui-tinymce.component';\nimport { UiButtonComponent } from './ui-button/ui-button.component';\nimport { UiDateTimeComponent } from './ui-date-time/ui-date-time.component';\nimport { FormDialogComponent } from './form-dialog/form-dialog.component';\nimport { HeaderFacetKeyValueComponent } from './header-facet-key-value/header-facet-key-value.component';\nimport { HeaderFacetFormComponent } from './header-facet-form/header-facet-form.component';\nimport { HeaderFacetRateComponent } from './header-facet-rate/header-facet-rate.component';\nimport { HeaderFacetProgressComponent } from './header-facet-progress/header-facet-progress.component';\nimport { HeaderFacetMicrochartComponent } from './header-facet-microchart/header-facet-microchart.component';\nimport { HeaderFacetPlainTextComponent } from './header-facet-plain-text/header-facet-plain-text.component';\nimport { UiMoInfoSubFormUiComponent } from './ui-mo-info-sub-form-ui/ui-mo-info-sub-form-ui.component';\nimport { ResponsiveToolbarComponent } from './responsive-toolbar/responsive-toolbar.component';\nimport { ResponsiveToolbarRendererComponent } from './responsive-toolbar-renderer/responsive-toolbar-renderer.component';\nimport { UiTextAreaComponent } from './ui-text-area/ui-text-area.component';\nimport { LayoutControlComponent } from './layout-control/layout-control.component';\nimport { LayoutWizardComponent } from './layout-wizard/layout-wizard.component';\nimport { FormWizardComponent } from './form-wizard/form-wizard.component';\nimport { WizardLayoutDirective } from './wizard-layout.directive';\nimport { FormDialogLessComponent } from './form-dialog-less/form-dialog-less.component';\nimport { FormPageComponent } from './form-page/form-page.component';\nimport { RichTextStaticComponent } from './rich-text-static/rich-text-static.component';\nimport { UiPicturesInfoComponent } from './ui-pictures-info/ui-pictures-info.component';\nimport { LyHorizontalLayoutComponent } from './ly-horizontal-layout/ly-horizontal-layout.component';\nimport { LyVerticalLayoutComponent } from './ly-vertical-layout/ly-vertical-layout.component';\nimport { LyTabContainerComponent } from './ly-tab-container/ly-tab-container.component';\nimport { LyTabPageComponent } from './ly-tab-page/ly-tab-page.component';\nimport { LyLabelComponent } from './ly-label/ly-label.component';\nimport { ColRendererDirective } from './col-renderer.directive';\nimport { UiMoInfoComboViewerComponent } from './ui-mo-info-combo-viewer/ui-mo-info-combo-viewer.component';\nimport { UlMsgBoxAdapterComponent } from './ul-msg-box-adapter/ul-msg-box-adapter.component';\nimport { PageWithHeaderComponent } from './page-with-header/page-with-header.component';\nimport { HeaderAvatarComponent } from './header-avatar/header-avatar.component';\nimport { ApplyConditionalFormatsDirective } from './apply-conditional-formmatings.directive';\nimport { EmptyPageComponent } from './empty-page/empty-page.component';\nimport { UiWorkflowPanelUiComponent } from './ui-workflow-panel-ui/ui-workflow-panel-ui.component';\nimport { UlvContextMenuComponent } from './ulv-context-menu/ulv-context-menu.component';\nimport { UlLoadingMaskUiComponent } from './ul-loading-mask-ui/ul-loading-mask-ui.component';\nimport { UiTextFieldAutoCompleteComponent } from './ui-text-field-auto-complete/ui-text-field-auto-complete.component';\nimport { CaptchaFieldComponent } from './captcha-field/captcha-field.component';\nimport { LySimpleLabelComponent } from './ly-simple-label/ly-simple-label.component';\nimport { GlobalSearchPanelComponent } from './global-search-panel/global-search-panel.component';\nimport { GlobalSearchModuleComponent } from './global-search-module/global-search-module.component';\nimport { GlobalSearchComponent } from './global-search/global-search.component';\nimport { HyperlinkComponent } from './hyperlink/hyperlink.component';\nimport { StaticTextComponent } from './static-text/static-text.component';\nimport { UlToastAdapterComponent } from './ul-toast-adapter/ul-toast-adapter.component';\nimport { MessageStripComponent } from './message-strip/message-strip.component';\nimport { UiLinearListContainerWithButtonComponent } from './ui-linear-list-container-with-button/ui-linear-list-container-with-button.component';\nimport { FundamentalDynamicFormComponent } from './fundamental-dynamic-form/fundamental-dynamic-form.component';\nimport { LayoutActionsComponent } from './layout-actions/layout-actions.component';\nimport { LyLayoutContainerComponent } from './ly-layout-container/ly-layout-container.component';\nimport { UiUlvFormMultiSelectUiComponent } from './ui-ulv-form-multi-select-ui/ui-ulv-form-multi-select-ui.component';\nimport { UlvFormMultiSelectComponent } from './ulv-form-multi-select/ulv-form-multi-select.component';\nimport { UlvColumnSettingsComponent } from './ulv-column-settings/ulv-column-settings.component';\nimport { UlvFilterSettingsComponent } from './ulv-filter-settings/ulv-filter-settings.component';\nimport { UlvSortSettingsComponent } from './ulv-sort-settings/ulv-sort-settings.component';\nimport { UlvGroupbySettingsComponent } from './ulv-groupby-settings/ulv-groupby-settings.component';\nimport { BarsaListFileLinearComponent } from './barsa-list-file-linear/barsa-list-file-linear.component';\nimport { UiPdfViewerComponent } from './ui-pdf-viewer/ui-pdf-viewer.component';\nimport { BarsaTinyemceComponent } from './barsa-tinyemce/barsa-tinyemce.component';\nimport { UiMonacoEditorComponent } from './ui-monaco-editor/ui-monaco-editor.component';\nimport { BarsaMonacoEditorComponent } from './barsa-monaco-editor/barsa-monaco-editor.component';\nimport { BarsaDateTimePickerComponent } from './barsa-date-time-picker/barsa-date-time-picker.component';\nimport { BarsaTreeItemComponent } from './barsa-tree-item/barsa-tree-item.component';\nimport { UploadFileStatusPipe } from './upload-file-status.pipe';\nimport { UiSwitchButtonComponent } from './ui-switch-button/ui-switch-button.component';\nimport { UiColorUiComponent } from './ui-color-ui/ui-color-ui.component';\nimport { LyLineComponent } from './ly-line/ly-line.component';\nimport { UiUlvMainUiComponent } from './ui-ulv-main-ui/ui-ulv-main-ui.component';\nimport { ReportNavigatorComponent } from './report-navigator/report-navigator.component';\nimport { ManageFiltersReportComponent } from './manage-filters-report/manage-filters-report.component';\nimport { ReportSearchFieldsManageComponent } from './report-search-fields-manage/report-search-fields-manage.component';\nimport { ReportSearchFieldsHiddenSettingsComponent } from './report-search-fields-hidden-settings/report-search-fields-hidden-settings.component';\nimport { SearchPanelComponent } from './search-panel/search-panel.component';\nimport { ReportSearchPanelSaveComponent } from './report-search-panel-save/report-search-panel-save.component';\nimport { UiGridFilterSettingsComponent } from './ui-grid-filter-settings/ui-grid-filter-settings.component';\nimport { UiGridFilterItemComponent } from './ui-grid-filter-item/ui-grid-filter-item.component';\nimport { SapFontPipe } from './sap-font.pipe';\nimport { SapFontClassPipe } from './sap-font-class.pipe';\nimport { UiDateRangeExComponent } from './ui-date-range-ex/ui-date-range-ex.component';\nimport { UlNotifyPopupComponent } from './ul-notify-popup/ul-notify-popup.component';\nimport { UiTableViewComponent } from './ui-table-view/ui-table-view.component';\nimport { UiListViewComponent } from './ui-list-view/ui-list-view.component';\nimport { StringToArrayPipe, UiCardViewComponent } from './ui-card-view/ui-card-view.component';\nimport { UiReportContainerComponent } from './ui-report-container/ui-report-container.component';\nimport { NoDataComponent } from './no-data/no-data.component';\nimport { ColumnRendererComponent } from './column-renderer/column-renderer.component';\nimport { InlineSaveAndCancelComponent } from './inline-save-and-cancel/inline-save-and-cancel.component';\nimport { UiTreeViewComponent } from './ui-tree-view/ui-tree-view.component';\nimport { UiTreeComponent } from './ui-tree/ui-tree.component';\nimport { UiCalendarComponent } from './ui-calendar/ui-calendar.component';\nimport { NodeHasOneDepthLevelPipe } from './barsa-tree-item/node-has-one-depth-level.pipe';\nimport { UiAspReportViewerComponent } from './ui-asp-report-viewer/ui-asp-report-viewer.component';\nimport { UiGraphComponent } from './ui-graph/ui-graph.component';\nimport { UiExceptionFormComponent } from './ui-exception-form/ui-exception-form.component';\nimport { UiEditableGridComponent } from './ui-editable-grid/ui-editable-grid.component';\nimport { ColumnMatrixRendererComponent } from './column-matrix-renderer/column-matrix-renderer.component';\nimport { UiMatrixViewComponent } from './ui-matrix-view/ui-matrix-view.component';\nimport { CustomDateTimeComponent } from './custom-date-time/custom-date-time.component';\nimport { MatrixValuePipe } from './column-matrix-renderer/matrix-value.pipe';\nimport { BarsaAspViewerComponent } from './barsa-asp-viewer/barsa-asp-viewer.component';\nimport { FileInDialogComponent } from './file-in-dialog/file-in-dialog.component';\nimport { DynamicPageSizePipe } from './dynamic-page-size.pipe';\nimport { ReportViewRendererDirective } from './report-view-renderer.directive';\nimport { UiMoInfoGeneralObjectUiComponent } from './ui-mo-info-general-object-ui/ui-mo-info-general-object-ui.component';\nimport { UiGanttChartComponent } from './ui-gantt-chart/ui-gantt-chart.component';\nimport { GanttDhtmlChartViewComponent } from './gantt-dhtml-chart-view/gantt-dhtml-chart-view.component';\n\nimport { FullscreenDialogDirective } from './fullscreen-dialog.directive';\nimport { ProgressIndicatorComponent } from './progress-indicator/progress-indicator.component';\nimport { CardViewContentComponent } from './card-view-content/card-view-content.component';\nimport { CardItemComponent } from './card-item/card-item.component';\nimport { UiCardViewHorizontalGroupComponent } from './ui-card-view-horizontal-group/ui-card-view-horizontal-group.component';\nimport { TitleComponent } from './title/title.component';\nimport { BarsaUlvMainComponent } from './barsa-ulv-main/barsa-ulv-main.component';\nimport { ListItemComponent } from './list-item/list-item.component';\nimport { HtreeCreateNewComponent } from './htree-create-new/htree-create-new.component';\nimport { BarsaTableRowComponent } from './barsa-table-row/barsa-table-row.component';\nimport { BarsaTableHeaderComponent } from './barsa-table-header/barsa-table-header.component';\nimport { BreadcrumbComponent } from './breadcrumb/breadcrumb.component';\nimport { UiLabelComponent } from './ui-label/ui-label.component';\nimport { FormToolbarButtonComponent } from './form-toolbar-button/form-toolbar-button.component';\nimport { BarsaSearchFormComponent } from './barsa-search-form/barsa-search-form.component';\nimport { ReportNewTopFormComponent } from './report-new-top-form/report-new-top-form.component';\n\nimport { BarsaNetworkOfflineComponent } from './barsa-network-offline/barsa-network-offline.component';\nimport { BarsaBaseLayoutComponent } from './barsa-base-layout/barsa-base-layout.component'\n\nexport const components = [\n UiTextFieldComponent,\n LyLayoutFieldLabelComponent,\n UiCheckBoxComponent,\n UiSimpleComboComponent,\n UiRadioGroupComponent,\n UiGridComponent,\n LyLayoutContainerOfRootComponent,\n LyLayoutPanelComponent,\n UiReadOnlyFieldComponent,\n UiContainerWithButtonComponent,\n UiPictureFileComponent,\n UiMoInfoUlvComboComponent,\n UiMultiSelectComboComponent,\n UiNumDecimalUiComponent,\n UiNumIntUiComponent,\n UiTimeSpanComponent,\n UiFileLinearListBoxComponent,\n LyEmptySpaceComponent,\n UiSinglePictureComponent,\n UlvSelectionComponent,\n UlvToolbarComponent,\n UlvPagingComponent,\n UiGridSortSettingComponent,\n UiGridSortItemComponent,\n UiGridColumnsComponent,\n MaskComponent,\n UiInfoBarPanelComponent,\n UiFormPanelToolbarComponent,\n UiFormPanelComponent,\n UiSearchCommandInfoUiComponent,\n UlvSettingsComponent,\n UiTinymceComponent,\n UiButtonComponent,\n UiDateTimeComponent,\n FormDialogComponent,\n HeaderFacetKeyValueComponent,\n HeaderFacetFormComponent,\n HeaderFacetRateComponent,\n HeaderFacetProgressComponent,\n HeaderFacetMicrochartComponent,\n HeaderFacetPlainTextComponent,\n UiMoInfoSubFormUiComponent,\n ResponsiveToolbarComponent,\n ResponsiveToolbarRendererComponent,\n UiTextAreaComponent,\n LayoutControlComponent,\n LayoutWizardComponent,\n FormWizardComponent,\n FormDialogLessComponent,\n FormPageComponent,\n RichTextStaticComponent,\n UiPicturesInfoComponent,\n LyHorizontalLayoutComponent,\n LyVerticalLayoutComponent,\n LyTabContainerComponent,\n LyTabPageComponent,\n LyLabelComponent,\n UiMoInfoComboViewerComponent,\n UlMsgBoxAdapterComponent,\n UiTreeComponent,\n PageWithHeaderComponent,\n HeaderAvatarComponent,\n EmptyPageComponent,\n UiWorkflowPanelUiComponent,\n UlvContextMenuComponent,\n UlLoadingMaskUiComponent,\n UiTextFieldAutoCompleteComponent,\n CaptchaFieldComponent,\n LySimpleLabelComponent,\n GlobalSearchPanelComponent,\n GlobalSearchModuleComponent,\n GlobalSearchComponent,\n HyperlinkComponent,\n StaticTextComponent,\n UlToastAdapterComponent,\n MessageStripComponent,\n UiLinearListContainerWithButtonComponent,\n FundamentalDynamicFormComponent,\n LayoutActionsComponent,\n LyLayoutContainerComponent,\n UiUlvFormMultiSelectUiComponent,\n UlvFormMultiSelectComponent,\n UlvColumnSettingsComponent,\n UlvFilterSettingsComponent,\n UlvSortSettingsComponent,\n UlvGroupbySettingsComponent,\n BarsaListFileLinearComponent,\n UiPdfViewerComponent,\n BarsaTinyemceComponent,\n UiMonacoEditorComponent,\n BarsaMonacoEditorComponent,\n BarsaDateTimePickerComponent,\n BarsaTreeItemComponent,\n UiSwitchButtonComponent,\n UiColorUiComponent,\n LyLineComponent,\n UiUlvMainUiComponent,\n ReportNavigatorComponent,\n ManageFiltersReportComponent,\n ReportSearchFieldsManageComponent,\n ReportSearchFieldsHiddenSettingsComponent,\n SearchPanelComponent,\n ReportSearchPanelSaveComponent,\n UiGridFilterSettingsComponent,\n UiGridFilterItemComponent,\n UiDateRangeExComponent,\n UlNotifyPopupComponent,\n UiTableViewComponent,\n UiListViewComponent,\n UiCardViewComponent,\n UiReportContainerComponent,\n NoDataComponent,\n ColumnRendererComponent,\n InlineSaveAndCancelComponent,\n UiTreeViewComponent,\n InlineSaveAndCancelComponent,\n UiCalendarComponent,\n UiAspReportViewerComponent,\n UiGraphComponent,\n UiExceptionFormComponent,\n UiEditableGridComponent,\n ColumnMatrixRendererComponent,\n UiMatrixViewComponent,\n CustomDateTimeComponent,\n BarsaAspViewerComponent,\n FileInDialogComponent,\n UiMoInfoGeneralObjectUiComponent,\n UiGanttChartComponent,\n GanttDhtmlChartViewComponent,\n ProgressIndicatorComponent,\n CardViewContentComponent,\n CardItemComponent,\n UiCardViewHorizontalGroupComponent,\n TitleComponent,\n BarsaUlvMainComponent,\n ListItemComponent,\n HtreeCreateNewComponent,\n BarsaTableHeaderComponent,\n BarsaTableRowComponent,\n BreadcrumbComponent,\n UiLabelComponent,\n FormToolbarButtonComponent,\n BarsaSearchFormComponent,\n ReportNewTopFormComponent,\n BarsaNetworkOfflineComponent,\n BarsaBaseLayoutComponent\n];\nexport const pipes = [\n UploadFileStatusPipe,\n SapFontPipe,\n SapFontClassPipe,\n StringToArrayPipe,\n NodeHasOneDepthLevelPipe,\n MatrixValuePipe,\n DynamicPageSizePipe\n];\nexport const directives = [\n WizardLayoutDirective,\n ColRendererDirective,\n ApplyConditionalFormatsDirective,\n ReportViewRendererDirective,\n FullscreenDialogDirective\n];\n\nexport const INIT_SAPFIORI =\n (\n rtlService: RtlService,\n contentDensityService: ContentDensityService,\n themeService: ThemesService,\n portalService: PortalService\n ) =>\n () => {\n rtlService.rtl.next(BarsaApi.LoginFormData.IsRtl);\n let fontFamily = 'IRANYekanDigits';\n if (BarsaApi.LoginFormData.Culture === 'en-US') {\n fontFamily = 'IRANSansWeb';\n }\n\n const css = `* {\n --fdDynamicPage_Title_Font_Family: '${fontFamily}';\n --sapFontFamily: '${fontFamily}';\n --fdWizard_Label_Font_Family: '${fontFamily}';\n --sapFontLightFamily: '${fontFamily}';\n --sapFontHeaderFamily: '${fontFamily}';\n --_ui5_input_compact_height: 1.625rem;\n --sapFontSize: 0.885rem;\n /* --sapContent_HeaderShadow: none; */\n}`,\n head = document.head || document.getElementsByTagName('head')[0],\n style: any = document.createElement('style');\n\n head.appendChild(style);\n\n style.type = 'text/css';\n if (style.styleSheet) {\n // This is required for IE8 and below.\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n\n portalService.userPortalSettings$.pipe(filter((c) => c != null)).subscribe((userSettings) => {\n if (!userSettings) {\n if (getDeviceIsMobile() || getDeviceIsPhone() || getDeviceIsTablet()) {\n contentDensityService.contentDensity.next(ContentDensityEnum.COZY);\n } else {\n contentDensityService.contentDensity.next(ContentDensityEnum.COMPACT);\n }\n } else {\n const { ContentDensity$Caption, Theme$Caption } = userSettings;\n const contentDensity = ContentDensity$Caption;\n if (contentDensity) {\n {\n contentDensityService.contentDensity.next(contentDensity);\n }\n const bodyClassCompact = 'ui5-content-density-compact';\n const bodyClassCondensed = 'ui5-content-density-condensed';\n const bodyClassCozy = 'ui5-content-density-cozy';\n const body = document?.body;\n switch (contentDensity) {\n case 'condensed':\n {\n if (!body.classList.contains(bodyClassCondensed)) {\n body.classList.add(bodyClassCondensed);\n }\n body.classList.remove(bodyClassCompact);\n body.classList.remove(bodyClassCozy);\n }\n\n break;\n case 'cozy':\n {\n if (!body.classList.contains(bodyClassCozy)) {\n body.classList.add(bodyClassCozy);\n }\n body.classList.remove(bodyClassCompact);\n body.classList.remove(bodyClassCondensed);\n }\n break;\n case 'compact':\n {\n if (!body.classList.contains(bodyClassCompact)) {\n body.classList.add(bodyClassCompact);\n }\n body.classList.remove(bodyClassCozy);\n body.classList.remove(bodyClassCondensed);\n }\n break;\n }\n }\n const theme = Theme$Caption;\n if (theme) {\n if (theme.indexOf('dark') > -1) {\n document.documentElement.style.setProperty('color-scheme', 'dark');\n } else {\n document.documentElement.style.setProperty('color-scheme', 'light');\n }\n portalService.setTheme(themeService.setTheme(theme));\n }\n }\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 RtlService,\r\n WizardModule,\r\n FacetModule,\r\n ThemesService,\r\n ContentDensityService,\r\n DialogService,\r\n ContentDensityModule,\r\n ContentDensityMode\r\n} from '@fundamental-ngx/core';\r\nimport {\r\n FundamentalNgxPlatformModule,\r\n PlatformDynamicPageModule,\r\n PlatformTextAreaModule,\r\n PlatformSearchFieldModule\r\n} from '@fundamental-ngx/platform';\r\n\r\nimport {\r\n PortalService,\r\n DynamicComponentService,\r\n BarsaNovinRayCoreModule,\r\n BaseModule,\r\n DIALOG_SERVICE\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\nimport { BarsaSapUiRoutingModule } from './barsa-sap-ui-routing.module';\r\nimport { components, pipes, directives, INIT_SAPFIORI } from './index';\r\n\r\nconst rootProviders = [\r\n Overlay,\r\n ContentDensityService,\r\n ThemesService,\r\n RtlService,\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: INIT_SAPFIORI,\r\n deps: [RtlService, ContentDensityService, ThemesService, PortalService],\r\n multi: true\r\n }\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 BarsaSapUiRoutingModule,\r\n FundamentalNgxCoreModule,\r\n FacetModule,\r\n WizardModule,\r\n FundamentalNgxPlatformModule,\r\n PlatformDynamicPageModule,\r\n PlatformTextAreaModule,\r\n PlatformSearchFieldModule,\r\n ColorSwatchesModule,\r\n ColorChromeModule,\r\n ClipboardModule,\r\n BarsaCalendarModule,\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 ],\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":["i3","i1","i2","i4","i5.LyLabelComponent","sort","Constants.sort","Constants.getNestedValue","i5","i6","i8.UiGridColumnsComponent","i9","i3.UiGridSortItemComponent","i7.UiGridSortSettingComponent","i8","i3.MaskComponent","i4.UiGridFilterItemComponent","i7","i8.UiGridFilterSettingsComponent","i10","i2.UlvToolbarComponent","i3.GanttDhtmlChartViewComponent","BaseComponent","BarsaApi","getDateService","i3.LayoutControlComponent","i4.MatrixValuePipe","i5.ColumnMatrixRendererComponent","i6.ApplyConditionalFormatsDirective","i6.UlvToolbarComponent","i7.UiMatrixViewComponent","i2.BarsaAspViewerComponent","i3.UlvToolbarComponent","i10.ApplyConditionalFormatsDirective","i8.UlvContextMenuComponent","i9.HtreeCreateNewComponent","i4.BarsaTreeItemComponent","i5.NoDataComponent","i8.UlvToolbarComponent","i9.UiTreeViewComponent","i4.LayoutControlComponent","i3.LyLayoutContainerOfRootComponent","i3.ReportNewTopFormComponent","i4.ReportViewRendererDirective","i10.UlvContextMenuComponent","i11.ColumnRendererComponent","i12.ApplyConditionalFormatsDirective","i6.UlvContextMenuComponent","i7.NoDataComponent","i8.CardItemComponent","i6.CardViewContentComponent","i7.UlvContextMenuComponent","i8.ColumnRendererComponent","i9.ApplyConditionalFormatsDirective","i9.NoDataComponent","i10.ListItemComponent","i11.LayoutControlComponent","i12.UlvContextMenuComponent","i13.ColumnRendererComponent","i14.ApplyConditionalFormatsDirective","i4.BarsaTableHeaderComponent","i5.BarsaTableRowComponent","DateShamsiService","DateHijriService","DateMiladiService","FieldBaseComponent","DateService","i11","i12.MaskComponent","i7.UiGridColumnsComponent","i12","i13","i14.MaskComponent","i15","i4.MaskComponent","i15.SearchPanelComponent","i16.BreadcrumbComponent","i17.DynamicPageSizePipe","i4.BarsaUlvMainComponent","i2.BarsaMonacoEditorComponent","i10.MaskComponent","i12.UploadFileStatusPipe","i13.UiUlvMainUiComponent","i14.FullscreenDialogDirective","i8.UiUlvMainUiComponent","i14","i17","i19.LyLayoutContainerOfRootComponent","i20.MaskComponent","i21.LyTabPageComponent","i22.LayoutActionsComponent","i23.BreadcrumbComponent","i11.UiUlvMainUiComponent","i12.FullscreenDialogDirective","i3.GlobalSearchComponent","i2.MaskComponent","i6.HeaderFacetKeyValueComponent","i7.HeaderFacetFormComponent","i8.HeaderFacetRateComponent","i9.HeaderFacetProgressComponent","i10.HeaderFacetMicrochartComponent","i11.HeaderFacetPlainTextComponent","i12.HeaderAvatarComponent","i13.GlobalSearchComponent","i6.MaskComponent","i3.LyTabPageComponent","i5.LyLayoutContainerOfRootComponent","i7.FundamentalDynamicFormComponent","i8.LayoutActionsComponent","takeUntil","i3.WizardLayoutDirective","LogService","i4.BarsaTinyemceComponent","i8.UiGridSortSettingComponent","i9.UiGridColumnsComponent","i9.UiUlvMainUiComponent","i9.MaskComponent","i8.MaskComponent","i3.UiTableViewComponent","i5.CardViewContentComponent","i7.DynamicPageSizePipe","i1.FundamentalDynamicFormComponent","filter","i158","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.UiFormPanelToolbarComponent","i30.UiFormPanelComponent","i31.UiSearchCommandInfoUiComponent","i32.UlvSettingsComponent","i33.UiTinymceComponent","i34.UiButtonComponent","i35.UiDateTimeComponent","i36.FormDialogComponent","i37.HeaderFacetKeyValueComponent","i38.HeaderFacetFormComponent","i39.HeaderFacetRateComponent","i40.HeaderFacetProgressComponent","i41.HeaderFacetMicrochartComponent","i42.HeaderFacetPlainTextComponent","i43.UiMoInfoSubFormUiComponent","i44.ResponsiveToolbarComponent","i45.ResponsiveToolbarRendererComponent","i46.UiTextAreaComponent","i47.LayoutControlComponent","i48.LayoutWizardComponent","i49.FormWizardComponent","i50.FormDialogLessComponent","i51.FormPageComponent","i52.RichTextStaticComponent","i53.UiPicturesInfoComponent","i54.LyHorizontalLayoutComponent","i55.LyVerticalLayoutComponent","i56.LyTabContainerComponent","i57.LyTabPageComponent","i58.LyLabelComponent","i59.UiMoInfoComboViewerComponent","i60.UlMsgBoxAdapterComponent","i61.UiTreeComponent","i62.PageWithHeaderComponent","i63.HeaderAvatarComponent","i64.EmptyPageComponent","i65.UiWorkflowPanelUiComponent","i66.UlvContextMenuComponent","i67.UlLoadingMaskUiComponent","i68.UiTextFieldAutoCompleteComponent","i69.CaptchaFieldComponent","i70.LySimpleLabelComponent","i71.GlobalSearchPanelComponent","i72.GlobalSearchModuleComponent","i73.GlobalSearchComponent","i74.HyperlinkComponent","i75.StaticTextComponent","i76.UlToastAdapterComponent","i77.MessageStripComponent","i78.UiLinearListContainerWithButtonComponent","i79.FundamentalDynamicFormComponent","i80.LayoutActionsComponent","i81.LyLayoutContainerComponent","i82.UiUlvFormMultiSelectUiComponent","i83.UlvFormMultiSelectComponent","i84.UlvColumnSettingsComponent","i85.UlvFilterSettingsComponent","i86.UlvSortSettingsComponent","i87.UlvGroupbySettingsComponent","i88.BarsaListFileLinearComponent","i89.UiPdfViewerComponent","i90.BarsaTinyemceComponent","i91.UiMonacoEditorComponent","i92.BarsaMonacoEditorComponent","i93.BarsaDateTimePickerComponent","i94.BarsaTreeItemComponent","i95.UiSwitchButtonComponent","i96.UiColorUiComponent","i97.LyLineComponent","i98.UiUlvMainUiComponent","i99.ReportNavigatorComponent","i100.ManageFiltersReportComponent","i101.ReportSearchFieldsManageComponent","i102.ReportSearchFieldsHiddenSettingsComponent","i103.SearchPanelComponent","i104.ReportSearchPanelSaveComponent","i105.UiGridFilterSettingsComponent","i106.UiGridFilterItemComponent","i107.UiDateRangeExComponent","i108.UlNotifyPopupComponent","i109.UiTableViewComponent","i110.UiListViewComponent","i111.UiCardViewComponent","i112.UiReportContainerComponent","i113.NoDataComponent","i114.ColumnRendererComponent","i115.InlineSaveAndCancelComponent","i116.UiTreeViewComponent","i117.UiCalendarComponent","i118.UiAspReportViewerComponent","i119.UiGraphComponent","i120.UiExceptionFormComponent","i121.UiEditableGridComponent","i122.ColumnMatrixRendererComponent","i123.UiMatrixViewComponent","i124.CustomDateTimeComponent","i125.BarsaAspViewerComponent","i126.FileInDialogComponent","i127.UiMoInfoGeneralObjectUiComponent","i128.UiGanttChartComponent","i129.GanttDhtmlChartViewComponent","i130.ProgressIndicatorComponent","i131.CardViewContentComponent","i132.CardItemComponent","i133.UiCardViewHorizontalGroupComponent","i134.TitleComponent","i135.BarsaUlvMainComponent","i136.ListItemComponent","i137.HtreeCreateNewComponent","i138.BarsaTableHeaderComponent","i139.BarsaTableRowComponent","i140.BreadcrumbComponent","i141.UiLabelComponent","i142.FormToolbarButtonComponent","i143.BarsaSearchFormComponent","i144.ReportNewTopFormComponent","i145.BarsaNetworkOfflineComponent","i146.BarsaBaseLayoutComponent","i153.WizardLayoutDirective","i154.ColRendererDirective","i155.ApplyConditionalFormatsDirective","i156.ReportViewRendererDirective","i157.FullscreenDialogDirective","i147.UploadFileStatusPipe","i148.SapFontPipe","i149.SapFontClassPipe","i111.StringToArrayPipe","i150.NodeHasOneDepthLevelPipe","i151.MatrixValuePipe","i152.DynamicPageSizePipe"],"mappings":"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"}
|