barsa-sap-ui 2.0.135 → 2.1.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/fesm2022/barsa-sap-ui.mjs +984 -957
- package/fesm2022/barsa-sap-ui.mjs.map +1 -1
- package/lib/barsa-sap-ui.module.d.ts +5 -4
- package/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.d.ts +3 -3
- package/lib/ly-tab-container/ly-tab-container.component.d.ts +2 -4
- package/lib/ly-tab-page/ly-tab-page.component.d.ts +2 -2
- package/lib/report-view-renderer.directive.d.ts +1 -1
- package/lib/ui-map/ui-map.component.d.ts +2 -0
- package/package.json +3 -5
- package/esm2022/barsa-sap-ui.mjs +0 -5
- package/esm2022/lib/apply-conditional-formmatings.directive.mjs +0 -89
- package/esm2022/lib/avatar-size.pipe.mjs +0 -40
- package/esm2022/lib/barsa-answer-card/barsa-answer-card.component.mjs +0 -41
- package/esm2022/lib/barsa-asp-viewer/barsa-asp-viewer.component.mjs +0 -145
- package/esm2022/lib/barsa-bar-panel/barsa-bar-panel.component.mjs +0 -23
- package/esm2022/lib/barsa-base-panel/barsa-base-layout-panel.component.mjs +0 -29
- package/esm2022/lib/barsa-breadcrumbs/barsa-breadcrumbs.component.mjs +0 -24
- package/esm2022/lib/barsa-card-layout-panel/barsa-card-layout-panel.component.mjs +0 -24
- package/esm2022/lib/barsa-card-row-payam/barsa-card-row-payam.component.mjs +0 -30
- package/esm2022/lib/barsa-cartable-form/barsa-cartable-form.component.mjs +0 -41
- package/esm2022/lib/barsa-cartable-template/barsa-cartable-template.component.mjs +0 -24
- package/esm2022/lib/barsa-chat/barsa-chat.component.mjs +0 -242
- package/esm2022/lib/barsa-chat/chat.model.mjs +0 -8
- package/esm2022/lib/barsa-chat-content/barsa-chat-content.component.mjs +0 -13
- package/esm2022/lib/barsa-chat-content-toolbar/barsa-chat-content-toolbar.component.mjs +0 -22
- package/esm2022/lib/barsa-chat-list/barsa-chat-list.component.mjs +0 -66
- package/esm2022/lib/barsa-chat-message/barsa-chat-message.component.mjs +0 -78
- package/esm2022/lib/barsa-chat-thread/barsa-chat-thread.component.mjs +0 -22
- package/esm2022/lib/barsa-chat-threads-list/barsa-chat-threads-list.component.mjs +0 -13
- package/esm2022/lib/barsa-chat-threads-list-toolbar/barsa-chat-threads-list-toolbar.component.mjs +0 -15
- package/esm2022/lib/barsa-chip/barsa-chip.component.mjs +0 -72
- package/esm2022/lib/barsa-column-indicator/barsa-column-indicator.component.mjs +0 -23
- package/esm2022/lib/barsa-column-rownumber/barsa-column-rownumber.component.mjs +0 -14
- package/esm2022/lib/barsa-custom-inline-edit/barsa-custom-inline-edit.component.mjs +0 -14
- package/esm2022/lib/barsa-custom-inline-edit-row/barsa-custom-inline-edit-row.component.mjs +0 -26
- package/esm2022/lib/barsa-date-time-picker/barsa-date-time-picker.component.mjs +0 -71
- package/esm2022/lib/barsa-dynamic-field/barsa-dynamic-field.component.mjs +0 -40
- package/esm2022/lib/barsa-enum-menu-button/barsa-enum-menu-button.component.mjs +0 -61
- package/esm2022/lib/barsa-field-key-value/barsa-field-key-value.component.mjs +0 -45
- package/esm2022/lib/barsa-form-side-content/barsa-form-side-content.component.mjs +0 -58
- package/esm2022/lib/barsa-grid-layout-panel/barsa-grid-layout-panel.component.mjs +0 -27
- package/esm2022/lib/barsa-group-cartable/barsa-cartable-group.component.mjs +0 -94
- package/esm2022/lib/barsa-horizontal-flex-panel/barsa-horizontal-flex-panel.component.mjs +0 -22
- package/esm2022/lib/barsa-linkable-items-panel/barsa-linkable-items-panel.component.mjs +0 -37
- package/esm2022/lib/barsa-list-file-linear/barsa-list-file-linear.component.mjs +0 -41
- package/esm2022/lib/barsa-list-file-linear-gmail/barsa-list-file-linear-gmail.component.mjs +0 -29
- package/esm2022/lib/barsa-list-layout-panel/barsa-list-layout-panel.component.mjs +0 -23
- package/esm2022/lib/barsa-modal/barsa-modal.component.mjs +0 -43
- package/esm2022/lib/barsa-monaco-editor/barsa-monaco-editor.component.mjs +0 -83
- package/esm2022/lib/barsa-network-offline/barsa-network-offline.component.mjs +0 -57
- package/esm2022/lib/barsa-pishnamayesh-payam/barsa-pishnamayesh-payam.component.mjs +0 -159
- package/esm2022/lib/barsa-question-answer-comments-section/barsa-question-answer-comments-section.component.mjs +0 -17
- package/esm2022/lib/barsa-question-answer-content-actions-section/barsa-question-answer-content-actions-section.component.mjs +0 -30
- package/esm2022/lib/barsa-question-answer-creator-time-section/barsa-question-answer-creator-time-section.component.mjs +0 -14
- package/esm2022/lib/barsa-question-answer-form/barsa-question-answer-form.component.mjs +0 -34
- package/esm2022/lib/barsa-question-answer-form-add-comment/barsa-question-answer-form-add-comment.component.mjs +0 -46
- package/esm2022/lib/barsa-question-answer-vote-section/barsa-question-answer-vote-section.component.mjs +0 -79
- package/esm2022/lib/barsa-question-post/barsa-question-post.component.mjs +0 -30
- package/esm2022/lib/barsa-report-card-flex-view/barsa-report-card-flex-view.component.mjs +0 -31
- package/esm2022/lib/barsa-report-checkbox-switch-button/barsa-report-checkbox-switch-button.component.mjs +0 -28
- package/esm2022/lib/barsa-report-one-of-list/barsa-report-one-of-list.component.mjs +0 -102
- package/esm2022/lib/barsa-row-inline-actionlist/barsa-row-inline-actionlist.component.mjs +0 -26
- package/esm2022/lib/barsa-sap-ui-routing.module.mjs +0 -18
- package/esm2022/lib/barsa-sap-ui.module.mjs +0 -370
- package/esm2022/lib/barsa-search-form/barsa-search-form.component.mjs +0 -29
- package/esm2022/lib/barsa-simple-form/barsa-simple-form.component.mjs +0 -170
- package/esm2022/lib/barsa-tab-route-manager/barsa-tab-route-manager.component.mjs +0 -18
- package/esm2022/lib/barsa-table-column/barsa-table-column.component.mjs +0 -29
- package/esm2022/lib/barsa-table-header/barsa-table-header.component.mjs +0 -222
- package/esm2022/lib/barsa-table-row/barsa-table-row.component.mjs +0 -87
- package/esm2022/lib/barsa-tag-categories/barsa-tag-categories.component.mjs +0 -60
- package/esm2022/lib/barsa-tag-chip/barsa-tag-chip.component.mjs +0 -26
- package/esm2022/lib/barsa-tags-category-row/barsa-tags-category-row.component.mjs +0 -23
- package/esm2022/lib/barsa-text-ellipsis/barsa-text-ellipsis.component.mjs +0 -37
- package/esm2022/lib/barsa-tinyemce/barsa-tinyemce.component.mjs +0 -418
- package/esm2022/lib/barsa-toolbaritem-search/barsa-toolbaritem-search.component.mjs +0 -36
- package/esm2022/lib/barsa-tree-item/barsa-tree-item.component.mjs +0 -153
- package/esm2022/lib/barsa-tree-item/node-has-one-depth-level.pipe.mjs +0 -19
- package/esm2022/lib/barsa-ulv-main/barsa-ulv-main.component.mjs +0 -216
- package/esm2022/lib/blob-viewer/blob-viewer.component.mjs +0 -74
- package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +0 -50
- package/esm2022/lib/captcha-field/captcha-field.component.mjs +0 -28
- package/esm2022/lib/card-item/card-item.component.mjs +0 -64
- package/esm2022/lib/card-view-content/card-view-content.component.mjs +0 -46
- package/esm2022/lib/col-renderer.directive.mjs +0 -46
- package/esm2022/lib/column-matrix-renderer/column-matrix-renderer.component.mjs +0 -56
- package/esm2022/lib/column-matrix-renderer/matrix-value.pipe.mjs +0 -60
- package/esm2022/lib/column-renderer/column-renderer.component.mjs +0 -88
- package/esm2022/lib/constants.mjs +0 -425
- package/esm2022/lib/custom-date-time/custom-date-time.component.mjs +0 -41
- package/esm2022/lib/device-info-field-base.mjs +0 -23
- package/esm2022/lib/dialog-handler.directive.mjs +0 -28
- package/esm2022/lib/download-files.directive.mjs +0 -33
- package/esm2022/lib/dynamic-page-size.pipe.mjs +0 -26
- package/esm2022/lib/file-in-dialog/file-in-dialog.component.mjs +0 -44
- package/esm2022/lib/file-viewer/file-viewer.component.mjs +0 -47
- package/esm2022/lib/file-viewer-content/file-viewer-content.component.mjs +0 -71
- package/esm2022/lib/file-viewer-popover/file-viewer-popover.component.mjs +0 -39
- package/esm2022/lib/form-dialog/form-dialog.component.mjs +0 -171
- package/esm2022/lib/form-dialog-less/form-dialog-less.component.mjs +0 -50
- package/esm2022/lib/form-toolbar/form-toolbar.component.mjs +0 -62
- package/esm2022/lib/form-toolbar-button/form-toolbar-button.component.mjs +0 -45
- package/esm2022/lib/form-wizard/form-wizard.component.mjs +0 -21
- package/esm2022/lib/fullscreen-dialog.directive.mjs +0 -59
- package/esm2022/lib/fullscreen-files.directive.mjs +0 -42
- package/esm2022/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.mjs +0 -215
- package/esm2022/lib/gantt-dhtml-chart-view/gantt-dhtml-chart-view.component.mjs +0 -215
- package/esm2022/lib/global-search/global-search.component.mjs +0 -27
- package/esm2022/lib/global-search-module/global-search-module.component.mjs +0 -29
- package/esm2022/lib/global-search-panel/global-search-panel.component.mjs +0 -25
- package/esm2022/lib/header-avatar/header-avatar.component.mjs +0 -18
- package/esm2022/lib/htree-create-new/htree-create-new.component.mjs +0 -48
- package/esm2022/lib/hyperlink/hyperlink.component.mjs +0 -23
- package/esm2022/lib/index.mjs +0 -543
- package/esm2022/lib/inline-save-and-cancel/inline-save-and-cancel.component.mjs +0 -32
- package/esm2022/lib/layout-actions/layout-actions.component.mjs +0 -70
- package/esm2022/lib/layout-control/layout-control.component.mjs +0 -302
- package/esm2022/lib/layout-wizard/layout-wizard.component.mjs +0 -183
- package/esm2022/lib/list-item/list-item.component.mjs +0 -34
- package/esm2022/lib/ly-empty-space/ly-empty-space.component.mjs +0 -42
- package/esm2022/lib/ly-horizontal-layout/ly-horizontal-layout.component.mjs +0 -82
- package/esm2022/lib/ly-label/ly-label.component.mjs +0 -37
- package/esm2022/lib/ly-layout-container/ly-layout-container.component.mjs +0 -83
- package/esm2022/lib/ly-layout-container-of-root/ly-layout-container-of-root.component.mjs +0 -17
- package/esm2022/lib/ly-layout-field-label/ly-layout-field-label.component.mjs +0 -24
- package/esm2022/lib/ly-layout-panel/ly-layout-panel.component.mjs +0 -83
- package/esm2022/lib/ly-line/ly-line.component.mjs +0 -56
- package/esm2022/lib/ly-simple-label/ly-simple-label.component.mjs +0 -22
- package/esm2022/lib/ly-tab-container/ly-tab-container.component.mjs +0 -52
- package/esm2022/lib/ly-tab-page/ly-tab-page.component.mjs +0 -44
- package/esm2022/lib/ly-vertical-layout/ly-vertical-layout.component.mjs +0 -51
- package/esm2022/lib/manage-filters-report/manage-filters-report.component.mjs +0 -43
- package/esm2022/lib/mask/mask.component.mjs +0 -22
- package/esm2022/lib/message-strip/message-strip.component.mjs +0 -28
- package/esm2022/lib/models/grid-data-provider.mjs +0 -114
- package/esm2022/lib/models/grid-view.mjs +0 -2
- package/esm2022/lib/models/index.mjs +0 -2
- package/esm2022/lib/no-data/no-data.component.mjs +0 -31
- package/esm2022/lib/notification-item/notification-item.component.mjs +0 -57
- package/esm2022/lib/notification-popup.service.mjs +0 -92
- package/esm2022/lib/object-status-icon.pipe.mjs +0 -26
- package/esm2022/lib/progress-indicator/progress-indicator.component.mjs +0 -18
- package/esm2022/lib/report-navigator/report-navigator.component.mjs +0 -68
- package/esm2022/lib/report-new-top-form/report-new-top-form.component.mjs +0 -60
- package/esm2022/lib/report-search-fields-hidden-settings/report-search-fields-hidden-settings.component.mjs +0 -35
- package/esm2022/lib/report-search-fields-manage/report-search-fields-manage.component.mjs +0 -97
- package/esm2022/lib/report-search-panel-save/report-search-panel-save.component.mjs +0 -88
- package/esm2022/lib/report-tree-base.mjs +0 -386
- package/esm2022/lib/report-view-renderer.directive.mjs +0 -385
- package/esm2022/lib/responsive-toolbar/responsive-toolbar.component.mjs +0 -50
- package/esm2022/lib/responsive-toolbar-renderer/responsive-toolbar-renderer.component.mjs +0 -84
- package/esm2022/lib/rich-text-static/rich-text-static.component.mjs +0 -72
- package/esm2022/lib/sap-font-class.pipe.mjs +0 -29
- package/esm2022/lib/sap-font.pipe.mjs +0 -29
- package/esm2022/lib/sap-size.pipe.mjs +0 -27
- package/esm2022/lib/sap-ui-report-base.component.mjs +0 -805
- package/esm2022/lib/search-panel/search-panel.component.mjs +0 -63
- package/esm2022/lib/static-text/static-text.component.mjs +0 -15
- package/esm2022/lib/table-th.directive.mjs +0 -86
- package/esm2022/lib/title/title.component.mjs +0 -15
- package/esm2022/lib/ui-asp-report-viewer/ui-asp-report-viewer.component.mjs +0 -34
- package/esm2022/lib/ui-bpmn-viewer/ui-bpmn-viewer.component.mjs +0 -33
- package/esm2022/lib/ui-button/ui-button.component.mjs +0 -32
- package/esm2022/lib/ui-calendar/ui-calendar.component.mjs +0 -53
- package/esm2022/lib/ui-card-view/ui-card-view.component.mjs +0 -57
- package/esm2022/lib/ui-card-view-horizontal-group/ui-card-view-horizontal-group.component.mjs +0 -42
- package/esm2022/lib/ui-check-box/ui-check-box.component.mjs +0 -39
- package/esm2022/lib/ui-color-ui/ui-color-ui.component.mjs +0 -50
- package/esm2022/lib/ui-container-with-button/ui-container-with-button.component.mjs +0 -38
- package/esm2022/lib/ui-date-range-ex/ui-date-range-ex.component.mjs +0 -191
- package/esm2022/lib/ui-date-time/ui-date-time.component.mjs +0 -150
- package/esm2022/lib/ui-editable-grid/ui-editable-grid.component.mjs +0 -110
- package/esm2022/lib/ui-exception-form/ui-exception-form.component.mjs +0 -53
- package/esm2022/lib/ui-file-linear-list-box/ui-file-linear-list-box.component.mjs +0 -121
- package/esm2022/lib/ui-form-panel/ui-form-panel.component.mjs +0 -100
- package/esm2022/lib/ui-gantt-chart/ui-gantt-chart.component.mjs +0 -32
- package/esm2022/lib/ui-graph/ui-graph.component.mjs +0 -17
- package/esm2022/lib/ui-grid/ui-grid.component.mjs +0 -25
- package/esm2022/lib/ui-grid-columns/ui-grid-columns.component.mjs +0 -43
- package/esm2022/lib/ui-grid-filter-item/ui-grid-filter-item.component.mjs +0 -66
- package/esm2022/lib/ui-grid-filter-settings/ui-grid-filter-settings.component.mjs +0 -75
- package/esm2022/lib/ui-grid-sort-item/ui-grid-sort-item.component.mjs +0 -58
- package/esm2022/lib/ui-grid-sort-setting/ui-grid-sort-setting.component.mjs +0 -123
- package/esm2022/lib/ui-html-viewer/ui-html-viewer.component.mjs +0 -16
- package/esm2022/lib/ui-info-bar-panel/ui-info-bar-panel.component.mjs +0 -11
- package/esm2022/lib/ui-label/ui-label.component.mjs +0 -12
- package/esm2022/lib/ui-linear-list-container-with-button/ui-linear-list-container-with-button.component.mjs +0 -379
- package/esm2022/lib/ui-list-view/ui-list-view.component.mjs +0 -84
- package/esm2022/lib/ui-map/ui-map.component.mjs +0 -58
- package/esm2022/lib/ui-matrix-view/ui-matrix-view.component.mjs +0 -124
- package/esm2022/lib/ui-mo-info-combo-viewer/ui-mo-info-combo-viewer.component.mjs +0 -19
- package/esm2022/lib/ui-mo-info-general-object-ui/ui-mo-info-general-object-ui.component.mjs +0 -14
- package/esm2022/lib/ui-mo-info-sub-form-ui/ui-mo-info-sub-form-ui.component.mjs +0 -55
- package/esm2022/lib/ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component.mjs +0 -429
- package/esm2022/lib/ui-monaco-editor/ui-monaco-editor.component.mjs +0 -28
- package/esm2022/lib/ui-multi-select-card/ui-multi-select-card.component.mjs +0 -37
- package/esm2022/lib/ui-multi-select-checkbox/ui-multi-select-checkbox.component.mjs +0 -59
- package/esm2022/lib/ui-multi-select-combo/ui-multi-select-combo.component.mjs +0 -93
- package/esm2022/lib/ui-multi-select-radio/ui-multi-select-radio.component.mjs +0 -36
- package/esm2022/lib/ui-multi-select-slider/ui-multi-select-slider.component.mjs +0 -56
- package/esm2022/lib/ui-multi-select-smile/ui-multi-select-smile.component.mjs +0 -28
- package/esm2022/lib/ui-num-decimal-ui/ui-num-decimal-ui.component.mjs +0 -33
- package/esm2022/lib/ui-num-int-slider/ui-num-int-slider.component.mjs +0 -27
- package/esm2022/lib/ui-num-int-ui/ui-num-int-ui.component.mjs +0 -21
- package/esm2022/lib/ui-pdf-viewer/ui-pdf-viewer.component.mjs +0 -268
- package/esm2022/lib/ui-picture-file/ui-picture-file.component.mjs +0 -101
- package/esm2022/lib/ui-pictures-info/ui-pictures-info.component.mjs +0 -261
- package/esm2022/lib/ui-radio-group/ui-radio-group.component.mjs +0 -48
- package/esm2022/lib/ui-read-only-field/ui-read-only-field.component.mjs +0 -36
- package/esm2022/lib/ui-report-container/ui-report-container.component.mjs +0 -46
- package/esm2022/lib/ui-search-command-info-ui/ui-search-command-info-ui.component.mjs +0 -24
- package/esm2022/lib/ui-simple-combo/ui-simple-combo.component.mjs +0 -55
- package/esm2022/lib/ui-single-picture/ui-single-picture.component.mjs +0 -36
- package/esm2022/lib/ui-switch-button/ui-switch-button.component.mjs +0 -20
- package/esm2022/lib/ui-table-view/ui-table-view.component.mjs +0 -289
- package/esm2022/lib/ui-text-area/ui-text-area.component.mjs +0 -49
- package/esm2022/lib/ui-text-field/ui-text-field.component.mjs +0 -52
- package/esm2022/lib/ui-text-field-auto-complete/ui-text-field-auto-complete.component.mjs +0 -48
- package/esm2022/lib/ui-time-span/ui-time-span.component.mjs +0 -24
- package/esm2022/lib/ui-tinymce/ui-tinymce.component.mjs +0 -53
- package/esm2022/lib/ui-tree/ui-tree.component.mjs +0 -114
- package/esm2022/lib/ui-tree-view/ui-tree-view.component.mjs +0 -100
- package/esm2022/lib/ui-ulv-form-multi-select-ui/ui-ulv-form-multi-select-ui.component.mjs +0 -23
- package/esm2022/lib/ui-ulv-main-ui/ui-ulv-main-ui.component.mjs +0 -306
- package/esm2022/lib/ui-workflow-panel-ui/ui-workflow-panel-ui.component.mjs +0 -25
- package/esm2022/lib/ul-loading-mask-ui/ul-loading-mask-ui.component.mjs +0 -93
- package/esm2022/lib/ul-msg-box-adapter/ul-msg-box-adapter.component.mjs +0 -119
- package/esm2022/lib/ul-notify-popup/ul-notify-popup.component.mjs +0 -32
- package/esm2022/lib/ul-toast-adapter/ul-toast-adapter.component.mjs +0 -48
- package/esm2022/lib/ulv-column-settings/ulv-column-settings.component.mjs +0 -53
- package/esm2022/lib/ulv-context-menu/ulv-context-menu.component.mjs +0 -114
- package/esm2022/lib/ulv-filter-settings/ulv-filter-settings.component.mjs +0 -43
- package/esm2022/lib/ulv-form-multi-select/ulv-form-multi-select.component.mjs +0 -196
- package/esm2022/lib/ulv-groupby-settings/ulv-groupby-settings.component.mjs +0 -44
- package/esm2022/lib/ulv-paging/ulv-paging.component.mjs +0 -84
- package/esm2022/lib/ulv-selection/ulv-selection.component.mjs +0 -65
- package/esm2022/lib/ulv-settings/ulv-settings.component.mjs +0 -116
- package/esm2022/lib/ulv-sort-settings/ulv-sort-settings.component.mjs +0 -54
- package/esm2022/lib/ulv-toolbar/ulv-toolbar.component.mjs +0 -174
- package/esm2022/lib/upload-file-status.pipe.mjs +0 -28
- package/esm2022/lib/util-chat-time-badge.pipe.mjs +0 -18
- package/esm2022/lib/util-date-to-hh-mm.pipe.mjs +0 -23
- package/esm2022/lib/wizard-layout.directive.mjs +0 -103
- package/esm2022/public-api.mjs +0 -233
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
import { Component, Input, ViewChild, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
-
import { BarsaApi, FieldBaseComponent, DateService, LogService, getDateService } from 'barsa-novin-ray-core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@fundamental-ngx/core/form";
|
|
5
|
-
import * as i2 from "@fundamental-ngx/core/input-group";
|
|
6
|
-
import * as i3 from "barsa-calendar";
|
|
7
|
-
import * as i4 from "@angular/common";
|
|
8
|
-
export class UiDateTimeComponent extends FieldBaseComponent {
|
|
9
|
-
constructor() {
|
|
10
|
-
super(...arguments);
|
|
11
|
-
this.valueCaption = '';
|
|
12
|
-
/* eslint-disable */
|
|
13
|
-
this.GetCaption = () => this.valueCaption;
|
|
14
|
-
}
|
|
15
|
-
ngOnInit() {
|
|
16
|
-
super.ngOnInit();
|
|
17
|
-
if (this.parameters?.DateRangeMode && this.parameters?.DateRangeOtherField) {
|
|
18
|
-
const formpanel = BarsaApi.Common.Util.TryGetValue(this.context, 'LayoutControl.config.FormPanelUi', null);
|
|
19
|
-
if (formpanel) {
|
|
20
|
-
formpanel.fireEvent('ChangeFieldVisible', this.parameters.DateRangeOtherField, false);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
if (typeof this.value === 'string' && this.value) {
|
|
24
|
-
this.value = this.context.value = new Date(this.value);
|
|
25
|
-
}
|
|
26
|
-
this.fullCalendar = this.Setting.ShowTime1 && this.Setting.ShowDate1;
|
|
27
|
-
this._setTimeFormat();
|
|
28
|
-
// this.value$.pipe(takeUntil(this._onDestroy$)).subscribe((value) => {
|
|
29
|
-
// this.value = <Date>value;
|
|
30
|
-
// // this._setValueCaption(value);
|
|
31
|
-
// });
|
|
32
|
-
// // this._setValueCaption(this.value);
|
|
33
|
-
}
|
|
34
|
-
ngAfterViewInit() {
|
|
35
|
-
super.ngAfterViewInit();
|
|
36
|
-
this._setCaption(this.value);
|
|
37
|
-
}
|
|
38
|
-
onDateTimeChange() {
|
|
39
|
-
const datetimePickerControl = this.datetimePickerRef.nativeElement;
|
|
40
|
-
this.value = datetimePickerControl.dateValue;
|
|
41
|
-
this.valueCaption = datetimePickerControl.value;
|
|
42
|
-
this.valueChange.emit(this.value);
|
|
43
|
-
}
|
|
44
|
-
onDateChange() {
|
|
45
|
-
const datePickerControl = this.datePickerRef.nativeElement;
|
|
46
|
-
this._valueDateChange(datePickerControl.dateValue);
|
|
47
|
-
}
|
|
48
|
-
onDateChange2(date) {
|
|
49
|
-
this._valueDateChange(date);
|
|
50
|
-
}
|
|
51
|
-
onDurationChange(e) {
|
|
52
|
-
const { value } = e.detail;
|
|
53
|
-
if (!this.value) {
|
|
54
|
-
this.value = new Date();
|
|
55
|
-
}
|
|
56
|
-
const time = value.split(':');
|
|
57
|
-
this.value.setHours(Number(time[0]), Number(time[1]), Number(time[2]));
|
|
58
|
-
this.valueCaption = this.durationPickerRef.nativeElement.value;
|
|
59
|
-
this.valueChange.emit(this.value);
|
|
60
|
-
}
|
|
61
|
-
onRangeChange(rangeValue) {
|
|
62
|
-
console.log('endDate', rangeValue);
|
|
63
|
-
}
|
|
64
|
-
_setTimeFormat() {
|
|
65
|
-
const timeFormat = this.Setting.TimeFormat?.toLowerCase();
|
|
66
|
-
let timeFormat2 = '';
|
|
67
|
-
if (timeFormat) {
|
|
68
|
-
timeFormat2 = ' ';
|
|
69
|
-
timeFormat.split(':').forEach((val) => {
|
|
70
|
-
switch (val) {
|
|
71
|
-
case 'h':
|
|
72
|
-
timeFormat2 += 'HH';
|
|
73
|
-
break;
|
|
74
|
-
case 'i':
|
|
75
|
-
timeFormat2 += ':mm';
|
|
76
|
-
break;
|
|
77
|
-
case 's':
|
|
78
|
-
timeFormat2 += ':SS';
|
|
79
|
-
break;
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
const dateFormat = !this.Setting.ShowDate1 ? '' : 'YYYY/MM/DD';
|
|
84
|
-
const timeFormat3 = !this.Setting.ShowTime1 ? '' : timeFormat2;
|
|
85
|
-
// timeFormat2 += ' A';
|
|
86
|
-
this.formatPattern = `${dateFormat}${timeFormat3}`;
|
|
87
|
-
}
|
|
88
|
-
_configChaned(options) {
|
|
89
|
-
// implemented by child components
|
|
90
|
-
this._setTimeFormat();
|
|
91
|
-
const temp = this.value;
|
|
92
|
-
if (!this.Setting.ShowTime1) {
|
|
93
|
-
if (typeof temp === 'object') {
|
|
94
|
-
temp.setHours(0);
|
|
95
|
-
temp.setMinutes(0);
|
|
96
|
-
temp.setSeconds(0);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
if (typeof temp === 'object') {
|
|
100
|
-
this._valueDateChange(new Date(temp));
|
|
101
|
-
}
|
|
102
|
-
super._configChaned(options);
|
|
103
|
-
}
|
|
104
|
-
_setValue(value) {
|
|
105
|
-
this._setCaption(value);
|
|
106
|
-
super._setValue(value);
|
|
107
|
-
}
|
|
108
|
-
_valueDateChange(dateValue) {
|
|
109
|
-
this.value = dateValue;
|
|
110
|
-
this.valueCaption = this._setCaption(dateValue); // datePickerControl.value;
|
|
111
|
-
this.valueChange.emit(this.value);
|
|
112
|
-
}
|
|
113
|
-
_setCaption(value) {
|
|
114
|
-
const caption = (this.context.caption =
|
|
115
|
-
this.valueCaption =
|
|
116
|
-
this._dateService.format(value, this.formatPattern));
|
|
117
|
-
this._cdr.detectChanges();
|
|
118
|
-
return caption;
|
|
119
|
-
}
|
|
120
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UiDateTimeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
121
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: UiDateTimeComponent, selector: "bsu-ui-date-time", inputs: { GetCaption: "GetCaption" }, providers: [
|
|
122
|
-
{
|
|
123
|
-
provide: DateService,
|
|
124
|
-
useFactory: getDateService,
|
|
125
|
-
deps: [LogService]
|
|
126
|
-
}
|
|
127
|
-
], viewQueries: [{ propertyName: "datetimePickerRef", first: true, predicate: ["datetimePicker"], descendants: true }, { propertyName: "datePickerRef", first: true, predicate: ["datePicker"], descendants: true }, { propertyName: "durationPickerRef", first: true, predicate: ["durationPicker"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@if ((readonly$ | async) === true) {\n<input fd-form-control type=\"text\" [attr.readonly]=\"true\" [value]=\"value ? valueCaption : ''\" />}@else if((disable$ |\nasync) === true){\n<fd-input-group\n glyph=\"calendar\"\n glyphAriaLabel=\"calendar\"\n placement=\"after\"\n [placeholder]=\"value ? valueCaption : parameters?.ButtonMenuMode === true ? parameters.Placeholder : formatPattern\"\n [disabled]=\"true\"\n>\n</fd-input-group>\n} @else {\n<div\n [style.display]=\"(disableOrReadonly$ | async)!! ? 'hidden' : 'block'\"\n [attr.dir]=\"Setting.IsLtr === true ? 'ltr' : 'rtl'\"\n>\n <bc-date-time-picker\n [value]=\"value\"\n [buttonMenuMode]=\"parameters?.ButtonMenuMode === true\"\n [showDate]=\"Setting.ShowDate1\"\n [showTime]=\"Setting.ShowTime1\"\n [placeholder]=\"parameters?.ButtonMenuMode === true ? parameters.Placeholder : formatPattern\"\n [primaryCalendarType]=\"Setting.CalendarType\"\n [formatPattern]=\"formatPattern\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n [isMobile]=\"isMobile\"\n [daterangeMode]=\"parameters?.DateRangeMode === true\"\n [inlineMode]=\"parameters?.InlineMode === true\"\n [readonly]=\"(readonly$ | async) === true ? true : false\"\n [disabled]=\"(disable$ | async) === true ? true : false\"\n (valueChange)=\"onDateChange2($event)\"\n (rangeChange)=\"onRangeChange($event)\"\n >\n </bc-date-time-picker>\n</div>\n}\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "component", type: i1.FormControlComponent, selector: "input[fd-form-control], textarea[fd-form-control]", inputs: ["state", "type", "class", "ariaLabel", "ariaLabelledBy"] }, { kind: "component", type: i2.InputGroupComponent, selector: "fd-input-group", inputs: ["placement", "required", "inline", "addOnText", "buttonFocusable", "type", "glyph", "glyphFont", "button", "isControl", "showFocus", "isExpanded", "glyphAriaLabel", "addonButtonAriaHidden", "iconTitle", "ariaLabelledBy", "ariaLabel"], outputs: ["addOnButtonClicked", "search"] }, { kind: "component", type: i3.DateTimePickerComponent, selector: "bc-date-time-picker", inputs: ["placeholder", "primaryCalendarType", "formatPattern", "value", "timeValue", "startRangeDate", "endRangeDate", "isRangePicker", "showTime", "showDate", "rtl", "deviceSize", "isMobile", "readonly", "disabled", "buttonMenuMode", "inlineMode", "daterangeMode"], outputs: ["rangeChange", "valueChange"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
128
|
-
}
|
|
129
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UiDateTimeComponent, decorators: [{
|
|
130
|
-
type: Component,
|
|
131
|
-
args: [{ selector: 'bsu-ui-date-time', providers: [
|
|
132
|
-
{
|
|
133
|
-
provide: DateService,
|
|
134
|
-
useFactory: getDateService,
|
|
135
|
-
deps: [LogService]
|
|
136
|
-
}
|
|
137
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if ((readonly$ | async) === true) {\n<input fd-form-control type=\"text\" [attr.readonly]=\"true\" [value]=\"value ? valueCaption : ''\" />}@else if((disable$ |\nasync) === true){\n<fd-input-group\n glyph=\"calendar\"\n glyphAriaLabel=\"calendar\"\n placement=\"after\"\n [placeholder]=\"value ? valueCaption : parameters?.ButtonMenuMode === true ? parameters.Placeholder : formatPattern\"\n [disabled]=\"true\"\n>\n</fd-input-group>\n} @else {\n<div\n [style.display]=\"(disableOrReadonly$ | async)!! ? 'hidden' : 'block'\"\n [attr.dir]=\"Setting.IsLtr === true ? 'ltr' : 'rtl'\"\n>\n <bc-date-time-picker\n [value]=\"value\"\n [buttonMenuMode]=\"parameters?.ButtonMenuMode === true\"\n [showDate]=\"Setting.ShowDate1\"\n [showTime]=\"Setting.ShowTime1\"\n [placeholder]=\"parameters?.ButtonMenuMode === true ? parameters.Placeholder : formatPattern\"\n [primaryCalendarType]=\"Setting.CalendarType\"\n [formatPattern]=\"formatPattern\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n [isMobile]=\"isMobile\"\n [daterangeMode]=\"parameters?.DateRangeMode === true\"\n [inlineMode]=\"parameters?.InlineMode === true\"\n [readonly]=\"(readonly$ | async) === true ? true : false\"\n [disabled]=\"(disable$ | async) === true ? true : false\"\n (valueChange)=\"onDateChange2($event)\"\n (rangeChange)=\"onRangeChange($event)\"\n >\n </bc-date-time-picker>\n</div>\n}\n", styles: [":host{display:block}\n"] }]
|
|
138
|
-
}], propDecorators: { datetimePickerRef: [{
|
|
139
|
-
type: ViewChild,
|
|
140
|
-
args: ['datetimePicker']
|
|
141
|
-
}], datePickerRef: [{
|
|
142
|
-
type: ViewChild,
|
|
143
|
-
args: ['datePicker']
|
|
144
|
-
}], durationPickerRef: [{
|
|
145
|
-
type: ViewChild,
|
|
146
|
-
args: ['durationPicker']
|
|
147
|
-
}], GetCaption: [{
|
|
148
|
-
type: Input
|
|
149
|
-
}] } });
|
|
150
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZGF0ZS10aW1lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL3VpLWRhdGUtdGltZS91aS1kYXRlLXRpbWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktZGF0ZS10aW1lL3VpLWRhdGUtdGltZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBc0IsS0FBSyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4SCxPQUFPLEVBRUgsUUFBUSxFQUNSLGtCQUFrQixFQUNsQixXQUFXLEVBQ1gsVUFBVSxFQUNWLGNBQWMsRUFDakIsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7O0FBZTlCLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxrQkFBa0I7SUFiM0Q7O1FBbUJJLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBa0hsQixvQkFBb0I7UUFDWCxlQUFVLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztLQUNqRDtJQWpIRyxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxhQUFhLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxtQkFBbUIsRUFBRSxDQUFDO1lBQ3pFLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzNHLElBQUksU0FBUyxFQUFFLENBQUM7Z0JBQ1osU0FBUyxDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLG1CQUFtQixFQUFF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LFVBQVUsQ0FBQzt5QkFDckI7cUJBQ0osbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07OEJBR2xCLGlCQUFpQjtzQkFBN0MsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBQ0YsYUFBYTtzQkFBckMsU0FBUzt1QkFBQyxZQUFZO2dCQUNNLGlCQUFpQjtzQkFBN0MsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBc0hsQixVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkluaXQsIElucHV0LCBWaWV3Q2hpbGQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gICAgTWV0YW9iamVjdERhdGFNb2RlbCxcbiAgICBCYXJzYUFwaSxcbiAgICBGaWVsZEJhc2VDb21wb25lbnQsXG4gICAgRGF0ZVNlcnZpY2UsXG4gICAgTG9nU2VydmljZSxcbiAgICBnZXREYXRlU2VydmljZVxufSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYnN1LXVpLWRhdGUtdGltZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3VpLWRhdGUtdGltZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdWktZGF0ZS10aW1lLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IERhdGVTZXJ2aWNlLFxuICAgICAgICAgICAgdXNlRmFjdG9yeTogZ2V0RGF0ZVNlcnZpY2UsXG4gICAgICAgICAgICBkZXBzOiBbTG9nU2VydmljZV1cbiAgICAgICAgfVxuICAgIF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVWlEYXRlVGltZUNvbXBvbmVudCBleHRlbmRzIEZpZWxkQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQFZpZXdDaGlsZCgnZGF0ZXRpbWVQaWNrZXInKSBkYXRldGltZVBpY2tlclJlZjogRWxlbWVudFJlZjtcbiAgICBAVmlld0NoaWxkKCdkYXRlUGlja2VyJykgZGF0ZVBpY2tlclJlZjogRWxlbWVudFJlZjtcbiAgICBAVmlld0NoaWxkKCdkdXJhdGlvblBpY2tlcicpIGR1cmF0aW9uUGlja2VyUmVmOiBFbGVtZW50UmVmO1xuICAgIGZ1bGxDYWxlbmRhcjogYm9vbGVhbjtcbiAgICB2YWx1ZTogRGF0ZTtcbiAgICB2YWx1ZUNhcHRpb24gPSAnJztcbiAgICBmb3JtYXRQYXR0ZXJuOiBzdHJpbmc7XG4gICAgcGFyYW1ldGVyczogVWlEYXRlVGltZVNldHRpbmc7XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIGlmICh0aGlzLnBhcmFtZXRlcnM/LkRhdGVSYW5nZU1vZGUgJiYgdGhpcy5wYXJhbWV0ZXJzPy5EYXRlUmFuZ2VPdGhlckZpZWxkKSB7XG4gICAgICAgICAgICBjb25zdCBmb3JtcGFuZWwgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZSh0aGlzLmNvbnRleHQsICdMYXlvdXRDb250cm9sLmNvbmZpZy5Gb3JtUGFuZWxVaScsIG51bGwpO1xuICAgICAgICAgICAgaWYgKGZvcm1wYW5lbCkge1xuICAgICAgICAgICAgICAgIGZvcm1wYW5lbC5maXJlRXZlbnQoJ0NoYW5nZUZpZWxkVmlzaWJsZScsIHRoaXMucGFyYW1ldGVycy5EYXRlUmFuZ2VPdGhlckZpZWxkLCBmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnZhbHVlID09PSAnc3RyaW5nJyAmJiB0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5jb250ZXh0LnZhbHVlID0gbmV3IERhdGUodGhpcy52YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5mdWxsQ2FsZW5kYXIgPSB0aGlzLlNldHRpbmcuU2hvd1RpbWUxICYmIHRoaXMuU2V0dGluZy5TaG93RGF0ZTE7XG4gICAgICAgIHRoaXMuX3NldFRpbWVGb3JtYXQoKTtcbiAgICAgICAgLy8gdGhpcy52YWx1ZSQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgLy8gICB0aGlzLnZhbHVlID0gPERhdGU+dmFsdWU7XG5cbiAgICAgICAgLy8gICAvLyB0aGlzLl9zZXRWYWx1ZUNhcHRpb24odmFsdWUpO1xuICAgICAgICAvLyB9KTtcbiAgICAgICAgLy8gLy8gdGhpcy5fc2V0VmFsdWVDYXB0aW9uKHRoaXMudmFsdWUpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XG4gICAgICAgIHRoaXMuX3NldENhcHRpb24odGhpcy52YWx1ZSk7XG4gICAgfVxuICAgIG9uRGF0ZVRpbWVDaGFuZ2UoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGRhdGV0aW1lUGlja2VyQ29udHJvbCA9IHRoaXMuZGF0ZXRpbWVQaWNrZXJSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgdGhpcy52YWx1ZSA9IGRhdGV0aW1lUGlja2VyQ29udHJvbC5kYXRlVmFsdWU7XG4gICAgICAgIHRoaXMudmFsdWVDYXB0aW9uID0gZGF0ZXRpbWVQaWNrZXJDb250cm9sLnZhbHVlO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gICAgfVxuICAgIG9uRGF0ZUNoYW5nZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZGF0ZVBpY2tlckNvbnRyb2wgPSB0aGlzLmRhdGVQaWNrZXJSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgdGhpcy5fdmFsdWVEYXRlQ2hhbmdlKGRhdGVQaWNrZXJDb250cm9sLmRhdGVWYWx1ZSk7XG4gICAgfVxuICAgIG9uRGF0ZUNoYW5nZTIoZGF0ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLl92YWx1ZURhdGVDaGFuZ2UoZGF0ZSk7XG4gICAgfVxuXG4gICAgb25EdXJhdGlvbkNoYW5nZShlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IGUuZGV0YWlsO1xuICAgICAgICBpZiAoIXRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBuZXcgRGF0ZSgpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHRpbWUgPSB2YWx1ZS5zcGxpdCgnOicpO1xuICAgICAgICB0aGlzLnZhbHVlLnNldEhvdXJzKE51bWJlcih0aW1lWzBdKSwgTnVtYmVyKHRpbWVbMV0pLCBOdW1iZXIodGltZVsyXSkpO1xuICAgICAgICB0aGlzLnZhbHVlQ2FwdGlvbiA9IHRoaXMuZHVyYXRpb25QaWNrZXJSZWYubmF0aXZlRWxlbWVudC52YWx1ZTtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICAgIH1cbiAgICBvblJhbmdlQ2hhbmdlKHJhbmdlVmFsdWU6IHsgc3RhcnREYXk6IERhdGU7IGVuZERheTogRGF0ZSB9KTogdm9pZCB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdlbmREYXRlJywgcmFuZ2VWYWx1ZSk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfc2V0VGltZUZvcm1hdCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdGltZUZvcm1hdDogc3RyaW5nID0gdGhpcy5TZXR0aW5nLlRpbWVGb3JtYXQ/LnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGxldCB0aW1lRm9ybWF0MiA9ICcnO1xuICAgICAgICBpZiAodGltZUZvcm1hdCkge1xuICAgICAgICAgICAgdGltZUZvcm1hdDIgPSAnICc7XG4gICAgICAgICAgICB0aW1lRm9ybWF0LnNwbGl0KCc6JykuZm9yRWFjaCgodmFsKSA9PiB7XG4gICAgICAgICAgICAgICAgc3dpdGNoICh2YWwpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnaCc6XG4gICAgICAgICAgICAgICAgICAgICAgICB0aW1lRm9ybWF0MiArPSAnSEgnO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2knOlxuICAgICAgICAgICAgICAgICAgICAgICAgdGltZUZvcm1hdDIgKz0gJzptbSc7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAncyc6XG4gICAgICAgICAgICAgICAgICAgICAgICB0aW1lRm9ybWF0MiArPSAnOlNTJztcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGRhdGVGb3JtYXQgPSAhdGhpcy5TZXR0aW5nLlNob3dEYXRlMSA/ICcnIDogJ1lZWVkvTU0vREQnO1xuICAgICAgICBjb25zdCB0aW1lRm9ybWF0MyA9ICF0aGlzLlNldHRpbmcuU2hvd1RpbWUxID8gJycgOiB0aW1lRm9ybWF0MjtcblxuICAgICAgICAvLyB0aW1lRm9ybWF0MiArPSAnIEEnO1xuICAgICAgICB0aGlzLmZvcm1hdFBhdHRlcm4gPSBgJHtkYXRlRm9ybWF0fSR7dGltZUZvcm1hdDN9YDtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9jb25maWdDaGFuZWQob3B0aW9ucyk6IHZvaWQge1xuICAgICAgICAvLyBpbXBsZW1lbnRlZCBieSBjaGlsZCBjb21wb25lbnRzXG4gICAgICAgIHRoaXMuX3NldFRpbWVGb3JtYXQoKTtcblxuICAgICAgICBjb25zdCB0ZW1wID0gdGhpcy52YWx1ZTtcbiAgICAgICAgaWYgKCF0aGlzLlNldHRpbmcuU2hvd1RpbWUxKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHRlbXAgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgdGVtcC5zZXRIb3VycygwKTtcbiAgICAgICAgICAgICAgICB0ZW1wLnNldE1pbnV0ZXMoMCk7XG4gICAgICAgICAgICAgICAgdGVtcC5zZXRTZWNvbmRzKDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlb2YgdGVtcCA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgIHRoaXMuX3ZhbHVlRGF0ZUNoYW5nZShuZXcgRGF0ZSh0ZW1wKSk7XG4gICAgICAgIH1cbiAgICAgICAgc3VwZXIuX2NvbmZpZ0NoYW5lZChvcHRpb25zKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9zZXRWYWx1ZSh2YWx1ZTogRGF0ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zZXRDYXB0aW9uKHZhbHVlKTtcbiAgICAgICAgc3VwZXIuX3NldFZhbHVlKHZhbHVlKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfdmFsdWVEYXRlQ2hhbmdlKGRhdGVWYWx1ZTogRGF0ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbHVlID0gZGF0ZVZhbHVlO1xuICAgICAgICB0aGlzLnZhbHVlQ2FwdGlvbiA9IHRoaXMuX3NldENhcHRpb24oZGF0ZVZhbHVlKTsgLy8gZGF0ZVBpY2tlckNvbnRyb2wudmFsdWU7XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfc2V0Q2FwdGlvbih2YWx1ZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGNhcHRpb24gPVxuICAgICAgICAgICAgKHRoaXMuY29udGV4dC5jYXB0aW9uID1cbiAgICAgICAgICAgIHRoaXMudmFsdWVDYXB0aW9uID1cbiAgICAgICAgICAgICAgICB0aGlzLl9kYXRlU2VydmljZS5mb3JtYXQodmFsdWUsIHRoaXMuZm9ybWF0UGF0dGVybikpO1xuICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICByZXR1cm4gY2FwdGlvbjtcbiAgICB9XG4gICAgLyogZXNsaW50LWRpc2FibGUgKi9cbiAgICBASW5wdXQoKSBHZXRDYXB0aW9uID0gKCkgPT4gdGhpcy52YWx1ZUNhcHRpb247XG59XG5pbnRlcmZhY2UgVWlEYXRlVGltZVNldHRpbmcgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcbiAgICBCdXR0b25NZW51TW9kZTogYm9vbGVhbjtcbiAgICBQbGFjZWhvbGRlcjogc3RyaW5nO1xuICAgIElubGluZU1vZGU6IGJvb2xlYW47XG4gICAgRGF0ZVJhbmdlTW9kZTogYm9vbGVhbjtcbiAgICBEYXRlUmFuZ2VPdGhlckZpZWxkOiBzdHJpbmc7XG59XG4iLCJAaWYgKChyZWFkb25seSQgfCBhc3luYykgPT09IHRydWUpIHtcbjxpbnB1dCBmZC1mb3JtLWNvbnRyb2wgdHlwZT1cInRleHRcIiBbYXR0ci5yZWFkb25seV09XCJ0cnVlXCIgW3ZhbHVlXT1cInZhbHVlID8gdmFsdWVDYXB0aW9uIDogJydcIiAvPn1AZWxzZSBpZigoZGlzYWJsZSQgfFxuYXN5bmMpID09PSB0cnVlKXtcbjxmZC1pbnB1dC1ncm91cFxuICAgIGdseXBoPVwiY2FsZW5kYXJcIlxuICAgIGdseXBoQXJpYUxhYmVsPVwiY2FsZW5kYXJcIlxuICAgIHBsYWNlbWVudD1cImFmdGVyXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwidmFsdWUgPyB2YWx1ZUNhcHRpb24gOiBwYXJhbWV0ZXJzPy5CdXR0b25NZW51TW9kZSA9PT0gdHJ1ZSA/IHBhcmFtZXRlcnMuUGxhY2Vob2xkZXIgOiBmb3JtYXRQYXR0ZXJuXCJcbiAgICBbZGlzYWJsZWRdPVwidHJ1ZVwiXG4+XG48L2ZkLWlucHV0LWdyb3VwPlxufSBAZWxzZSB7XG48ZGl2XG4gICAgW3N0eWxlLmRpc3BsYXldPVwiKGRpc2FibGVPclJlYWRvbmx5JCB8IGFzeW5jKSEhID8gJ2hpZGRlbicgOiAnYmxvY2snXCJcbiAgICBbYXR0ci5kaXJdPVwiU2V0dGluZy5Jc0x0ciA9PT0gdHJ1ZSA/ICdsdHInIDogJ3J0bCdcIlxuPlxuICAgIDxiYy1kYXRlLXRpbWUtcGlja2VyXG4gICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAgIFtidXR0b25NZW51TW9kZV09XCJwYXJhbWV0ZXJzPy5CdXR0b25NZW51TW9kZSA9PT0gdHJ1ZVwiXG4gICAgICAgIFtzaG93RGF0ZV09XCJTZXR0aW5nLlNob3dEYXRlMVwiXG4gICAgICAgIFtzaG93VGltZV09XCJTZXR0aW5nLlNob3dUaW1lMVwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJwYXJhbWV0ZXJzPy5CdXR0b25NZW51TW9kZSA9PT0gdHJ1ZSA/IHBhcmFtZXRlcnMuUGxhY2Vob2xkZXIgOiBmb3JtYXRQYXR0ZXJuXCJcbiAgICAgICAgW3ByaW1hcnlDYWxlbmRhclR5cGVdPVwiU2V0dGluZy5DYWxlbmRhclR5cGVcIlxuICAgICAgICBbZm9ybWF0UGF0dGVybl09XCJmb3JtYXRQYXR0ZXJuXCJcbiAgICAgICAgW2RldmljZVNpemVdPVwiKGRldmljZVNpemUkIHwgYXN5bmMpISFcIlxuICAgICAgICBbaXNNb2JpbGVdPVwiaXNNb2JpbGVcIlxuICAgICAgICBbZGF0ZXJhbmdlTW9kZV09XCJwYXJhbWV0ZXJzPy5EYXRlUmFuZ2VNb2RlID09PSB0cnVlXCJcbiAgICAgICAgW2lubGluZU1vZGVdPVwicGFyYW1ldGVycz8uSW5saW5lTW9kZSA9PT0gdHJ1ZVwiXG4gICAgICAgIFtyZWFkb25seV09XCIocmVhZG9ubHkkIHwgYXN5bmMpID09PSB0cnVlID8gdHJ1ZSA6IGZhbHNlXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIihkaXNhYmxlJCB8IGFzeW5jKSA9PT0gdHJ1ZSA/IHRydWUgOiBmYWxzZVwiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvbkRhdGVDaGFuZ2UyKCRldmVudClcIlxuICAgICAgICAocmFuZ2VDaGFuZ2UpPVwib25SYW5nZUNoYW5nZSgkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9iYy1kYXRlLXRpbWUtcGlja2VyPlxuPC9kaXY+XG59XG4iXX0=
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
-
import { map, takeUntil, tap } from 'rxjs/operators';
|
|
3
|
-
import { createGridEditorFormPanel, FormPanelService } from 'barsa-novin-ray-core';
|
|
4
|
-
import { SapUiReportBaseComponent } from '../sap-ui-report-base.component';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/common";
|
|
7
|
-
import * as i2 from "@fundamental-ngx/core/button";
|
|
8
|
-
import * as i3 from "@fundamental-ngx/core/menu";
|
|
9
|
-
import * as i4 from "@fundamental-ngx/core/split-button";
|
|
10
|
-
import * as i5 from "@fundamental-ngx/core/toolbar";
|
|
11
|
-
import * as i6 from "../ulv-toolbar/ulv-toolbar.component";
|
|
12
|
-
import * as i7 from "../ui-matrix-view/ui-matrix-view.component";
|
|
13
|
-
import * as i8 from "barsa-novin-ray-core";
|
|
14
|
-
export class UiEditableGridComponent extends SapUiReportBaseComponent {
|
|
15
|
-
constructor() {
|
|
16
|
-
super(...arguments);
|
|
17
|
-
this.cellWidth = 100;
|
|
18
|
-
this.cellHeight = 38;
|
|
19
|
-
this.verticalLabelWidth = 100;
|
|
20
|
-
this.minWidth = 100;
|
|
21
|
-
this.minHeight = 22;
|
|
22
|
-
this.enableResizing = true;
|
|
23
|
-
this.rowResizer = true;
|
|
24
|
-
this.widthTypeEnum = WidthTypeEnum;
|
|
25
|
-
this.fitWidth = true;
|
|
26
|
-
}
|
|
27
|
-
ngOnInit() {
|
|
28
|
-
super.ngOnInit();
|
|
29
|
-
this.valueDbName = this.context.Setting.View.ValueDbName;
|
|
30
|
-
this.valueType = this.context.valueFieldType;
|
|
31
|
-
const formSetting = this.context.Setting.FormTemplate;
|
|
32
|
-
// this.formLayout = this.context.Setting.FormTemplate.View.ControlInfo;
|
|
33
|
-
this.horizontalRows = this.context.Setting.View.HorizontalColumn;
|
|
34
|
-
this.valueControlFieldCaption = this.context.Setting.FormTemplate.View.ControlInfo.find((col) => col.ControlName === this.valueDbName).ControlFieldCaption;
|
|
35
|
-
// there is different between ulv modatalist and viewer datalist. in matrixviewer adapter modatalist transformed.
|
|
36
|
-
// so we need tell to ulvmainservice to update modatalist
|
|
37
|
-
this._ulvMainService.reSetMoDataList(this.context.moDataList);
|
|
38
|
-
this.matrixMoList$ = this.moDataList$.pipe(takeUntil(this._onDestroy$), map((moDataList) => this._matrixMoList(moDataList)));
|
|
39
|
-
if (!this.formPanelCtrlr) {
|
|
40
|
-
this.formPanelCtrlr = createGridEditorFormPanel(formSetting, formSetting.Data.Mo, this._typeDefId, null
|
|
41
|
-
// BarsaApi.Common.Util.TryGetValue(this.context.Setting, 'Extra.Relation')
|
|
42
|
-
);
|
|
43
|
-
const formPanelCtrlr = this.formPanelCtrlr;
|
|
44
|
-
this.formLayout = formPanelCtrlr.Setting.View.Layout94;
|
|
45
|
-
formPanelCtrlr.on({
|
|
46
|
-
ValueChange: this._cellValueChange.bind(this)
|
|
47
|
-
});
|
|
48
|
-
this.formPanelCtrlr.LoadAndCreate(null, false, false, () => {
|
|
49
|
-
const customFormPanelUi = formPanelCtrlr.Adapter.Control;
|
|
50
|
-
customFormPanelUi.Refresh = () => { };
|
|
51
|
-
this._formpanelService.context = formPanelCtrlr.Adapter.Control;
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
onSave() {
|
|
56
|
-
this.context.fireEvent('SaveBatchClicked', this.moDataList.filter((c) => c.$Modified).map((c) => ({ data: c, modified: c.$Modified })));
|
|
57
|
-
}
|
|
58
|
-
onSelectionChange(cellInfo) {
|
|
59
|
-
const { value, index } = cellInfo;
|
|
60
|
-
this.activeCell = index;
|
|
61
|
-
// const newMo = getNewMoGridEditor(this.context.Setting.FormTemplate, this._typeDefId);
|
|
62
|
-
// newMo[this.valueDbName] = value;
|
|
63
|
-
const controlUi = this.formPanelCtrlr.GetFieldlByName(this.valueDbName);
|
|
64
|
-
controlUi.SetValue(value);
|
|
65
|
-
}
|
|
66
|
-
onChangeView(isFit) {
|
|
67
|
-
this.fitWidth = isFit;
|
|
68
|
-
}
|
|
69
|
-
/* eslint-disable */
|
|
70
|
-
_select(mo, index) {
|
|
71
|
-
return mo;
|
|
72
|
-
}
|
|
73
|
-
_matrixMoList(moDataList) {
|
|
74
|
-
moDataList.forEach((mo) => {
|
|
75
|
-
this.horizontalRows.forEach((col) => {
|
|
76
|
-
if (mo[col.Caption] === undefined) {
|
|
77
|
-
mo[col.Caption] = null;
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
});
|
|
81
|
-
return moDataList;
|
|
82
|
-
}
|
|
83
|
-
_cellValueChange(sender) {
|
|
84
|
-
const indexI = this.activeCell.i;
|
|
85
|
-
const indexJ = this.activeCell.j;
|
|
86
|
-
this.moDataList$
|
|
87
|
-
.pipe(takeUntil(this._onDestroy$), tap((moDataList) => {
|
|
88
|
-
moDataList[indexI][this.horizontalRows[indexJ].Caption] = sender.Mo[this.valueDbName];
|
|
89
|
-
if (moDataList[indexI].$Modified) {
|
|
90
|
-
moDataList[indexI].$Modified[this.horizontalRows[indexJ].Caption] = 1;
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
moDataList[indexI].$Modified = { [this.horizontalRows[indexJ].Caption]: 1 };
|
|
94
|
-
}
|
|
95
|
-
}))
|
|
96
|
-
.subscribe();
|
|
97
|
-
}
|
|
98
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UiEditableGridComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
99
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: UiEditableGridComponent, selector: "bsu-ui-editable-grid", providers: [FormPanelService], usesInheritance: true, ngImport: i0, template: "<ng-container\n *ngTemplateOutlet=\"\n matrixTemplate;\n context: {\n moDataList: matrixMoList$ | async,\n columns: horizontalRows,\n conditionalFormats: conditionalFormats$ | async,\n deviceName: deviceName$ | async,\n deviceSize: deviceSize$ | async,\n title: title$ | async,\n inlineEditMode: inlineEditMode$ | async,\n allowInlineEdit: allowInlineEdit$ | async,\n hideToolbar: hideToolbar$ | async,\n contentDensity: contentDensity$ | async,\n activeCell: activeCell,\n valueControlFieldCaption: valueControlFieldCaption,\n valueType: valueType,\n formSetting: context.Setting.FormTemplate,\n matrixWidthType: matrixWidthType,\n cellWidth: cellWidth,\n verticalLabelWidth: verticalLabelWidth,\n fitWidth: fitWidth,\n access: context.Setting.Extra?.DefaultCommandsAccess,\n hasSelected: hasSelected$ | async,\n containerWidth: containerWidth$ | async,\n formLayout: formLayout\n }\n \"\n></ng-container>\n\n<ng-template\n #matrixTemplate\n let-moDataList=\"moDataList\"\n let-deviceName=\"deviceName\"\n let-deviceSize=\"deviceSize\"\n let-title=\"title\"\n let-inlineEditMode=\"inlineEditMode\"\n let-allowInlineEdit=\"allowInlineEdit\"\n let-hideToolbar=\"hideToolbar\"\n let-contentDensity=\"contentDensity\"\n let-columns=\"columns\"\n let-conditionalFormats=\"conditionalFormats\"\n let-activeCell=\"activeCell\"\n let-valueControlFieldCaption=\"valueControlFieldCaption\"\n let-valueType=\"valueType\"\n let-formSetting=\"formSetting\"\n let-matrixWidthType=\"matrixWidthType\"\n let-cellWidth=\"cellWidth\"\n let-verticalLabelWidth=\"verticalLabelWidth\"\n let-fitWidth=\"fitWidth\"\n let-access=\"access\"\n let-hasSelected=\"hasSelected\"\n let-containerWidth=\"containterWidth\"\n let-formLayout=\"formLayout\"\n>\n <bsu-ulv-toolbar\n [hideToolbar]=\"hideToolbar\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [title]=\"title\"\n [hasSelected]=\"hasSelected\"\n [access]=\"access\"\n [contentDensity]=\"contentDensity\"\n [inlineEditMode]=\"inlineEditMode\"\n [allowInlineEdit]=\"allowInlineEdit\"\n [moDataListCount]=\"moDataList.length\"\n (sortClick)=\"onSortSettings(deviceName)\"\n (editModeClick)=\"onEditMode()\"\n >\n <button\n fd-toolbar-item\n fd-button\n [fdType]=\"'emphasized'\"\n [label]=\"'Save' | bbbTranslate\"\n [glyph]=\"'save'\"\n (click)=\"onSave()\"\n ></button>\n <fd-split-button\n fd-toolbar-item\n [mainAction]=\"{\n keepMainAction: true,\n mainActionTitle: splitBtnTitle\n }\"\n >\n <fd-menu>\n <li fd-menu-item>\n <div fd-menu-interactive (click)=\"onChangeView(true)\">\n <span fd-menu-title>\n {{ widthTypeEnum.FitWidth }}\n </span>\n </div>\n </li>\n <li fd-menu-item>\n <div fd-menu-interactive (click)=\"onChangeView(false)\">\n <span fd-menu-title>\n {{ widthTypeEnum.StaticWidth }}\n </span>\n </div>\n </li>\n </fd-menu>\n </fd-split-button>\n\n <ng-template #splitBtnTitle>\n <span>{{ fitWidth ? widthTypeEnum.FitWidth : widthTypeEnum.StaticWidth }}</span>\n </ng-template>\n </bsu-ulv-toolbar>\n <bsu-ui-matrix-view\n [moDataList]=\"moDataList\"\n [columns]=\"columns\"\n [conditionalFormats]=\"conditionalFormats\"\n [activeCell]=\"activeCell\"\n [valueControlFieldCaption]=\"valueControlFieldCaption\"\n [valueType]=\"valueType\"\n [access]=\"access\"\n [formLayout]=\"formLayout\"\n [matrixWidthType]=\"matrixWidthType\"\n [cellWidth]=\"cellWidth\"\n [cellHeight]=\"cellHeight\"\n [verticalLabelWidth]=\"verticalLabelWidth\"\n [fitWidth]=\"fitWidth\"\n [minWidth]=\"minWidth\"\n [minHeight]=\"minHeight\"\n [rowResizer]=\"rowResizer\"\n [enableResizing]=\"enableResizing\"\n [containerWidth]=\"containerWidth\"\n (selectionChange)=\"onSelectionChange($event)\"\n ></bsu-ui-matrix-view>\n</ng-template>\n", styles: [":host{display:flex;width:100%;height:100%;flex-direction:column}.fd-table__row th.fd-table__cell{background-color:var(--sapList_HeaderBackground, #f2f2f2);color:var(--sapList_HeaderTextColor, #32363a)}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i3.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "focusAutoCapture", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "component", type: i3.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu", "parentSubmenu", "hasSeparator"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "component", type: i3.MenuInteractiveComponent, selector: "[fd-menu-interactive]" }, { kind: "directive", type: i3.MenuTitleDirective, selector: "[fd-menu-title]" }, { kind: "component", type: i4.SplitButtonComponent, selector: "fd-split-button", inputs: ["glyph", "glyphFont", "disabled", "fdType", "expandButtonTitle", "selected", "fixedWidth", "mainAction", "arialLabel"], outputs: ["primaryButtonClicked"] }, { kind: "directive", type: i5.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "component", type: i6.UlvToolbarComponent, selector: "bsu-ulv-toolbar", inputs: ["allowGridColumnSort", "useLayoutItemTextForControl", "enableSearch", "hideTitle", "title", "icon", "deviceName", "deviceSize", "access", "hideToolbar", "toolbarButtons", "contentDensity", "inlineEditMode", "allowInlineEdit", "gridSetting", "viewCollection", "reportView", "inDialog", "isMultiSelect", "cls", "hasSelected", "config", "hidden", "buttons", "moDataListCount"], outputs: ["search", "groupbyClick", "sortClick", "columnClick", "editModeClick", "viewClick", "createNewInlineMo"] }, { kind: "component", type: i7.UiMatrixViewComponent, selector: "bsu-ui-matrix-view", inputs: ["deviceSize", "deviceName", "moDataList", "columns", "formLayout", "conditionalFormat", "activeCell", "valueControlFieldCaption", "formTemplate", "valueType", "cellWidth", "cellHeight", "verticalLabelWidth", "fitWidth", "minWidth", "minHeight", "rowResizer", "enableResizing"], outputs: ["selectionChange"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
100
|
-
}
|
|
101
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UiEditableGridComponent, decorators: [{
|
|
102
|
-
type: Component,
|
|
103
|
-
args: [{ selector: 'bsu-ui-editable-grid', changeDetection: ChangeDetectionStrategy.OnPush, providers: [FormPanelService], template: "<ng-container\n *ngTemplateOutlet=\"\n matrixTemplate;\n context: {\n moDataList: matrixMoList$ | async,\n columns: horizontalRows,\n conditionalFormats: conditionalFormats$ | async,\n deviceName: deviceName$ | async,\n deviceSize: deviceSize$ | async,\n title: title$ | async,\n inlineEditMode: inlineEditMode$ | async,\n allowInlineEdit: allowInlineEdit$ | async,\n hideToolbar: hideToolbar$ | async,\n contentDensity: contentDensity$ | async,\n activeCell: activeCell,\n valueControlFieldCaption: valueControlFieldCaption,\n valueType: valueType,\n formSetting: context.Setting.FormTemplate,\n matrixWidthType: matrixWidthType,\n cellWidth: cellWidth,\n verticalLabelWidth: verticalLabelWidth,\n fitWidth: fitWidth,\n access: context.Setting.Extra?.DefaultCommandsAccess,\n hasSelected: hasSelected$ | async,\n containerWidth: containerWidth$ | async,\n formLayout: formLayout\n }\n \"\n></ng-container>\n\n<ng-template\n #matrixTemplate\n let-moDataList=\"moDataList\"\n let-deviceName=\"deviceName\"\n let-deviceSize=\"deviceSize\"\n let-title=\"title\"\n let-inlineEditMode=\"inlineEditMode\"\n let-allowInlineEdit=\"allowInlineEdit\"\n let-hideToolbar=\"hideToolbar\"\n let-contentDensity=\"contentDensity\"\n let-columns=\"columns\"\n let-conditionalFormats=\"conditionalFormats\"\n let-activeCell=\"activeCell\"\n let-valueControlFieldCaption=\"valueControlFieldCaption\"\n let-valueType=\"valueType\"\n let-formSetting=\"formSetting\"\n let-matrixWidthType=\"matrixWidthType\"\n let-cellWidth=\"cellWidth\"\n let-verticalLabelWidth=\"verticalLabelWidth\"\n let-fitWidth=\"fitWidth\"\n let-access=\"access\"\n let-hasSelected=\"hasSelected\"\n let-containerWidth=\"containterWidth\"\n let-formLayout=\"formLayout\"\n>\n <bsu-ulv-toolbar\n [hideToolbar]=\"hideToolbar\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [title]=\"title\"\n [hasSelected]=\"hasSelected\"\n [access]=\"access\"\n [contentDensity]=\"contentDensity\"\n [inlineEditMode]=\"inlineEditMode\"\n [allowInlineEdit]=\"allowInlineEdit\"\n [moDataListCount]=\"moDataList.length\"\n (sortClick)=\"onSortSettings(deviceName)\"\n (editModeClick)=\"onEditMode()\"\n >\n <button\n fd-toolbar-item\n fd-button\n [fdType]=\"'emphasized'\"\n [label]=\"'Save' | bbbTranslate\"\n [glyph]=\"'save'\"\n (click)=\"onSave()\"\n ></button>\n <fd-split-button\n fd-toolbar-item\n [mainAction]=\"{\n keepMainAction: true,\n mainActionTitle: splitBtnTitle\n }\"\n >\n <fd-menu>\n <li fd-menu-item>\n <div fd-menu-interactive (click)=\"onChangeView(true)\">\n <span fd-menu-title>\n {{ widthTypeEnum.FitWidth }}\n </span>\n </div>\n </li>\n <li fd-menu-item>\n <div fd-menu-interactive (click)=\"onChangeView(false)\">\n <span fd-menu-title>\n {{ widthTypeEnum.StaticWidth }}\n </span>\n </div>\n </li>\n </fd-menu>\n </fd-split-button>\n\n <ng-template #splitBtnTitle>\n <span>{{ fitWidth ? widthTypeEnum.FitWidth : widthTypeEnum.StaticWidth }}</span>\n </ng-template>\n </bsu-ulv-toolbar>\n <bsu-ui-matrix-view\n [moDataList]=\"moDataList\"\n [columns]=\"columns\"\n [conditionalFormats]=\"conditionalFormats\"\n [activeCell]=\"activeCell\"\n [valueControlFieldCaption]=\"valueControlFieldCaption\"\n [valueType]=\"valueType\"\n [access]=\"access\"\n [formLayout]=\"formLayout\"\n [matrixWidthType]=\"matrixWidthType\"\n [cellWidth]=\"cellWidth\"\n [cellHeight]=\"cellHeight\"\n [verticalLabelWidth]=\"verticalLabelWidth\"\n [fitWidth]=\"fitWidth\"\n [minWidth]=\"minWidth\"\n [minHeight]=\"minHeight\"\n [rowResizer]=\"rowResizer\"\n [enableResizing]=\"enableResizing\"\n [containerWidth]=\"containerWidth\"\n (selectionChange)=\"onSelectionChange($event)\"\n ></bsu-ui-matrix-view>\n</ng-template>\n", styles: [":host{display:flex;width:100%;height:100%;flex-direction:column}.fd-table__row th.fd-table__cell{background-color:var(--sapList_HeaderBackground, #f2f2f2);color:var(--sapList_HeaderTextColor, #32363a)}\n"] }]
|
|
104
|
-
}] });
|
|
105
|
-
export var WidthTypeEnum;
|
|
106
|
-
(function (WidthTypeEnum) {
|
|
107
|
-
WidthTypeEnum["FitWidth"] = "\u0633\u062A\u0648\u0646 \u0647\u0627\u06CC \u0647\u0645 \u0639\u0631\u0636";
|
|
108
|
-
WidthTypeEnum["StaticWidth"] = "\u0633\u062A\u0648\u0646 \u0647\u0627\u06CC \u0628\u0627 \u0639\u0631\u0636 \u062F\u0644\u062E\u0648\u0627\u0647";
|
|
109
|
-
})(WidthTypeEnum || (WidthTypeEnum = {}));
|
|
110
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZWRpdGFibGUtZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi91aS1lZGl0YWJsZS1ncmlkL3VpLWVkaXRhYmxlLWdyaWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktZWRpdGFibGUtZ3JpZC91aS1lZGl0YWJsZS1ncmlkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJELE9BQU8sRUFDSCx5QkFBeUIsRUFDekIsZ0JBQWdCLEVBSW5CLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7Ozs7Ozs7QUFVM0UsTUFBTSxPQUFPLHVCQUNULFNBQVEsd0JBQWlEO0lBUjdEOztRQWtCSSxjQUFTLEdBQUcsR0FBRyxDQUFDO1FBQ2hCLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsdUJBQWtCLEdBQUcsR0FBRyxDQUFDO1FBQ3pCLGFBQVEsR0FBRyxHQUFHLENBQUM7UUFDZixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2YsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFDdEIsZUFBVSxHQUFHLElBQUksQ0FBQztRQUNsQixrQkFBYSxHQUFHLGFBQWEsQ0FBQztRQUM5QixhQUFRLEdBQUcsSUFBSSxDQUFDO0tBNkZuQjtJQTFGRyxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENB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LFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDL0IsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMxRSxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNoRixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQ0w7YUFDQSxTQUFTLEVBQUUsQ0FBQztJQUNyQixDQUFDOzhHQS9HUSx1QkFBdUI7a0dBQXZCLHVCQUF1QiwrQ0FGckIsQ0FBQyxnQkFBZ0IsQ0FBQyxpRENsQmpDLG1vSkFnSUE7OzJGRDVHYSx1QkFBdUI7a0JBUG5DLFNBQVM7K0JBQ0ksc0JBQXNCLG1CQUdmLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxnQkFBZ0IsQ0FBQzs7QUFtSGpDLE1BQU0sQ0FBTixJQUFZLGFBR1g7QUFIRCxXQUFZLGFBQWE7SUFDckIseUdBQTRCLENBQUE7SUFDNUIsaUpBQXNDLENBQUE7QUFDMUMsQ0FBQyxFQUhXLGFBQWEsS0FBYixhQUFhLFFBR3hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgbWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7XHJcbiAgICBjcmVhdGVHcmlkRWRpdG9yRm9ybVBhbmVsLFxyXG4gICAgRm9ybVBhbmVsU2VydmljZSxcclxuICAgIExheW91dFNldHRpbmcsXHJcbiAgICBNZXRhb2JqZWN0RGF0YU1vZGVsLFxyXG4gICAgVWlSZXBvcnRWaWV3QmFzZVNldHRpbmdcclxufSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcbmltcG9ydCB7IFNhcFVpUmVwb3J0QmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL3NhcC11aS1yZXBvcnQtYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnN1LXVpLWVkaXRhYmxlLWdyaWQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3VpLWVkaXRhYmxlLWdyaWQuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vdWktZWRpdGFibGUtZ3JpZC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBwcm92aWRlcnM6IFtGb3JtUGFuZWxTZXJ2aWNlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVWlFZGl0YWJsZUdyaWRDb21wb25lbnRcclxuICAgIGV4dGVuZHMgU2FwVWlSZXBvcnRCYXNlQ29tcG9uZW50PFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nPlxyXG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveVxyXG57XHJcbiAgICB2YWx1ZUNvbnRyb2xGaWVsZENhcHRpb247XHJcbiAgICB2YWx1ZURiTmFtZTtcclxuICAgIGhvcml6b250YWxSb3dzOiBhbnlbXTtcclxuICAgIGFjdGl2ZUNlbGw7XHJcbiAgICB2YWx1ZVR5cGU7XHJcbiAgICBmb3JtTGF5b3V0OiBMYXlvdXRTZXR0aW5nO1xyXG4gICAgbWF0cml4V2lkdGhUeXBlO1xyXG4gICAgY2VsbFdpZHRoID0gMTAwO1xyXG4gICAgY2VsbEhlaWdodCA9IDM4O1xyXG4gICAgdmVydGljYWxMYWJlbFdpZHRoID0gMTAwO1xyXG4gICAgbWluV2lkdGggPSAxMDA7XHJcbiAgICBtaW5IZWlnaHQgPSAyMjtcclxuICAgIGVuYWJsZVJlc2l6aW5nID0gdHJ1ZTtcclxuICAgIHJvd1Jlc2l6ZXIgPSB0cnVlO1xyXG4gICAgd2lkdGhUeXBlRW51bSA9IFdpZHRoVHlwZUVudW07XHJcbiAgICBmaXRXaWR0aCA9IHRydWU7XHJcbiAgICBtYXRyaXhNb0xpc3QkOiBPYnNlcnZhYmxlPE1ldGFvYmplY3REYXRhTW9kZWxbXT47XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICB0aGlzLnZhbHVlRGJOYW1lID0gdGhpcy5jb250ZXh0LlNldHRpbmcuVmlldy5WYWx1ZURiTmFtZTtcclxuICAgICAgICB0aGlzLnZhbHVlVHlwZSA9IHRoaXMuY29udGV4dC52YWx1ZUZpZWxkVHlwZTtcclxuICAgICAgICBjb25zdCBmb3JtU2V0dGluZyA9IHRoaXMuY29udGV4dC5TZXR0aW5nLkZvcm1UZW1wbGF0ZTtcclxuICAgICAgICAvLyB0aGlzLmZvcm1MYXlvdXQgPSB0aGlzLmNvbnRleHQuU2V0dGluZy5Gb3JtVGVtcGxhdGUuVmlldy5Db250cm9sSW5mbztcclxuICAgICAgICB0aGlzLmhvcml6b250YWxSb3dzID0gdGhpcy5jb250ZXh0LlNldHRpbmcuVmlldy5Ib3Jpem9udGFsQ29sdW1uO1xyXG4gICAgICAgIHRoaXMudmFsdWVDb250cm9sRmllbGRDYXB0aW9uID0gdGhpcy5jb250ZXh0LlNldHRpbmcuRm9ybVRlbXBsYXRlLlZpZXcuQ29udHJvbEluZm8uZmluZChcclxuICAgICAgICAgICAgKGNvbCkgPT4gY29sLkNvbnRyb2xOYW1lID09PSB0aGlzLnZhbHVlRGJOYW1lXHJcbiAgICAgICAgKS5Db250cm9sRmllbGRDYXB0aW9uO1xyXG4gICAgICAgIC8vIHRoZXJlIGlzIGRpZmZlcmVudCBiZXR3ZWVuIHVsdiBtb2RhdGFsaXN0IGFuZCB2aWV3ZXIgZGF0YWxpc3QuIGluIG1hdHJpeHZpZXdlciBhZGFwdGVyIG1vZGF0YWxpc3QgdHJhbnNmb3JtZWQuXHJcbiAgICAgICAgLy8gc28gd2UgbmVlZCB0ZWxsIHRvIHVsdm1haW5zZXJ2aWNlIHRvIHVwZGF0ZSBtb2RhdGFsaXN0XHJcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UucmVTZXRNb0RhdGFMaXN0KHRoaXMuY29udGV4dC5tb0RhdGFMaXN0KTtcclxuXHJcbiAgICAgICAgdGhpcy5tYXRyaXhNb0xpc3QkID0gdGhpcy5tb0RhdGFMaXN0JC5waXBlKFxyXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCksXHJcbiAgICAgICAgICAgIG1hcCgobW9EYXRhTGlzdCkgPT4gdGhpcy5fbWF0cml4TW9MaXN0KG1vRGF0YUxpc3QpKVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5mb3JtUGFuZWxDdHJscikge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1QYW5lbEN0cmxyID0gY3JlYXRlR3JpZEVkaXRvckZvcm1QYW5lbChcclxuICAgICAgICAgICAgICAgIGZvcm1TZXR0aW5nLFxyXG4gICAgICAgICAgICAgICAgZm9ybVNldHRpbmcuRGF0YS5NbyxcclxuICAgICAgICAgICAgICAgIHRoaXMuX3R5cGVEZWZJZCxcclxuICAgICAgICAgICAgICAgIG51bGxcclxuICAgICAgICAgICAgICAgIC8vIEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKHRoaXMuY29udGV4dC5TZXR0aW5nLCAnRXh0cmEuUmVsYXRpb24nKVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBjb25zdCBmb3JtUGFuZWxDdHJsciA9IHRoaXMuZm9ybVBhbmVsQ3RybHI7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybUxheW91dCA9IGZvcm1QYW5lbEN0cmxyLlNldHRpbmcuVmlldy5MYXlvdXQ5NDtcclxuXHJcbiAgICAgICAgICAgIGZvcm1QYW5lbEN0cmxyLm9uKHtcclxuICAgICAgICAgICAgICAgIFZhbHVlQ2hhbmdlOiB0aGlzLl9jZWxsVmFsdWVDaGFuZ2UuYmluZCh0aGlzKVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgdGhpcy5mb3JtUGFuZWxDdHJsci5Mb2FkQW5kQ3JlYXRlKG51bGwsIGZhbHNlLCBmYWxzZSwgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY3VzdG9tRm9ybVBhbmVsVWkgPSBmb3JtUGFuZWxDdHJsci5BZGFwdGVyLkNvbnRyb2w7XHJcbiAgICAgICAgICAgICAgICBjdXN0b21Gb3JtUGFuZWxVaS5SZWZyZXNoID0gKCkgPT4ge307XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9mb3JtcGFuZWxTZXJ2aWNlLmNvbnRleHQgPSBmb3JtUGFuZWxDdHJsci5BZGFwdGVyLkNvbnRyb2w7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIG9uU2F2ZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNvbnRleHQuZmlyZUV2ZW50KFxyXG4gICAgICAgICAgICAnU2F2ZUJhdGNoQ2xpY2tlZCcsXHJcbiAgICAgICAgICAgIHRoaXMubW9EYXRhTGlzdC5maWx0ZXIoKGMpID0+IGMuJE1vZGlmaWVkKS5tYXAoKGMpID0+ICh7IGRhdGE6IGMsIG1vZGlmaWVkOiBjLiRNb2RpZmllZCB9KSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG4gICAgb25TZWxlY3Rpb25DaGFuZ2UoY2VsbEluZm86IHsgdmFsdWU6IGFueTsgaW5kZXg6IHsgaTogbnVtYmVyOyBqOiBudW1iZXIgfSB9KTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgeyB2YWx1ZSwgaW5kZXggfSA9IGNlbGxJbmZvO1xyXG4gICAgICAgIHRoaXMuYWN0aXZlQ2VsbCA9IGluZGV4O1xyXG4gICAgICAgIC8vIGNvbnN0IG5ld01vID0gZ2V0TmV3TW9HcmlkRWRpdG9yKHRoaXMuY29udGV4dC5TZXR0aW5nLkZvcm1UZW1wbGF0ZSwgdGhpcy5fdHlwZURlZklkKTtcclxuICAgICAgICAvLyBuZXdNb1t0aGlzLnZhbHVlRGJOYW1lXSA9IHZhbHVlO1xyXG5cclxuICAgICAgICBjb25zdCBjb250cm9sVWkgPSB0aGlzLmZvcm1QYW5lbEN0cmxyLkdldEZpZWxkbEJ5TmFtZSh0aGlzLnZhbHVlRGJOYW1lKTtcclxuICAgICAgICBjb250cm9sVWkuU2V0VmFsdWUodmFsdWUpO1xyXG4gICAgfVxyXG4gICAgb25DaGFuZ2VWaWV3KGlzRml0OiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5maXRXaWR0aCA9IGlzRml0O1xyXG4gICAgfVxyXG5cclxuICAgIC8qIGVzbGludC1kaXNhYmxlICovXHJcbiAgICBwcm90ZWN0ZWQgX3NlbGVjdChtbywgaW5kZXgpOiBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcclxuICAgICAgICByZXR1cm4gbW87XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9tYXRyaXhNb0xpc3QobW9EYXRhTGlzdCk6IE1ldGFvYmplY3REYXRhTW9kZWxbXSB7XHJcbiAgICAgICAgbW9EYXRhTGlzdC5mb3JFYWNoKChtbykgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmhvcml6b250YWxSb3dzLmZvckVhY2goKGNvbCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKG1vW2NvbC5DYXB0aW9uXSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbW9bY29sLkNhcHRpb25dID0gbnVsbDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIG1vRGF0YUxpc3Q7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9jZWxsVmFsdWVDaGFuZ2Uoc2VuZGVyKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgaW5kZXhJID0gdGhpcy5hY3RpdmVDZWxsLmk7XHJcbiAgICAgICAgY29uc3QgaW5kZXhKID0gdGhpcy5hY3RpdmVDZWxsLmo7XHJcbiAgICAgICAgdGhpcy5tb0RhdGFMaXN0JFxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSxcclxuICAgICAgICAgICAgICAgIHRhcCgobW9EYXRhTGlzdCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIG1vRGF0YUxpc3RbaW5kZXhJXVt0aGlzLmhvcml6b250YWxSb3dzW2luZGV4Sl0uQ2FwdGlvbl0gPSBzZW5kZXIuTW9bdGhpcy52YWx1ZURiTmFtZV07XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG1vRGF0YUxpc3RbaW5kZXhJXS4kTW9kaWZpZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbW9EYXRhTGlzdFtpbmRleEldLiRNb2RpZmllZFt0aGlzLmhvcml6b250YWxSb3dzW2luZGV4Sl0uQ2FwdGlvbl0gPSAxO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1vRGF0YUxpc3RbaW5kZXhJXS4kTW9kaWZpZWQgPSB7IFt0aGlzLmhvcml6b250YWxSb3dzW2luZGV4Sl0uQ2FwdGlvbl06IDEgfTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgZW51bSBXaWR0aFR5cGVFbnVtIHtcclxuICAgIEZpdFdpZHRoID0gJ9iz2KrZiNmGINmH2KfbjCDZh9mFINi52LHYticsXHJcbiAgICBTdGF0aWNXaWR0aCA9ICfYs9iq2YjZhiDZh9in24wg2KjYpyDYudix2LYg2K/ZhNiu2YjYp9mHJ1xyXG59XHJcbiIsIjxuZy1jb250YWluZXJcbiAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICBtYXRyaXhUZW1wbGF0ZTtcbiAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgICAgbW9EYXRhTGlzdDogbWF0cml4TW9MaXN0JCB8IGFzeW5jLFxuICAgICAgICAgICAgY29sdW1uczogaG9yaXpvbnRhbFJvd3MsXG4gICAgICAgICAgICBjb25kaXRpb25hbEZvcm1hdHM6IGNvbmRpdGlvbmFsRm9ybWF0cyQgfCBhc3luYyxcbiAgICAgICAgICAgIGRldmljZU5hbWU6IGRldmljZU5hbWUkIHwgYXN5bmMsXG4gICAgICAgICAgICBkZXZpY2VTaXplOiBkZXZpY2VTaXplJCB8IGFzeW5jLFxuICAgICAgICAgICAgdGl0bGU6IHRpdGxlJCB8IGFzeW5jLFxuICAgICAgICAgICAgaW5saW5lRWRpdE1vZGU6IGlubGluZUVkaXRNb2RlJCB8IGFzeW5jLFxuICAgICAgICAgICAgYWxsb3dJbmxpbmVFZGl0OiBhbGxvd0lubGluZUVkaXQkIHwgYXN5bmMsXG4gICAgICAgICAgICBoaWRlVG9vbGJhcjogaGlkZVRvb2xiYXIkIHwgYXN5bmMsXG4gICAgICAgICAgICBjb250ZW50RGVuc2l0eTogY29udGVudERlbnNpdHkkIHwgYXN5bmMsXG4gICAgICAgICAgICBhY3RpdmVDZWxsOiBhY3RpdmVDZWxsLFxuICAgICAgICAgICAgdmFsdWVDb250cm9sRmllbGRDYXB0aW9uOiB2YWx1ZUNvbnRyb2xGaWVsZENhcHRpb24sXG4gICAgICAgICAgICB2YWx1ZVR5cGU6IHZhbHVlVHlwZSxcbiAgICAgICAgICAgIGZvcm1TZXR0aW5nOiBjb250ZXh0LlNldHRpbmcuRm9ybVRlbXBsYXRlLFxuICAgICAgICAgICAgbWF0cml4V2lkdGhUeXBlOiBtYXRyaXhXaWR0aFR5cGUsXG4gICAgICAgICAgICBjZWxsV2lkdGg6IGNlbGxXaWR0aCxcbiAgICAgICAgICAgIHZlcnRpY2FsTGFiZWxXaWR0aDogdmVydGljYWxMYWJlbFdpZHRoLFxuICAgICAgICAgICAgZml0V2lkdGg6IGZpdFdpZHRoLFxuICAgICAgICAgICAgYWNjZXNzOiBjb250ZXh0LlNldHRpbmcuRXh0cmE/LkRlZmF1bHRDb21tYW5kc0FjY2VzcyxcbiAgICAgICAgICAgIGhhc1NlbGVjdGVkOiBoYXNTZWxlY3RlZCQgfCBhc3luYyxcbiAgICAgICAgICAgIGNvbnRhaW5lcldpZHRoOiBjb250YWluZXJXaWR0aCQgfCBhc3luYyxcbiAgICAgICAgICAgIGZvcm1MYXlvdXQ6IGZvcm1MYXlvdXRcbiAgICAgICAgfVxuICAgIFwiXG4+PC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZVxuICAgICNtYXRyaXhUZW1wbGF0ZVxuICAgIGxldC1tb0RhdGFMaXN0PVwibW9EYXRhTGlzdFwiXG4gICAgbGV0LWRldmljZU5hbWU9XCJkZXZpY2VOYW1lXCJcbiAgICBsZXQtZGV2aWNlU2l6ZT1cImRldmljZVNpemVcIlxuICAgIGxldC10aXRsZT1cInRpdGxlXCJcbiAgICBsZXQtaW5saW5lRWRpdE1vZGU9XCJpbmxpbmVFZGl0TW9kZVwiXG4gICAgbGV0LWFsbG93SW5saW5lRWRpdD1cImFsbG93SW5saW5lRWRpdFwiXG4gICAgbGV0LWhpZGVUb29sYmFyPVwiaGlkZVRvb2xiYXJcIlxuICAgIGxldC1jb250ZW50RGVuc2l0eT1cImNvbnRlbnREZW5zaXR5XCJcbiAgICBsZXQtY29sdW1ucz1cImNvbHVtbnNcIlxuICAgIGxldC1jb25kaXRpb25hbEZvcm1hdHM9XCJjb25kaXRpb25hbEZvcm1hdHNcIlxuICAgIGxldC1hY3RpdmVDZWxsPVwiYWN0aXZlQ2VsbFwiXG4gICAgbGV0LXZhbHVlQ29udHJvbEZpZWxkQ2FwdGlvbj1cInZhbHVlQ29udHJvbEZpZWxkQ2FwdGlvblwiXG4gICAgbGV0LXZhbHVlVHlwZT1cInZhbHVlVHlwZVwiXG4gICAgbGV0LWZvcm1TZXR0aW5nPVwiZm9ybVNldHRpbmdcIlxuICAgIGxldC1tYXRyaXhXaWR0aFR5cGU9XCJtYXRyaXhXaWR0aFR5cGVcIlxuICAgIGxldC1jZWxsV2lkdGg9XCJjZWxsV2lkdGhcIlxuICAgIGxldC12ZXJ0aWNhbExhYmVsV2lkdGg9XCJ2ZXJ0aWNhbExhYmVsV2lkdGhcIlxuICAgIGxldC1maXRXaWR0aD1cImZpdFdpZHRoXCJcbiAgICBsZXQtYWNjZXNzPVwiYWNjZXNzXCJcbiAgICBsZXQtaGFzU2VsZWN0ZWQ9XCJoYXNTZWxlY3RlZFwiXG4gICAgbGV0LWNvbnRhaW5lcldpZHRoPVwiY29udGFpbnRlcldpZHRoXCJcbiAgICBsZXQtZm9ybUxheW91dD1cImZvcm1MYXlvdXRcIlxuPlxuICAgIDxic3UtdWx2LXRvb2xiYXJcbiAgICAgICAgW2hpZGVUb29sYmFyXT1cImhpZGVUb29sYmFyXCJcbiAgICAgICAgW2RldmljZU5hbWVdPVwiZGV2aWNlTmFtZVwiXG4gICAgICAgIFtkZXZpY2VTaXplXT1cImRldmljZVNpemVcIlxuICAgICAgICBbdGl0bGVdPVwidGl0bGVcIlxuICAgICAgICBbaGFzU2VsZWN0ZWRdPVwiaGFzU2VsZWN0ZWRcIlxuICAgICAgICBbYWNjZXNzXT1cImFjY2Vzc1wiXG4gICAgICAgIFtjb250ZW50RGVuc2l0eV09XCJjb250ZW50RGVuc2l0eVwiXG4gICAgICAgIFtpbmxpbmVFZGl0TW9kZV09XCJpbmxpbmVFZGl0TW9kZVwiXG4gICAgICAgIFthbGxvd0lubGluZUVkaXRdPVwiYWxsb3dJbmxpbmVFZGl0XCJcbiAgICAgICAgW21vRGF0YUxpc3RDb3VudF09XCJtb0RhdGFMaXN0Lmxlbmd0aFwiXG4gICAgICAgIChzb3J0Q2xpY2spPVwib25Tb3J0U2V0dGluZ3MoZGV2aWNlTmFtZSlcIlxuICAgICAgICAoZWRpdE1vZGVDbGljayk9XCJvbkVkaXRNb2RlKClcIlxuICAgID5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgZmQtdG9vbGJhci1pdGVtXG4gICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgIFtmZFR5cGVdPVwiJ2VtcGhhc2l6ZWQnXCJcbiAgICAgICAgICAgIFtsYWJlbF09XCInU2F2ZScgfCBiYmJUcmFuc2xhdGVcIlxuICAgICAgICAgICAgW2dseXBoXT1cIidzYXZlJ1wiXG4gICAgICAgICAgICAoY2xpY2spPVwib25TYXZlKClcIlxuICAgICAgICA+PC9idXR0b24+XG4gICAgICAgIDxmZC1zcGxpdC1idXR0b25cbiAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxuICAgICAgICAgICAgW21haW5BY3Rpb25dPVwie1xuICAgICAgICAgICAgICAgIGtlZXBNYWluQWN0aW9uOiB0cnVlLFxuICAgICAgICAgICAgICAgIG1haW5BY3Rpb25UaXRsZTogc3BsaXRCdG5UaXRsZVxuICAgICAgICAgICAgfVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxmZC1tZW51PlxuICAgICAgICAgICAgICAgIDxsaSBmZC1tZW51LWl0ZW0+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgZmQtbWVudS1pbnRlcmFjdGl2ZSAoY2xpY2spPVwib25DaGFuZ2VWaWV3KHRydWUpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBmZC1tZW51LXRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHdpZHRoVHlwZUVudW0uRml0V2lkdGggfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICA8bGkgZmQtbWVudS1pdGVtPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGZkLW1lbnUtaW50ZXJhY3RpdmUgKGNsaWNrKT1cIm9uQ2hhbmdlVmlldyhmYWxzZSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGZkLW1lbnUtdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgd2lkdGhUeXBlRW51bS5TdGF0aWNXaWR0aCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPC9mZC1tZW51PlxuICAgICAgICA8L2ZkLXNwbGl0LWJ1dHRvbj5cblxuICAgICAgICA8bmctdGVtcGxhdGUgI3NwbGl0QnRuVGl0bGU+XG4gICAgICAgICAgICA8c3Bhbj57eyBmaXRXaWR0aCA/IHdpZHRoVHlwZUVudW0uRml0V2lkdGggOiB3aWR0aFR5cGVFbnVtLlN0YXRpY1dpZHRoIH19PC9zcGFuPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvYnN1LXVsdi10b29sYmFyPlxuICAgIDxic3UtdWktbWF0cml4LXZpZXdcbiAgICAgICAgW21vRGF0YUxpc3RdPVwibW9EYXRhTGlzdFwiXG4gICAgICAgIFtjb2x1bW5zXT1cImNvbHVtbnNcIlxuICAgICAgICBbY29uZGl0aW9uYWxGb3JtYXRzXT1cImNvbmRpdGlvbmFsRm9ybWF0c1wiXG4gICAgICAgIFthY3RpdmVDZWxsXT1cImFjdGl2ZUNlbGxcIlxuICAgICAgICBbdmFsdWVDb250cm9sRmllbGRDYXB0aW9uXT1cInZhbHVlQ29udHJvbEZpZWxkQ2FwdGlvblwiXG4gICAgICAgIFt2YWx1ZVR5cGVdPVwidmFsdWVUeXBlXCJcbiAgICAgICAgW2FjY2Vzc109XCJhY2Nlc3NcIlxuICAgICAgICBbZm9ybUxheW91dF09XCJmb3JtTGF5b3V0XCJcbiAgICAgICAgW21hdHJpeFdpZHRoVHlwZV09XCJtYXRyaXhXaWR0aFR5cGVcIlxuICAgICAgICBbY2VsbFdpZHRoXT1cImNlbGxXaWR0aFwiXG4gICAgICAgIFtjZWxsSGVpZ2h0XT1cImNlbGxIZWlnaHRcIlxuICAgICAgICBbdmVydGljYWxMYWJlbFdpZHRoXT1cInZlcnRpY2FsTGFiZWxXaWR0aFwiXG4gICAgICAgIFtmaXRXaWR0aF09XCJmaXRXaWR0aFwiXG4gICAgICAgIFttaW5XaWR0aF09XCJtaW5XaWR0aFwiXG4gICAgICAgIFttaW5IZWlnaHRdPVwibWluSGVpZ2h0XCJcbiAgICAgICAgW3Jvd1Jlc2l6ZXJdPVwicm93UmVzaXplclwiXG4gICAgICAgIFtlbmFibGVSZXNpemluZ109XCJlbmFibGVSZXNpemluZ1wiXG4gICAgICAgIFtjb250YWluZXJXaWR0aF09XCJjb250YWluZXJXaWR0aFwiXG4gICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25TZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgPjwvYnN1LXVpLW1hdHJpeC12aWV3PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, ViewChild } from '@angular/core';
|
|
2
|
-
import { BaseComponent, BarsaApi } from 'barsa-novin-ray-core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@fundamental-ngx/core";
|
|
5
|
-
import * as i2 from "barsa-novin-ray-core";
|
|
6
|
-
import * as i3 from "@fundamental-ngx/core/button";
|
|
7
|
-
import * as i4 from "@fundamental-ngx/core/dialog";
|
|
8
|
-
import * as i5 from "@fundamental-ngx/core/title";
|
|
9
|
-
export class UiExceptionFormComponent extends BaseComponent {
|
|
10
|
-
constructor(_dialogService) {
|
|
11
|
-
super();
|
|
12
|
-
this._dialogService = _dialogService;
|
|
13
|
-
}
|
|
14
|
-
ngOnInit() {
|
|
15
|
-
super.ngOnInit();
|
|
16
|
-
BarsaApi.Ui.ExceptionForm.IsHandled = true;
|
|
17
|
-
BarsaApi.Ui.ExceptionForm.Show = (text, detail, callback) => {
|
|
18
|
-
this._dialogService.open(this.templateRef, {
|
|
19
|
-
...{ text, detail, callback },
|
|
20
|
-
responsivePadding: true
|
|
21
|
-
});
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
onClose(dialog, dialogConfig) {
|
|
25
|
-
dialog.close();
|
|
26
|
-
if (dialogConfig.callback) {
|
|
27
|
-
dialogConfig.callback();
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
onContinue(dialog, dialogConfig) {
|
|
31
|
-
dialog.close();
|
|
32
|
-
if (dialogConfig.callback) {
|
|
33
|
-
dialogConfig.callback();
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
onLogout(dialog, dialogConfig) {
|
|
37
|
-
dialog.close();
|
|
38
|
-
if (dialogConfig.callback) {
|
|
39
|
-
dialogConfig.callback();
|
|
40
|
-
}
|
|
41
|
-
BarsaApi.Bw.Logout();
|
|
42
|
-
}
|
|
43
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UiExceptionFormComponent, deps: [{ token: i1.DialogService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
44
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: UiExceptionFormComponent, selector: "bsu-ui-exception-form", viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["templateRef"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #templateRef>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\n <fd-dialog-header>\n <h1 fd-title>\n {{ dialogConfig.text }}\n </h1>\n\n <button fd-dialog-close-button (click)=\"onClose(dialog, dialogConfig)\"></button>\n </fd-dialog-header>\n\n <fd-dialog-body style=\"padding: 15px\">\n <div style=\"min-height: 125px\">\n <label fd-label [innerHtml]=\"dialogConfig.detail\"> </label>\n </div>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-dialog-footer-button>\n <button\n fd-button\n fd-dialog-decisive-button\n [fdType]=\"'emphasized'\"\n [label]=\"'Continue' | bbbTranslate\"\n (click)=\"onContinue(dialog, dialogConfig)\"\n ></button>\n </fd-dialog-footer-button>\n <fd-dialog-footer-button>\n <button\n fd-button\n fd-dialog-decisive-button\n [fdType]=\"'standard'\"\n [label]=\"'Copy' | bbbTranslate\"\n [copy]=\"dialogConfig.detail\"\n ></button>\n </fd-dialog-footer-button>\n <fd-dialog-footer-button>\n <button\n fd-button\n fd-dialog-decisive-button\n [fdType]=\"'negative'\"\n [label]=\"'Logout' | bbbTranslate\"\n (click)=\"onLogout(dialog, dialogConfig)\"\n ></button>\n </fd-dialog-footer-button>\n </fd-dialog-footer>\n </fd-dialog>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.CopyDirective, selector: "[copy]", inputs: ["copy"] }, { kind: "component", type: i3.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i4.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i4.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i4.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i4.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "component", type: i4.DialogCloseButtonComponent, selector: "[fd-dialog-close-button]", inputs: ["mobile", "title", "ariaLabel"] }, { kind: "component", type: i5.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
45
|
-
}
|
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UiExceptionFormComponent, decorators: [{
|
|
47
|
-
type: Component,
|
|
48
|
-
args: [{ selector: 'bsu-ui-exception-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #templateRef>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\n <fd-dialog-header>\n <h1 fd-title>\n {{ dialogConfig.text }}\n </h1>\n\n <button fd-dialog-close-button (click)=\"onClose(dialog, dialogConfig)\"></button>\n </fd-dialog-header>\n\n <fd-dialog-body style=\"padding: 15px\">\n <div style=\"min-height: 125px\">\n <label fd-label [innerHtml]=\"dialogConfig.detail\"> </label>\n </div>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-dialog-footer-button>\n <button\n fd-button\n fd-dialog-decisive-button\n [fdType]=\"'emphasized'\"\n [label]=\"'Continue' | bbbTranslate\"\n (click)=\"onContinue(dialog, dialogConfig)\"\n ></button>\n </fd-dialog-footer-button>\n <fd-dialog-footer-button>\n <button\n fd-button\n fd-dialog-decisive-button\n [fdType]=\"'standard'\"\n [label]=\"'Copy' | bbbTranslate\"\n [copy]=\"dialogConfig.detail\"\n ></button>\n </fd-dialog-footer-button>\n <fd-dialog-footer-button>\n <button\n fd-button\n fd-dialog-decisive-button\n [fdType]=\"'negative'\"\n [label]=\"'Logout' | bbbTranslate\"\n (click)=\"onLogout(dialog, dialogConfig)\"\n ></button>\n </fd-dialog-footer-button>\n </fd-dialog-footer>\n </fd-dialog>\n</ng-template>\n" }]
|
|
49
|
-
}], ctorParameters: () => [{ type: i1.DialogService }], propDecorators: { templateRef: [{
|
|
50
|
-
type: ViewChild,
|
|
51
|
-
args: ['templateRef']
|
|
52
|
-
}] } });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZXhjZXB0aW9uLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktZXhjZXB0aW9uLWZvcm0vdWktZXhjZXB0aW9uLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktZXhjZXB0aW9uLWZvcm0vdWktZXhjZXB0aW9uLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBdUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25HLE9BQU8sRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7QUFPL0QsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGFBQWE7SUFFdkQsWUFBb0IsY0FBNkI7UUFDN0MsS0FBSyxFQUFFLENBQUM7UUFEUSxtQkFBYyxHQUFkLGNBQWMsQ0FBZTtJQUVqRCxDQUFDO0lBRUQsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixRQUFRLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQzNDLFFBQVEsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEVBQUU7WUFDeEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDdkMsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFO2dCQUM3QixpQkFBaUIsRUFBRSxJQUFJO2FBQzFCLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQztJQUNOLENBQUM7SUFDRCxPQUFPLENBQUMsTUFBTSxFQUFFLFlBQVk7UUFDeEIsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2YsSUFBSSxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDeEIsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzVCLENBQUM7SUFDTCxDQUFDO0lBQ0QsVUFBVSxDQUFDLE1BQU0sRUFBRSxZQUFZO1FBQzNCLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNmLElBQUksWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3hCLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM1QixDQUFDO0lBQ0wsQ0FBQztJQUNELFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBWTtRQUN6QixNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDZixJQUFJLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN4QixZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDNUIsQ0FBQztRQUNELFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDekIsQ0FBQzs4R0FsQ1Esd0JBQXdCO2tHQUF4Qix3QkFBd0IsZ01DVnJDLG15REErQ0E7OzJGRHJDYSx3QkFBd0I7a0JBTnBDLFNBQVM7K0JBQ0ksdUJBQXVCLG1CQUdoQix1QkFBdUIsQ0FBQyxNQUFNO2tGQUdyQixXQUFXO3NCQUFwQyxTQUFTO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkluaXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xuXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50LCBCYXJzYUFwaSB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYnN1LXVpLWV4Y2VwdGlvbi1mb3JtJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdWktZXhjZXB0aW9uLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3VpLWV4Y2VwdGlvbi1mb3JtLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVWlFeGNlcHRpb25Gb3JtQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQFZpZXdDaGlsZCgndGVtcGxhdGVSZWYnKSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9kaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIEJhcnNhQXBpLlVpLkV4Y2VwdGlvbkZvcm0uSXNIYW5kbGVkID0gdHJ1ZTtcbiAgICAgICAgQmFyc2FBcGkuVWkuRXhjZXB0aW9uRm9ybS5TaG93ID0gKHRleHQsIGRldGFpbCwgY2FsbGJhY2spID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2RpYWxvZ1NlcnZpY2Uub3Blbih0aGlzLnRlbXBsYXRlUmVmLCB7XG4gICAgICAgICAgICAgICAgLi4ueyB0ZXh0LCBkZXRhaWwsIGNhbGxiYWNrIH0sXG4gICAgICAgICAgICAgICAgcmVzcG9uc2l2ZVBhZGRpbmc6IHRydWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuICAgIH1cbiAgICBvbkNsb3NlKGRpYWxvZywgZGlhbG9nQ29uZmlnKTogdm9pZCB7XG4gICAgICAgIGRpYWxvZy5jbG9zZSgpO1xuICAgICAgICBpZiAoZGlhbG9nQ29uZmlnLmNhbGxiYWNrKSB7XG4gICAgICAgICAgICBkaWFsb2dDb25maWcuY2FsbGJhY2soKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBvbkNvbnRpbnVlKGRpYWxvZywgZGlhbG9nQ29uZmlnKTogdm9pZCB7XG4gICAgICAgIGRpYWxvZy5jbG9zZSgpO1xuICAgICAgICBpZiAoZGlhbG9nQ29uZmlnLmNhbGxiYWNrKSB7XG4gICAgICAgICAgICBkaWFsb2dDb25maWcuY2FsbGJhY2soKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBvbkxvZ291dChkaWFsb2csIGRpYWxvZ0NvbmZpZyk6IHZvaWQge1xuICAgICAgICBkaWFsb2cuY2xvc2UoKTtcbiAgICAgICAgaWYgKGRpYWxvZ0NvbmZpZy5jYWxsYmFjaykge1xuICAgICAgICAgICAgZGlhbG9nQ29uZmlnLmNhbGxiYWNrKCk7XG4gICAgICAgIH1cbiAgICAgICAgQmFyc2FBcGkuQncuTG9nb3V0KCk7XG4gICAgfVxufVxuIiwiPG5nLXRlbXBsYXRlIGxldC1kaWFsb2cgbGV0LWRpYWxvZ0NvbmZpZz1cImRpYWxvZ0NvbmZpZ1wiICN0ZW1wbGF0ZVJlZj5cbiAgICA8ZmQtZGlhbG9nIFtkaWFsb2dDb25maWddPVwiZGlhbG9nQ29uZmlnXCIgW2RpYWxvZ1JlZl09XCJkaWFsb2dcIj5cbiAgICAgICAgPGZkLWRpYWxvZy1oZWFkZXI+XG4gICAgICAgICAgICA8aDEgZmQtdGl0bGU+XG4gICAgICAgICAgICAgICAge3sgZGlhbG9nQ29uZmlnLnRleHQgfX1cbiAgICAgICAgICAgIDwvaDE+XG5cbiAgICAgICAgICAgIDxidXR0b24gZmQtZGlhbG9nLWNsb3NlLWJ1dHRvbiAoY2xpY2spPVwib25DbG9zZShkaWFsb2csIGRpYWxvZ0NvbmZpZylcIj48L2J1dHRvbj5cbiAgICAgICAgPC9mZC1kaWFsb2ctaGVhZGVyPlxuXG4gICAgICAgIDxmZC1kaWFsb2ctYm9keSBzdHlsZT1cInBhZGRpbmc6IDE1cHhcIj5cbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJtaW4taGVpZ2h0OiAxMjVweFwiPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBmZC1sYWJlbCBbaW5uZXJIdG1sXT1cImRpYWxvZ0NvbmZpZy5kZXRhaWxcIj4gPC9sYWJlbD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2ZkLWRpYWxvZy1ib2R5PlxuXG4gICAgICAgIDxmZC1kaWFsb2ctZm9vdGVyPlxuICAgICAgICAgICAgPGZkLWRpYWxvZy1mb290ZXItYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGZkLWRpYWxvZy1kZWNpc2l2ZS1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgW2ZkVHlwZV09XCInZW1waGFzaXplZCdcIlxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0NvbnRpbnVlJyB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNvbnRpbnVlKGRpYWxvZywgZGlhbG9nQ29uZmlnKVwiXG4gICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgPC9mZC1kaWFsb2ctZm9vdGVyLWJ1dHRvbj5cbiAgICAgICAgICAgIDxmZC1kaWFsb2ctZm9vdGVyLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBmZC1kaWFsb2ctZGVjaXNpdmUtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIFtmZFR5cGVdPVwiJ3N0YW5kYXJkJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInQ29weScgfCBiYmJUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICBbY29weV09XCJkaWFsb2dDb25maWcuZGV0YWlsXCJcbiAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICA8L2ZkLWRpYWxvZy1mb290ZXItYnV0dG9uPlxuICAgICAgICAgICAgPGZkLWRpYWxvZy1mb290ZXItYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGZkLWRpYWxvZy1kZWNpc2l2ZS1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgW2ZkVHlwZV09XCInbmVnYXRpdmUnXCJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidMb2dvdXQnIHwgYmJiVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTG9nb3V0KGRpYWxvZywgZGlhbG9nQ29uZmlnKVwiXG4gICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgPC9mZC1kaWFsb2ctZm9vdGVyLWJ1dHRvbj5cbiAgICAgICAgPC9mZC1kaWFsb2ctZm9vdGVyPlxuICAgIDwvZmQtZGlhbG9nPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|