barsa-sap-ui 2.2.73 → 2.2.75
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 +758 -762
- package/fesm2022/barsa-sap-ui.mjs.map +1 -1
- package/lib/models/grid-data-provider.d.ts +1 -1
- package/lib/notification-popup.service.d.ts +1 -1
- package/lib/ui-grid-columns/ui-grid-columns.component.d.ts +1 -1
- package/lib/ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component.d.ts +1 -1
- package/lib/ui-pictures-info/ui-pictures-info.component.d.ts +2 -2
- package/lib/ui-table-view/ui-table-view.component.d.ts +4 -4
- package/lib/ul-msg-box-adapter/ul-msg-box-adapter.component.d.ts +1 -1
- package/lib/ul-notify-popup/ul-notify-popup.component.d.ts +1 -1
- package/lib/ulv-toolbar/ulv-toolbar.component.d.ts +2 -2
- package/package.json +3 -5
- package/esm2022/barsa-sap-ui.mjs +0 -5
- package/esm2022/lib/apply-conditional-formmatings.directive.mjs +0 -90
- package/esm2022/lib/avatar-size.pipe.mjs +0 -41
- package/esm2022/lib/barsa-answer-card/barsa-answer-card.component.mjs +0 -41
- package/esm2022/lib/barsa-asp-viewer/barsa-asp-viewer.component.mjs +0 -153
- package/esm2022/lib/barsa-bar-download-file/barsa-bar-download-file.component.mjs +0 -30
- package/esm2022/lib/barsa-bar-panel/barsa-bar-panel.component.mjs +0 -23
- package/esm2022/lib/barsa-base-panel/barsa-base-layout-panel.component.mjs +0 -29
- package/esm2022/lib/barsa-breadcrumbs/barsa-breadcrumbs.component.mjs +0 -24
- package/esm2022/lib/barsa-card-banner/barsa-card-banner.component.mjs +0 -38
- package/esm2022/lib/barsa-card-layout-panel/barsa-card-layout-panel.component.mjs +0 -24
- package/esm2022/lib/barsa-card-row-payam/barsa-card-row-payam.component.mjs +0 -31
- package/esm2022/lib/barsa-cartable-form/barsa-cartable-form.component.mjs +0 -41
- package/esm2022/lib/barsa-cartable-template/barsa-cartable-template.component.mjs +0 -24
- package/esm2022/lib/barsa-chat/barsa-chat.component.mjs +0 -84
- package/esm2022/lib/barsa-chat/chat.model.mjs +0 -8
- package/esm2022/lib/barsa-chat-content/barsa-chat-content.component.mjs +0 -13
- package/esm2022/lib/barsa-chat-content-toolbar/barsa-chat-content-toolbar.component.mjs +0 -22
- package/esm2022/lib/barsa-chat-list/barsa-chat-list.component.mjs +0 -117
- package/esm2022/lib/barsa-chat-message/barsa-chat-message.component.mjs +0 -79
- package/esm2022/lib/barsa-chat-thread/barsa-chat-thread.component.mjs +0 -22
- package/esm2022/lib/barsa-chat-threads-list/barsa-chat-threads-list.component.mjs +0 -13
- package/esm2022/lib/barsa-chat-threads-list-toolbar/barsa-chat-threads-list-toolbar.component.mjs +0 -15
- package/esm2022/lib/barsa-chip/barsa-chip.component.mjs +0 -72
- package/esm2022/lib/barsa-column-indicator/barsa-column-indicator.component.mjs +0 -23
- package/esm2022/lib/barsa-column-rownumber/barsa-column-rownumber.component.mjs +0 -14
- package/esm2022/lib/barsa-custom-inline-edit/barsa-custom-inline-edit.component.mjs +0 -14
- package/esm2022/lib/barsa-custom-inline-edit-row/barsa-custom-inline-edit-row.component.mjs +0 -26
- package/esm2022/lib/barsa-date-time-picker/barsa-date-time-picker.component.mjs +0 -71
- package/esm2022/lib/barsa-dynamic-field/barsa-dynamic-field.component.mjs +0 -40
- package/esm2022/lib/barsa-enum-menu-button/barsa-enum-menu-button.component.mjs +0 -61
- package/esm2022/lib/barsa-field-key-value/barsa-field-key-value.component.mjs +0 -45
- package/esm2022/lib/barsa-form-layout-panel/barsa-form-layout-panel.component.mjs +0 -58
- package/esm2022/lib/barsa-form-side-content/barsa-form-side-content.component.mjs +0 -58
- package/esm2022/lib/barsa-grid-layout-panel/barsa-grid-layout-panel.component.mjs +0 -27
- package/esm2022/lib/barsa-group-cartable/barsa-cartable-group.component.mjs +0 -94
- package/esm2022/lib/barsa-horizontal-flex-panel/barsa-horizontal-flex-panel.component.mjs +0 -22
- package/esm2022/lib/barsa-img-skeleton/barsa-img-skeleton.component.mjs +0 -25
- package/esm2022/lib/barsa-linkable-items-panel/barsa-linkable-items-panel.component.mjs +0 -37
- package/esm2022/lib/barsa-list-file-linear/barsa-list-file-linear.component.mjs +0 -42
- package/esm2022/lib/barsa-list-file-linear-gmail/barsa-list-file-linear-gmail.component.mjs +0 -30
- package/esm2022/lib/barsa-list-layout-panel/barsa-list-layout-panel.component.mjs +0 -23
- package/esm2022/lib/barsa-modal/barsa-modal.component.mjs +0 -43
- package/esm2022/lib/barsa-monaco-editor/barsa-monaco-editor.component.mjs +0 -83
- package/esm2022/lib/barsa-network-offline/barsa-network-offline.component.mjs +0 -57
- package/esm2022/lib/barsa-pishnamayesh-payam/barsa-pishnamayesh-payam.component.mjs +0 -159
- package/esm2022/lib/barsa-question-answer-comments-section/barsa-question-answer-comments-section.component.mjs +0 -17
- package/esm2022/lib/barsa-question-answer-content-actions-section/barsa-question-answer-content-actions-section.component.mjs +0 -30
- package/esm2022/lib/barsa-question-answer-creator-time-section/barsa-question-answer-creator-time-section.component.mjs +0 -14
- package/esm2022/lib/barsa-question-answer-form/barsa-question-answer-form.component.mjs +0 -34
- package/esm2022/lib/barsa-question-answer-form-add-comment/barsa-question-answer-form-add-comment.component.mjs +0 -46
- package/esm2022/lib/barsa-question-answer-vote-section/barsa-question-answer-vote-section.component.mjs +0 -79
- package/esm2022/lib/barsa-question-post/barsa-question-post.component.mjs +0 -30
- package/esm2022/lib/barsa-report-card-flex-view/barsa-report-card-flex-view.component.mjs +0 -31
- package/esm2022/lib/barsa-report-checkbox-switch-button/barsa-report-checkbox-switch-button.component.mjs +0 -28
- package/esm2022/lib/barsa-report-one-of-list/barsa-report-one-of-list.component.mjs +0 -103
- package/esm2022/lib/barsa-row-inline-actionlist/barsa-row-inline-actionlist.component.mjs +0 -26
- package/esm2022/lib/barsa-sap-ui-routing.module.mjs +0 -18
- package/esm2022/lib/barsa-sap-ui.module.mjs +0 -369
- package/esm2022/lib/barsa-search-form/barsa-search-form.component.mjs +0 -30
- package/esm2022/lib/barsa-simple-form/barsa-simple-form.component.mjs +0 -171
- package/esm2022/lib/barsa-tab-route-manager/barsa-tab-route-manager.component.mjs +0 -18
- package/esm2022/lib/barsa-table-column/barsa-table-column.component.mjs +0 -29
- package/esm2022/lib/barsa-table-header/barsa-table-header.component.mjs +0 -230
- package/esm2022/lib/barsa-table-row/barsa-table-row.component.mjs +0 -102
- package/esm2022/lib/barsa-tag-categories/barsa-tag-categories.component.mjs +0 -60
- package/esm2022/lib/barsa-tag-chip/barsa-tag-chip.component.mjs +0 -26
- package/esm2022/lib/barsa-tags-category-row/barsa-tags-category-row.component.mjs +0 -23
- package/esm2022/lib/barsa-text-ellipsis/barsa-text-ellipsis.component.mjs +0 -37
- package/esm2022/lib/barsa-theme/barsa-theme.component.mjs +0 -121
- package/esm2022/lib/barsa-tinyemce/barsa-tinyemce.component.mjs +0 -419
- package/esm2022/lib/barsa-toolbaritem-search/barsa-toolbaritem-search.component.mjs +0 -36
- package/esm2022/lib/barsa-tree-item/barsa-tree-item.component.mjs +0 -153
- package/esm2022/lib/barsa-tree-item/node-has-one-depth-level.pipe.mjs +0 -20
- package/esm2022/lib/barsa-ulv-main/barsa-ulv-main.component.mjs +0 -248
- package/esm2022/lib/blob-viewer/blob-viewer.component.mjs +0 -79
- package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +0 -52
- package/esm2022/lib/captcha-field/captcha-field.component.mjs +0 -33
- package/esm2022/lib/card-item/card-item.component.mjs +0 -79
- package/esm2022/lib/card-view-content/card-view-content.component.mjs +0 -46
- package/esm2022/lib/col-renderer.directive.mjs +0 -47
- package/esm2022/lib/column-matrix-renderer/column-matrix-renderer.component.mjs +0 -56
- package/esm2022/lib/column-matrix-renderer/matrix-value.pipe.mjs +0 -61
- package/esm2022/lib/column-renderer/column-renderer.component.mjs +0 -108
- package/esm2022/lib/constants.mjs +0 -450
- package/esm2022/lib/contentDensity.directive.mjs +0 -25
- package/esm2022/lib/custom-date-time/custom-date-time.component.mjs +0 -41
- package/esm2022/lib/device-info-field-base.mjs +0 -24
- package/esm2022/lib/dialog-handler.directive.mjs +0 -29
- package/esm2022/lib/download-files.directive.mjs +0 -34
- package/esm2022/lib/dynamic-page-size.pipe.mjs +0 -27
- package/esm2022/lib/file-in-dialog/file-in-dialog.component.mjs +0 -44
- package/esm2022/lib/file-viewer/file-viewer.component.mjs +0 -47
- package/esm2022/lib/file-viewer-content/file-viewer-content.component.mjs +0 -80
- package/esm2022/lib/file-viewer-popover/file-viewer-popover.component.mjs +0 -40
- package/esm2022/lib/form-dialog/form-dialog.component.mjs +0 -175
- package/esm2022/lib/form-dialog-less/form-dialog-less.component.mjs +0 -50
- package/esm2022/lib/form-toolbar/form-toolbar.component.mjs +0 -62
- package/esm2022/lib/form-toolbar-button/form-toolbar-button.component.mjs +0 -45
- package/esm2022/lib/form-wizard/form-wizard.component.mjs +0 -22
- package/esm2022/lib/fullscreen-dialog.directive.mjs +0 -60
- package/esm2022/lib/fullscreen-files.directive.mjs +0 -43
- package/esm2022/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.mjs +0 -220
- package/esm2022/lib/gantt-dhtml-chart-view/gantt-dhtml-chart-view.component.mjs +0 -215
- package/esm2022/lib/global-search/global-search.component.mjs +0 -27
- package/esm2022/lib/global-search-module/global-search-module.component.mjs +0 -29
- package/esm2022/lib/global-search-panel/global-search-panel.component.mjs +0 -25
- package/esm2022/lib/header-avatar/header-avatar.component.mjs +0 -18
- package/esm2022/lib/htree-create-new/htree-create-new.component.mjs +0 -48
- package/esm2022/lib/hyperlink/hyperlink.component.mjs +0 -23
- package/esm2022/lib/index.mjs +0 -467
- package/esm2022/lib/inline-save-and-cancel/inline-save-and-cancel.component.mjs +0 -32
- package/esm2022/lib/layout-actions/layout-actions.component.mjs +0 -70
- package/esm2022/lib/layout-control/layout-control.component.mjs +0 -320
- package/esm2022/lib/layout-wizard/layout-wizard.component.mjs +0 -180
- package/esm2022/lib/list-item/list-item.component.mjs +0 -34
- package/esm2022/lib/ly-empty-space/ly-empty-space.component.mjs +0 -42
- package/esm2022/lib/ly-horizontal-layout/ly-horizontal-layout.component.mjs +0 -82
- package/esm2022/lib/ly-label/ly-label.component.mjs +0 -39
- package/esm2022/lib/ly-layout-container/ly-layout-container.component.mjs +0 -83
- package/esm2022/lib/ly-layout-container-of-root/ly-layout-container-of-root.component.mjs +0 -24
- package/esm2022/lib/ly-layout-field-label/ly-layout-field-label.component.mjs +0 -24
- package/esm2022/lib/ly-layout-panel/ly-layout-panel.component.mjs +0 -92
- package/esm2022/lib/ly-line/ly-line.component.mjs +0 -56
- package/esm2022/lib/ly-simple-label/ly-simple-label.component.mjs +0 -22
- package/esm2022/lib/ly-tab-container/ly-tab-container.component.mjs +0 -44
- package/esm2022/lib/ly-tab-page/ly-tab-page.component.mjs +0 -49
- package/esm2022/lib/ly-vertical-layout/ly-vertical-layout.component.mjs +0 -51
- package/esm2022/lib/manage-filters-report/manage-filters-report.component.mjs +0 -43
- package/esm2022/lib/mask/mask.component.mjs +0 -22
- package/esm2022/lib/message-strip/message-strip.component.mjs +0 -29
- package/esm2022/lib/models/grid-data-provider.mjs +0 -121
- package/esm2022/lib/models/grid-view.mjs +0 -2
- package/esm2022/lib/models/index.mjs +0 -2
- package/esm2022/lib/no-data/no-data.component.mjs +0 -30
- package/esm2022/lib/notification-item/notification-item.component.mjs +0 -57
- package/esm2022/lib/notification-item-actions/notification-item-actions.component.mjs +0 -79
- package/esm2022/lib/notification-popup.service.mjs +0 -92
- package/esm2022/lib/object-status-icon.pipe.mjs +0 -27
- package/esm2022/lib/progress-indicator/progress-indicator.component.mjs +0 -18
- package/esm2022/lib/report-navigator/report-navigator.component.mjs +0 -75
- package/esm2022/lib/report-new-top-form/report-new-top-form.component.mjs +0 -61
- package/esm2022/lib/report-search-fields-hidden-settings/report-search-fields-hidden-settings.component.mjs +0 -35
- package/esm2022/lib/report-search-fields-manage/report-search-fields-manage.component.mjs +0 -97
- package/esm2022/lib/report-search-panel-save/report-search-panel-save.component.mjs +0 -88
- package/esm2022/lib/report-tree-base.mjs +0 -387
- package/esm2022/lib/report-view-renderer.directive.mjs +0 -395
- package/esm2022/lib/responsive-toolbar/responsive-toolbar.component.mjs +0 -50
- package/esm2022/lib/responsive-toolbar-renderer/responsive-toolbar-renderer.component.mjs +0 -84
- package/esm2022/lib/rich-text-static/rich-text-static.component.mjs +0 -74
- package/esm2022/lib/sap-font-class.pipe.mjs +0 -30
- package/esm2022/lib/sap-font.pipe.mjs +0 -30
- package/esm2022/lib/sap-size.pipe.mjs +0 -28
- package/esm2022/lib/sap-ui-report-base.component.mjs +0 -819
- package/esm2022/lib/search-panel/search-panel.component.mjs +0 -63
- package/esm2022/lib/static-text/static-text.component.mjs +0 -15
- package/esm2022/lib/table-th.directive.mjs +0 -87
- package/esm2022/lib/title/title.component.mjs +0 -15
- package/esm2022/lib/ui-asp-report-viewer/ui-asp-report-viewer.component.mjs +0 -44
- package/esm2022/lib/ui-bpmn-viewer/ui-bpmn-viewer.component.mjs +0 -33
- package/esm2022/lib/ui-button/ui-button.component.mjs +0 -32
- package/esm2022/lib/ui-calendar/ui-calendar.component.mjs +0 -54
- package/esm2022/lib/ui-card-view/ui-card-view.component.mjs +0 -63
- package/esm2022/lib/ui-card-view-horizontal-group/ui-card-view-horizontal-group.component.mjs +0 -43
- package/esm2022/lib/ui-check-box/ui-check-box.component.mjs +0 -44
- package/esm2022/lib/ui-color-ui/ui-color-ui.component.mjs +0 -50
- package/esm2022/lib/ui-container-with-button/ui-container-with-button.component.mjs +0 -38
- package/esm2022/lib/ui-date-range-ex/ui-date-range-ex.component.mjs +0 -191
- package/esm2022/lib/ui-date-time/ui-date-time.component.mjs +0 -150
- package/esm2022/lib/ui-editable-grid/ui-editable-grid.component.mjs +0 -111
- package/esm2022/lib/ui-exception-form/ui-exception-form.component.mjs +0 -53
- package/esm2022/lib/ui-file-linear-list-box/ui-file-linear-list-box.component.mjs +0 -138
- package/esm2022/lib/ui-form-panel/ui-form-panel.component.mjs +0 -104
- package/esm2022/lib/ui-gantt-chart/ui-gantt-chart.component.mjs +0 -33
- package/esm2022/lib/ui-graph/ui-graph.component.mjs +0 -17
- package/esm2022/lib/ui-grid/ui-grid.component.mjs +0 -26
- package/esm2022/lib/ui-grid-columns/ui-grid-columns.component.mjs +0 -43
- package/esm2022/lib/ui-grid-filter-item/ui-grid-filter-item.component.mjs +0 -66
- package/esm2022/lib/ui-grid-filter-settings/ui-grid-filter-settings.component.mjs +0 -75
- package/esm2022/lib/ui-grid-sort-item/ui-grid-sort-item.component.mjs +0 -58
- package/esm2022/lib/ui-grid-sort-setting/ui-grid-sort-setting.component.mjs +0 -123
- package/esm2022/lib/ui-html-viewer/ui-html-viewer.component.mjs +0 -16
- package/esm2022/lib/ui-info-bar-panel/ui-info-bar-panel.component.mjs +0 -11
- package/esm2022/lib/ui-label/ui-label.component.mjs +0 -12
- package/esm2022/lib/ui-linear-list-container-with-button/ui-linear-list-container-with-button.component.mjs +0 -405
- package/esm2022/lib/ui-list-view/ui-list-view.component.mjs +0 -85
- package/esm2022/lib/ui-map/ui-map.component.mjs +0 -68
- package/esm2022/lib/ui-matrix-view/ui-matrix-view.component.mjs +0 -124
- package/esm2022/lib/ui-mo-info-combo-viewer/ui-mo-info-combo-viewer.component.mjs +0 -19
- package/esm2022/lib/ui-mo-info-general-object-ui/ui-mo-info-general-object-ui.component.mjs +0 -14
- package/esm2022/lib/ui-mo-info-sub-form-ui/ui-mo-info-sub-form-ui.component.mjs +0 -55
- package/esm2022/lib/ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component.mjs +0 -450
- package/esm2022/lib/ui-monaco-editor/ui-monaco-editor.component.mjs +0 -28
- package/esm2022/lib/ui-multi-select-card/ui-multi-select-card.component.mjs +0 -37
- package/esm2022/lib/ui-multi-select-checkbox/ui-multi-select-checkbox.component.mjs +0 -59
- package/esm2022/lib/ui-multi-select-combo/ui-multi-select-combo.component.mjs +0 -117
- package/esm2022/lib/ui-multi-select-radio/ui-multi-select-radio.component.mjs +0 -36
- package/esm2022/lib/ui-multi-select-slider/ui-multi-select-slider.component.mjs +0 -56
- package/esm2022/lib/ui-multi-select-smile/ui-multi-select-smile.component.mjs +0 -28
- package/esm2022/lib/ui-notification-view/ui-notification-view.component.mjs +0 -47
- package/esm2022/lib/ui-num-decimal-ui/ui-num-decimal-ui.component.mjs +0 -33
- package/esm2022/lib/ui-num-int-slider/ui-num-int-slider.component.mjs +0 -27
- package/esm2022/lib/ui-num-int-ui/ui-num-int-ui.component.mjs +0 -21
- package/esm2022/lib/ui-pdf-viewer/ui-pdf-viewer.component.mjs +0 -271
- package/esm2022/lib/ui-picture-file/ui-picture-file.component.mjs +0 -103
- package/esm2022/lib/ui-pictures-info/ui-pictures-info.component.mjs +0 -260
- package/esm2022/lib/ui-radio-group/ui-radio-group.component.mjs +0 -48
- package/esm2022/lib/ui-read-only-field/ui-read-only-field.component.mjs +0 -36
- package/esm2022/lib/ui-report-carousel-view/ui-report-carousel-view.component.mjs +0 -140
- package/esm2022/lib/ui-report-container/ui-report-container.component.mjs +0 -66
- package/esm2022/lib/ui-search-command-info-ui/ui-search-command-info-ui.component.mjs +0 -24
- package/esm2022/lib/ui-simple-combo/ui-simple-combo.component.mjs +0 -55
- package/esm2022/lib/ui-single-picture/ui-single-picture.component.mjs +0 -36
- package/esm2022/lib/ui-switch-button/ui-switch-button.component.mjs +0 -20
- package/esm2022/lib/ui-table-view/ui-table-view.component.mjs +0 -296
- package/esm2022/lib/ui-text-area/ui-text-area.component.mjs +0 -50
- package/esm2022/lib/ui-text-field/ui-text-field.component.mjs +0 -52
- package/esm2022/lib/ui-text-field-auto-complete/ui-text-field-auto-complete.component.mjs +0 -48
- package/esm2022/lib/ui-time-span/ui-time-span.component.mjs +0 -24
- package/esm2022/lib/ui-tinymce/ui-tinymce.component.mjs +0 -50
- package/esm2022/lib/ui-tree/ui-tree.component.mjs +0 -115
- package/esm2022/lib/ui-tree-view/ui-tree-view.component.mjs +0 -100
- package/esm2022/lib/ui-ulv-form-multi-select-ui/ui-ulv-form-multi-select-ui.component.mjs +0 -23
- package/esm2022/lib/ui-ulv-main-ui/ui-ulv-main-ui.component.mjs +0 -313
- package/esm2022/lib/ui-workflow-panel-ui/ui-workflow-panel-ui.component.mjs +0 -25
- package/esm2022/lib/ul-loading-mask-ui/ul-loading-mask-ui.component.mjs +0 -93
- package/esm2022/lib/ul-msg-box-adapter/ul-msg-box-adapter.component.mjs +0 -119
- package/esm2022/lib/ul-notify-popup/ul-notify-popup.component.mjs +0 -32
- package/esm2022/lib/ul-toast-adapter/ul-toast-adapter.component.mjs +0 -48
- package/esm2022/lib/ulv-column-settings/ulv-column-settings.component.mjs +0 -53
- package/esm2022/lib/ulv-context-menu/ulv-context-menu.component.mjs +0 -116
- package/esm2022/lib/ulv-filter-settings/ulv-filter-settings.component.mjs +0 -43
- package/esm2022/lib/ulv-form-multi-select/ulv-form-multi-select.component.mjs +0 -196
- package/esm2022/lib/ulv-groupby-settings/ulv-groupby-settings.component.mjs +0 -44
- package/esm2022/lib/ulv-paging/ulv-paging.component.mjs +0 -84
- package/esm2022/lib/ulv-selection/ulv-selection.component.mjs +0 -65
- package/esm2022/lib/ulv-settings/ulv-settings.component.mjs +0 -116
- package/esm2022/lib/ulv-sort-settings/ulv-sort-settings.component.mjs +0 -54
- package/esm2022/lib/ulv-toolbar/ulv-toolbar.component.mjs +0 -177
- package/esm2022/lib/upload-file-status.pipe.mjs +0 -29
- package/esm2022/lib/util-chat-time-badge.pipe.mjs +0 -18
- package/esm2022/lib/util-date-to-hh-mm.pipe.mjs +0 -23
- package/esm2022/lib/wizard-layout.directive.mjs +0 -104
- package/esm2022/public-api.mjs +0 -242
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
-
import { LayoutPanelBaseComponent, LayoutService, FillAllLayoutControls } from 'barsa-novin-ray-core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
import * as i2 from "barsa-novin-ray-core";
|
|
6
|
-
import * as i3 from "@fundamental-ngx/core/list";
|
|
7
|
-
export class BarsaListLayoutPanelComponent extends LayoutPanelBaseComponent {
|
|
8
|
-
constructor() {
|
|
9
|
-
super(...arguments);
|
|
10
|
-
this.layoutControls = [];
|
|
11
|
-
}
|
|
12
|
-
ngOnInit() {
|
|
13
|
-
super.ngOnInit();
|
|
14
|
-
FillAllLayoutControls(this.config, this.layoutControls);
|
|
15
|
-
}
|
|
16
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaListLayoutPanelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
17
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BarsaListLayoutPanelComponent, selector: "bsu-barsa-list-layout-panel", providers: [LayoutService], usesInheritance: true, ngImport: i0, template: "<ul fd-list>\r\n @for (item of layoutControls; track item; let i = $index) {\r\n <li fd-list-item>\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 index: i\r\n }\r\n \"\r\n ></ng-container>\r\n </li>\r\n }\r\n</ul>\r\n<ng-template\r\n #dynamicLayout\r\n let-index\r\n let-config\r\n let-selector=\"selector\"\r\n let-maxLabelWidth=\"maxLabelWidth\"\r\n 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", styles: [":host fd-card-header{cursor:default}:host fd-card-header:hover{background:var(--fdCard_Background_Color)}:host ::ng-deep bsu-layout-control.row-direction{flex-direction:row!important}@media (max-width: 600px){:host ::ng-deep bsu-layout-control.row-direction{flex-direction:row!important}}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.DynamicLayoutComponent, selector: "bnrc-dynamic-layout", inputs: ["selector", "module", "name", "parameters", "moduleFileName", "flex", "config", "maxLabelWidth", "hasHorizontalText", "isSearchPanel"] }, { kind: "component", type: i3.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator", "role"], outputs: ["focusEscapeList"] }, { kind: "component", type: i3.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "ariaRole", "id", "preventClick"], outputs: ["keyDown"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
18
|
-
}
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaListLayoutPanelComponent, decorators: [{
|
|
20
|
-
type: Component,
|
|
21
|
-
args: [{ selector: 'bsu-barsa-list-layout-panel', changeDetection: ChangeDetectionStrategy.OnPush, providers: [LayoutService], standalone: false, template: "<ul fd-list>\r\n @for (item of layoutControls; track item; let i = $index) {\r\n <li fd-list-item>\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 index: i\r\n }\r\n \"\r\n ></ng-container>\r\n </li>\r\n }\r\n</ul>\r\n<ng-template\r\n #dynamicLayout\r\n let-index\r\n let-config\r\n let-selector=\"selector\"\r\n let-maxLabelWidth=\"maxLabelWidth\"\r\n 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", styles: [":host fd-card-header{cursor:default}:host fd-card-header:hover{background:var(--fdCard_Background_Color)}:host ::ng-deep bsu-layout-control.row-direction{flex-direction:row!important}@media (max-width: 600px){:host ::ng-deep bsu-layout-control.row-direction{flex-direction:row!important}}\n"] }]
|
|
22
|
-
}] });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtbGlzdC1sYXlvdXQtcGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtbGlzdC1sYXlvdXQtcGFuZWwvYmFyc2EtbGlzdC1sYXlvdXQtcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtbGlzdC1sYXlvdXQtcGFuZWwvYmFyc2EtbGlzdC1sYXlvdXQtcGFuZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsYUFBYSxFQUFpQixxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7OztBQVVySCxNQUFNLE9BQU8sNkJBQThCLFNBQVEsd0JBQXdCO0lBUjNFOztRQVNJLG1CQUFjLEdBQW9CLEVBQUUsQ0FBQztLQUt4QztJQUpHLFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIscUJBQXFCLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDNUQsQ0FBQzsrR0FMUSw2QkFBNkI7bUdBQTdCLDZCQUE2QixzREFIM0IsQ0FBQyxhQUFhLENBQUMsaURDUjlCLHFtQ0FxQ0E7OzRGRDFCYSw2QkFBNkI7a0JBUnpDLFNBQVM7K0JBQ0ksNkJBQTZCLG1CQUd0Qix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsYUFBYSxDQUFDLGNBQ2QsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMYXlvdXRQYW5lbEJhc2VDb21wb25lbnQsIExheW91dFNlcnZpY2UsIExheW91dFNldHRpbmcsIEZpbGxBbGxMYXlvdXRDb250cm9scyB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdic3UtYmFyc2EtbGlzdC1sYXlvdXQtcGFuZWwnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2JhcnNhLWxpc3QtbGF5b3V0LXBhbmVsLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2JhcnNhLWxpc3QtbGF5b3V0LXBhbmVsLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHByb3ZpZGVyczogW0xheW91dFNlcnZpY2VdLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIEJhcnNhTGlzdExheW91dFBhbmVsQ29tcG9uZW50IGV4dGVuZHMgTGF5b3V0UGFuZWxCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIGxheW91dENvbnRyb2xzOiBMYXlvdXRTZXR0aW5nW10gPSBbXTtcclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgRmlsbEFsbExheW91dENvbnRyb2xzKHRoaXMuY29uZmlnLCB0aGlzLmxheW91dENvbnRyb2xzKTtcclxuICAgIH1cclxufVxyXG4iLCI8dWwgZmQtbGlzdD5cclxuICAgIEBmb3IgKGl0ZW0gb2YgbGF5b3V0Q29udHJvbHM7IHRyYWNrIGl0ZW07IGxldCBpID0gJGluZGV4KSB7XHJcbiAgICA8bGkgZmQtbGlzdC1pdGVtPlxyXG4gICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcclxuICAgICAgICAgICAgICAgIGR5bmFtaWNMYXlvdXQ7XHJcbiAgICAgICAgICAgICAgICBjb250ZXh0OiB7XHJcbiAgICAgICAgICAgICAgICAgICAgJGltcGxpY2l0OiBpdGVtLFxyXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdG9yOiAnYnN1LWxheW91dC1jb250cm9sJyxcclxuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnTGF5b3V0Q29udHJvbENvbXBvbmVudCcsXHJcbiAgICAgICAgICAgICAgICAgICAgaW5kZXg6IGlcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXCJcclxuICAgICAgICA+PC9uZy1jb250YWluZXI+XHJcbiAgICA8L2xpPlxyXG4gICAgfVxyXG48L3VsPlxyXG48bmctdGVtcGxhdGVcclxuICAgICNkeW5hbWljTGF5b3V0XHJcbiAgICBsZXQtaW5kZXhcclxuICAgIGxldC1jb25maWdcclxuICAgIGxldC1zZWxlY3Rvcj1cInNlbGVjdG9yXCJcclxuICAgIGxldC1tYXhMYWJlbFdpZHRoPVwibWF4TGFiZWxXaWR0aFwiXHJcbiAgICBsZXQtbmFtZT1cIm5hbWVcIlxyXG4+XHJcbiAgICA8Ym5yYy1keW5hbWljLWxheW91dFxyXG4gICAgICAgIFtjb25maWddPVwiY29uZmlnXCJcclxuICAgICAgICBbc2VsZWN0b3JdPVwic2VsZWN0b3JcIlxyXG4gICAgICAgIFtuYW1lXT1cIm5hbWVcIlxyXG4gICAgICAgIFttb2R1bGVdPVwiJ0JhcnNhU2FwVWknXCJcclxuICAgICAgICBbbW9kdWxlRmlsZU5hbWVdPVwiJ0JhcnNhU2FwVWknXCJcclxuICAgICAgICBbbWF4TGFiZWxXaWR0aF09XCIobWF4TGFiZWxXaWR0aCQgfCBhc3luYykhIVwiXHJcbiAgICAgICAgW2ZsZXhdPVwiaXNTZWFyY2hQYW5lbCA/ICd1bnNldCcgOiBjb25maWcuQm91bmRzLndpZHRoXCJcclxuICAgICAgICBbaXNTZWFyY2hQYW5lbF09XCJpc1NlYXJjaFBhbmVsXCJcclxuICAgID5cclxuICAgIDwvYm5yYy1keW5hbWljLWxheW91dD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, inject, ViewChild } from '@angular/core';
|
|
2
|
-
import { ActivatedRoute, Router } from '@angular/router';
|
|
3
|
-
import { DialogService } from '@fundamental-ngx/core';
|
|
4
|
-
import { BaseComponent } from 'barsa-novin-ray-core';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "barsa-novin-ray-core";
|
|
7
|
-
import * as i2 from "@fundamental-ngx/core/bar";
|
|
8
|
-
import * as i3 from "@fundamental-ngx/core/dialog";
|
|
9
|
-
import * as i4 from "@fundamental-ngx/cdk/utils";
|
|
10
|
-
import * as i5 from "@fundamental-ngx/core/title";
|
|
11
|
-
export class BarsaModalComponent extends BaseComponent {
|
|
12
|
-
constructor() {
|
|
13
|
-
super(...arguments);
|
|
14
|
-
this._dialogService = inject(DialogService);
|
|
15
|
-
this._router = inject(Router);
|
|
16
|
-
this._activatedRoute = inject(ActivatedRoute);
|
|
17
|
-
}
|
|
18
|
-
ngOnInit() {
|
|
19
|
-
super.ngOnInit();
|
|
20
|
-
this.dialogRef = this._dialogService.open(this._dialogTemplate, {
|
|
21
|
-
data: { ...this.settings, $breadCrumb: this._activatedRoute.snapshot.data?.breadcrumb },
|
|
22
|
-
width: '50vw',
|
|
23
|
-
height: '50vh',
|
|
24
|
-
draggable: true,
|
|
25
|
-
resizable: true,
|
|
26
|
-
verticalPadding: false,
|
|
27
|
-
ariaLabelledBy: 'fd-dialog-header-3'
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
onClose() {
|
|
31
|
-
this._router.navigate(['../']);
|
|
32
|
-
}
|
|
33
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaModalComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
34
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BarsaModalComponent, selector: "bsu-barsa-modal", viewQueries: [{ propertyName: "_dialogTemplate", first: true, predicate: ["dialogTemplate"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template [fdDialogTemplate] let-dialog let-dialogConfig=\"dialogConfig\" #dialogTemplate>\r\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\r\n <fd-dialog-header>\r\n <ng-template fdkTemplate=\"header\">\r\n <div fd-bar-left>\r\n <fd-bar-element>\r\n <h1 id=\"fd-dialog-header-3\" fd-title>{{ dialog.data.$breadCrumb }}</h1>\r\n </fd-bar-element>\r\n </div>\r\n <div fd-bar-right>\r\n <fd-button-bar\r\n glyph=\"decline\"\r\n [ariaLabel]=\"'Close' | bbbTranslate\"\r\n (click)=\"onClose()\"\r\n ></fd-button-bar>\r\n </div>\r\n </ng-template>\r\n </fd-dialog-header>\r\n <fd-dialog-body>\r\n @if(dialog.data?.BodyComponent){\r\n <bnrc-dynamic-component [component]=\"dialog.data.BodyComponent\"></bnrc-dynamic-component>\r\n }\r\n </fd-dialog-body>\r\n <fd-dialog-footer>\r\n <ng-template fdkTemplate=\"footer\">\r\n <div fd-bar-right>\r\n <fd-button-bar\r\n fdType=\"standard\"\r\n [label]=\"'Close' | bbbTranslate\"\r\n ariaLabel=\"'Close' | bbbTranslate\"\r\n (click)=\"onClose()\"\r\n >\r\n </fd-button-bar>\r\n </div>\r\n </ng-template>\r\n </fd-dialog-footer>\r\n </fd-dialog>\r\n</ng-template>\r\n", styles: [""], dependencies: [{ kind: "component", type: i1.BaseDynamicComponent, selector: "bnrc-dynamic-component", inputs: ["component", "value"], outputs: ["events"] }, { kind: "directive", type: i2.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i2.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "directive", type: i2.BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth"] }, { kind: "component", type: i2.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabelledby", "id"] }, { kind: "component", type: i3.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i3.DialogBodyComponent, selector: "fd-dialog-body", inputs: ["disablePaddings"] }, { kind: "component", type: i3.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i3.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "directive", type: i3.DialogTemplateDirective, selector: "[fdDialogTemplate]", inputs: ["fdDialogTemplateConfig"] }, { kind: "directive", type: i4.TemplateDirective, selector: "[fdkTemplate]", inputs: ["fdkTemplate"] }, { kind: "component", type: i5.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
35
|
-
}
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaModalComponent, decorators: [{
|
|
37
|
-
type: Component,
|
|
38
|
-
args: [{ selector: 'bsu-barsa-modal', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<ng-template [fdDialogTemplate] let-dialog let-dialogConfig=\"dialogConfig\" #dialogTemplate>\r\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\r\n <fd-dialog-header>\r\n <ng-template fdkTemplate=\"header\">\r\n <div fd-bar-left>\r\n <fd-bar-element>\r\n <h1 id=\"fd-dialog-header-3\" fd-title>{{ dialog.data.$breadCrumb }}</h1>\r\n </fd-bar-element>\r\n </div>\r\n <div fd-bar-right>\r\n <fd-button-bar\r\n glyph=\"decline\"\r\n [ariaLabel]=\"'Close' | bbbTranslate\"\r\n (click)=\"onClose()\"\r\n ></fd-button-bar>\r\n </div>\r\n </ng-template>\r\n </fd-dialog-header>\r\n <fd-dialog-body>\r\n @if(dialog.data?.BodyComponent){\r\n <bnrc-dynamic-component [component]=\"dialog.data.BodyComponent\"></bnrc-dynamic-component>\r\n }\r\n </fd-dialog-body>\r\n <fd-dialog-footer>\r\n <ng-template fdkTemplate=\"footer\">\r\n <div fd-bar-right>\r\n <fd-button-bar\r\n fdType=\"standard\"\r\n [label]=\"'Close' | bbbTranslate\"\r\n ariaLabel=\"'Close' | bbbTranslate\"\r\n (click)=\"onClose()\"\r\n >\r\n </fd-button-bar>\r\n </div>\r\n </ng-template>\r\n </fd-dialog-footer>\r\n </fd-dialog>\r\n</ng-template>\r\n" }]
|
|
39
|
-
}], propDecorators: { _dialogTemplate: [{
|
|
40
|
-
type: ViewChild,
|
|
41
|
-
args: ['dialogTemplate', { static: true }]
|
|
42
|
-
}] } });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtbW9kYWwvYmFyc2EtbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtbW9kYWwvYmFyc2EtbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQWUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25HLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXRELE9BQU8sRUFBRSxhQUFhLEVBQWtDLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7QUFRckYsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGFBQWE7SUFQdEQ7O1FBU0ksbUJBQWMsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdkMsWUFBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QixvQkFBZSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztLQW1CNUM7SUFmRyxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUM1RCxJQUFJLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDdkYsS0FBSyxFQUFFLE1BQU07WUFDYixNQUFNLEVBQUUsTUFBTTtZQUNkLFNBQVMsRUFBRSxJQUFJO1lBQ2YsU0FBUyxFQUFFLElBQUk7WUFDZixlQUFlLEVBQUUsS0FBSztZQUN0QixjQUFjLEVBQUUsb0JBQW9CO1NBQ3ZDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFDRCxPQUFPO1FBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ25DLENBQUM7K0dBdEJRLG1CQUFtQjttR0FBbkIsbUJBQW1CLCtNQ1poQywrbkRBc0NBOzs0RkQxQmEsbUJBQW1CO2tCQVAvQixTQUFTOytCQUNJLGlCQUFpQixtQkFHVix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLEtBQUs7OEJBRzhCLGVBQWU7c0JBQTdELFNBQVM7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcclxuXHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQsIEVqcmF5T2xnbywgTWV0YW9iamVjdERhdGFNb2RlbCB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JzdS1iYXJzYS1tb2RhbCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vYmFyc2EtbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vYmFyc2EtbW9kYWwuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIEJhcnNhTW9kYWxDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcclxuICAgIEBWaWV3Q2hpbGQoJ2RpYWxvZ1RlbXBsYXRlJywgeyBzdGF0aWM6IHRydWUgfSkgX2RpYWxvZ1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gICAgX2RpYWxvZ1NlcnZpY2UgPSBpbmplY3QoRGlhbG9nU2VydmljZSk7XHJcbiAgICBfcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XHJcbiAgICBfYWN0aXZhdGVkUm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xyXG4gICAgc2V0dGluZ3M6IEJhcnNhTW9kYWxTZXR0aW5nO1xyXG4gICAgZGlhbG9nUmVmOiBhbnk7XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICB0aGlzLmRpYWxvZ1JlZiA9IHRoaXMuX2RpYWxvZ1NlcnZpY2Uub3Blbih0aGlzLl9kaWFsb2dUZW1wbGF0ZSwge1xyXG4gICAgICAgICAgICBkYXRhOiB7IC4uLnRoaXMuc2V0dGluZ3MsICRicmVhZENydW1iOiB0aGlzLl9hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5kYXRhPy5icmVhZGNydW1iIH0sXHJcbiAgICAgICAgICAgIHdpZHRoOiAnNTB2dycsXHJcbiAgICAgICAgICAgIGhlaWdodDogJzUwdmgnLFxyXG4gICAgICAgICAgICBkcmFnZ2FibGU6IHRydWUsXHJcbiAgICAgICAgICAgIHJlc2l6YWJsZTogdHJ1ZSxcclxuICAgICAgICAgICAgdmVydGljYWxQYWRkaW5nOiBmYWxzZSxcclxuICAgICAgICAgICAgYXJpYUxhYmVsbGVkQnk6ICdmZC1kaWFsb2ctaGVhZGVyLTMnXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBvbkNsb3NlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShbJy4uLyddKTtcclxuICAgIH1cclxufVxyXG5pbnRlcmZhY2UgQmFyc2FNb2RhbFNldHRpbmcgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcclxuICAgIEJvZHlDb21wb25lbnQ6IEVqcmF5T2xnbztcclxufVxyXG4iLCI8bmctdGVtcGxhdGUgW2ZkRGlhbG9nVGVtcGxhdGVdIGxldC1kaWFsb2cgbGV0LWRpYWxvZ0NvbmZpZz1cImRpYWxvZ0NvbmZpZ1wiICNkaWFsb2dUZW1wbGF0ZT5cclxuICAgIDxmZC1kaWFsb2cgW2RpYWxvZ0NvbmZpZ109XCJkaWFsb2dDb25maWdcIiBbZGlhbG9nUmVmXT1cImRpYWxvZ1wiPlxyXG4gICAgICAgIDxmZC1kaWFsb2ctaGVhZGVyPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgZmRrVGVtcGxhdGU9XCJoZWFkZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgZmQtYmFyLWxlZnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZkLWJhci1lbGVtZW50PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aDEgaWQ9XCJmZC1kaWFsb2ctaGVhZGVyLTNcIiBmZC10aXRsZT57eyBkaWFsb2cuZGF0YS4kYnJlYWRDcnVtYiB9fTwvaDE+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9mZC1iYXItZWxlbWVudD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBmZC1iYXItcmlnaHQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZkLWJ1dHRvbi1iYXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ2x5cGg9XCJkZWNsaW5lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2FyaWFMYWJlbF09XCInQ2xvc2UnIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xvc2UoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPjwvZmQtYnV0dG9uLWJhcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvZmQtZGlhbG9nLWhlYWRlcj5cclxuICAgICAgICA8ZmQtZGlhbG9nLWJvZHk+XHJcbiAgICAgICAgICAgIEBpZihkaWFsb2cuZGF0YT8uQm9keUNvbXBvbmVudCl7XHJcbiAgICAgICAgICAgIDxibnJjLWR5bmFtaWMtY29tcG9uZW50IFtjb21wb25lbnRdPVwiZGlhbG9nLmRhdGEuQm9keUNvbXBvbmVudFwiPjwvYm5yYy1keW5hbWljLWNvbXBvbmVudD5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIDwvZmQtZGlhbG9nLWJvZHk+XHJcbiAgICAgICAgPGZkLWRpYWxvZy1mb290ZXI+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBmZGtUZW1wbGF0ZT1cImZvb3RlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBmZC1iYXItcmlnaHQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZkLWJ1dHRvbi1iYXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmRUeXBlPVwic3RhbmRhcmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0Nsb3NlJyB8IGJiYlRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyaWFMYWJlbD1cIidDbG9zZScgfCBiYmJUcmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DbG9zZSgpXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9mZC1idXR0b24tYmFyPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9mZC1kaWFsb2ctZm9vdGVyPlxyXG4gICAgPC9mZC1kaWFsb2c+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';
|
|
2
|
-
import { BaseComponent } from 'barsa-novin-ray-core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class BarsaMonacoEditorComponent extends BaseComponent {
|
|
5
|
-
/**
|
|
6
|
-
*
|
|
7
|
-
*/
|
|
8
|
-
constructor(_el) {
|
|
9
|
-
super();
|
|
10
|
-
this._el = _el;
|
|
11
|
-
this.textAlign = 'left';
|
|
12
|
-
this.valueChange = new EventEmitter();
|
|
13
|
-
}
|
|
14
|
-
ngAfterViewInit() {
|
|
15
|
-
super.ngAfterViewInit();
|
|
16
|
-
this._initEditor();
|
|
17
|
-
}
|
|
18
|
-
ngOnDestroy() {
|
|
19
|
-
if (this._editor && this._editor.layout) {
|
|
20
|
-
// this.autoComplete.dispose();
|
|
21
|
-
this._editor.getModel().dispose();
|
|
22
|
-
this._editor.destroy();
|
|
23
|
-
this._editor = null;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
_initEditor() {
|
|
27
|
-
this.loading = true;
|
|
28
|
-
/* eslint-disable */
|
|
29
|
-
var me = this;
|
|
30
|
-
head.load(['Lib/monaco-editor/min/vs/loader.js'], () => {
|
|
31
|
-
// require.config({ paths: { 'vs': '' } });
|
|
32
|
-
const func = `
|
|
33
|
-
require.config({ paths: { 'vs': 'Lib/monaco-editor/min/vs' } });
|
|
34
|
-
require(['vs/editor/editor.main'], function () {
|
|
35
|
-
me.loading=false;
|
|
36
|
-
me._editor = monaco.editor.create(me._el.nativeElement, {
|
|
37
|
-
value: me.value,
|
|
38
|
-
language: 'csharp',
|
|
39
|
-
theme: "vs-light"
|
|
40
|
-
//theme: "vs-dark"
|
|
41
|
-
});
|
|
42
|
-
me._editor.onDidChangeModelContent(function (e) {
|
|
43
|
-
me.valueChange.emit(me._editor.getValue());
|
|
44
|
-
});
|
|
45
|
-
});`;
|
|
46
|
-
/* eslint-disable */
|
|
47
|
-
eval(func);
|
|
48
|
-
// بخاطر اینکه ما میخواهیم فایل موناکو رو زمان اجرااز یک سرور دیگر بخوانیم
|
|
49
|
-
// و وب پک متغیرههای require رو تغییر نام میداد مجبور شدم فعلا اینکارو انجام بدم.
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
getValue() {
|
|
53
|
-
if (this._editor && this._editor.layout) {
|
|
54
|
-
this.value = this._editor.getValue();
|
|
55
|
-
}
|
|
56
|
-
return this.value;
|
|
57
|
-
}
|
|
58
|
-
setValue(value) {
|
|
59
|
-
this.value = value;
|
|
60
|
-
if (this._editor && this._editor.layout) {
|
|
61
|
-
this._editor.setValue(value);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
_resize() {
|
|
65
|
-
if (this._editor && this._editor.layout) {
|
|
66
|
-
this._editor.layout();
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaMonacoEditorComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
70
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BarsaMonacoEditorComponent, selector: "bsu-barsa-monaco-editor", inputs: { value: "value" }, outputs: { valueChange: "valueChange" }, host: { properties: { "style.text-align": "this.textAlign" } }, usesInheritance: true, ngImport: i0, template: "", styles: [":host{display:block;min-height:200px;direction:ltr;overflow:hidden}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
71
|
-
}
|
|
72
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaMonacoEditorComponent, decorators: [{
|
|
73
|
-
type: Component,
|
|
74
|
-
args: [{ selector: 'bsu-barsa-monaco-editor', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "", styles: [":host{display:block;min-height:200px;direction:ltr;overflow:hidden}\n"] }]
|
|
75
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { value: [{
|
|
76
|
-
type: Input
|
|
77
|
-
}], textAlign: [{
|
|
78
|
-
type: HostBinding,
|
|
79
|
-
args: ['style.text-align']
|
|
80
|
-
}], valueChange: [{
|
|
81
|
-
type: Output
|
|
82
|
-
}] } });
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtbW9uYWNvLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi9iYXJzYS1tb25hY28tZWRpdG9yL2JhcnNhLW1vbmFjby1lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtbW9uYWNvLWVkaXRvci9iYXJzYS1tb25hY28tZWRpdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUVMLE1BQU0sRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBV3JELE1BQU0sT0FBTywwQkFBMkIsU0FBUSxhQUFhO0lBT3pEOztPQUVHO0lBQ0gsWUFBb0IsR0FBZTtRQUMvQixLQUFLLEVBQUUsQ0FBQztRQURRLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFSRixjQUFTLEdBQUcsTUFBTSxDQUFDO1FBQzFDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQVNuRCxDQUFDO0lBQ0QsZUFBZTtRQUNYLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUNELFdBQVc7UUFDUCxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN0QywrQkFBK0I7WUFDL0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLENBQUM7SUFDTCxDQUFDO0lBRU8sV0FBVztRQUNmLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLG9CQUFvQjtRQUNwQixJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFFZCxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsb0NBQW9DLENBQUMsRUFBRSxHQUFHLEVBQUU7WUFDbkQsMkNBQTJDO1lBQzNDLE1BQU0sSUFBSSxHQUFHOzs7Ozs7Ozs7Ozs7O1lBYWIsQ0FBQztZQUNELG9CQUFvQjtZQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDWCwwRUFBMEU7WUFDMUUsaUZBQWlGO1FBQ3JGLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDekMsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBQ0QsUUFBUSxDQUFDLEtBQUs7UUFDVixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxDQUFDO0lBQ0wsQ0FBQztJQUVTLE9BQU87UUFDYixJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzFCLENBQUM7SUFDTCxDQUFDOytHQXZFUSwwQkFBMEI7bUdBQTFCLDBCQUEwQiwyTkN2QnZDLEVBQUE7OzRGRHVCYSwwQkFBMEI7a0JBUHRDLFNBQVM7K0JBQ0kseUJBQXlCLG1CQUdsQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLEtBQUs7K0VBR1IsS0FBSztzQkFBYixLQUFLO2dCQUMyQixTQUFTO3NCQUF6QyxXQUFXO3VCQUFDLGtCQUFrQjtnQkFDckIsV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBBZnRlclZpZXdJbml0LFxyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgSG9zdEJpbmRpbmcsXHJcbiAgICBJbnB1dCxcclxuICAgIE9uRGVzdHJveSxcclxuICAgIE91dHB1dFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuXHJcbmRlY2xhcmUgY29uc3QgaGVhZDogYW55O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JzdS1iYXJzYS1tb25hY28tZWRpdG9yJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9iYXJzYS1tb25hY28tZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2JhcnNhLW1vbmFjby1lZGl0b3IuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIEJhcnNhTW9uYWNvRWRpdG9yQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcbiAgICBASW5wdXQoKSB2YWx1ZTogc3RyaW5nO1xyXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS50ZXh0LWFsaWduJykgdGV4dEFsaWduID0gJ2xlZnQnO1xyXG4gICAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgICBfZWRpdG9yOiBhbnk7XHJcbiAgICBsb2FkaW5nOiBib29sZWFuO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICpcclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfZWw6IEVsZW1lbnRSZWYpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgfVxyXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xyXG4gICAgICAgIHRoaXMuX2luaXRFZGl0b3IoKTtcclxuICAgIH1cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLl9lZGl0b3IgJiYgdGhpcy5fZWRpdG9yLmxheW91dCkge1xyXG4gICAgICAgICAgICAvLyB0aGlzLmF1dG9Db21wbGV0ZS5kaXNwb3NlKCk7XHJcbiAgICAgICAgICAgIHRoaXMuX2VkaXRvci5nZXRNb2RlbCgpLmRpc3Bvc2UoKTtcclxuICAgICAgICAgICAgdGhpcy5fZWRpdG9yLmRlc3Ryb3koKTtcclxuICAgICAgICAgICAgdGhpcy5fZWRpdG9yID0gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfaW5pdEVkaXRvcigpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgICAgIC8qIGVzbGludC1kaXNhYmxlICovXHJcbiAgICAgICAgdmFyIG1lID0gdGhpcztcclxuXHJcbiAgICAgICAgaGVhZC5sb2FkKFsnTGliL21vbmFjby1lZGl0b3IvbWluL3ZzL2xvYWRlci5qcyddLCAoKSA9PiB7XHJcbiAgICAgICAgICAgIC8vIHJlcXVpcmUuY29uZmlnKHsgcGF0aHM6IHsgJ3ZzJzogJycgfSB9KTtcclxuICAgICAgICAgICAgY29uc3QgZnVuYyA9IGBcclxuICAgICAgICByZXF1aXJlLmNvbmZpZyh7IHBhdGhzOiB7ICd2cyc6ICdMaWIvbW9uYWNvLWVkaXRvci9taW4vdnMnIH0gfSk7XHJcbiAgICAgICAgcmVxdWlyZShbJ3ZzL2VkaXRvci9lZGl0b3IubWFpbiddLCBmdW5jdGlvbiAoKSB7ICAgICAgICBcclxuICAgICAgICAgIG1lLmxvYWRpbmc9ZmFsc2U7XHJcbiAgICAgICAgICAgIG1lLl9lZGl0b3IgPSBtb25hY28uZWRpdG9yLmNyZWF0ZShtZS5fZWwubmF0aXZlRWxlbWVudCwge1xyXG4gICAgICAgICAgICAgICAgdmFsdWU6IG1lLnZhbHVlLFxyXG4gICAgICAgICAgICAgICAgbGFuZ3VhZ2U6ICdjc2hhcnAnLFxyXG4gICAgICAgICAgICAgICAgdGhlbWU6IFwidnMtbGlnaHRcIlxyXG4gICAgICAgICAgICAgICAgLy90aGVtZTogXCJ2cy1kYXJrXCJcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIG1lLl9lZGl0b3Iub25EaWRDaGFuZ2VNb2RlbENvbnRlbnQoZnVuY3Rpb24gKGUpIHtcclxuICAgICAgICAgICAgICAgIG1lLnZhbHVlQ2hhbmdlLmVtaXQobWUuX2VkaXRvci5nZXRWYWx1ZSgpKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7YDtcclxuICAgICAgICAgICAgLyogZXNsaW50LWRpc2FibGUgKi9cclxuICAgICAgICAgICAgZXZhbChmdW5jKTtcclxuICAgICAgICAgICAgLy8g2KjYrtin2LfYsSDYp9uM2YbaqdmHINmF2Kcg2YXbjNiu2YjYp9mH24zZhSDZgdin24zZhCDZhdmI2YbYp9qp2Ygg2LHZiCDYstmF2KfZhiDYp9is2LHYp9in2LIg24zaqSDYs9ix2YjYsSDYr9uM2q/YsSDYqNiu2YjYp9mG24zZhVxyXG4gICAgICAgICAgICAvLyDZiCDZiNioINm+2qkg2YXYqti624zYsdmH2YfYp9uMIHJlcXVpcmUg2LHZiCDYqti624zbjNixINmG2KfZhSDZhduM2K/Yp9ivINmF2KzYqNmI2LEg2LTYr9mFINmB2LnZhNinINin24zZhtqp2KfYsdmIINin2YbYrNin2YUg2KjYr9mFLlxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFZhbHVlKCk6IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2VkaXRvciAmJiB0aGlzLl9lZGl0b3IubGF5b3V0KSB7XHJcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLl9lZGl0b3IuZ2V0VmFsdWUoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWU7XHJcbiAgICB9XHJcbiAgICBzZXRWYWx1ZSh2YWx1ZSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICBpZiAodGhpcy5fZWRpdG9yICYmIHRoaXMuX2VkaXRvci5sYXlvdXQpIHtcclxuICAgICAgICAgICAgdGhpcy5fZWRpdG9yLnNldFZhbHVlKHZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIF9yZXNpemUoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2VkaXRvciAmJiB0aGlzLl9lZGl0b3IubGF5b3V0KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2VkaXRvci5sYXlvdXQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiIl19
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { Component, ChangeDetectionStrategy, ViewChild, TemplateRef } from '@angular/core';
|
|
2
|
-
import { BaseComponent, isInLocalMode } 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/bar";
|
|
7
|
-
import * as i4 from "@fundamental-ngx/core/dialog";
|
|
8
|
-
import * as i5 from "@fundamental-ngx/cdk/utils";
|
|
9
|
-
import * as i6 from "@fundamental-ngx/core/title";
|
|
10
|
-
import * as i7 from "@fundamental-ngx/core/text";
|
|
11
|
-
export class BarsaNetworkOfflineComponent extends BaseComponent {
|
|
12
|
-
constructor(_dialogService, _networkStatusService, _portalService) {
|
|
13
|
-
super();
|
|
14
|
-
this._dialogService = _dialogService;
|
|
15
|
-
_portalService.deviceSize$.pipe().subscribe((c) => (this.size = c));
|
|
16
|
-
_networkStatusService.networkStatus$.subscribe((status) => {
|
|
17
|
-
if (!status) {
|
|
18
|
-
this.openOfflineDialog();
|
|
19
|
-
}
|
|
20
|
-
else if (this._dialogRef) {
|
|
21
|
-
this._dialogRef.close();
|
|
22
|
-
this._dialogRef = null;
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
openOfflineDialog() {
|
|
27
|
-
const inLocalMode = isInLocalMode();
|
|
28
|
-
if (inLocalMode) {
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
const dialogConfig = {
|
|
32
|
-
escKeyCloseable: false,
|
|
33
|
-
dialogPanelClass: `offline-internet-dialog`,
|
|
34
|
-
verticalPadding: false
|
|
35
|
-
};
|
|
36
|
-
// dialogConfig.mobile = true;
|
|
37
|
-
if (this.size === 's') {
|
|
38
|
-
dialogConfig.fullScreen = true;
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
dialogConfig.width = '380px';
|
|
42
|
-
dialogConfig.height = 'auto';
|
|
43
|
-
dialogConfig.minHeight = '320px';
|
|
44
|
-
}
|
|
45
|
-
this._dialogRef = this._dialogService.open(this.dialogContainer, dialogConfig);
|
|
46
|
-
}
|
|
47
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaNetworkOfflineComponent, deps: [{ token: i1.DialogService }, { token: i2.NetworkStatusService }, { token: i2.PortalService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
48
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BarsaNetworkOfflineComponent, selector: "bsu-barsa-network-offline", viewQueries: [{ propertyName: "dialogContainer", first: true, predicate: ["container"], descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #container>\r\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\" #dialogTpl>\r\n <fd-dialog-header>\r\n <h1 fd-title>{{ 'ErrorInConnection' | bbbTranslate }}</h1>\r\n </fd-dialog-header>\r\n\r\n <fd-dialog-body class=\"offline-wrapper\">\r\n <img src=\"assets/svg/offline-internet-icon.svg\" />\r\n <div>\r\n <h3 fd-title>{{ 'NetworkOffline' | bbbTranslate }}</h3>\r\n <fd-text [text]=\"'NetworkOfflineDescription' | bbbTranslate\"></fd-text>\r\n </div>\r\n </fd-dialog-body>\r\n <fd-dialog-footer>\r\n <ng-template fdkTemplate=\"footer\">\r\n <div fd-bar-right>\r\n <fd-button-bar\r\n fdType=\"emphasized\"\r\n [label]=\"'Continue' | bbbTranslate\"\r\n (click)=\"dialog.dismiss('Close button')\"\r\n >\r\n </fd-button-bar>\r\n </div>\r\n </ng-template>\r\n </fd-dialog-footer>\r\n </fd-dialog>\r\n</ng-template>\r\n", styles: [".offline-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center}\n"], dependencies: [{ kind: "directive", type: i3.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "component", type: i3.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabelledby", "id"] }, { kind: "component", type: i4.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i4.DialogBodyComponent, selector: "fd-dialog-body", inputs: ["disablePaddings"] }, { kind: "component", type: i4.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i4.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "directive", type: i5.TemplateDirective, selector: "[fdkTemplate]", inputs: ["fdkTemplate"] }, { kind: "component", type: i6.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "component", type: i7.TextComponent, selector: "fd-text", inputs: ["text", "maxLines", "whitespaces", "hyphenation", "expandable", "isCollapsed"], outputs: ["isCollapsedChange"] }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
49
|
-
}
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaNetworkOfflineComponent, decorators: [{
|
|
51
|
-
type: Component,
|
|
52
|
-
args: [{ selector: 'bsu-barsa-network-offline', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #container>\r\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\" #dialogTpl>\r\n <fd-dialog-header>\r\n <h1 fd-title>{{ 'ErrorInConnection' | bbbTranslate }}</h1>\r\n </fd-dialog-header>\r\n\r\n <fd-dialog-body class=\"offline-wrapper\">\r\n <img src=\"assets/svg/offline-internet-icon.svg\" />\r\n <div>\r\n <h3 fd-title>{{ 'NetworkOffline' | bbbTranslate }}</h3>\r\n <fd-text [text]=\"'NetworkOfflineDescription' | bbbTranslate\"></fd-text>\r\n </div>\r\n </fd-dialog-body>\r\n <fd-dialog-footer>\r\n <ng-template fdkTemplate=\"footer\">\r\n <div fd-bar-right>\r\n <fd-button-bar\r\n fdType=\"emphasized\"\r\n [label]=\"'Continue' | bbbTranslate\"\r\n (click)=\"dialog.dismiss('Close button')\"\r\n >\r\n </fd-button-bar>\r\n </div>\r\n </ng-template>\r\n </fd-dialog-footer>\r\n </fd-dialog>\r\n</ng-template>\r\n", styles: [".offline-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center}\n"] }]
|
|
53
|
-
}], ctorParameters: () => [{ type: i1.DialogService }, { type: i2.NetworkStatusService }, { type: i2.PortalService }], propDecorators: { dialogContainer: [{
|
|
54
|
-
type: ViewChild,
|
|
55
|
-
args: ['container', { read: TemplateRef }]
|
|
56
|
-
}] } });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtbmV0d29yay1vZmZsaW5lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL2JhcnNhLW5ldHdvcmstb2ZmbGluZS9iYXJzYS1uZXR3b3JrLW9mZmxpbmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtbmV0d29yay1vZmZsaW5lL2JhcnNhLW5ldHdvcmstb2ZmbGluZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0YsT0FBTyxFQUVILGFBQWEsRUFDYixhQUFhLEVBR2hCLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7OztBQVE5QixNQUFNLE9BQU8sNEJBQTZCLFNBQVEsYUFBYTtJQUszRCxZQUNZLGNBQTZCLEVBQ3JDLHFCQUEyQyxFQUMzQyxjQUE2QjtRQUU3QixLQUFLLEVBQUUsQ0FBQztRQUpBLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBS3JDLGNBQWMsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwRSxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDdEQsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNWLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzdCLENBQUM7aUJBQU0sSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1lBQzNCLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFDRCxpQkFBaUI7UUFDYixNQUFNLFdBQVcsR0FBRyxhQUFhLEVBQUUsQ0FBQztRQUNwQyxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ2QsT0FBTztRQUNYLENBQUM7UUFFRCxNQUFNLFlBQVksR0FBMkI7WUFDekMsZUFBZSxFQUFFLEtBQUs7WUFDdEIsZ0JBQWdCLEVBQUUseUJBQXlCO1lBQzNDLGVBQWUsRUFBRSxLQUFLO1NBQ3pCLENBQUM7UUFFRiw4QkFBOEI7UUFDOUIsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQ3BCLFlBQVksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ25DLENBQUM7YUFBTSxDQUFDO1lBQ0osWUFBWSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUM7WUFDN0IsWUFBWSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7WUFDN0IsWUFBWSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUM7UUFDckMsQ0FBQztRQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUNuRixDQUFDOytHQTNDUSw0QkFBNEI7bUdBQTVCLDRCQUE0QiwwSkFDTCxXQUFXLG9EQ2pCL0MseXFDQTJCQTs7NEZEWGEsNEJBQTRCO2tCQVB4QyxTQUFTOytCQUNJLDJCQUEyQixtQkFHcEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxLQUFLO2lKQUlqQixlQUFlO3NCQURkLFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIFZpZXdDaGlsZCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGlhbG9nUmVmLCBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcclxuaW1wb3J0IHtcclxuICAgIEFiYnJldmF0aW9uRGV2aWNlU2l6ZSxcclxuICAgIEJhc2VDb21wb25lbnQsXHJcbiAgICBpc0luTG9jYWxNb2RlLFxyXG4gICAgTmV0d29ya1N0YXR1c1NlcnZpY2UsXHJcbiAgICBQb3J0YWxTZXJ2aWNlXHJcbn0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnN1LWJhcnNhLW5ldHdvcmstb2ZmbGluZScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vYmFyc2EtbmV0d29yay1vZmZsaW5lLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2JhcnNhLW5ldHdvcmstb2ZmbGluZS5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmFyc2FOZXR3b3JrT2ZmbGluZUNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xyXG4gICAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxyXG4gICAgZGlhbG9nQ29udGFpbmVyOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gICAgX2RpYWxvZ1JlZjogRGlhbG9nUmVmPGFueT4gfCBudWxsO1xyXG4gICAgc2l6ZTogQWJicmV2YXRpb25EZXZpY2VTaXplO1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBfZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSxcclxuICAgICAgICBfbmV0d29ya1N0YXR1c1NlcnZpY2U6IE5ldHdvcmtTdGF0dXNTZXJ2aWNlLFxyXG4gICAgICAgIF9wb3J0YWxTZXJ2aWNlOiBQb3J0YWxTZXJ2aWNlXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIF9wb3J0YWxTZXJ2aWNlLmRldmljZVNpemUkLnBpcGUoKS5zdWJzY3JpYmUoKGMpID0+ICh0aGlzLnNpemUgPSBjKSk7XHJcbiAgICAgICAgX25ldHdvcmtTdGF0dXNTZXJ2aWNlLm5ldHdvcmtTdGF0dXMkLnN1YnNjcmliZSgoc3RhdHVzKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICghc3RhdHVzKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm9wZW5PZmZsaW5lRGlhbG9nKCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5fZGlhbG9nUmVmKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9kaWFsb2dSZWYuY2xvc2UoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2RpYWxvZ1JlZiA9IG51bGw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIG9wZW5PZmZsaW5lRGlhbG9nKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGluTG9jYWxNb2RlID0gaXNJbkxvY2FsTW9kZSgpO1xyXG4gICAgICAgIGlmIChpbkxvY2FsTW9kZSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBkaWFsb2dDb25maWc6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7XHJcbiAgICAgICAgICAgIGVzY0tleUNsb3NlYWJsZTogZmFsc2UsXHJcbiAgICAgICAgICAgIGRpYWxvZ1BhbmVsQ2xhc3M6IGBvZmZsaW5lLWludGVybmV0LWRpYWxvZ2AsXHJcbiAgICAgICAgICAgIHZlcnRpY2FsUGFkZGluZzogZmFsc2VcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICAvLyBkaWFsb2dDb25maWcubW9iaWxlID0gdHJ1ZTtcclxuICAgICAgICBpZiAodGhpcy5zaXplID09PSAncycpIHtcclxuICAgICAgICAgICAgZGlhbG9nQ29uZmlnLmZ1bGxTY3JlZW4gPSB0cnVlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGRpYWxvZ0NvbmZpZy53aWR0aCA9ICczODBweCc7XHJcbiAgICAgICAgICAgIGRpYWxvZ0NvbmZpZy5oZWlnaHQgPSAnYXV0byc7XHJcbiAgICAgICAgICAgIGRpYWxvZ0NvbmZpZy5taW5IZWlnaHQgPSAnMzIwcHgnO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5fZGlhbG9nUmVmID0gdGhpcy5fZGlhbG9nU2VydmljZS5vcGVuKHRoaXMuZGlhbG9nQ29udGFpbmVyLCBkaWFsb2dDb25maWcpO1xyXG4gICAgfVxyXG59XHJcbiIsIjxuZy10ZW1wbGF0ZSBsZXQtZGlhbG9nIGxldC1kaWFsb2dDb25maWc9XCJkaWFsb2dDb25maWdcIiAjY29udGFpbmVyPlxyXG4gICAgPGZkLWRpYWxvZyBbZGlhbG9nQ29uZmlnXT1cImRpYWxvZ0NvbmZpZ1wiIFtkaWFsb2dSZWZdPVwiZGlhbG9nXCIgI2RpYWxvZ1RwbD5cclxuICAgICAgICA8ZmQtZGlhbG9nLWhlYWRlcj5cclxuICAgICAgICAgICAgPGgxIGZkLXRpdGxlPnt7ICdFcnJvckluQ29ubmVjdGlvbicgfCBiYmJUcmFuc2xhdGUgfX08L2gxPlxyXG4gICAgICAgIDwvZmQtZGlhbG9nLWhlYWRlcj5cclxuXHJcbiAgICAgICAgPGZkLWRpYWxvZy1ib2R5IGNsYXNzPVwib2ZmbGluZS13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgIDxpbWcgc3JjPVwiYXNzZXRzL3N2Zy9vZmZsaW5lLWludGVybmV0LWljb24uc3ZnXCIgLz5cclxuICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgIDxoMyBmZC10aXRsZT57eyAnTmV0d29ya09mZmxpbmUnIHwgYmJiVHJhbnNsYXRlIH19PC9oMz5cclxuICAgICAgICAgICAgICAgIDxmZC10ZXh0IFt0ZXh0XT1cIidOZXR3b3JrT2ZmbGluZURlc2NyaXB0aW9uJyB8IGJiYlRyYW5zbGF0ZVwiPjwvZmQtdGV4dD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9mZC1kaWFsb2ctYm9keT5cclxuICAgICAgICA8ZmQtZGlhbG9nLWZvb3Rlcj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGZka1RlbXBsYXRlPVwiZm9vdGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGZkLWJhci1yaWdodD5cclxuICAgICAgICAgICAgICAgICAgICA8ZmQtYnV0dG9uLWJhclxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmZFR5cGU9XCJlbXBoYXNpemVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidDb250aW51ZScgfCBiYmJUcmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGlhbG9nLmRpc21pc3MoJ0Nsb3NlIGJ1dHRvbicpXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9mZC1idXR0b24tYmFyPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9mZC1kaWFsb2ctZm9vdGVyPlxyXG4gICAgPC9mZC1kaWFsb2c+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
-
import { FieldBaseComponent, DateService, getDateService, LogService, BarsaApi } from 'barsa-novin-ray-core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
import * as i2 from "@fundamental-ngx/core/avatar";
|
|
6
|
-
import * as i3 from "@fundamental-ngx/core/link";
|
|
7
|
-
import * as i4 from "@fundamental-ngx/core/button";
|
|
8
|
-
import * as i5 from "@fundamental-ngx/core/card";
|
|
9
|
-
import * as i6 from "@fundamental-ngx/core/info-label";
|
|
10
|
-
import * as i7 from "@fundamental-ngx/core/list";
|
|
11
|
-
import * as i8 from "@fundamental-ngx/core/title";
|
|
12
|
-
import * as i9 from "@fundamental-ngx/core/message-strip";
|
|
13
|
-
import * as i10 from "@fundamental-ngx/core/object-identifier";
|
|
14
|
-
import * as i11 from "@fundamental-ngx/core/panel";
|
|
15
|
-
import * as i12 from "@fundamental-ngx/core/popover";
|
|
16
|
-
import * as i13 from "../file-viewer-popover/file-viewer-popover.component";
|
|
17
|
-
import * as i14 from "../download-files.directive";
|
|
18
|
-
import * as i15 from "barsa-novin-ray-core";
|
|
19
|
-
export class BarsaPishnamayeshPayamComponent extends FieldBaseComponent {
|
|
20
|
-
constructor() {
|
|
21
|
-
super(...arguments);
|
|
22
|
-
this.expanded = true;
|
|
23
|
-
}
|
|
24
|
-
ngOnInit() {
|
|
25
|
-
super.ngOnInit();
|
|
26
|
-
const mo = this.context?.FormPanelUi?.Mo;
|
|
27
|
-
if (mo) {
|
|
28
|
-
let mailContent = mo[this.Setting.ControlName];
|
|
29
|
-
const $FieldDict = mailContent.$FieldDict;
|
|
30
|
-
if ($FieldDict) {
|
|
31
|
-
mailContent = mailContent[$FieldDict['محتوای پیام']];
|
|
32
|
-
}
|
|
33
|
-
this.data = new PayamClassType(mailContent, this._domSanitizer, this._dateService);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
_setValue(val) {
|
|
37
|
-
super._setValue(val);
|
|
38
|
-
}
|
|
39
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaPishnamayeshPayamComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
40
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BarsaPishnamayeshPayamComponent, selector: "bsu-barsa-pishnamayesh-payam", providers: [
|
|
41
|
-
{
|
|
42
|
-
provide: DateService,
|
|
43
|
-
useFactory: getDateService,
|
|
44
|
-
deps: [LogService]
|
|
45
|
-
}
|
|
46
|
-
], usesInheritance: true, ngImport: i0, template: "@if (data) {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n showPayamClass;\r\n context: {\r\n $implicit: data,\r\n primary: !data?.$details?.length,\r\n isFirst: true\r\n }\r\n \"\r\n>\r\n</ng-container>\r\n}\r\n<ng-template #showPayamClass let-data let-primary=\"primary\" let-isFirst=\"isFirst\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n namayeshPayam;\r\n context: {\r\n $implicit: data.payam.Subject,\r\n mailNoText: data.payam.MailNoText,\r\n fromText: data.payam.FromText,\r\n toText: data.$toText,\r\n importance: data.$importance,\r\n readDate: data.$readDate,\r\n sendDate: data.$sendDate,\r\n ccText: data.$ccText,\r\n bccText: data.$bccText,\r\n accessLevel: data.$accessLevel,\r\n content: data.$content,\r\n fromPhoto: data.$fromPhoto,\r\n details: data.$details,\r\n attachments: data.$attachments,\r\n todo: data.$todo,\r\n customText: data.payam.CustomText,\r\n primary: primary,\r\n isFirst: isFirst\r\n }\r\n \"\r\n >\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template\r\n #namayeshPayam\r\n let-subject\r\n let-mailNoText=\"mailNoText\"\r\n let-content=\"content\"\r\n let-fromText=\"fromText\"\r\n let-toText=\"toText\"\r\n let-importance=\"importance\"\r\n let-readDate=\"readDate\"\r\n let-sendDate=\"sendDate\"\r\n let-ccText=\"ccText\"\r\n let-bccText=\"bccText\"\r\n let-fromPhoto=\"fromPhoto\"\r\n let-details=\"details\"\r\n let-accessLevel=\"accessLevel\"\r\n let-primary=\"primary\"\r\n let-isFirst=\"isFirst\"\r\n let-attachments=\"attachments\"\r\n let-todo=\"todo\"\r\n let-customText=\"customText\"\r\n>\r\n <fd-card cardType=\"object\">\r\n <fd-card-header>\r\n <fd-card-main-header>\r\n <fd-avatar\r\n [image]=\"fromPhoto\"\r\n [circle]=\"true\"\r\n size=\"s\"\r\n [ariaLabel]=\"fromText\"\r\n [label]=\"fromText\"\r\n [title]=\"fromText\"\r\n ></fd-avatar>\r\n <div fd-card-title class=\"header-fields\">\r\n <h5 fd-title>\r\n <a fd-link [emphasized]=\"true\" aria-label=\"Sender\"> {{ fromText }}</a>\r\n </h5>\r\n <fd-object-identifier [description]=\"'(' + sendDate + ')'\"> </fd-object-identifier>\r\n </div>\r\n <div fd-card-subtitle>\r\n <h5 fd-title>\r\n {{ subject }} @if(mailNoText){ <span>({{ mailNoText }})</span>}\r\n </h5>\r\n <fd-popover>\r\n <fd-popover-control>\r\n <button fd-button fdType=\"transparent\" [fdMenu]=\"true\">\r\n {{ 'Recievers' | bbbTranslate }}\r\n </button>\r\n </fd-popover-control>\r\n <fd-popover-body>\r\n <ul fd-list>\r\n @for (rec of toText; track rec) {\r\n <li fd-list-item>\r\n <a fd-list-link>{{ rec }}</a>\r\n </li>\r\n }\r\n </ul>\r\n </fd-popover-body>\r\n </fd-popover>\r\n </div>\r\n </fd-card-main-header>\r\n </fd-card-header>\r\n <fd-card-content>\r\n <fd-panel [expanded]=\"isFirst\">\r\n <div fd-panel-title id=\"panel-expandable-title-1\">\r\n <h5 fd-title>{{ '\u0645\u062D\u062A\u0648\u0627\u06CC \u067E\u06CC\u0627\u0645' | bbbTranslate }}</h5>\r\n <div class=\"payamIcons\">\r\n @if (importance.icon) {\r\n <fd-popover>\r\n <fd-popover-control>\r\n <img [src]=\"'/Customization/Mail/' + importance.icon\" />\r\n </fd-popover-control>\r\n <fd-popover-body>\r\n <ul fd-list>\r\n <li fd-list-item>{{ importance.text }}</li>\r\n </ul>\r\n </fd-popover-body>\r\n </fd-popover>\r\n } @if (accessLevel.icon) {\r\n <fd-popover>\r\n <fd-popover-control>\r\n <img [src]=\"'/Customization/Mail/' + accessLevel.icon\" />\r\n </fd-popover-control>\r\n <fd-popover-body>\r\n <ul fd-list>\r\n <li fd-list-item>{{ accessLevel.text }}</li>\r\n </ul>\r\n </fd-popover-body>\r\n </fd-popover>\r\n } @if (todo) {\r\n <fd-info-label [label]=\"todo.text\" [color]=\"todo.color\" [title]=\"todo.text\"></fd-info-label>\r\n }\r\n </div>\r\n </div>\r\n <div fd-panel-content>\r\n @if (customText) {\r\n <div>\r\n <fd-message-strip type=\"information\" [noIcon]=\"true\" [dismissible]=\"false\">\r\n {{ customText }}\r\n </fd-message-strip>\r\n </div>\r\n }\r\n <div [innerHtml]=\"content\" [disable]=\"!primary || attachments?.length\"></div>\r\n\r\n @if (attachments?.length) {\r\n <div class=\"file-viewer-attachments\">\r\n @for (file of attachments; track file) { @if (!file.IsDeleted) {\r\n <bsu-file-viewer-popover\r\n [file]=\"file\"\r\n [files]=\"attachments\"\r\n [deviceSize]=\"(deviceSize$ | async)!!\"\r\n [canDownload]=\"true\"\r\n [disableRemove]=\"true\"\r\n ></bsu-file-viewer-popover>\r\n } } @if (attachments.length > 1) {\r\n <button\r\n fd-button\r\n [title]=\"'Download' | bbbTranslate\"\r\n [glyph]=\"'download'\"\r\n downloadFiles\r\n [files]=\"attachments\"\r\n ></button>\r\n }\r\n </div>\r\n }\r\n <div class=\"readAt\">\r\n @if (readDate) {\r\n <fd-object-identifier [description]=\"('ReadAt' | bbbTranslate) + ': (' + readDate + ')'\">\r\n </fd-object-identifier>\r\n }\r\n </div>\r\n </div>\r\n </fd-panel>\r\n </fd-card-content>\r\n <!-- <fd-card-footer>\r\n <button *fdCardFooterActionItem fd-button fdCompact>Assign to Project</button>\r\n </fd-card-footer> -->\r\n </fd-card>\r\n @for (detail of details; track detail) {\r\n <ng-contianer>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n showPayamClass;\r\n context: {\r\n $implicit: detail\r\n }\r\n \"\r\n >\r\n </ng-container>\r\n </ng-contianer>\r\n }\r\n</ng-template>\r\n", styles: [":host{display:block;position:relative;width:100%;height:100%}:host ::ng-deep .fd-panel__content{border-bottom:none;padding-bottom:5px}:host ::ng-deep .fd-card__subtitle{display:flex;align-items:center;column-gap:5px;justify-content:start;height:auto;max-height:initial}:host ::ng-deep .fd-card__subtitle h5{white-space:initial!important}:host ::ng-deep .fd-object-identifier__text{margin-top:0}:host ::ng-deep .fd-panel__header{border-bottom:none}:host ::ng-deep ol{list-style:auto;margin:unset;padding:revert}fd-card-header{cursor:default;border-bottom:none!important}fd-card-header:before{position:relative!important;display:none!important}fd-card-header:hover{background:var(--fdCard_Background_Color)!important}.readAt{padding-top:2rem}.readAt ::ng-deep p{color:var(--sapButton_BorderColor)!important}.payamIcons{display:flex;column-gap:5px}.payamIcons img{width:16px}@media (max-width: 410px){h5{max-width:210px}}@media (max-width: 1040px){.h5{max-width:600px}}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "font", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "colorIndication", "random", "clickable", "valueState", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: i3.LinkComponent, selector: "[fdLink], [fd-link]", inputs: ["class", "emphasized", "disabled", "inverted", "subtle", "undecorated"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5.CardComponent, selector: "fd-card", inputs: ["badge", "badgeIcon", "badgeColor", "badgeColorSecondary", "badgeStatus", "badgeAriaLabel", "secondBadge", "secondBadgeIcon", "secondBadgeColor", "secondBadgeColorSecondary", "secondBadgeStatus", "secondBadgeAriaLabel", "isLoading", "cardType", "id", "ariaRoledescription", "ariaDescription", "ariaLabel", "role", "interactive", "selected", "ariaPosinset", "ariaSetsize"], outputs: ["ariaPosinsetChange", "ariaSetsizeChange"] }, { kind: "component", type: i5.CardHeaderComponent, selector: "fd-card-header", inputs: ["ariaRoleDescription"] }, { kind: "component", type: i5.CardMainHeaderComponent, selector: "fd-card-main-header", inputs: ["interactive", "title"] }, { kind: "component", type: i5.CardContentComponent, selector: "fd-card-content" }, { kind: "directive", type: i5.CardTitleDirective, selector: "[fd-card-title]", inputs: ["id"] }, { kind: "directive", type: i5.CardSubtitleDirective, selector: "[fd-card-subtitle]" }, { kind: "component", type: i6.InfoLabelComponent, selector: "fd-info-label", inputs: ["class", "type", "glyph", "font", "color", "label", "title", "ariaLabel", "ariaLabelledBy"] }, { kind: "component", type: i7.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator", "role"], outputs: ["focusEscapeList"] }, { kind: "component", type: i7.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "ariaRole", "id", "preventClick"], outputs: ["keyDown"] }, { kind: "directive", type: i7.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated", "focusable"] }, { kind: "component", type: i8.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "component", type: i9.MessageStripComponent, selector: "fd-message-strip", inputs: ["class", "dismissible", "noIcon", "type", "id", "ariaLabelledBy", "ariaLabel", "width", "minWidth", "marginBottom", "indicationColor"], outputs: ["onDismiss"] }, { kind: "component", type: i10.ObjectIdentifierComponent, selector: "fd-object-identifier", inputs: ["description", "bold", "medium"] }, { kind: "component", type: i11.PanelComponent, selector: "fd-panel", inputs: ["class", "fixed", "id", "expandId", "expandAriaLabel", "expandAriaLabelledBy", "expanded"], outputs: ["expandedChange"] }, { kind: "directive", type: i11.PanelContentDirective, selector: "[fd-panel-content]", inputs: ["height", "minHeight", "maxHeight", "ariaLabel", "ariaLabelledBy", "role", "id"] }, { kind: "directive", type: i11.PanelTitleDirective, selector: "[fd-panel-title]", inputs: ["id"] }, { kind: "component", type: i12.PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: i12.PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "component", type: i12.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }, { kind: "component", type: i13.FileViewerPopoverComponent, selector: "bsu-file-viewer-popover", inputs: ["files", "file", "deviceSize", "canDownload", "disableRemove", "fdType", "attachmentViewType"], outputs: ["remove"] }, { kind: "directive", type: i14.DownloadFilesDirective, selector: "[downloadFiles]", inputs: ["files"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i15.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
47
|
-
}
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaPishnamayeshPayamComponent, decorators: [{
|
|
49
|
-
type: Component,
|
|
50
|
-
args: [{ selector: 'bsu-barsa-pishnamayesh-payam', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
51
|
-
{
|
|
52
|
-
provide: DateService,
|
|
53
|
-
useFactory: getDateService,
|
|
54
|
-
deps: [LogService]
|
|
55
|
-
}
|
|
56
|
-
], standalone: false, template: "@if (data) {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n showPayamClass;\r\n context: {\r\n $implicit: data,\r\n primary: !data?.$details?.length,\r\n isFirst: true\r\n }\r\n \"\r\n>\r\n</ng-container>\r\n}\r\n<ng-template #showPayamClass let-data let-primary=\"primary\" let-isFirst=\"isFirst\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n namayeshPayam;\r\n context: {\r\n $implicit: data.payam.Subject,\r\n mailNoText: data.payam.MailNoText,\r\n fromText: data.payam.FromText,\r\n toText: data.$toText,\r\n importance: data.$importance,\r\n readDate: data.$readDate,\r\n sendDate: data.$sendDate,\r\n ccText: data.$ccText,\r\n bccText: data.$bccText,\r\n accessLevel: data.$accessLevel,\r\n content: data.$content,\r\n fromPhoto: data.$fromPhoto,\r\n details: data.$details,\r\n attachments: data.$attachments,\r\n todo: data.$todo,\r\n customText: data.payam.CustomText,\r\n primary: primary,\r\n isFirst: isFirst\r\n }\r\n \"\r\n >\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template\r\n #namayeshPayam\r\n let-subject\r\n let-mailNoText=\"mailNoText\"\r\n let-content=\"content\"\r\n let-fromText=\"fromText\"\r\n let-toText=\"toText\"\r\n let-importance=\"importance\"\r\n let-readDate=\"readDate\"\r\n let-sendDate=\"sendDate\"\r\n let-ccText=\"ccText\"\r\n let-bccText=\"bccText\"\r\n let-fromPhoto=\"fromPhoto\"\r\n let-details=\"details\"\r\n let-accessLevel=\"accessLevel\"\r\n let-primary=\"primary\"\r\n let-isFirst=\"isFirst\"\r\n let-attachments=\"attachments\"\r\n let-todo=\"todo\"\r\n let-customText=\"customText\"\r\n>\r\n <fd-card cardType=\"object\">\r\n <fd-card-header>\r\n <fd-card-main-header>\r\n <fd-avatar\r\n [image]=\"fromPhoto\"\r\n [circle]=\"true\"\r\n size=\"s\"\r\n [ariaLabel]=\"fromText\"\r\n [label]=\"fromText\"\r\n [title]=\"fromText\"\r\n ></fd-avatar>\r\n <div fd-card-title class=\"header-fields\">\r\n <h5 fd-title>\r\n <a fd-link [emphasized]=\"true\" aria-label=\"Sender\"> {{ fromText }}</a>\r\n </h5>\r\n <fd-object-identifier [description]=\"'(' + sendDate + ')'\"> </fd-object-identifier>\r\n </div>\r\n <div fd-card-subtitle>\r\n <h5 fd-title>\r\n {{ subject }} @if(mailNoText){ <span>({{ mailNoText }})</span>}\r\n </h5>\r\n <fd-popover>\r\n <fd-popover-control>\r\n <button fd-button fdType=\"transparent\" [fdMenu]=\"true\">\r\n {{ 'Recievers' | bbbTranslate }}\r\n </button>\r\n </fd-popover-control>\r\n <fd-popover-body>\r\n <ul fd-list>\r\n @for (rec of toText; track rec) {\r\n <li fd-list-item>\r\n <a fd-list-link>{{ rec }}</a>\r\n </li>\r\n }\r\n </ul>\r\n </fd-popover-body>\r\n </fd-popover>\r\n </div>\r\n </fd-card-main-header>\r\n </fd-card-header>\r\n <fd-card-content>\r\n <fd-panel [expanded]=\"isFirst\">\r\n <div fd-panel-title id=\"panel-expandable-title-1\">\r\n <h5 fd-title>{{ '\u0645\u062D\u062A\u0648\u0627\u06CC \u067E\u06CC\u0627\u0645' | bbbTranslate }}</h5>\r\n <div class=\"payamIcons\">\r\n @if (importance.icon) {\r\n <fd-popover>\r\n <fd-popover-control>\r\n <img [src]=\"'/Customization/Mail/' + importance.icon\" />\r\n </fd-popover-control>\r\n <fd-popover-body>\r\n <ul fd-list>\r\n <li fd-list-item>{{ importance.text }}</li>\r\n </ul>\r\n </fd-popover-body>\r\n </fd-popover>\r\n } @if (accessLevel.icon) {\r\n <fd-popover>\r\n <fd-popover-control>\r\n <img [src]=\"'/Customization/Mail/' + accessLevel.icon\" />\r\n </fd-popover-control>\r\n <fd-popover-body>\r\n <ul fd-list>\r\n <li fd-list-item>{{ accessLevel.text }}</li>\r\n </ul>\r\n </fd-popover-body>\r\n </fd-popover>\r\n } @if (todo) {\r\n <fd-info-label [label]=\"todo.text\" [color]=\"todo.color\" [title]=\"todo.text\"></fd-info-label>\r\n }\r\n </div>\r\n </div>\r\n <div fd-panel-content>\r\n @if (customText) {\r\n <div>\r\n <fd-message-strip type=\"information\" [noIcon]=\"true\" [dismissible]=\"false\">\r\n {{ customText }}\r\n </fd-message-strip>\r\n </div>\r\n }\r\n <div [innerHtml]=\"content\" [disable]=\"!primary || attachments?.length\"></div>\r\n\r\n @if (attachments?.length) {\r\n <div class=\"file-viewer-attachments\">\r\n @for (file of attachments; track file) { @if (!file.IsDeleted) {\r\n <bsu-file-viewer-popover\r\n [file]=\"file\"\r\n [files]=\"attachments\"\r\n [deviceSize]=\"(deviceSize$ | async)!!\"\r\n [canDownload]=\"true\"\r\n [disableRemove]=\"true\"\r\n ></bsu-file-viewer-popover>\r\n } } @if (attachments.length > 1) {\r\n <button\r\n fd-button\r\n [title]=\"'Download' | bbbTranslate\"\r\n [glyph]=\"'download'\"\r\n downloadFiles\r\n [files]=\"attachments\"\r\n ></button>\r\n }\r\n </div>\r\n }\r\n <div class=\"readAt\">\r\n @if (readDate) {\r\n <fd-object-identifier [description]=\"('ReadAt' | bbbTranslate) + ': (' + readDate + ')'\">\r\n </fd-object-identifier>\r\n }\r\n </div>\r\n </div>\r\n </fd-panel>\r\n </fd-card-content>\r\n <!-- <fd-card-footer>\r\n <button *fdCardFooterActionItem fd-button fdCompact>Assign to Project</button>\r\n </fd-card-footer> -->\r\n </fd-card>\r\n @for (detail of details; track detail) {\r\n <ng-contianer>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n showPayamClass;\r\n context: {\r\n $implicit: detail\r\n }\r\n \"\r\n >\r\n </ng-container>\r\n </ng-contianer>\r\n }\r\n</ng-template>\r\n", styles: [":host{display:block;position:relative;width:100%;height:100%}:host ::ng-deep .fd-panel__content{border-bottom:none;padding-bottom:5px}:host ::ng-deep .fd-card__subtitle{display:flex;align-items:center;column-gap:5px;justify-content:start;height:auto;max-height:initial}:host ::ng-deep .fd-card__subtitle h5{white-space:initial!important}:host ::ng-deep .fd-object-identifier__text{margin-top:0}:host ::ng-deep .fd-panel__header{border-bottom:none}:host ::ng-deep ol{list-style:auto;margin:unset;padding:revert}fd-card-header{cursor:default;border-bottom:none!important}fd-card-header:before{position:relative!important;display:none!important}fd-card-header:hover{background:var(--fdCard_Background_Color)!important}.readAt{padding-top:2rem}.readAt ::ng-deep p{color:var(--sapButton_BorderColor)!important}.payamIcons{display:flex;column-gap:5px}.payamIcons img{width:16px}@media (max-width: 410px){h5{max-width:210px}}@media (max-width: 1040px){.h5{max-width:600px}}\n"] }]
|
|
57
|
-
}] });
|
|
58
|
-
class PayamClassType {
|
|
59
|
-
constructor(payam, _domSanitizer, _dateService) {
|
|
60
|
-
this.payam = payam;
|
|
61
|
-
this._domSanitizer = _domSanitizer;
|
|
62
|
-
this._dateService = _dateService;
|
|
63
|
-
this.$content = this._domSanitizer.bypassSecurityTrustHtml(payam.ContentHtml);
|
|
64
|
-
this.$sendDate = this._getDateString(payam.SendDate);
|
|
65
|
-
this.$readDate = !payam.ReadDate ? '' : this._getDateString(payam.ReadDate);
|
|
66
|
-
this.$toText = payam.ToText.split(';');
|
|
67
|
-
this.$ccText = payam.CcText?.split(';');
|
|
68
|
-
this.$bccText = payam.BccText?.split(';');
|
|
69
|
-
this.$fromPhoto = BarsaApi.Common.Util.GetIconUrl(payam.FromPhoto, null, null, 64);
|
|
70
|
-
this.$details = payam.Details?.map((c) => new PayamClassType(c, _domSanitizer, _dateService));
|
|
71
|
-
this.$attachments = payam.Attachments?.map((c) => ({
|
|
72
|
-
Id: c.Id,
|
|
73
|
-
IsNew: false,
|
|
74
|
-
IsDeleted: false,
|
|
75
|
-
Type: c.Extension,
|
|
76
|
-
FileName: `${c.Name}.${c.Extension}`
|
|
77
|
-
}));
|
|
78
|
-
this.$importance = {
|
|
79
|
-
icon: this._iconImportance(payam.Importance),
|
|
80
|
-
text: this._textImportance(payam.Importance)
|
|
81
|
-
};
|
|
82
|
-
this.$accessLevel = {
|
|
83
|
-
icon: this._iconAccessLevel(payam.AccessLevel),
|
|
84
|
-
text: this._textAccessLevel(payam.AccessLevel)
|
|
85
|
-
};
|
|
86
|
-
if (payam.Todo?.DueDate) {
|
|
87
|
-
this.$todo = this._textTodo(payam.Todo);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
_textTodo(todo) {
|
|
91
|
-
if (!todo || !todo.DueDate) {
|
|
92
|
-
return { text: '', color: '10' };
|
|
93
|
-
}
|
|
94
|
-
let dueDateStr = '';
|
|
95
|
-
let doneDateStr = '';
|
|
96
|
-
if (BarsaApi.Ext.isString(todo.DueDate)) {
|
|
97
|
-
dueDateStr = this._getDateString(todo.DueDate);
|
|
98
|
-
}
|
|
99
|
-
if (todo.DoneDate) {
|
|
100
|
-
doneDateStr = this._getDateString(todo.DoneDate);
|
|
101
|
-
}
|
|
102
|
-
// eslint-disable-next-line no-eval
|
|
103
|
-
const dueDate = eval(todo.DueDate);
|
|
104
|
-
if (todo.State === 2) {
|
|
105
|
-
return { text: BarsaApi.BBB.Mail_TodoCompleted + ': ' + doneDateStr, color: '8' };
|
|
106
|
-
}
|
|
107
|
-
else if (new Date().getTime() < dueDate.getTime()) {
|
|
108
|
-
return { text: BarsaApi.BBB.Mail_TodoDueDate + ': ' + dueDateStr, color: '1' };
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
return {
|
|
112
|
-
text: BarsaApi.BBB.Mail_TodoOverdue + ': ' + (doneDateStr ? doneDateStr : dueDateStr),
|
|
113
|
-
color: '2'
|
|
114
|
-
};
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
_textImportance(i) {
|
|
118
|
-
if (i) {
|
|
119
|
-
return BarsaApi.BBB['Mail_Importance' + i];
|
|
120
|
-
}
|
|
121
|
-
return null;
|
|
122
|
-
}
|
|
123
|
-
_textAccessLevel(i) {
|
|
124
|
-
if (i) {
|
|
125
|
-
return BarsaApi.BBB['Mail_Sensitivity' + i];
|
|
126
|
-
}
|
|
127
|
-
return null;
|
|
128
|
-
}
|
|
129
|
-
_iconImportance(i) {
|
|
130
|
-
if (i) {
|
|
131
|
-
return 'priority_' + i.toString() + '.png';
|
|
132
|
-
}
|
|
133
|
-
return null;
|
|
134
|
-
}
|
|
135
|
-
_iconAccessLevel(i) {
|
|
136
|
-
if (i) {
|
|
137
|
-
return 'lock_' + i.toString() + '.png';
|
|
138
|
-
}
|
|
139
|
-
return null;
|
|
140
|
-
}
|
|
141
|
-
_getSize(size) {
|
|
142
|
-
size = size.replace('KB', 'کیلوبایت');
|
|
143
|
-
size = size.replace('MB', 'مگابایت');
|
|
144
|
-
size = size.replace('B', 'بایت');
|
|
145
|
-
return size;
|
|
146
|
-
}
|
|
147
|
-
_getAttachmentIcon(extension) {
|
|
148
|
-
if (BarsaApi.Ext.isEmpty(extension) === false) {
|
|
149
|
-
return '/assets/Images/FileTypeIcons/' + '_' + extension + '.PNG';
|
|
150
|
-
}
|
|
151
|
-
return null;
|
|
152
|
-
}
|
|
153
|
-
_getDateString(date) {
|
|
154
|
-
// eslint-disable-next-line no-eval
|
|
155
|
-
const dateInfo = this._dateService.getDateInfo(eval(date));
|
|
156
|
-
return `${dateInfo.dayName} ${dateInfo.day} ${dateInfo.monthName} ${dateInfo.year} ${dateInfo.hour}:${dateInfo.minutes}`;
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtcGlzaG5hbWF5ZXNoLXBheWFtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL2JhcnNhLXBpc2huYW1heWVzaC1wYXlhbS9iYXJzYS1waXNobmFtYXllc2gtcGF5YW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtcGlzaG5hbWF5ZXNoLXBheWFtL2JhcnNhLXBpc2huYW1heWVzaC1wYXlhbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRzNFLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsV0FBVyxFQUNYLGNBQWMsRUFDZCxVQUFVLEVBRVYsUUFBUSxFQUVYLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBZTlCLE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxrQkFBa0I7SUFkdkU7O1FBZ0JJLGFBQVEsR0FBRyxJQUFJLENBQUM7S0FpQm5CO0lBaEJHLFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsRUFBRSxDQUFDO1FBQ3pDLElBQUksRUFBRSxFQUFFLENBQUM7WUFDTCxJQUFJLFdBQVcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUUvQyxNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsVUFBVSxDQUFDO1lBQzFDLElBQUksVUFBVSxFQUFFLENBQUM7Z0JBQ2IsV0FBVyxHQUFHLFdBQVcsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztZQUN6RCxDQUFDO1lBQ0QsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLGNBQWMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDdkYsQ0FBQztJQUNMLENBQUM7SUFDUyxTQUFTLENBQUMsR0FBUTtRQUN4QixLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7K0dBbEJRLCtCQUErQjttR0FBL0IsK0JBQStCLHVEQVQ3QjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxXQUFXO2dCQUNwQixVQUFVLEVBQUUsY0FBYztnQkFDMUIsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDO2FBQ3JCO1NBQ0osaURDdkJMLHkrUEFpTUE7OzRGRHZLYSwrQkFBK0I7a0JBZDNDLFNBQVM7K0JBQ0ksOEJBQThCLG1CQUd2Qix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxXQUFXOzRCQUNwQixVQUFVLEVBQUUsY0FBYzs0QkFDMUIsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDO3lCQUNyQjtxQkFDSixjQUNXLEtBQUs7O0FBMkNyQixNQUFNLGNBQWM7SUFjaEIsWUFBbUIsS0FBZ0IsRUFBVSxhQUEyQixFQUFVLFlBQXlCO1FBQXhGLFVBQUssR0FBTCxLQUFLLENBQVc7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBQ3ZHLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDOUUsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU1RSxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDbkYsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxjQUFjLENBQUMsQ0FBQyxFQUFFLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQzlGLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDL0MsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFO1lBQ1IsS0FBSyxFQUFFLEtBQUs7WUFDWixTQUFTLEVBQUUsS0FBSztZQUNoQixJQUFJLEVBQUUsQ0FBQyxDQUFDLFNBQVM7WUFDakIsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFO1NBQ3ZDLENBQUMsQ0FBQyxDQUFDO1FBQ0osSUFBSSxDQUFDLFdBQVcsR0FBRztZQUNmLElBQUksRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7WUFDNUMsSUFBSSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQztTQUMvQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLFlBQVksR0FBRztZQUNoQixJQUFJLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUM7WUFDOUMsSUFBSSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDO1NBQ2pELENBQUM7UUFFRixJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QyxDQUFDO0lBQ0wsQ0FBQztJQUNPLFNBQVMsQ0FBQyxJQUFlO1FBQzdCLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDekIsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ3JDLENBQUM7UUFDRCxJQUFJLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDcEIsSUFBSSxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLElBQUksUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDdEMsVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25ELENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDckQsQ0FBQztRQUNELG1DQUFtQztRQUNuQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25DLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNuQixPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxHQUFHLFdBQVcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDdEYsQ0FBQzthQUFNLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztZQUNsRCxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxHQUFHLFVBQVUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDbkYsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPO2dCQUNILElBQUksRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLGdCQUFnQixHQUFHLElBQUksR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7Z0JBQ3JGLEtBQUssRUFBRSxHQUFHO2FBQ2IsQ0FBQztRQUNOLENBQUM7SUFDTCxDQUFDO0lBQ08sZUFBZSxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNKLE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMvQyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUNPLGdCQUFnQixDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNKLE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNoRCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUNPLGVBQWUsQ0FBQyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDSixPQUFPLFdBQVcsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEdBQUcsTUFBTSxDQUFDO1FBQy9DLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ08sZ0JBQWdCLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ0osT0FBTyxPQUFPLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxHQUFHLE1BQU0sQ0FBQztRQUMzQyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUNPLFFBQVEsQ0FBQyxJQUFZO1FBQ3pCLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN0QyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDckMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2pDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDTyxrQkFBa0IsQ0FBQyxTQUFTO1FBQ2hDLElBQUksUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDNUMsT0FBTywrQkFBK0IsR0FBRyxHQUFHLEdBQUcsU0FBUyxHQUFHLE1BQU0sQ0FBQztRQUN0RSxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUNPLGNBQWMsQ0FBQyxJQUFZO1FBQy9CLG1DQUFtQztRQUNuQyxNQUFNLFFBQVEsR0FBYSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNyRSxPQUFPLEdBQUcsUUFBUSxDQUFDLE9BQU8sSUFBSSxRQUFRLENBQUMsR0FBRyxJQUFJLFFBQVEsQ0FBQyxTQUFTLElBQUksUUFBUSxDQUFDLElBQUksSUFBSSxRQUFRLENBQUMsSUFBSSxJQUFJLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM3SCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5cclxuaW1wb3J0IHtcclxuICAgIEZpZWxkQmFzZUNvbXBvbmVudCxcclxuICAgIERhdGVTZXJ2aWNlLFxyXG4gICAgZ2V0RGF0ZVNlcnZpY2UsXHJcbiAgICBMb2dTZXJ2aWNlLFxyXG4gICAgRGF0ZUluZm8sXHJcbiAgICBCYXJzYUFwaSxcclxuICAgIEZpbGVBdHRhY2htZW50SW5mb1xyXG59IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JzdS1iYXJzYS1waXNobmFtYXllc2gtcGF5YW0nLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2JhcnNhLXBpc2huYW1heWVzaC1wYXlhbS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9iYXJzYS1waXNobmFtYXllc2gtcGF5YW0uY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBEYXRlU2VydmljZSxcclxuICAgICAgICAgICAgdXNlRmFjdG9yeTogZ2V0RGF0ZVNlcnZpY2UsXHJcbiAgICAgICAgICAgIGRlcHM6IFtMb2dTZXJ2aWNlXVxyXG4gICAgICAgIH1cclxuICAgIF0sXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmFyc2FQaXNobmFtYXllc2hQYXlhbUNvbXBvbmVudCBleHRlbmRzIEZpZWxkQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBkYXRhOiBQYXlhbUNsYXNzVHlwZTtcclxuICAgIGV4cGFuZGVkID0gdHJ1ZTtcclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgY29uc3QgbW8gPSB0aGlzLmNvbnRleHQ/LkZvcm1QYW5lbFVpPy5NbztcclxuICAgICAgICBpZiAobW8pIHtcclxuICAgICAgICAgICAgbGV0IG1haWxDb250ZW50ID0gbW9bdGhpcy5TZXR0aW5nLkNvbnRyb2xOYW1lXTtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0ICRGaWVsZERpY3QgPSBtYWlsQ29udGVudC4kRmllbGREaWN0O1xyXG4gICAgICAgICAgICBpZiAoJEZpZWxkRGljdCkge1xyXG4gICAgICAgICAgICAgICAgbWFpbENvbnRlbnQgPSBtYWlsQ29udGVudFskRmllbGREaWN0WyfZhdit2KrZiNin24wg2b7bjNin2YUnXV07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5kYXRhID0gbmV3IFBheWFtQ2xhc3NUeXBlKG1haWxDb250ZW50LCB0aGlzLl9kb21TYW5pdGl6ZXIsIHRoaXMuX2RhdGVTZXJ2aWNlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX3NldFZhbHVlKHZhbDogYW55KTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIuX3NldFZhbHVlKHZhbCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbnR5cGUgUGF5YW1UeXBlID0ge1xyXG4gICAgQWNjZXNzTGV2ZWw6IG51bWJlcjtcclxuICAgIEF0dGFjaG1lbnRzPzogUGF5YW1BdHRhY2htZW50W107IC8vIG51bGxcclxuICAgIEJjY1RleHQ6IHN0cmluZztcclxuICAgIFN1YmplY3Q6IHN0cmluZztcclxuICAgIE1haW5Ob1RleHQ6IHN0cmluZztcclxuICAgIENhdGVnb3J5U3RyaW5nOiBzdHJpbmc7XHJcbiAgICBDY1RleHQ6IHN0cmluZztcclxuICAgIENvbnRlbnRIdG1sOiBzdHJpbmc7XHJcbiAgICBDdXN0b21UZXh0OiBzdHJpbmc7XHJcbiAgICBGcm9tVGV4dDogc3RyaW5nO1xyXG4gICAgRnJvbVBob3RvOiBzdHJpbmc7XHJcbiAgICBPcmRlcjogbnVtYmVyOyAvLyAxXHJcbiAgICBJbXBvcnRhbmNlOiBudW1iZXI7XHJcbiAgICBSZWFkRGF0ZTogc3RyaW5nOyAvLyBcIm5ldyBEYXRlKDIwMjMsNiwyMCwxMSwyMSwxOSlcIlxyXG4gICAgU2VuZERhdGU6IHN0cmluZzsgLy8gXCJuZXcgRGF0ZSgyMDIzLDYsMjAsMTEsMjAsNTUpXCJcclxuICAgIFRvVGV4dDogc3RyaW5nO1xyXG4gICAgVG9kbzogUGF5YW1Ub2RvOyAvLyBudWxsXHJcbiAgICBEZXRhaWxzPzogUGF5YW1UeXBlW107XHJcbn07XHJcbmNsYXNzIFBheWFtQ2xhc3NUeXBlIHtcclxuICAgICRjb250ZW50PzogU2FmZUh0bWw7XHJcbiAgICAkc2VuZERhdGU/OiBzdHJpbmc7XHJcbiAgICAkcmVhZERhdGU/OiBzdHJpbmc7XHJcbiAgICAkZnJvbVBob3RvPzogc3RyaW5nO1xyXG4gICAgJHRvVGV4dD86IHN0cmluZ1tdO1xyXG4gICAgJGNjVGV4dD86IHN0cmluZ1tdO1xyXG4gICAgJGJjY1RleHQ/OiBzdHJpbmdbXTtcclxuICAgICRkZXRhaWxzPzogUGF5YW1DbGFzc1R5cGVbXTtcclxuICAgICRhdHRhY2htZW50cz86IEZpbGVBdHRhY2htZW50SW5mb1tdO1xyXG4gICAgJGltcG9ydGFuY2U6IHsgaWNvbjogc3RyaW5nIHwgbnVsbDsgdGV4dDogc3RyaW5nIHwgbnVsbCB9O1xyXG4gICAgJGFjY2Vzc0xldmVsOiB7IGljb246IHN0cmluZyB8IG51bGw7IHRleHQ6IHN0cmluZyB8IG51bGwgfTtcclxuICAgICR0b2RvOiB7IHRleHQ6IHN0cmluZzsgY29sb3I6IHN0cmluZyB9O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlhbTogUGF5YW1UeXBlLCBwcml2YXRlIF9kb21TYW5pdGl6ZXI6IERvbVNhbml0aXplciwgcHJpdmF0ZSBfZGF0ZVNlcnZpY2U6IERhdGVTZXJ2aWNlKSB7XHJcbiAgICAgICAgdGhpcy4kY29udGVudCA9IHRoaXMuX2RvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChwYXlhbS5Db250ZW50SHRtbCk7XHJcbiAgICAgICAgdGhpcy4kc2VuZERhdGUgPSB0aGlzLl9nZXREYXRlU3RyaW5nKHBheWFtLlNlbmREYXRlKTtcclxuICAgICAgICB0aGlzLiRyZWFkRGF0ZSA9ICFwYXlhbS5SZWFkRGF0ZSA/ICcnIDogdGhpcy5fZ2V0RGF0ZVN0cmluZyhwYXlhbS5SZWFkRGF0ZSk7XHJcblxyXG4gICAgICAgIHRoaXMuJHRvVGV4dCA9IHBheWFtLlRvVGV4dC5zcGxpdCgnOycpO1xyXG4gICAgICAgIHRoaXMuJGNjVGV4dCA9IHBheWFtLkNjVGV4dD8uc3BsaXQoJzsnKTtcclxuICAgICAgICB0aGlzLiRiY2NUZXh0ID0gcGF5YW0uQmNjVGV4dD8uc3BsaXQoJzsnKTtcclxuICAgICAgICB0aGlzLiRmcm9tUGhvdG8gPSBCYXJzYUFwaS5Db21tb24uVXRpbC5HZXRJY29uVXJsKHBheWFtLkZyb21QaG90bywgbnVsbCwgbnVsbCwgNjQpO1xyXG4gICAgICAgIHRoaXMuJGRldGFpbHMgPSBwYXlhbS5EZXRhaWxzPy5tYXAoKGMpID0+IG5ldyBQYXlhbUNsYXNzVHlwZShjLCBfZG9tU2FuaXRpemVyLCBfZGF0ZVNlcnZpY2UpKTtcclxuICAgICAgICB0aGlzLiRhdHRhY2htZW50cyA9IHBheWFtLkF0dGFjaG1lbnRzPy5tYXAoKGMpID0+ICh7XHJcbiAgICAgICAgICAgIElkOiBjLklkLFxyXG4gICAgICAgICAgICBJc05ldzogZmFsc2UsXHJcbiAgICAgICAgICAgIElzRGVsZXRlZDogZmFsc2UsXHJcbiAgICAgICAgICAgIFR5cGU6IGMuRXh0ZW5zaW9uLFxyXG4gICAgICAgICAgICBGaWxlTmFtZTogYCR7Yy5OYW1lfS4ke2MuRXh0ZW5zaW9ufWBcclxuICAgICAgICB9KSk7XHJcbiAgICAgICAgdGhpcy4kaW1wb3J0YW5jZSA9IHtcclxuICAgICAgICAgICAgaWNvbjogdGhpcy5faWNvbkltcG9ydGFuY2UocGF5YW0uSW1wb3J0YW5jZSksXHJcbiAgICAgICAgICAgIHRleHQ6IHRoaXMuX3RleHRJbXBvcnRhbmNlKHBheWFtLkltcG9ydGFuY2UpXHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGlzLiRhY2Nlc3NMZXZlbCA9IHtcclxuICAgICAgICAgICAgaWNvbjogdGhpcy5faWNvbkFjY2Vzc0xldmVsKHBheWFtLkFjY2Vzc0xldmVsKSxcclxuICAgICAgICAgICAgdGV4dDogdGhpcy5fdGV4dEFjY2Vzc0xldmVsKHBheWFtLkFjY2Vzc0xldmVsKVxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIGlmIChwYXlhbS5Ub2RvPy5EdWVEYXRlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuJHRvZG8gPSB0aGlzLl90ZXh0VG9kbyhwYXlhbS5Ub2RvKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF90ZXh0VG9kbyh0b2RvOiBQYXlhbVRvZG8pOiB7IHRleHQ6IHN0cmluZzsgY29sb3I6IHN0cmluZyB9IHtcclxuICAgICAgICBpZiAoIXRvZG8gfHwgIXRvZG8uRHVlRGF0ZSkge1xyXG4gICAgICAgICAgICByZXR1cm4geyB0ZXh0OiAnJywgY29sb3I6ICcxMCcgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IGR1ZURhdGVTdHIgPSAnJztcclxuICAgICAgICBsZXQgZG9uZURhdGVTdHIgPSAnJztcclxuICAgICAgICBpZiAoQmFyc2FBcGkuRXh0LmlzU3RyaW5nKHRvZG8uRHVlRGF0ZSkpIHtcclxuICAgICAgICAgICAgZHVlRGF0ZVN0ciA9IHRoaXMuX2dldERhdGVTdHJpbmcodG9kby5EdWVEYXRlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRvZG8uRG9uZURhdGUpIHtcclxuICAgICAgICAgICAgZG9uZURhdGVTdHIgPSB0aGlzLl9nZXREYXRlU3RyaW5nKHRvZG8uRG9uZURhdGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZXZhbFxyXG4gICAgICAgIGNvbnN0IGR1ZURhdGUgPSBldmFsKHRvZG8uRHVlRGF0ZSk7XHJcbiAgICAgICAgaWYgKHRvZG8uU3RhdGUgPT09IDIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHsgdGV4dDogQmFyc2FBcGkuQkJCLk1haWxfVG9kb0NvbXBsZXRlZCArICc6ICcgKyBkb25lRGF0ZVN0ciwgY29sb3I6ICc4JyB9O1xyXG4gICAgICAgIH0gZWxzZSBpZiAobmV3IERhdGUoKS5nZXRUaW1lKCkgPCBkdWVEYXRlLmdldFRpbWUoKSkge1xyXG4gICAgICAgICAgICByZXR1cm4geyB0ZXh0OiBCYXJzYUFwaS5CQkIuTWFpbF9Ub2RvRHVlRGF0ZSArICc6ICcgKyBkdWVEYXRlU3RyLCBjb2xvcjogJzEnIH07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIHRleHQ6IEJhcnNhQXBpLkJCQi5NYWlsX1RvZG9PdmVyZHVlICsgJzogJyArIChkb25lRGF0ZVN0ciA/IGRvbmVEYXRlU3RyIDogZHVlRGF0ZVN0ciksXHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJzInXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBfdGV4dEltcG9ydGFuY2UoaSk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgICAgIGlmIChpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBCYXJzYUFwaS5CQkJbJ01haWxfSW1wb3J0YW5jZScgKyBpXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF90ZXh0QWNjZXNzTGV2ZWwoaSk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgICAgIGlmIChpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBCYXJzYUFwaS5CQkJbJ01haWxfU2Vuc2l0aXZpdHknICsgaV07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBfaWNvbkltcG9ydGFuY2UoaSk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgICAgIGlmIChpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAncHJpb3JpdHlfJyArIGkudG9TdHJpbmcoKSArICcucG5nJztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9pY29uQWNjZXNzTGV2ZWwoaSk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgICAgIGlmIChpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnbG9ja18nICsgaS50b1N0cmluZygpICsgJy5wbmcnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIHByaXZhdGUgX2dldFNpemUoc2l6ZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICBzaXplID0gc2l6ZS5yZXBsYWNlKCdLQicsICfaqduM2YTZiNio2KfbjNiqJyk7XHJcbiAgICAgICAgc2l6ZSA9IHNpemUucmVwbGFjZSgnTUInLCAn2YXar9in2KjYp9uM2KonKTtcclxuICAgICAgICBzaXplID0gc2l6ZS5yZXBsYWNlKCdCJywgJ9io2KfbjNiqJyk7XHJcbiAgICAgICAgcmV0dXJuIHNpemU7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9nZXRBdHRhY2htZW50SWNvbihleHRlbnNpb24pOiBzdHJpbmcgfCBudWxsIHtcclxuICAgICAgICBpZiAoQmFyc2FBcGkuRXh0LmlzRW1wdHkoZXh0ZW5zaW9uKSA9PT0gZmFsc2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuICcvYXNzZXRzL0ltYWdlcy9GaWxlVHlwZUljb25zLycgKyAnXycgKyBleHRlbnNpb24gKyAnLlBORyc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBfZ2V0RGF0ZVN0cmluZyhkYXRlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1ldmFsXHJcbiAgICAgICAgY29uc3QgZGF0ZUluZm86IERhdGVJbmZvID0gdGhpcy5fZGF0ZVNlcnZpY2UuZ2V0RGF0ZUluZm8oZXZhbChkYXRlKSk7XHJcbiAgICAgICAgcmV0dXJuIGAke2RhdGVJbmZvLmRheU5hbWV9ICR7ZGF0ZUluZm8uZGF5fSAke2RhdGVJbmZvLm1vbnRoTmFtZX0gJHtkYXRlSW5mby55ZWFyfSAke2RhdGVJbmZvLmhvdXJ9OiR7ZGF0ZUluZm8ubWludXRlc31gO1xyXG4gICAgfVxyXG59XHJcblxyXG50eXBlIFBheWFtQXR0YWNobWVudCA9IHtcclxuICAgIEF0dGFjaHR5cGU6IHN0cmluZzsgLy8gXCJhdHRhY2hDb250ZW50XCJcclxuICAgIEV4dGVuc2lvbjogc3RyaW5nOyAvLyBcImRvY3hcIlxyXG4gICAgSWQ6IHN0cmluZzsgLy8gXCJfT1EyWF9TTjBvZzJZNFMtWF9BQ3hCdEpNZjVvaWcxXCJcclxuICAgIE5hbWU6IHN0cmluZzsgLy8gXCJEb2N1bWVudCAxMFwiXHJcbiAgICBTaXplOiBzdHJpbmc7IC8vIFwiMTQuOSBLQlwiXHJcbn07XHJcbnR5cGUgUGF5YW1Ub2RvID0geyBEdWVEYXRlOiBzdHJpbmc7IFN0YXRlOiBudW1iZXI7IERvbmVEYXRlPzogc3RyaW5nIH07XHJcbiIsIkBpZiAoZGF0YSkge1xyXG48bmctY29udGFpbmVyXHJcbiAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgIHNob3dQYXlhbUNsYXNzO1xyXG4gICAgICAgIGNvbnRleHQ6IHtcclxuICAgICAgICAgICAgJGltcGxpY2l0OiBkYXRhLFxyXG4gICAgICAgICAgICBwcmltYXJ5OiAhZGF0YT8uJGRldGFpbHM/Lmxlbmd0aCxcclxuICAgICAgICAgICAgaXNGaXJzdDogdHJ1ZVxyXG4gICAgICAgIH1cclxuICAgIFwiXHJcbj5cclxuPC9uZy1jb250YWluZXI+XHJcbn1cclxuPG5nLXRlbXBsYXRlICNzaG93UGF5YW1DbGFzcyBsZXQtZGF0YSBsZXQtcHJpbWFyeT1cInByaW1hcnlcIiBsZXQtaXNGaXJzdD1cImlzRmlyc3RcIj5cclxuICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgICAgICBuYW1heWVzaFBheWFtO1xyXG4gICAgICAgICAgICBjb250ZXh0OiB7XHJcbiAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGRhdGEucGF5YW0uU3ViamVjdCxcclxuICAgICAgICAgICAgICAgIG1haWxOb1RleHQ6IGRhdGEucGF5YW0uTWFpbE5vVGV4dCxcclxuICAgICAgICAgICAgICAgIGZyb21UZXh0OiBkYXRhLnBheWFtLkZyb21UZXh0LFxyXG4gICAgICAgICAgICAgICAgdG9UZXh0OiBkYXRhLiR0b1RleHQsXHJcbiAgICAgICAgICAgICAgICBpbXBvcnRhbmNlOiBkYXRhLiRpbXBvcnRhbmNlLFxyXG4gICAgICAgICAgICAgICAgcmVhZERhdGU6IGRhdGEuJHJlYWREYXRlLFxyXG4gICAgICAgICAgICAgICAgc2VuZERhdGU6IGRhdGEuJHNlbmREYXRlLFxyXG4gICAgICAgICAgICAgICAgY2NUZXh0OiBkYXRhLiRjY1RleHQsXHJcbiAgICAgICAgICAgICAgICBiY2NUZXh0OiBkYXRhLiRiY2NUZXh0LFxyXG4gICAgICAgICAgICAgICAgYWNjZXNzTGV2ZWw6IGRhdGEuJGFjY2Vzc0xldmVsLFxyXG4gICAgICAgICAgICAgICAgY29udGVudDogZGF0YS4kY29udGVudCxcclxuICAgICAgICAgICAgICAgIGZyb21QaG90bzogZGF0YS4kZnJvbVBob3RvLFxyXG4gICAgICAgICAgICAgICAgZGV0YWlsczogZGF0YS4kZGV0YWlscyxcclxuICAgICAgICAgICAgICAgIGF0dGFjaG1lbnRzOiBkYXRhLiRhdHRhY2htZW50cyxcclxuICAgICAgICAgICAgICAgIHRvZG86IGRhdGEuJHRvZG8sXHJcbiAgICAgICAgICAgICAgICBjdXN0b21UZXh0OiBkYXRhLnBheWFtLkN1c3RvbVRleHQsXHJcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiBwcmltYXJ5LFxyXG4gICAgICAgICAgICAgICAgaXNGaXJzdDogaXNGaXJzdFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgXCJcclxuICAgID5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlXHJcbiAgICAjbmFtYXllc2hQYXlhbVxyXG4gICAgbGV0LXN1YmplY3RcclxuICAgIGxldC1tYWlsTm9UZXh0PVwibWFpbE5vVGV4dFwiXHJcbiAgICBsZXQtY29udGVudD1cImNvbnRlbnRcIlxyXG4gICAgbGV0LWZyb21UZXh0PVwiZnJvbVRleHRcIlxyXG4gICAgbGV0LXRvVGV4dD1cInRvVGV4dFwiXHJcbiAgICBsZXQtaW1wb3J0YW5jZT1cImltcG9ydGFuY2VcIlxyXG4gICAgbGV0LXJlYWREYXRlPVwicmVhZERhdGVcIlxyXG4gICAgbGV0LXNlbmREYXRlPVwic2VuZERhdGVcIlxyXG4gICAgbGV0LWNjVGV4dD1cImNjVGV4dFwiXHJcbiAgICBsZXQtYmNjVGV4dD1cImJjY1RleHRcIlxyXG4gICAgbGV0LWZyb21QaG90bz1cImZyb21QaG90b1wiXHJcbiAgICBsZXQtZGV0YWlscz1cImRldGFpbHNcIlxyXG4gICAgbGV0LWFjY2Vzc0xldmVsPVwiYWNjZXNzTGV2ZWxcIlxyXG4gICAgbGV0LXByaW1hcnk9XCJwcmltYXJ5XCJcclxuICAgIGxldC1pc0ZpcnN0PVwiaXNGaXJzdFwiXHJcbiAgICBsZXQtYXR0YWNobWVudHM9XCJhdHRhY2htZW50c1wiXHJcbiAgICBsZXQtdG9kbz1cInRvZG9cIlxyXG4gICAgbGV0LWN1c3RvbVRleHQ9XCJjdXN0b21UZXh0XCJcclxuPlxyXG4gICAgPGZkLWNhcmQgY2FyZFR5cGU9XCJvYmplY3RcIj5cclxuICAgICAgICA8ZmQtY2FyZC1oZWFkZXI+XHJcbiAgICAgICAgICAgIDxmZC1jYXJkLW1haW4taGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgPGZkLWF2YXRhclxyXG4gICAgICAgICAgICAgICAgICAgIFtpbWFnZV09XCJmcm9tUGhvdG9cIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjaXJjbGVdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxyXG4gICAgICAgICAgICAgICAgICAgIFthcmlhTGFiZWxdPVwiZnJvbVRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJmcm9tVGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cImZyb21UZXh0XCJcclxuICAgICAgICAgICAgICAgID48L2ZkLWF2YXRhcj5cclxuICAgICAgICAgICAgICAgIDxkaXYgZmQtY2FyZC10aXRsZSBjbGFzcz1cImhlYWRlci1maWVsZHNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aDUgZmQtdGl0bGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGZkLWxpbmsgW2VtcGhhc2l6ZWRdPVwidHJ1ZVwiIGFyaWEtbGFiZWw9XCJTZW5kZXJcIj4ge3sgZnJvbVRleHQgfX08L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9oNT5cclxuICAgICAgICAgICAgICAgICAgICA8ZmQtb2JqZWN0LWlkZW50aWZpZXIgW2Rlc2NyaXB0aW9uXT1cIicoJyArIHNlbmREYXRlICsgJyknXCI+IDwvZmQtb2JqZWN0LWlkZW50aWZpZXI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgZmQtY2FyZC1zdWJ0aXRsZT5cclxuICAgICAgICAgICAgICAgICAgICA8aDUgZmQtdGl0bGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IHN1YmplY3QgfX0gQGlmKG1haWxOb1RleHQpeyA8c3Bhbj4oe3sgbWFpbE5vVGV4dCB9fSk8L3NwYW4+fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvaDU+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZkLXBvcG92ZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1wb3BvdmVyLWNvbnRyb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGZkLWJ1dHRvbiBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiIFtmZE1lbnVdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdSZWNpZXZlcnMnIHwgYmJiVHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9mZC1wb3BvdmVyLWNvbnRyb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1wb3BvdmVyLWJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgZmQtbGlzdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChyZWMgb2YgdG9UZXh0OyB0cmFjayByZWMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgZmQtbGlzdC1pdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBmZC1saXN0LWxpbms+e3sgcmVjIH19PC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9mZC1wb3BvdmVyLWJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9mZC1wb3BvdmVyPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZmQtY2FyZC1tYWluLWhlYWRlcj5cclxuICAgICAgICA8L2ZkLWNhcmQtaGVhZGVyPlxyXG4gICAgICAgIDxmZC1jYXJkLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgIDxmZC1wYW5lbCBbZXhwYW5kZWRdPVwiaXNGaXJzdFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBmZC1wYW5lbC10aXRsZSBpZD1cInBhbmVsLWV4cGFuZGFibGUtdGl0bGUtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxoNSBmZC10aXRsZT57eyAn2YXYrdiq2YjYp9uMINm+24zYp9mFJyB8IGJiYlRyYW5zbGF0ZSB9fTwvaDU+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBheWFtSWNvbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpbXBvcnRhbmNlLmljb24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZkLXBvcG92ZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmQtcG9wb3Zlci1jb250cm9sPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCInL0N1c3RvbWl6YXRpb24vTWFpbC8nICsgaW1wb3J0YW5jZS5pY29uXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmQtcG9wb3Zlci1jb250cm9sPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkLXBvcG92ZXItYm9keT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgZmQtbGlzdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGZkLWxpc3QtaXRlbT57eyBpbXBvcnRhbmNlLnRleHQgfX08L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZkLXBvcG92ZXItYm9keT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9mZC1wb3BvdmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IEBpZiAoYWNjZXNzTGV2ZWwuaWNvbikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmQtcG9wb3Zlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1wb3BvdmVyLWNvbnRyb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cIicvQ3VzdG9taXphdGlvbi9NYWlsLycgKyBhY2Nlc3NMZXZlbC5pY29uXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmQtcG9wb3Zlci1jb250cm9sPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkLXBvcG92ZXItYm9keT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgZmQtbGlzdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGZkLWxpc3QtaXRlbT57eyBhY2Nlc3NMZXZlbC50ZXh0IH19PC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9mZC1wb3BvdmVyLWJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZmQtcG9wb3Zlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgfSBAaWYgKHRvZG8pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZkLWluZm8tbGFiZWwgW2xhYmVsXT1cInRvZG8udGV4dFwiIFtjb2xvcl09XCJ0b2RvLmNvbG9yXCIgW3RpdGxlXT1cInRvZG8udGV4dFwiPjwvZmQtaW5mby1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGZkLXBhbmVsLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmIChjdXN0b21UZXh0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZkLW1lc3NhZ2Utc3RyaXAgdHlwZT1cImluZm9ybWF0aW9uXCIgW25vSWNvbl09XCJ0cnVlXCIgW2Rpc21pc3NpYmxlXT1cImZhbHNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBjdXN0b21UZXh0IH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZmQtbWVzc2FnZS1zdHJpcD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIdG1sXT1cImNvbnRlbnRcIiBbZGlzYWJsZV09XCIhcHJpbWFyeSB8fCBhdHRhY2htZW50cz8ubGVuZ3RoXCI+PC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoYXR0YWNobWVudHM/Lmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLXZpZXdlci1hdHRhY2htZW50c1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChmaWxlIG9mIGF0dGFjaG1lbnRzOyB0cmFjayBmaWxlKSB7IEBpZiAoIWZpbGUuSXNEZWxldGVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxic3UtZmlsZS12aWV3ZXItcG9wb3ZlclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbGVdPVwiZmlsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsZXNdPVwiYXR0YWNobWVudHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RldmljZVNpemVdPVwiKGRldmljZVNpemUkIHwgYXN5bmMpISFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhbkRvd25sb2FkXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVSZW1vdmVdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L2JzdS1maWxlLXZpZXdlci1wb3BvdmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IH0gQGlmIChhdHRhY2htZW50cy5sZW5ndGggPiAxKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidEb3dubG9hZCcgfCBiYmJUcmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2dseXBoXT1cIidkb3dubG9hZCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZG93bmxvYWRGaWxlc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbGVzXT1cImF0dGFjaG1lbnRzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZWFkQXRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChyZWFkRGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmQtb2JqZWN0LWlkZW50aWZpZXIgW2Rlc2NyaXB0aW9uXT1cIignUmVhZEF0JyB8IGJiYlRyYW5zbGF0ZSkgKyAnOiAoJyArIHJlYWREYXRlICsgJyknXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZmQtb2JqZWN0LWlkZW50aWZpZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2ZkLXBhbmVsPlxyXG4gICAgICAgIDwvZmQtY2FyZC1jb250ZW50PlxyXG4gICAgICAgIDwhLS0gPGZkLWNhcmQtZm9vdGVyPlxyXG4gICAgPGJ1dHRvbiAqZmRDYXJkRm9vdGVyQWN0aW9uSXRlbSBmZC1idXR0b24gZmRDb21wYWN0PkFzc2lnbiB0byBQcm9qZWN0PC9idXR0b24+XHJcbiAgPC9mZC1jYXJkLWZvb3Rlcj4gLS0+XHJcbiAgICA8L2ZkLWNhcmQ+XHJcbiAgICBAZm9yIChkZXRhaWwgb2YgZGV0YWlsczsgdHJhY2sgZGV0YWlsKSB7XHJcbiAgICA8bmctY29udGlhbmVyPlxyXG4gICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcclxuICAgICAgICAgICAgICAgIHNob3dQYXlhbUNsYXNzO1xyXG4gICAgICAgICAgICAgICAgY29udGV4dDoge1xyXG4gICAgICAgICAgICAgICAgICAgICRpbXBsaWNpdDogZGV0YWlsXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9uZy1jb250aWFuZXI+XHJcbiAgICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { UploadService } from 'barsa-novin-ray-core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
import * as i2 from "@fundamental-ngx/core/link";
|
|
6
|
-
import * as i3 from "../barsa-question-answer-form-add-comment/barsa-question-answer-form-add-comment.component";
|
|
7
|
-
export class BarsaQuestionAnswerCommentsSectionComponent {
|
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaQuestionAnswerCommentsSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BarsaQuestionAnswerCommentsSectionComponent, selector: "bsu-barsa-question-answer-comments-section", inputs: { post: "post" }, providers: [UploadService], ngImport: i0, template: "<div class=\"tw-flex tw-w-full tw-flex-col tw-items-start\">\r\n <div class=\"tw-border-b tw-border-gray-300 tw-w-full tw-mt-2\"></div>\r\n @if (post.Comments.MoDataList.length > 2 && !post.showAllCommnets) {\r\n <ng-container\r\n *ngTemplateOutlet=\"CommentRows; context: { $implicit: post.Comments.MoDataList.slice(0, 2) }\"\r\n ></ng-container>\r\n } @else {\r\n <ng-container *ngTemplateOutlet=\"CommentRows; context: { $implicit: post.Comments.MoDataList }\"></ng-container>\r\n }\r\n <ng-template #CommentRows let-comments>\r\n @for (comment of comments; track comment) {\r\n <div class=\"tw-py-2 tw-border-b tw-border-gray-200 tw-text-sm tw-w-full\">\r\n <p>\r\n <a fd-link class=\"tw-inline\">{{ comment.CreatorUser$Caption.trim() }}</a>\r\n <span class=\"tw-text-gray-500\">({{ comment.CreationDate$Caption.trim() }}):</span>\r\n {{ comment.$Caption.trim() }}\r\n @if ( comment.LastUpdateDate && comment.LastUpdateDate.getTime() !== comment.CreationDate.getTime() ) {\r\n <span class=\"tw-italic tw-text-gray-500\">\r\n -\r\n {{ comment.LastUpdateDate$Caption }}\r\n \u0648\u06CC\u0631\u0627\u06CC\u0634 \u0634\u062F\u0647\r\n </span>\r\n }\r\n </p>\r\n </div>\r\n }\r\n </ng-template>\r\n <bsu-barsa-question-answer-form-add-comment\r\n [postId]=\"post.Id\"\r\n (addComment)=\"post.Comments.MoDataList.push($event); post.showAllCommnets = true\"\r\n >\r\n @if (post.Comments.MoDataList.length > 2 && !post.showAllCommnets) {\r\n <span>|</span>\r\n <a fd-link aria-label=\"Emphasized\" class=\"hover:tw-cursor-pointer\" (click)=\"post.showAllCommnets = true\">\r\n \u0646\u0645\u0627\u06CC\u0634\r\n {{ post.Comments.MoDataList.length - 2 }}\r\n \u0646\u0638\u0631 \u062F\u06CC\u06AF\u0631\r\n </a>\r\n }\r\n </bsu-barsa-question-answer-form-add-comment>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.LinkComponent, selector: "[fdLink], [fd-link]", inputs: ["class", "emphasized", "disabled", "inverted", "subtle", "undecorated"] }, { kind: "component", type: i3.BarsaQuestionAnswerFormAddCommentComponent, selector: "bsu-barsa-question-answer-form-add-comment", inputs: ["postId"], outputs: ["addComment"] }] }); }
|
|
10
|
-
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaQuestionAnswerCommentsSectionComponent, decorators: [{
|
|
12
|
-
type: Component,
|
|
13
|
-
args: [{ selector: 'bsu-barsa-question-answer-comments-section', providers: [UploadService], standalone: false, template: "<div class=\"tw-flex tw-w-full tw-flex-col tw-items-start\">\r\n <div class=\"tw-border-b tw-border-gray-300 tw-w-full tw-mt-2\"></div>\r\n @if (post.Comments.MoDataList.length > 2 && !post.showAllCommnets) {\r\n <ng-container\r\n *ngTemplateOutlet=\"CommentRows; context: { $implicit: post.Comments.MoDataList.slice(0, 2) }\"\r\n ></ng-container>\r\n } @else {\r\n <ng-container *ngTemplateOutlet=\"CommentRows; context: { $implicit: post.Comments.MoDataList }\"></ng-container>\r\n }\r\n <ng-template #CommentRows let-comments>\r\n @for (comment of comments; track comment) {\r\n <div class=\"tw-py-2 tw-border-b tw-border-gray-200 tw-text-sm tw-w-full\">\r\n <p>\r\n <a fd-link class=\"tw-inline\">{{ comment.CreatorUser$Caption.trim() }}</a>\r\n <span class=\"tw-text-gray-500\">({{ comment.CreationDate$Caption.trim() }}):</span>\r\n {{ comment.$Caption.trim() }}\r\n @if ( comment.LastUpdateDate && comment.LastUpdateDate.getTime() !== comment.CreationDate.getTime() ) {\r\n <span class=\"tw-italic tw-text-gray-500\">\r\n -\r\n {{ comment.LastUpdateDate$Caption }}\r\n \u0648\u06CC\u0631\u0627\u06CC\u0634 \u0634\u062F\u0647\r\n </span>\r\n }\r\n </p>\r\n </div>\r\n }\r\n </ng-template>\r\n <bsu-barsa-question-answer-form-add-comment\r\n [postId]=\"post.Id\"\r\n (addComment)=\"post.Comments.MoDataList.push($event); post.showAllCommnets = true\"\r\n >\r\n @if (post.Comments.MoDataList.length > 2 && !post.showAllCommnets) {\r\n <span>|</span>\r\n <a fd-link aria-label=\"Emphasized\" class=\"hover:tw-cursor-pointer\" (click)=\"post.showAllCommnets = true\">\r\n \u0646\u0645\u0627\u06CC\u0634\r\n {{ post.Comments.MoDataList.length - 2 }}\r\n \u0646\u0638\u0631 \u062F\u06CC\u06AF\u0631\r\n </a>\r\n }\r\n </bsu-barsa-question-answer-form-add-comment>\r\n</div>\r\n" }]
|
|
14
|
-
}], propDecorators: { post: [{
|
|
15
|
-
type: Input
|
|
16
|
-
}] } });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtcXVlc3Rpb24tYW5zd2VyLWNvbW1lbnRzLXNlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtcXVlc3Rpb24tYW5zd2VyLWNvbW1lbnRzLXNlY3Rpb24vYmFyc2EtcXVlc3Rpb24tYW5zd2VyLWNvbW1lbnRzLXNlY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtcXVlc3Rpb24tYW5zd2VyLWNvbW1lbnRzLXNlY3Rpb24vYmFyc2EtcXVlc3Rpb24tYW5zd2VyLWNvbW1lbnRzLXNlY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUF1QixhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7QUFTMUUsTUFBTSxPQUFPLDJDQUEyQzsrR0FBM0MsMkNBQTJDO21HQUEzQywyQ0FBMkMsK0ZBSHpDLENBQUMsYUFBYSxDQUFDLDBCQ1A5Qiwwa0VBeUNBOzs0RkQvQmEsMkNBQTJDO2tCQVB2RCxTQUFTOytCQUNJLDRDQUE0QyxhQUczQyxDQUFDLGFBQWEsQ0FBQyxjQUNkLEtBQUs7OEJBR1IsSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNZXRhb2JqZWN0RGF0YU1vZGVsLCBVcGxvYWRTZXJ2aWNlIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JzdS1iYXJzYS1xdWVzdGlvbi1hbnN3ZXItY29tbWVudHMtc2VjdGlvbicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vYmFyc2EtcXVlc3Rpb24tYW5zd2VyLWNvbW1lbnRzLXNlY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vYmFyc2EtcXVlc3Rpb24tYW5zd2VyLWNvbW1lbnRzLXNlY3Rpb24uY29tcG9uZW50LmNzcyddLFxyXG4gICAgcHJvdmlkZXJzOiBbVXBsb2FkU2VydmljZV0sXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmFyc2FRdWVzdGlvbkFuc3dlckNvbW1lbnRzU2VjdGlvbkNvbXBvbmVudCB7XHJcbiAgICBASW5wdXQoKSBwb3N0OiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ0dy1mbGV4IHR3LXctZnVsbCB0dy1mbGV4LWNvbCB0dy1pdGVtcy1zdGFydFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInR3LWJvcmRlci1iIHR3LWJvcmRlci1ncmF5LTMwMCB0dy13LWZ1bGwgdHctbXQtMlwiPjwvZGl2PlxyXG4gICAgQGlmIChwb3N0LkNvbW1lbnRzLk1vRGF0YUxpc3QubGVuZ3RoID4gMiAmJiAhcG9zdC5zaG93QWxsQ29tbW5ldHMpIHtcclxuICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIkNvbW1lbnRSb3dzOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogcG9zdC5Db21tZW50cy5Nb0RhdGFMaXN0LnNsaWNlKDAsIDIpIH1cIlxyXG4gICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiQ29tbWVudFJvd3M7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBwb3N0LkNvbW1lbnRzLk1vRGF0YUxpc3QgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgfVxyXG4gICAgPG5nLXRlbXBsYXRlICNDb21tZW50Um93cyBsZXQtY29tbWVudHM+XHJcbiAgICAgICAgQGZvciAoY29tbWVudCBvZiBjb21tZW50czsgdHJhY2sgY29tbWVudCkge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0dy1weS0yIHR3LWJvcmRlci1iIHR3LWJvcmRlci1ncmF5LTIwMCB0dy10ZXh0LXNtIHR3LXctZnVsbFwiPlxyXG4gICAgICAgICAgICA8cD5cclxuICAgICAgICAgICAgICAgIDxhIGZkLWxpbmsgY2xhc3M9XCJ0dy1pbmxpbmVcIj57eyBjb21tZW50LkNyZWF0b3JVc2VyJENhcHRpb24udHJpbSgpIH19PC9hPlxyXG4gICAgICAgICAgICAgICAgJm5ic3A7PHNwYW4gY2xhc3M9XCJ0dy10ZXh0LWdyYXktNTAwXCI+KHt7IGNvbW1lbnQuQ3JlYXRpb25EYXRlJENhcHRpb24udHJpbSgpIH19KTo8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICB7eyBjb21tZW50LiRDYXB0aW9uLnRyaW0oKSB9fVxyXG4gICAgICAgICAgICAgICAgQGlmICggY29tbWVudC5MYXN0VXBkYXRlRGF0ZSAmJiBjb21tZW50Lkxhc3RVcGRhdGVEYXRlLmdldFRpbWUoKSAhPT0gY29tbWVudC5DcmVhdGlvbkRhdGUuZ2V0VGltZSgpICkge1xyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0dy1pdGFsaWMgdHctdGV4dC1ncmF5LTUwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIC1cclxuICAgICAgICAgICAgICAgICAgICB7eyBjb21tZW50Lkxhc3RVcGRhdGVEYXRlJENhcHRpb24gfX1cclxuICAgICAgICAgICAgICAgICAgICDZiNuM2LHYp9uM2LQg2LTYr9mHXHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPGJzdS1iYXJzYS1xdWVzdGlvbi1hbnN3ZXItZm9ybS1hZGQtY29tbWVudFxyXG4gICAgICAgIFtwb3N0SWRdPVwicG9zdC5JZFwiXHJcbiAgICAgICAgKGFkZENvbW1lbnQpPVwicG9zdC5Db21tZW50cy5Nb0RhdGFMaXN0LnB1c2goJGV2ZW50KTsgcG9zdC5zaG93QWxsQ29tbW5ldHMgPSB0cnVlXCJcclxuICAgID5cclxuICAgICAgICBAaWYgKHBvc3QuQ29tbWVudHMuTW9EYXRhTGlzdC5sZW5ndGggPiAyICYmICFwb3N0LnNob3dBbGxDb21tbmV0cykge1xyXG4gICAgICAgIDxzcGFuPnw8L3NwYW4+XHJcbiAgICAgICAgPGEgZmQtbGluayBhcmlhLWxhYmVsPVwiRW1waGFzaXplZFwiIGNsYXNzPVwiaG92ZXI6dHctY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwicG9zdC5zaG93QWxsQ29tbW5ldHMgPSB0cnVlXCI+XHJcbiAgICAgICAgICAgINmG2YXYp9uM2LRcclxuICAgICAgICAgICAge3sgcG9zdC5Db21tZW50cy5Nb0RhdGFMaXN0Lmxlbmd0aCAtIDIgfX1cclxuICAgICAgICAgICAg2YbYuNixINiv24zar9ixXHJcbiAgICAgICAgPC9hPlxyXG4gICAgICAgIH1cclxuICAgIDwvYnN1LWJhcnNhLXF1ZXN0aW9uLWFuc3dlci1mb3JtLWFkZC1jb21tZW50PlxyXG48L2Rpdj5cclxuIl19
|