barsa-sap-ui 2.2.2 → 2.2.4
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/esm2022/barsa-sap-ui.mjs +5 -0
- package/esm2022/lib/apply-conditional-formmatings.directive.mjs +90 -0
- package/esm2022/lib/avatar-size.pipe.mjs +41 -0
- package/esm2022/lib/barsa-answer-card/barsa-answer-card.component.mjs +41 -0
- package/esm2022/lib/barsa-asp-viewer/barsa-asp-viewer.component.mjs +145 -0
- package/esm2022/lib/barsa-bar-download-file/barsa-bar-download-file.component.mjs +23 -0
- package/esm2022/lib/barsa-bar-panel/barsa-bar-panel.component.mjs +23 -0
- package/esm2022/lib/barsa-base-panel/barsa-base-layout-panel.component.mjs +29 -0
- package/esm2022/lib/barsa-breadcrumbs/barsa-breadcrumbs.component.mjs +24 -0
- package/esm2022/lib/barsa-card-layout-panel/barsa-card-layout-panel.component.mjs +24 -0
- package/esm2022/lib/barsa-card-row-payam/barsa-card-row-payam.component.mjs +31 -0
- package/esm2022/lib/barsa-cartable-form/barsa-cartable-form.component.mjs +41 -0
- package/esm2022/lib/barsa-cartable-template/barsa-cartable-template.component.mjs +24 -0
- package/esm2022/lib/barsa-chat/barsa-chat.component.mjs +242 -0
- package/esm2022/lib/barsa-chat/chat.model.mjs +8 -0
- package/esm2022/lib/barsa-chat-content/barsa-chat-content.component.mjs +13 -0
- package/esm2022/lib/barsa-chat-content-toolbar/barsa-chat-content-toolbar.component.mjs +22 -0
- package/esm2022/lib/barsa-chat-list/barsa-chat-list.component.mjs +66 -0
- package/esm2022/lib/barsa-chat-message/barsa-chat-message.component.mjs +78 -0
- package/esm2022/lib/barsa-chat-thread/barsa-chat-thread.component.mjs +22 -0
- package/esm2022/lib/barsa-chat-threads-list/barsa-chat-threads-list.component.mjs +13 -0
- package/esm2022/lib/barsa-chat-threads-list-toolbar/barsa-chat-threads-list-toolbar.component.mjs +15 -0
- package/esm2022/lib/barsa-chip/barsa-chip.component.mjs +72 -0
- package/esm2022/lib/barsa-column-indicator/barsa-column-indicator.component.mjs +23 -0
- package/esm2022/lib/barsa-column-rownumber/barsa-column-rownumber.component.mjs +14 -0
- package/esm2022/lib/barsa-custom-inline-edit/barsa-custom-inline-edit.component.mjs +14 -0
- package/esm2022/lib/barsa-custom-inline-edit-row/barsa-custom-inline-edit-row.component.mjs +26 -0
- package/esm2022/lib/barsa-date-time-picker/barsa-date-time-picker.component.mjs +71 -0
- package/esm2022/lib/barsa-dynamic-field/barsa-dynamic-field.component.mjs +40 -0
- package/esm2022/lib/barsa-enum-menu-button/barsa-enum-menu-button.component.mjs +61 -0
- package/esm2022/lib/barsa-field-key-value/barsa-field-key-value.component.mjs +45 -0
- package/esm2022/lib/barsa-form-side-content/barsa-form-side-content.component.mjs +58 -0
- package/esm2022/lib/barsa-grid-layout-panel/barsa-grid-layout-panel.component.mjs +27 -0
- package/esm2022/lib/barsa-group-cartable/barsa-cartable-group.component.mjs +94 -0
- package/esm2022/lib/barsa-horizontal-flex-panel/barsa-horizontal-flex-panel.component.mjs +22 -0
- package/esm2022/lib/barsa-linkable-items-panel/barsa-linkable-items-panel.component.mjs +37 -0
- package/esm2022/lib/barsa-list-file-linear/barsa-list-file-linear.component.mjs +41 -0
- package/esm2022/lib/barsa-list-file-linear-gmail/barsa-list-file-linear-gmail.component.mjs +29 -0
- package/esm2022/lib/barsa-list-layout-panel/barsa-list-layout-panel.component.mjs +23 -0
- package/esm2022/lib/barsa-modal/barsa-modal.component.mjs +43 -0
- package/esm2022/lib/barsa-monaco-editor/barsa-monaco-editor.component.mjs +83 -0
- package/esm2022/lib/barsa-network-offline/barsa-network-offline.component.mjs +57 -0
- package/esm2022/lib/barsa-pishnamayesh-payam/barsa-pishnamayesh-payam.component.mjs +159 -0
- package/esm2022/lib/barsa-question-answer-comments-section/barsa-question-answer-comments-section.component.mjs +17 -0
- package/esm2022/lib/barsa-question-answer-content-actions-section/barsa-question-answer-content-actions-section.component.mjs +30 -0
- package/esm2022/lib/barsa-question-answer-creator-time-section/barsa-question-answer-creator-time-section.component.mjs +14 -0
- package/esm2022/lib/barsa-question-answer-form/barsa-question-answer-form.component.mjs +34 -0
- package/esm2022/lib/barsa-question-answer-form-add-comment/barsa-question-answer-form-add-comment.component.mjs +46 -0
- package/esm2022/lib/barsa-question-answer-vote-section/barsa-question-answer-vote-section.component.mjs +79 -0
- package/esm2022/lib/barsa-question-post/barsa-question-post.component.mjs +30 -0
- package/esm2022/lib/barsa-report-card-flex-view/barsa-report-card-flex-view.component.mjs +31 -0
- package/esm2022/lib/barsa-report-checkbox-switch-button/barsa-report-checkbox-switch-button.component.mjs +28 -0
- package/esm2022/lib/barsa-report-one-of-list/barsa-report-one-of-list.component.mjs +102 -0
- package/esm2022/lib/barsa-row-inline-actionlist/barsa-row-inline-actionlist.component.mjs +26 -0
- package/esm2022/lib/barsa-sap-ui-routing.module.mjs +18 -0
- package/esm2022/lib/barsa-sap-ui.module.mjs +377 -0
- package/esm2022/lib/barsa-search-form/barsa-search-form.component.mjs +29 -0
- package/esm2022/lib/barsa-simple-form/barsa-simple-form.component.mjs +170 -0
- package/esm2022/lib/barsa-tab-route-manager/barsa-tab-route-manager.component.mjs +18 -0
- package/esm2022/lib/barsa-table-column/barsa-table-column.component.mjs +29 -0
- package/esm2022/lib/barsa-table-header/barsa-table-header.component.mjs +222 -0
- package/esm2022/lib/barsa-table-row/barsa-table-row.component.mjs +87 -0
- package/esm2022/lib/barsa-tag-categories/barsa-tag-categories.component.mjs +60 -0
- package/esm2022/lib/barsa-tag-chip/barsa-tag-chip.component.mjs +26 -0
- package/esm2022/lib/barsa-tags-category-row/barsa-tags-category-row.component.mjs +23 -0
- package/esm2022/lib/barsa-text-ellipsis/barsa-text-ellipsis.component.mjs +37 -0
- package/esm2022/lib/barsa-tinyemce/barsa-tinyemce.component.mjs +418 -0
- package/esm2022/lib/barsa-toolbaritem-search/barsa-toolbaritem-search.component.mjs +36 -0
- package/esm2022/lib/barsa-tree-item/barsa-tree-item.component.mjs +153 -0
- package/esm2022/lib/barsa-tree-item/node-has-one-depth-level.pipe.mjs +20 -0
- package/esm2022/lib/barsa-ulv-main/barsa-ulv-main.component.mjs +216 -0
- package/esm2022/lib/blob-viewer/blob-viewer.component.mjs +74 -0
- package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +50 -0
- package/esm2022/lib/captcha-field/captcha-field.component.mjs +28 -0
- package/esm2022/lib/card-item/card-item.component.mjs +74 -0
- package/esm2022/lib/card-view-content/card-view-content.component.mjs +46 -0
- package/esm2022/lib/col-renderer.directive.mjs +47 -0
- package/esm2022/lib/column-matrix-renderer/column-matrix-renderer.component.mjs +56 -0
- package/esm2022/lib/column-matrix-renderer/matrix-value.pipe.mjs +61 -0
- package/esm2022/lib/column-renderer/column-renderer.component.mjs +97 -0
- package/esm2022/lib/constants.mjs +450 -0
- package/esm2022/lib/custom-date-time/custom-date-time.component.mjs +41 -0
- package/esm2022/lib/device-info-field-base.mjs +24 -0
- package/esm2022/lib/dialog-handler.directive.mjs +29 -0
- package/esm2022/lib/download-files.directive.mjs +34 -0
- package/esm2022/lib/dynamic-page-size.pipe.mjs +27 -0
- package/esm2022/lib/file-in-dialog/file-in-dialog.component.mjs +44 -0
- package/esm2022/lib/file-viewer/file-viewer.component.mjs +47 -0
- package/esm2022/lib/file-viewer-content/file-viewer-content.component.mjs +71 -0
- package/esm2022/lib/file-viewer-popover/file-viewer-popover.component.mjs +37 -0
- package/esm2022/lib/form-dialog/form-dialog.component.mjs +171 -0
- package/esm2022/lib/form-dialog-less/form-dialog-less.component.mjs +50 -0
- package/esm2022/lib/form-toolbar/form-toolbar.component.mjs +62 -0
- package/esm2022/lib/form-toolbar-button/form-toolbar-button.component.mjs +45 -0
- package/esm2022/lib/form-wizard/form-wizard.component.mjs +21 -0
- package/esm2022/lib/fullscreen-dialog.directive.mjs +60 -0
- package/esm2022/lib/fullscreen-files.directive.mjs +43 -0
- package/esm2022/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.mjs +217 -0
- package/esm2022/lib/gantt-dhtml-chart-view/gantt-dhtml-chart-view.component.mjs +215 -0
- package/esm2022/lib/global-search/global-search.component.mjs +27 -0
- package/esm2022/lib/global-search-module/global-search-module.component.mjs +29 -0
- package/esm2022/lib/global-search-panel/global-search-panel.component.mjs +25 -0
- package/esm2022/lib/header-avatar/header-avatar.component.mjs +18 -0
- package/esm2022/lib/htree-create-new/htree-create-new.component.mjs +48 -0
- package/esm2022/lib/hyperlink/hyperlink.component.mjs +23 -0
- package/esm2022/lib/index.mjs +549 -0
- package/esm2022/lib/inline-save-and-cancel/inline-save-and-cancel.component.mjs +32 -0
- package/esm2022/lib/layout-actions/layout-actions.component.mjs +70 -0
- package/esm2022/lib/layout-control/layout-control.component.mjs +302 -0
- package/esm2022/lib/layout-wizard/layout-wizard.component.mjs +180 -0
- package/esm2022/lib/list-item/list-item.component.mjs +34 -0
- package/esm2022/lib/ly-empty-space/ly-empty-space.component.mjs +42 -0
- package/esm2022/lib/ly-horizontal-layout/ly-horizontal-layout.component.mjs +82 -0
- package/esm2022/lib/ly-label/ly-label.component.mjs +37 -0
- package/esm2022/lib/ly-layout-container/ly-layout-container.component.mjs +83 -0
- package/esm2022/lib/ly-layout-container-of-root/ly-layout-container-of-root.component.mjs +17 -0
- package/esm2022/lib/ly-layout-field-label/ly-layout-field-label.component.mjs +24 -0
- package/esm2022/lib/ly-layout-panel/ly-layout-panel.component.mjs +83 -0
- package/esm2022/lib/ly-line/ly-line.component.mjs +56 -0
- package/esm2022/lib/ly-simple-label/ly-simple-label.component.mjs +22 -0
- package/esm2022/lib/ly-tab-container/ly-tab-container.component.mjs +44 -0
- package/esm2022/lib/ly-tab-page/ly-tab-page.component.mjs +44 -0
- package/esm2022/lib/ly-vertical-layout/ly-vertical-layout.component.mjs +51 -0
- package/esm2022/lib/manage-filters-report/manage-filters-report.component.mjs +43 -0
- package/esm2022/lib/mask/mask.component.mjs +22 -0
- package/esm2022/lib/message-strip/message-strip.component.mjs +28 -0
- package/esm2022/lib/models/grid-data-provider.mjs +114 -0
- package/esm2022/lib/models/grid-view.mjs +2 -0
- package/esm2022/lib/models/index.mjs +2 -0
- package/esm2022/lib/no-data/no-data.component.mjs +31 -0
- package/esm2022/lib/notification-item/notification-item.component.mjs +57 -0
- package/esm2022/lib/notification-item-actions/notification-item-actions.component.mjs +79 -0
- package/esm2022/lib/notification-popup.service.mjs +92 -0
- package/esm2022/lib/object-status-icon.pipe.mjs +27 -0
- package/esm2022/lib/progress-indicator/progress-indicator.component.mjs +18 -0
- package/esm2022/lib/report-navigator/report-navigator.component.mjs +68 -0
- package/esm2022/lib/report-new-top-form/report-new-top-form.component.mjs +60 -0
- package/esm2022/lib/report-search-fields-hidden-settings/report-search-fields-hidden-settings.component.mjs +35 -0
- package/esm2022/lib/report-search-fields-manage/report-search-fields-manage.component.mjs +97 -0
- package/esm2022/lib/report-search-panel-save/report-search-panel-save.component.mjs +88 -0
- package/esm2022/lib/report-tree-base.mjs +387 -0
- package/esm2022/lib/report-view-renderer.directive.mjs +392 -0
- package/esm2022/lib/responsive-toolbar/responsive-toolbar.component.mjs +50 -0
- package/esm2022/lib/responsive-toolbar-renderer/responsive-toolbar-renderer.component.mjs +84 -0
- package/esm2022/lib/rich-text-static/rich-text-static.component.mjs +72 -0
- package/esm2022/lib/sap-font-class.pipe.mjs +30 -0
- package/esm2022/lib/sap-font.pipe.mjs +30 -0
- package/esm2022/lib/sap-size.pipe.mjs +28 -0
- package/esm2022/lib/sap-ui-report-base.component.mjs +809 -0
- package/esm2022/lib/search-panel/search-panel.component.mjs +63 -0
- package/esm2022/lib/static-text/static-text.component.mjs +15 -0
- package/esm2022/lib/table-th.directive.mjs +87 -0
- package/esm2022/lib/title/title.component.mjs +15 -0
- package/esm2022/lib/ui-asp-report-viewer/ui-asp-report-viewer.component.mjs +34 -0
- package/esm2022/lib/ui-bpmn-viewer/ui-bpmn-viewer.component.mjs +33 -0
- package/esm2022/lib/ui-button/ui-button.component.mjs +32 -0
- package/esm2022/lib/ui-calendar/ui-calendar.component.mjs +53 -0
- package/esm2022/lib/ui-card-view/ui-card-view.component.mjs +58 -0
- package/esm2022/lib/ui-card-view-horizontal-group/ui-card-view-horizontal-group.component.mjs +42 -0
- package/esm2022/lib/ui-check-box/ui-check-box.component.mjs +39 -0
- package/esm2022/lib/ui-color-ui/ui-color-ui.component.mjs +50 -0
- package/esm2022/lib/ui-container-with-button/ui-container-with-button.component.mjs +38 -0
- package/esm2022/lib/ui-date-range-ex/ui-date-range-ex.component.mjs +191 -0
- package/esm2022/lib/ui-date-time/ui-date-time.component.mjs +150 -0
- package/esm2022/lib/ui-editable-grid/ui-editable-grid.component.mjs +108 -0
- package/esm2022/lib/ui-exception-form/ui-exception-form.component.mjs +53 -0
- package/esm2022/lib/ui-file-linear-list-box/ui-file-linear-list-box.component.mjs +124 -0
- package/esm2022/lib/ui-form-panel/ui-form-panel.component.mjs +103 -0
- package/esm2022/lib/ui-gantt-chart/ui-gantt-chart.component.mjs +32 -0
- package/esm2022/lib/ui-graph/ui-graph.component.mjs +17 -0
- package/esm2022/lib/ui-grid/ui-grid.component.mjs +25 -0
- package/esm2022/lib/ui-grid-columns/ui-grid-columns.component.mjs +43 -0
- package/esm2022/lib/ui-grid-filter-item/ui-grid-filter-item.component.mjs +66 -0
- package/esm2022/lib/ui-grid-filter-settings/ui-grid-filter-settings.component.mjs +75 -0
- package/esm2022/lib/ui-grid-sort-item/ui-grid-sort-item.component.mjs +58 -0
- package/esm2022/lib/ui-grid-sort-setting/ui-grid-sort-setting.component.mjs +123 -0
- package/esm2022/lib/ui-html-viewer/ui-html-viewer.component.mjs +16 -0
- package/esm2022/lib/ui-info-bar-panel/ui-info-bar-panel.component.mjs +11 -0
- package/esm2022/lib/ui-label/ui-label.component.mjs +12 -0
- package/esm2022/lib/ui-linear-list-container-with-button/ui-linear-list-container-with-button.component.mjs +379 -0
- package/esm2022/lib/ui-list-view/ui-list-view.component.mjs +84 -0
- package/esm2022/lib/ui-map/ui-map.component.mjs +68 -0
- package/esm2022/lib/ui-matrix-view/ui-matrix-view.component.mjs +124 -0
- package/esm2022/lib/ui-mo-info-combo-viewer/ui-mo-info-combo-viewer.component.mjs +19 -0
- package/esm2022/lib/ui-mo-info-general-object-ui/ui-mo-info-general-object-ui.component.mjs +14 -0
- package/esm2022/lib/ui-mo-info-sub-form-ui/ui-mo-info-sub-form-ui.component.mjs +55 -0
- package/esm2022/lib/ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component.mjs +429 -0
- package/esm2022/lib/ui-monaco-editor/ui-monaco-editor.component.mjs +28 -0
- package/esm2022/lib/ui-multi-select-card/ui-multi-select-card.component.mjs +37 -0
- package/esm2022/lib/ui-multi-select-checkbox/ui-multi-select-checkbox.component.mjs +59 -0
- package/esm2022/lib/ui-multi-select-combo/ui-multi-select-combo.component.mjs +93 -0
- package/esm2022/lib/ui-multi-select-radio/ui-multi-select-radio.component.mjs +36 -0
- package/esm2022/lib/ui-multi-select-slider/ui-multi-select-slider.component.mjs +56 -0
- package/esm2022/lib/ui-multi-select-smile/ui-multi-select-smile.component.mjs +28 -0
- package/esm2022/lib/ui-notification-view/ui-notification-view.component.mjs +47 -0
- package/esm2022/lib/ui-num-decimal-ui/ui-num-decimal-ui.component.mjs +33 -0
- package/esm2022/lib/ui-num-int-slider/ui-num-int-slider.component.mjs +27 -0
- package/esm2022/lib/ui-num-int-ui/ui-num-int-ui.component.mjs +21 -0
- package/esm2022/lib/ui-pdf-viewer/ui-pdf-viewer.component.mjs +268 -0
- package/esm2022/lib/ui-picture-file/ui-picture-file.component.mjs +101 -0
- package/esm2022/lib/ui-pictures-info/ui-pictures-info.component.mjs +261 -0
- package/esm2022/lib/ui-radio-group/ui-radio-group.component.mjs +48 -0
- package/esm2022/lib/ui-read-only-field/ui-read-only-field.component.mjs +36 -0
- package/esm2022/lib/ui-report-container/ui-report-container.component.mjs +46 -0
- package/esm2022/lib/ui-search-command-info-ui/ui-search-command-info-ui.component.mjs +24 -0
- package/esm2022/lib/ui-simple-combo/ui-simple-combo.component.mjs +55 -0
- package/esm2022/lib/ui-single-picture/ui-single-picture.component.mjs +36 -0
- package/esm2022/lib/ui-switch-button/ui-switch-button.component.mjs +20 -0
- package/esm2022/lib/ui-table-view/ui-table-view.component.mjs +296 -0
- package/esm2022/lib/ui-text-area/ui-text-area.component.mjs +49 -0
- package/esm2022/lib/ui-text-field/ui-text-field.component.mjs +52 -0
- package/esm2022/lib/ui-text-field-auto-complete/ui-text-field-auto-complete.component.mjs +48 -0
- package/esm2022/lib/ui-time-span/ui-time-span.component.mjs +24 -0
- package/esm2022/lib/ui-tinymce/ui-tinymce.component.mjs +53 -0
- package/esm2022/lib/ui-tree/ui-tree.component.mjs +114 -0
- package/esm2022/lib/ui-tree-view/ui-tree-view.component.mjs +100 -0
- package/esm2022/lib/ui-ulv-form-multi-select-ui/ui-ulv-form-multi-select-ui.component.mjs +23 -0
- package/esm2022/lib/ui-ulv-main-ui/ui-ulv-main-ui.component.mjs +310 -0
- package/esm2022/lib/ui-workflow-panel-ui/ui-workflow-panel-ui.component.mjs +25 -0
- package/esm2022/lib/ul-loading-mask-ui/ul-loading-mask-ui.component.mjs +93 -0
- package/esm2022/lib/ul-msg-box-adapter/ul-msg-box-adapter.component.mjs +119 -0
- package/esm2022/lib/ul-notify-popup/ul-notify-popup.component.mjs +32 -0
- package/esm2022/lib/ul-toast-adapter/ul-toast-adapter.component.mjs +48 -0
- package/esm2022/lib/ulv-column-settings/ulv-column-settings.component.mjs +53 -0
- package/esm2022/lib/ulv-context-menu/ulv-context-menu.component.mjs +116 -0
- package/esm2022/lib/ulv-filter-settings/ulv-filter-settings.component.mjs +43 -0
- package/esm2022/lib/ulv-form-multi-select/ulv-form-multi-select.component.mjs +196 -0
- package/esm2022/lib/ulv-groupby-settings/ulv-groupby-settings.component.mjs +44 -0
- package/esm2022/lib/ulv-paging/ulv-paging.component.mjs +84 -0
- package/esm2022/lib/ulv-selection/ulv-selection.component.mjs +65 -0
- package/esm2022/lib/ulv-settings/ulv-settings.component.mjs +116 -0
- package/esm2022/lib/ulv-sort-settings/ulv-sort-settings.component.mjs +54 -0
- package/esm2022/lib/ulv-toolbar/ulv-toolbar.component.mjs +177 -0
- package/esm2022/lib/upload-file-status.pipe.mjs +29 -0
- package/esm2022/lib/util-chat-time-badge.pipe.mjs +18 -0
- package/esm2022/lib/util-date-to-hh-mm.pipe.mjs +23 -0
- package/esm2022/lib/wizard-layout.directive.mjs +104 -0
- package/esm2022/public-api.mjs +236 -0
- package/fesm2022/barsa-sap-ui.mjs +6 -6
- package/fesm2022/barsa-sap-ui.mjs.map +1 -1
- package/package.json +3 -1
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, ViewChild } from '@angular/core';
|
|
2
|
+
import { DeviceInfoFieldBaseComponent } from '../device-info-field-base';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "barsa-novin-ray-core";
|
|
5
|
+
import * as i2 from "../barsa-monaco-editor/barsa-monaco-editor.component";
|
|
6
|
+
export class UiMonacoEditorComponent extends DeviceInfoFieldBaseComponent {
|
|
7
|
+
onValueChange(value) {
|
|
8
|
+
this.value = value;
|
|
9
|
+
this.context.value = value;
|
|
10
|
+
this.context.fireEvent('change', this, value, this.value);
|
|
11
|
+
}
|
|
12
|
+
_setValue(value) {
|
|
13
|
+
super._setValue(value);
|
|
14
|
+
if (this._editor) {
|
|
15
|
+
this._editor.setValue(value);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiMonacoEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
19
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UiMonacoEditorComponent, selector: "bsu-ui-monaco-editor", viewQueries: [{ propertyName: "_editor", first: true, predicate: ["editor"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<bsu-barsa-monaco-editor\r\n #editor\r\n *untilInView=\"el\"\r\n [value]=\"value\"\r\n (valueChange)=\"onValueChange($event)\"\r\n></bsu-barsa-monaco-editor>\r\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i1.UntilInViewDirective, selector: "[untilInView]", inputs: ["untilInView", "intersectionDebounce"] }, { kind: "component", type: i2.BarsaMonacoEditorComponent, selector: "bsu-barsa-monaco-editor", inputs: ["value"], outputs: ["valueChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
20
|
+
}
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiMonacoEditorComponent, decorators: [{
|
|
22
|
+
type: Component,
|
|
23
|
+
args: [{ selector: 'bsu-ui-monaco-editor', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bsu-barsa-monaco-editor\r\n #editor\r\n *untilInView=\"el\"\r\n [value]=\"value\"\r\n (valueChange)=\"onValueChange($event)\"\r\n></bsu-barsa-monaco-editor>\r\n", styles: [":host{display:block}\n"] }]
|
|
24
|
+
}], propDecorators: { _editor: [{
|
|
25
|
+
type: ViewChild,
|
|
26
|
+
args: ['editor', { static: false }]
|
|
27
|
+
}] } });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktbW9uYWNvLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi91aS1tb25hY28tZWRpdG9yL3VpLW1vbmFjby1lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktbW9uYWNvLWVkaXRvci91aS1tb25hY28tZWRpdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7O0FBVXpFLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSw0QkFBNEI7SUFHckUsYUFBYSxDQUFDLEtBQUs7UUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFDa0IsU0FBUyxDQUFDLEtBQVU7UUFDbkMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLENBQUM7SUFDTCxDQUFDOytHQWJRLHVCQUF1QjttR0FBdkIsdUJBQXVCLHNMQ1hwQywrS0FNQTs7NEZES2EsdUJBQXVCO2tCQVBuQyxTQUFTOytCQUNJLHNCQUFzQixtQkFHZix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLEtBQUs7OEJBR3VCLE9BQU87c0JBQTlDLFNBQVM7dUJBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEZXZpY2VJbmZvRmllbGRCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vZGV2aWNlLWluZm8tZmllbGQtYmFzZSc7XHJcbmltcG9ydCB7IEJhcnNhTW9uYWNvRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFyc2EtbW9uYWNvLWVkaXRvci9iYXJzYS1tb25hY28tZWRpdG9yLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnN1LXVpLW1vbmFjby1lZGl0b3InLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3VpLW1vbmFjby1lZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vdWktbW9uYWNvLWVkaXRvci5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVWlNb25hY29FZGl0b3JDb21wb25lbnQgZXh0ZW5kcyBEZXZpY2VJbmZvRmllbGRCYXNlQ29tcG9uZW50IHtcclxuICAgIEBWaWV3Q2hpbGQoJ2VkaXRvcicsIHsgc3RhdGljOiBmYWxzZSB9KSBfZWRpdG9yOiBCYXJzYU1vbmFjb0VkaXRvckNvbXBvbmVudDtcclxuXHJcbiAgICBvblZhbHVlQ2hhbmdlKHZhbHVlKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMuY29udGV4dC52YWx1ZSA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMuY29udGV4dC5maXJlRXZlbnQoJ2NoYW5nZScsIHRoaXMsIHZhbHVlLCB0aGlzLnZhbHVlKTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBfc2V0VmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLl9zZXRWYWx1ZSh2YWx1ZSk7XHJcbiAgICAgICAgaWYgKHRoaXMuX2VkaXRvcikge1xyXG4gICAgICAgICAgICB0aGlzLl9lZGl0b3Iuc2V0VmFsdWUodmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCI8YnN1LWJhcnNhLW1vbmFjby1lZGl0b3JcclxuICAgICNlZGl0b3JcclxuICAgICp1bnRpbEluVmlldz1cImVsXCJcclxuICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXHJcbiAgICAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcclxuPjwvYnN1LWJhcnNhLW1vbmFjby1lZGl0b3I+XHJcbiJdfQ==
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
+
import { getUniqueId } from 'barsa-novin-ray-core';
|
|
3
|
+
import { UiMultiSelectComboComponent } from '../ui-multi-select-combo/ui-multi-select-combo.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/forms";
|
|
6
|
+
import * as i2 from "@fundamental-ngx/core/card";
|
|
7
|
+
import * as i3 from "@fundamental-ngx/core/form";
|
|
8
|
+
import * as i4 from "@fundamental-ngx/core/radio";
|
|
9
|
+
import * as i5 from "@angular/common";
|
|
10
|
+
import * as i6 from "barsa-novin-ray-core";
|
|
11
|
+
export class UiMultiSelectCardComponent extends UiMultiSelectComboComponent {
|
|
12
|
+
constructor() {
|
|
13
|
+
super(...arguments);
|
|
14
|
+
this.selectedItems = [];
|
|
15
|
+
this.id = getUniqueId(4);
|
|
16
|
+
}
|
|
17
|
+
ngOnInit() {
|
|
18
|
+
super.ngOnInit();
|
|
19
|
+
this.context.fireEvent('TriggerClick', this.context, '');
|
|
20
|
+
}
|
|
21
|
+
ngAfterViewInit() {
|
|
22
|
+
// overriede parent to avoid do more
|
|
23
|
+
// super.ngAfterContentInit();
|
|
24
|
+
}
|
|
25
|
+
onRadioClicked(item) {
|
|
26
|
+
this.selectedItems.push(item);
|
|
27
|
+
this.value = item.id;
|
|
28
|
+
this._raiseValueChanged();
|
|
29
|
+
}
|
|
30
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiMultiSelectCardComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
31
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: UiMultiSelectCardComponent, selector: "bsu-ui-multi-select-card", usesInheritance: true, ngImport: i0, template: "<fd-form-group [isInline]=\"!parameters?.IsVertically && !(isMobile && parameters?.OnlyInMobileVertically)\">\r\n @for (item of dataList; track item; let i = $index; let first = $first) {\r\n <div fd-form-item>\r\n <fd-card>\r\n <fd-card-content>\r\n <img\r\n width=\"90px\"\r\n [src]=\"item.fileId | picFieldSrc: 'PictureFileInfo':item.Id:item.fieldDefId\"\r\n [alt]=\"item.txt\"\r\n [attr.aria-label]=\"item.txt\"\r\n [title]=\"item.txt\"\r\n />\r\n </fd-card-content>\r\n <fd-card-header (click)=\"onRadioClicked(item)\">\r\n <fd-card-main-header>\r\n <fd-radio-button\r\n fd-card-title\r\n [value]=\"item.id\"\r\n [id]=\"'radio-' + id + i\"\r\n [name]=\"'radio' + id + i\"\r\n [disabled]=\"(disableOrReadonly$ | async)!!\"\r\n [ngModel]=\"value\"\r\n [selectedValue]=\"value\"\r\n >\r\n {{ item.txt }}\r\n </fd-radio-button>\r\n </fd-card-main-header>\r\n </fd-card-header>\r\n </fd-card>\r\n </div>\r\n }\r\n</fd-form-group>\r\n", styles: [":host{display:block;width:100%;height:100%}:host div[fd-form-item]{margin:0 .5rem}fd-form-group{row-gap:1rem}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.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: i2.CardHeaderComponent, selector: "fd-card-header", inputs: ["ariaRoleDescription"] }, { kind: "component", type: i2.CardMainHeaderComponent, selector: "fd-card-main-header", inputs: ["interactive", "title"] }, { kind: "component", type: i2.CardContentComponent, selector: "fd-card-content" }, { kind: "directive", type: i2.CardTitleDirective, selector: "[fd-card-title]", inputs: ["id"] }, { kind: "component", type: i3.FormItemComponent, selector: "[fd-form-item]", inputs: ["isInline", "horizontal"] }, { kind: "component", type: i3.FormGroupComponent, selector: "fd-form-group", inputs: ["isInline"] }, { kind: "component", type: i4.RadioButtonComponent, selector: "fd-radio-button", inputs: ["ariaLabel", "ariaLabelledBy", "ariaDescribedBy", "title", "tabIndex", "state", "disabled", "selectedValue", "name", "id", "value", "required", "standalone"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.PictureFieldSourcePipe, name: "picFieldSrc" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
32
|
+
}
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiMultiSelectCardComponent, decorators: [{
|
|
34
|
+
type: Component,
|
|
35
|
+
args: [{ selector: 'bsu-ui-multi-select-card', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<fd-form-group [isInline]=\"!parameters?.IsVertically && !(isMobile && parameters?.OnlyInMobileVertically)\">\r\n @for (item of dataList; track item; let i = $index; let first = $first) {\r\n <div fd-form-item>\r\n <fd-card>\r\n <fd-card-content>\r\n <img\r\n width=\"90px\"\r\n [src]=\"item.fileId | picFieldSrc: 'PictureFileInfo':item.Id:item.fieldDefId\"\r\n [alt]=\"item.txt\"\r\n [attr.aria-label]=\"item.txt\"\r\n [title]=\"item.txt\"\r\n />\r\n </fd-card-content>\r\n <fd-card-header (click)=\"onRadioClicked(item)\">\r\n <fd-card-main-header>\r\n <fd-radio-button\r\n fd-card-title\r\n [value]=\"item.id\"\r\n [id]=\"'radio-' + id + i\"\r\n [name]=\"'radio' + id + i\"\r\n [disabled]=\"(disableOrReadonly$ | async)!!\"\r\n [ngModel]=\"value\"\r\n [selectedValue]=\"value\"\r\n >\r\n {{ item.txt }}\r\n </fd-radio-button>\r\n </fd-card-main-header>\r\n </fd-card-header>\r\n </fd-card>\r\n </div>\r\n }\r\n</fd-form-group>\r\n", styles: [":host{display:block;width:100%;height:100%}:host div[fd-form-item]{margin:0 .5rem}fd-form-group{row-gap:1rem}\n"] }]
|
|
36
|
+
}] });
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktbXVsdGktc2VsZWN0LWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktbXVsdGktc2VsZWN0LWNhcmQvdWktbXVsdGktc2VsZWN0LWNhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktbXVsdGktc2VsZWN0LWNhcmQvdWktbXVsdGktc2VsZWN0LWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDOzs7Ozs7OztBQVN2RyxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsMkJBQTJCO0lBUDNFOztRQVFJLGtCQUFhLEdBQWtDLEVBQUUsQ0FBQztRQUdsRCxPQUFFLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBY3ZCO0lBYkcsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBQ0QsZUFBZTtRQUNYLG9DQUFvQztRQUNwQyw4QkFBOEI7SUFDbEMsQ0FBQztJQUNELGNBQWMsQ0FBQyxJQUFJO1FBQ2YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7K0dBakJRLDBCQUEwQjttR0FBMUIsMEJBQTBCLHVGQ1h2Qyx5M0NBZ0NBOzs0RkRyQmEsMEJBQTBCO2tCQVB0QyxTQUFTOytCQUNJLDBCQUEwQixtQkFHbkIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZ2V0VW5pcXVlSWQgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcbmltcG9ydCB7IFVpTXVsdGlTZWxlY3RDb21ib0NvbXBvbmVudCB9IGZyb20gJy4uL3VpLW11bHRpLXNlbGVjdC1jb21iby91aS1tdWx0aS1zZWxlY3QtY29tYm8uY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdic3UtdWktbXVsdGktc2VsZWN0LWNhcmQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3VpLW11bHRpLXNlbGVjdC1jYXJkLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3VpLW11bHRpLXNlbGVjdC1jYXJkLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVaU11bHRpU2VsZWN0Q2FyZENvbXBvbmVudCBleHRlbmRzIFVpTXVsdGlTZWxlY3RDb21ib0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAgIHNlbGVjdGVkSXRlbXM6IHsgaWQ6IHN0cmluZzsgdHh0OiBzdHJpbmcgfVtdID0gW107XHJcbiAgICBtYXhXaWR0aDogYW55O1xyXG4gICAgZGF0YUxpc3Q6IGFueTtcclxuICAgIGlkID0gZ2V0VW5pcXVlSWQoNCk7XHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMuY29udGV4dC5maXJlRXZlbnQoJ1RyaWdnZXJDbGljaycsIHRoaXMuY29udGV4dCwgJycpO1xyXG4gICAgfVxyXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgICAgIC8vIG92ZXJyaWVkZSBwYXJlbnQgdG8gYXZvaWQgZG8gbW9yZVxyXG4gICAgICAgIC8vIHN1cGVyLm5nQWZ0ZXJDb250ZW50SW5pdCgpO1xyXG4gICAgfVxyXG4gICAgb25SYWRpb0NsaWNrZWQoaXRlbSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSBpdGVtLmlkO1xyXG4gICAgICAgIHRoaXMuX3JhaXNlVmFsdWVDaGFuZ2VkKCk7XHJcbiAgICB9XHJcbn1cclxuIiwiPGZkLWZvcm0tZ3JvdXAgW2lzSW5saW5lXT1cIiFwYXJhbWV0ZXJzPy5Jc1ZlcnRpY2FsbHkgJiYgIShpc01vYmlsZSAmJiBwYXJhbWV0ZXJzPy5Pbmx5SW5Nb2JpbGVWZXJ0aWNhbGx5KVwiPlxyXG4gICAgQGZvciAoaXRlbSBvZiBkYXRhTGlzdDsgdHJhY2sgaXRlbTsgbGV0IGkgPSAkaW5kZXg7IGxldCBmaXJzdCA9ICRmaXJzdCkge1xyXG4gICAgPGRpdiBmZC1mb3JtLWl0ZW0+XHJcbiAgICAgICAgPGZkLWNhcmQ+XHJcbiAgICAgICAgICAgIDxmZC1jYXJkLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCI5MHB4XCJcclxuICAgICAgICAgICAgICAgICAgICBbc3JjXT1cIml0ZW0uZmlsZUlkIHwgcGljRmllbGRTcmM6ICdQaWN0dXJlRmlsZUluZm8nOml0ZW0uSWQ6aXRlbS5maWVsZERlZklkXCJcclxuICAgICAgICAgICAgICAgICAgICBbYWx0XT1cIml0ZW0udHh0XCJcclxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0udHh0XCJcclxuICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiaXRlbS50eHRcIlxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9mZC1jYXJkLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgIDxmZC1jYXJkLWhlYWRlciAoY2xpY2spPVwib25SYWRpb0NsaWNrZWQoaXRlbSlcIj5cclxuICAgICAgICAgICAgICAgIDxmZC1jYXJkLW1haW4taGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmZC1yYWRpby1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgZmQtY2FyZC10aXRsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiaXRlbS5pZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCIncmFkaW8tJyArIGlkICsgaVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cIidyYWRpbycgKyBpZCArIGlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiKGRpc2FibGVPclJlYWRvbmx5JCB8IGFzeW5jKSEhXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW25nTW9kZWxdPVwidmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRWYWx1ZV09XCJ2YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLnR4dCB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZmQtcmFkaW8tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9mZC1jYXJkLW1haW4taGVhZGVyPlxyXG4gICAgICAgICAgICA8L2ZkLWNhcmQtaGVhZGVyPlxyXG4gICAgICAgIDwvZmQtY2FyZD5cclxuICAgIDwvZGl2PlxyXG4gICAgfVxyXG48L2ZkLWZvcm0tZ3JvdXA+XHJcbiJdfQ==
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
+
import { getUniqueId } from 'barsa-novin-ray-core';
|
|
3
|
+
import { UiMultiSelectComboComponent } from '../ui-multi-select-combo/ui-multi-select-combo.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/forms";
|
|
6
|
+
import * as i2 from "@fundamental-ngx/core/checkbox";
|
|
7
|
+
import * as i3 from "@fundamental-ngx/core/form";
|
|
8
|
+
import * as i4 from "@angular/common";
|
|
9
|
+
export class UiMultiSelectCheckboxComponent extends UiMultiSelectComboComponent {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments);
|
|
12
|
+
this.selectedItems = [];
|
|
13
|
+
this.id = getUniqueId(4);
|
|
14
|
+
}
|
|
15
|
+
ngOnInit() {
|
|
16
|
+
super.ngOnInit();
|
|
17
|
+
this.context.fireEvent('TriggerClick', this.context, '');
|
|
18
|
+
}
|
|
19
|
+
_setDataList() {
|
|
20
|
+
const store = this.context.store;
|
|
21
|
+
this.dataList = store.data[store.root];
|
|
22
|
+
this._handleSetValue();
|
|
23
|
+
this._cdr.detectChanges();
|
|
24
|
+
}
|
|
25
|
+
_handleSetValue() {
|
|
26
|
+
const store = this.context.store;
|
|
27
|
+
const splitedValue = this.value.split(',');
|
|
28
|
+
const dropDownValues = store.data[store.root];
|
|
29
|
+
dropDownValues.forEach((item) => {
|
|
30
|
+
const selected = splitedValue.find((c) => c === item.id);
|
|
31
|
+
if (selected) {
|
|
32
|
+
item.checked = true;
|
|
33
|
+
this.selectedItems.push(item);
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
ngAfterViewInit() {
|
|
38
|
+
// overriede parent to avoid do more
|
|
39
|
+
// super.ngAfterContentInit();
|
|
40
|
+
}
|
|
41
|
+
onCheckedChange(item) {
|
|
42
|
+
item.checked = !item.checked;
|
|
43
|
+
if (item.checked) {
|
|
44
|
+
this.selectedItems.push(item);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
this.selectedItems = this.selectedItems.filter((c) => c.id === item.id);
|
|
48
|
+
}
|
|
49
|
+
this.value = this.selectedItems.map((c) => (typeof c === 'string' ? c : c.id)).join(',');
|
|
50
|
+
this._raiseValueChanged();
|
|
51
|
+
}
|
|
52
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiMultiSelectCheckboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
53
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: UiMultiSelectCheckboxComponent, selector: "bsu-ui-multi-select-checkbox", usesInheritance: true, ngImport: i0, template: "<fd-form-group [isInline]=\"!parameters?.IsVertically && !(isMobile && parameters?.OnlyInMobileVertically)\">\r\n @for (item of dataList; track item; let i = $index; let first = $first) {\r\n <div fd-form-item>\r\n <fd-checkbox\r\n [id]=\"id + i\"\r\n (change)=\"onCheckedChange(item)\"\r\n [ngModel]=\"item.checked\"\r\n [disabled]=\"(disableOrReadonly$ | async)!!\"\r\n [label]=\"item.txt\"\r\n >\r\n </fd-checkbox>\r\n </div>\r\n }\r\n</fd-form-group>\r\n", styles: [":host{display:block;width:100%;height:100%}img[rtl=true]{margin-left:5px}img[rtl=false]{margin-right:5px}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.CheckboxComponent, selector: "fd-checkbox", inputs: ["wrapLabel", "valignLabel", "ariaLabel", "role", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "readonly", "tristate", "tristateSelectable", "labelClass", "required", "displayOnly", "values", "standalone"], outputs: ["focusChange"] }, { kind: "component", type: i3.FormItemComponent, selector: "[fd-form-item]", inputs: ["isInline", "horizontal"] }, { kind: "component", type: i3.FormGroupComponent, selector: "fd-form-group", inputs: ["isInline"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
54
|
+
}
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiMultiSelectCheckboxComponent, decorators: [{
|
|
56
|
+
type: Component,
|
|
57
|
+
args: [{ selector: 'bsu-ui-multi-select-checkbox', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<fd-form-group [isInline]=\"!parameters?.IsVertically && !(isMobile && parameters?.OnlyInMobileVertically)\">\r\n @for (item of dataList; track item; let i = $index; let first = $first) {\r\n <div fd-form-item>\r\n <fd-checkbox\r\n [id]=\"id + i\"\r\n (change)=\"onCheckedChange(item)\"\r\n [ngModel]=\"item.checked\"\r\n [disabled]=\"(disableOrReadonly$ | async)!!\"\r\n [label]=\"item.txt\"\r\n >\r\n </fd-checkbox>\r\n </div>\r\n }\r\n</fd-form-group>\r\n", styles: [":host{display:block;width:100%;height:100%}img[rtl=true]{margin-left:5px}img[rtl=false]{margin-right:5px}\n"] }]
|
|
58
|
+
}] });
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktbXVsdGktc2VsZWN0LWNoZWNrYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL3VpLW11bHRpLXNlbGVjdC1jaGVja2JveC91aS1tdWx0aS1zZWxlY3QtY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktbXVsdGktc2VsZWN0LWNoZWNrYm94L3VpLW11bHRpLXNlbGVjdC1jaGVja2JveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFnQyxNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMERBQTBELENBQUM7Ozs7OztBQVN2RyxNQUFNLE9BQU8sOEJBQ1QsU0FBUSwyQkFBMkI7SUFSdkM7O1FBV0ksa0JBQWEsR0FBa0MsRUFBRSxDQUFDO1FBR2xELE9BQUUsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7S0F1Q3ZCO0lBdENHLFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVTLFlBQVk7UUFDbEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBQ0QsZUFBZTtRQUNYLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ2pDLE1BQU0sWUFBWSxHQUFhLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JELE1BQU0sY0FBYyxHQUFvRCxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvRixjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDNUIsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN6RCxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUNYLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNsQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsZUFBZTtRQUNYLG9DQUFvQztRQUNwQyw4QkFBOEI7SUFDbEMsQ0FBQztJQUNELGVBQWUsQ0FBQyxJQUFJO1FBQ2hCLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzdCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEMsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM1RSxDQUFDO1FBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pGLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7K0dBN0NRLDhCQUE4QjttR0FBOUIsOEJBQThCLDJGQ1gzQyxvaUJBY0E7OzRGREhhLDhCQUE4QjtrQkFQMUMsU0FBUzsrQkFDSSw4QkFBOEIsbUJBR3ZCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZ2V0VW5pcXVlSWQgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcbmltcG9ydCB7IFVpTXVsdGlTZWxlY3RDb21ib0NvbXBvbmVudCB9IGZyb20gJy4uL3VpLW11bHRpLXNlbGVjdC1jb21iby91aS1tdWx0aS1zZWxlY3QtY29tYm8uY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdic3UtdWktbXVsdGktc2VsZWN0LWNoZWNrYm94JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi91aS1tdWx0aS1zZWxlY3QtY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vdWktbXVsdGktc2VsZWN0LWNoZWNrYm94LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVaU11bHRpU2VsZWN0Q2hlY2tib3hDb21wb25lbnRcclxuICAgIGV4dGVuZHMgVWlNdWx0aVNlbGVjdENvbWJvQ29tcG9uZW50XHJcbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXNcclxue1xyXG4gICAgc2VsZWN0ZWRJdGVtczogeyBpZDogc3RyaW5nOyB0eHQ6IHN0cmluZyB9W10gPSBbXTtcclxuICAgIG1heFdpZHRoOiBhbnk7XHJcbiAgICBkYXRhTGlzdDogYW55O1xyXG4gICAgaWQgPSBnZXRVbmlxdWVJZCg0KTtcclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcblxyXG4gICAgICAgIHRoaXMuY29udGV4dC5maXJlRXZlbnQoJ1RyaWdnZXJDbGljaycsIHRoaXMuY29udGV4dCwgJycpO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBfc2V0RGF0YUxpc3QoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3Qgc3RvcmUgPSB0aGlzLmNvbnRleHQuc3RvcmU7XHJcbiAgICAgICAgdGhpcy5kYXRhTGlzdCA9IHN0b3JlLmRhdGFbc3RvcmUucm9vdF07XHJcbiAgICAgICAgdGhpcy5faGFuZGxlU2V0VmFsdWUoKTtcclxuICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gICAgX2hhbmRsZVNldFZhbHVlKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHN0b3JlID0gdGhpcy5jb250ZXh0LnN0b3JlO1xyXG4gICAgICAgIGNvbnN0IHNwbGl0ZWRWYWx1ZTogc3RyaW5nW10gPSB0aGlzLnZhbHVlLnNwbGl0KCcsJyk7XHJcbiAgICAgICAgY29uc3QgZHJvcERvd25WYWx1ZXM6IHsgaWQ6IHN0cmluZzsgdHh0OiBzdHJpbmc7IGNoZWNrZWQ6IGJvb2xlYW4gfVtdID0gc3RvcmUuZGF0YVtzdG9yZS5yb290XTtcclxuICAgICAgICBkcm9wRG93blZhbHVlcy5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkID0gc3BsaXRlZFZhbHVlLmZpbmQoKGMpID0+IGMgPT09IGl0ZW0uaWQpO1xyXG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWQpIHtcclxuICAgICAgICAgICAgICAgIGl0ZW0uY2hlY2tlZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMucHVzaChpdGVtKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgICAgIC8vIG92ZXJyaWVkZSBwYXJlbnQgdG8gYXZvaWQgZG8gbW9yZVxyXG4gICAgICAgIC8vIHN1cGVyLm5nQWZ0ZXJDb250ZW50SW5pdCgpO1xyXG4gICAgfVxyXG4gICAgb25DaGVja2VkQ2hhbmdlKGl0ZW0pOiB2b2lkIHtcclxuICAgICAgICBpdGVtLmNoZWNrZWQgPSAhaXRlbS5jaGVja2VkO1xyXG4gICAgICAgIGlmIChpdGVtLmNoZWNrZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLnB1c2goaXRlbSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gdGhpcy5zZWxlY3RlZEl0ZW1zLmZpbHRlcigoYykgPT4gYy5pZCA9PT0gaXRlbS5pZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnNlbGVjdGVkSXRlbXMubWFwKChjKSA9PiAodHlwZW9mIGMgPT09ICdzdHJpbmcnID8gYyA6IGMuaWQpKS5qb2luKCcsJyk7XHJcbiAgICAgICAgdGhpcy5fcmFpc2VWYWx1ZUNoYW5nZWQoKTtcclxuICAgIH1cclxufVxyXG4iLCI8ZmQtZm9ybS1ncm91cCBbaXNJbmxpbmVdPVwiIXBhcmFtZXRlcnM/LklzVmVydGljYWxseSAmJiAhKGlzTW9iaWxlICYmIHBhcmFtZXRlcnM/Lk9ubHlJbk1vYmlsZVZlcnRpY2FsbHkpXCI+XHJcbiAgICBAZm9yIChpdGVtIG9mIGRhdGFMaXN0OyB0cmFjayBpdGVtOyBsZXQgaSA9ICRpbmRleDsgbGV0IGZpcnN0ID0gJGZpcnN0KSB7XHJcbiAgICA8ZGl2IGZkLWZvcm0taXRlbT5cclxuICAgICAgICA8ZmQtY2hlY2tib3hcclxuICAgICAgICAgICAgW2lkXT1cImlkICsgaVwiXHJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwib25DaGVja2VkQ2hhbmdlKGl0ZW0pXCJcclxuICAgICAgICAgICAgW25nTW9kZWxdPVwiaXRlbS5jaGVja2VkXCJcclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIihkaXNhYmxlT3JSZWFkb25seSQgfCBhc3luYykhIVwiXHJcbiAgICAgICAgICAgIFtsYWJlbF09XCJpdGVtLnR4dFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvZmQtY2hlY2tib3g+XHJcbiAgICA8L2Rpdj5cclxuICAgIH1cclxuPC9mZC1mb3JtLWdyb3VwPlxyXG4iXX0=
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
+
import { FieldBaseComponent } from 'barsa-novin-ray-core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/forms";
|
|
5
|
+
import * as i2 from "barsa-novin-ray-core";
|
|
6
|
+
import * as i3 from "@fundamental-ngx/core/list";
|
|
7
|
+
import * as i4 from "@fundamental-ngx/core/multi-input";
|
|
8
|
+
import * as i5 from "@angular/common";
|
|
9
|
+
export class UiMultiSelectComboComponent extends FieldBaseComponent {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments);
|
|
12
|
+
this.selectedItems = [];
|
|
13
|
+
}
|
|
14
|
+
ngOnInit() {
|
|
15
|
+
super.ngOnInit();
|
|
16
|
+
this.context.on({
|
|
17
|
+
DataListChanged: this._setDataList.bind(this)
|
|
18
|
+
});
|
|
19
|
+
this._initSelectedItems();
|
|
20
|
+
}
|
|
21
|
+
ngAfterViewInit() {
|
|
22
|
+
super.ngAfterContentInit();
|
|
23
|
+
setTimeout(() => {
|
|
24
|
+
const width = this._el.nativeElement.clientWidth;
|
|
25
|
+
const layoutWidth = this.layoutInfo.Bounds.width;
|
|
26
|
+
if (width > layoutWidth) {
|
|
27
|
+
this.maxWidth = width;
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
this.maxWidth = layoutWidth;
|
|
31
|
+
}
|
|
32
|
+
}, 10);
|
|
33
|
+
}
|
|
34
|
+
ngOnDestroy() {
|
|
35
|
+
super.ngOnDestroy();
|
|
36
|
+
this.context.un('DataListChanged', this._setDataList);
|
|
37
|
+
}
|
|
38
|
+
onOpenChange(isOpen, multiInput) {
|
|
39
|
+
if (isOpen) {
|
|
40
|
+
setTimeout(() => {
|
|
41
|
+
this.context.fireEvent('TriggerClick', this.context, '');
|
|
42
|
+
multiInput?.searchInputElement?.nativeElement?.focus();
|
|
43
|
+
}, 0);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
onSelectedChange() {
|
|
47
|
+
this.value = this.selectedItems.map((c) => (typeof c === 'string' ? c : c.id)).join(',');
|
|
48
|
+
this._raiseValueChanged();
|
|
49
|
+
}
|
|
50
|
+
// IsSelected(item): boolean {
|
|
51
|
+
// if (!this.value) {
|
|
52
|
+
// return false;
|
|
53
|
+
// }
|
|
54
|
+
// const arr = this.value.split(',');
|
|
55
|
+
// return arr.indexOf(item.id) > -1;
|
|
56
|
+
// }
|
|
57
|
+
displayFunc(obj) {
|
|
58
|
+
return obj.txt;
|
|
59
|
+
}
|
|
60
|
+
valueFunc(obj) {
|
|
61
|
+
return obj.id;
|
|
62
|
+
}
|
|
63
|
+
_initSelectedItems() {
|
|
64
|
+
const store = this.context.store;
|
|
65
|
+
if (this.value) {
|
|
66
|
+
const splitedValue = this.value.split(',');
|
|
67
|
+
const dropDownValues = store.data[store.root];
|
|
68
|
+
dropDownValues.forEach((item) => {
|
|
69
|
+
const selected = splitedValue.find((c) => c === item.id);
|
|
70
|
+
if (selected) {
|
|
71
|
+
this.selectedItems.push(item);
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
this.dataList = store.data[store.root];
|
|
76
|
+
}
|
|
77
|
+
_setDataList() {
|
|
78
|
+
const store = this.context.store;
|
|
79
|
+
this.dataList = store.data[store.root];
|
|
80
|
+
this._cdr.detectChanges();
|
|
81
|
+
}
|
|
82
|
+
_raiseValueChanged() {
|
|
83
|
+
this.valueChange.emit(this.value);
|
|
84
|
+
this.fireContextEvent('select', this.value);
|
|
85
|
+
}
|
|
86
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiMultiSelectComboComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
87
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: UiMultiSelectComboComponent, selector: "bsu-ui-multi-select-combo", usesInheritance: true, ngImport: i0, template: "<fd-multi-input\r\n #multiInput\r\n inputId=\"multiInput\"\r\n [disabled]=\"(disableOrReadonly$ | async)!!\"\r\n [dropdownValues]=\"dataList\"\r\n [placeholder]=\"'Search' | bbbTranslate\"\r\n [(ngModel)]=\"selectedItems\"\r\n [displayFn]=\"displayFunc\"\r\n [valueFn]=\"valueFunc\"\r\n [itemTemplate]=\"template\"\r\n (openChange)=\"onOpenChange($event, multiInput)\"\r\n (selectedChange)=\"onSelectedChange()\"\r\n [style.max-width.px]=\"maxWidth\"\r\n></fd-multi-input>\r\n<ng-template #template let-item>\r\n <div style=\"display: flex; align-items: center\">\r\n @if (item.url) {\r\n <img [attrRtl] [src]=\"item.url\" />\r\n }\r\n <span fd-list-title>{{ item.txt | bbbTranslate }}</span>\r\n </div>\r\n</ng-template>\r\n", styles: [":host{display:block;width:100%;height:100%}img[rtl=true]{margin-left:5px}img[rtl=false]{margin-right:5px}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.AttrRtlDirective, selector: "[attrRtl]", inputs: ["attrRtl"] }, { kind: "directive", type: i3.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "component", type: i4.MultiInputComponent, selector: "fd-multi-input", inputs: ["placeholder", "disabled", "required", "compactCollapse", "maxHeight", "glyph", "glyphFont", "dropdownValues", "openDropdownOnAddOnClicked", "addonIconTitle", "searchTerm", "inputId", "highlight", "selected", "class", "filterFn", "valueFn", "displayFn", "newTokenParseFn", "optionItemIdentifier", "newTokenValidateFn", "ariaLabel", "ariaLabelledBy", "fillControlMode", "state", "buttonFocusable", "allowNewTokens", "mobile", "showAllButton", "bodyMaxWidth", "mobileConfig", "includes", "itemTemplate", "title", "byline", "autoComplete", "open", "displayAddonButton", "addOnButtonAriaLabel", "tokenHiddenId"], outputs: ["searchTermChange", "selectedChange", "openChange", "addOnButtonClicked", "allItemsSelectedChange"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
88
|
+
}
|
|
89
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiMultiSelectComboComponent, decorators: [{
|
|
90
|
+
type: Component,
|
|
91
|
+
args: [{ selector: 'bsu-ui-multi-select-combo', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<fd-multi-input\r\n #multiInput\r\n inputId=\"multiInput\"\r\n [disabled]=\"(disableOrReadonly$ | async)!!\"\r\n [dropdownValues]=\"dataList\"\r\n [placeholder]=\"'Search' | bbbTranslate\"\r\n [(ngModel)]=\"selectedItems\"\r\n [displayFn]=\"displayFunc\"\r\n [valueFn]=\"valueFunc\"\r\n [itemTemplate]=\"template\"\r\n (openChange)=\"onOpenChange($event, multiInput)\"\r\n (selectedChange)=\"onSelectedChange()\"\r\n [style.max-width.px]=\"maxWidth\"\r\n></fd-multi-input>\r\n<ng-template #template let-item>\r\n <div style=\"display: flex; align-items: center\">\r\n @if (item.url) {\r\n <img [attrRtl] [src]=\"item.url\" />\r\n }\r\n <span fd-list-title>{{ item.txt | bbbTranslate }}</span>\r\n </div>\r\n</ng-template>\r\n", styles: [":host{display:block;width:100%;height:100%}img[rtl=true]{margin-left:5px}img[rtl=false]{margin-right:5px}\n"] }]
|
|
92
|
+
}] });
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktbXVsdGktc2VsZWN0LWNvbWJvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL3VpLW11bHRpLXNlbGVjdC1jb21iby91aS1tdWx0aS1zZWxlY3QtY29tYm8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktbXVsdGktc2VsZWN0LWNvbWJvL3VpLW11bHRpLXNlbGVjdC1jb21iby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUd0RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7OztBQVExRCxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsa0JBQWtCO0lBUG5FOztRQVFJLGtCQUFhLEdBQWtDLEVBQUUsQ0FBQztLQTRFckQ7SUF6RUcsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNaLGVBQWUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDaEQsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELGVBQWU7UUFDWCxLQUFLLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMzQixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO1lBQ2pELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUNqRCxJQUFJLEtBQUssR0FBRyxXQUFXLEVBQUUsQ0FBQztnQkFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDMUIsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLElBQUksQ0FBQyxRQUFRLEdBQUcsV0FBVyxDQUFDO1lBQ2hDLENBQUM7UUFDTCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDWCxDQUFDO0lBQ0QsV0FBVztRQUNQLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUNELFlBQVksQ0FBQyxNQUFlLEVBQUUsVUFBK0I7UUFDekQsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNULFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ3pELFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDM0QsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ1YsQ0FBQztJQUNMLENBQUM7SUFFRCxnQkFBZ0I7UUFDWixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekYsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUNELDhCQUE4QjtJQUM5Qix1QkFBdUI7SUFDdkIsb0JBQW9CO0lBQ3BCLE1BQU07SUFDTix1Q0FBdUM7SUFDdkMsc0NBQXNDO0lBQ3RDLElBQUk7SUFDSixXQUFXLENBQUMsR0FBUTtRQUNoQixPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUM7SUFDbkIsQ0FBQztJQUNELFNBQVMsQ0FBQyxHQUFnQztRQUN0QyxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUNTLGtCQUFrQjtRQUN4QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUNqQyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNiLE1BQU0sWUFBWSxHQUFhLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3JELE1BQU0sY0FBYyxHQUFrQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM3RSxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQzVCLE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ3pELElBQUksUUFBUSxFQUFFLENBQUM7b0JBQ1gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2xDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7UUFDRCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFDUyxZQUFZO1FBQ2xCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBQ1Msa0JBQWtCO1FBQ3hCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoRCxDQUFDOytHQTVFUSwyQkFBMkI7bUdBQTNCLDJCQUEyQix3RkNYeEMsNnhCQXNCQTs7NEZEWGEsMkJBQTJCO2tCQVB2QyxTQUFTOytCQUNJLDJCQUEyQixtQkFHcEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTXVsdGlJbnB1dENvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBGaWVsZEJhc2VDb21wb25lbnQgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdic3UtdWktbXVsdGktc2VsZWN0LWNvbWJvJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi91aS1tdWx0aS1zZWxlY3QtY29tYm8uY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vdWktbXVsdGktc2VsZWN0LWNvbWJvLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVaU11bHRpU2VsZWN0Q29tYm9Db21wb25lbnQgZXh0ZW5kcyBGaWVsZEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgICBzZWxlY3RlZEl0ZW1zOiB7IGlkOiBzdHJpbmc7IHR4dDogc3RyaW5nIH1bXSA9IFtdO1xyXG4gICAgbWF4V2lkdGg6IGFueTtcclxuICAgIGRhdGFMaXN0OiBhbnk7XHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMuY29udGV4dC5vbih7XHJcbiAgICAgICAgICAgIERhdGFMaXN0Q2hhbmdlZDogdGhpcy5fc2V0RGF0YUxpc3QuYmluZCh0aGlzKVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuX2luaXRTZWxlY3RlZEl0ZW1zKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJDb250ZW50SW5pdCgpO1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB3aWR0aCA9IHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGg7XHJcbiAgICAgICAgICAgIGNvbnN0IGxheW91dFdpZHRoID0gdGhpcy5sYXlvdXRJbmZvLkJvdW5kcy53aWR0aDtcclxuICAgICAgICAgICAgaWYgKHdpZHRoID4gbGF5b3V0V2lkdGgpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubWF4V2lkdGggPSB3aWR0aDtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubWF4V2lkdGggPSBsYXlvdXRXaWR0aDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sIDEwKTtcclxuICAgIH1cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0LnVuKCdEYXRhTGlzdENoYW5nZWQnLCB0aGlzLl9zZXREYXRhTGlzdCk7XHJcbiAgICB9XHJcbiAgICBvbk9wZW5DaGFuZ2UoaXNPcGVuOiBib29sZWFuLCBtdWx0aUlucHV0OiBNdWx0aUlucHV0Q29tcG9uZW50KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKGlzT3Blbikge1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dC5maXJlRXZlbnQoJ1RyaWdnZXJDbGljaycsIHRoaXMuY29udGV4dCwgJycpO1xyXG4gICAgICAgICAgICAgICAgbXVsdGlJbnB1dD8uc2VhcmNoSW5wdXRFbGVtZW50Py5uYXRpdmVFbGVtZW50Py5mb2N1cygpO1xyXG4gICAgICAgICAgICB9LCAwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb25TZWxlY3RlZENoYW5nZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5zZWxlY3RlZEl0ZW1zLm1hcCgoYykgPT4gKHR5cGVvZiBjID09PSAnc3RyaW5nJyA/IGMgOiBjLmlkKSkuam9pbignLCcpO1xyXG4gICAgICAgIHRoaXMuX3JhaXNlVmFsdWVDaGFuZ2VkKCk7XHJcbiAgICB9XHJcbiAgICAvLyBJc1NlbGVjdGVkKGl0ZW0pOiBib29sZWFuIHtcclxuICAgIC8vICAgaWYgKCF0aGlzLnZhbHVlKSB7XHJcbiAgICAvLyAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgLy8gICB9XHJcbiAgICAvLyAgIGNvbnN0IGFyciA9IHRoaXMudmFsdWUuc3BsaXQoJywnKTtcclxuICAgIC8vICAgcmV0dXJuIGFyci5pbmRleE9mKGl0ZW0uaWQpID4gLTE7XHJcbiAgICAvLyB9XHJcbiAgICBkaXNwbGF5RnVuYyhvYmo6IGFueSk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIG9iai50eHQ7XHJcbiAgICB9XHJcbiAgICB2YWx1ZUZ1bmMob2JqOiB7IGlkOiBzdHJpbmc7IHR4dDogc3RyaW5nIH0pOiBhbnkge1xyXG4gICAgICAgIHJldHVybiBvYmouaWQ7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX2luaXRTZWxlY3RlZEl0ZW1zKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHN0b3JlID0gdGhpcy5jb250ZXh0LnN0b3JlO1xyXG4gICAgICAgIGlmICh0aGlzLnZhbHVlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHNwbGl0ZWRWYWx1ZTogc3RyaW5nW10gPSB0aGlzLnZhbHVlLnNwbGl0KCcsJyk7XHJcbiAgICAgICAgICAgIGNvbnN0IGRyb3BEb3duVmFsdWVzOiB7IGlkOiBzdHJpbmc7IHR4dDogc3RyaW5nIH1bXSA9IHN0b3JlLmRhdGFbc3RvcmUucm9vdF07XHJcbiAgICAgICAgICAgIGRyb3BEb3duVmFsdWVzLmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkID0gc3BsaXRlZFZhbHVlLmZpbmQoKGMpID0+IGMgPT09IGl0ZW0uaWQpO1xyXG4gICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLnB1c2goaXRlbSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmRhdGFMaXN0ID0gc3RvcmUuZGF0YVtzdG9yZS5yb290XTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfc2V0RGF0YUxpc3QoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3Qgc3RvcmUgPSB0aGlzLmNvbnRleHQuc3RvcmU7XHJcbiAgICAgICAgdGhpcy5kYXRhTGlzdCA9IHN0b3JlLmRhdGFbc3RvcmUucm9vdF07XHJcbiAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfcmFpc2VWYWx1ZUNoYW5nZWQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xyXG4gICAgICAgIHRoaXMuZmlyZUNvbnRleHRFdmVudCgnc2VsZWN0JywgdGhpcy52YWx1ZSk7XHJcbiAgICB9XHJcbn1cclxuIiwiPGZkLW11bHRpLWlucHV0XHJcbiAgICAjbXVsdGlJbnB1dFxyXG4gICAgaW5wdXRJZD1cIm11bHRpSW5wdXRcIlxyXG4gICAgW2Rpc2FibGVkXT1cIihkaXNhYmxlT3JSZWFkb25seSQgfCBhc3luYykhIVwiXHJcbiAgICBbZHJvcGRvd25WYWx1ZXNdPVwiZGF0YUxpc3RcIlxyXG4gICAgW3BsYWNlaG9sZGVyXT1cIidTZWFyY2gnIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRJdGVtc1wiXHJcbiAgICBbZGlzcGxheUZuXT1cImRpc3BsYXlGdW5jXCJcclxuICAgIFt2YWx1ZUZuXT1cInZhbHVlRnVuY1wiXHJcbiAgICBbaXRlbVRlbXBsYXRlXT1cInRlbXBsYXRlXCJcclxuICAgIChvcGVuQ2hhbmdlKT1cIm9uT3BlbkNoYW5nZSgkZXZlbnQsIG11bHRpSW5wdXQpXCJcclxuICAgIChzZWxlY3RlZENoYW5nZSk9XCJvblNlbGVjdGVkQ2hhbmdlKClcIlxyXG4gICAgW3N0eWxlLm1heC13aWR0aC5weF09XCJtYXhXaWR0aFwiXHJcbj48L2ZkLW11bHRpLWlucHV0PlxyXG48bmctdGVtcGxhdGUgI3RlbXBsYXRlIGxldC1pdGVtPlxyXG4gICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXJcIj5cclxuICAgICAgICBAaWYgKGl0ZW0udXJsKSB7XHJcbiAgICAgICAgPGltZyBbYXR0clJ0bF0gW3NyY109XCJpdGVtLnVybFwiIC8+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDxzcGFuIGZkLWxpc3QtdGl0bGU+e3sgaXRlbS50eHQgfCBiYmJUcmFuc2xhdGUgfX08L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
+
import { getUniqueId } from 'barsa-novin-ray-core';
|
|
3
|
+
import { UiMultiSelectComboComponent } from '../ui-multi-select-combo/ui-multi-select-combo.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/forms";
|
|
6
|
+
import * as i2 from "@fundamental-ngx/core/form";
|
|
7
|
+
import * as i3 from "@fundamental-ngx/core/radio";
|
|
8
|
+
import * as i4 from "@angular/common";
|
|
9
|
+
export class UiMultiSelectRadioComponent extends UiMultiSelectComboComponent {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments);
|
|
12
|
+
this.selectedItems = [];
|
|
13
|
+
this.id = getUniqueId(4);
|
|
14
|
+
}
|
|
15
|
+
ngOnInit() {
|
|
16
|
+
super.ngOnInit();
|
|
17
|
+
this.context.fireEvent('TriggerClick', this.context, '');
|
|
18
|
+
}
|
|
19
|
+
ngAfterViewInit() {
|
|
20
|
+
// overriede parent to avoid do more
|
|
21
|
+
// super.ngAfterContentInit();
|
|
22
|
+
}
|
|
23
|
+
onItemClicked(item) {
|
|
24
|
+
this.selectedItems = [];
|
|
25
|
+
this.selectedItems.push(item);
|
|
26
|
+
this.value = item.id;
|
|
27
|
+
this._raiseValueChanged();
|
|
28
|
+
}
|
|
29
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiMultiSelectRadioComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
30
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: UiMultiSelectRadioComponent, selector: "bsu-ui-multi-select-radio", usesInheritance: true, ngImport: i0, template: "<fd-form-group [isInline]=\"!parameters?.IsVertically && !(isMobile && parameters?.OnlyInMobileVertically)\">\r\n @for (item of dataList; track item; let i = $index; let first = $first) {\r\n <div fd-form-item>\r\n <fd-radio-button\r\n [value]=\"item.id\"\r\n [id]=\"'radio-' + id + i\"\r\n [name]=\"'radio' + id + i\"\r\n [disabled]=\"(disableOrReadonly$ | async)!!\"\r\n (click)=\"onItemClicked(item)\"\r\n [ngModel]=\"value\"\r\n [selectedValue]=\"value\"\r\n >\r\n {{ item.txt }}\r\n </fd-radio-button>\r\n </div>\r\n }\r\n</fd-form-group>\r\n", styles: [":host{display:block;width:100%;height:100%}img[rtl=true]{margin-left:5px}img[rtl=false]{margin-right:5px}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.FormItemComponent, selector: "[fd-form-item]", inputs: ["isInline", "horizontal"] }, { kind: "component", type: i2.FormGroupComponent, selector: "fd-form-group", inputs: ["isInline"] }, { kind: "component", type: i3.RadioButtonComponent, selector: "fd-radio-button", inputs: ["ariaLabel", "ariaLabelledBy", "ariaDescribedBy", "title", "tabIndex", "state", "disabled", "selectedValue", "name", "id", "value", "required", "standalone"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
31
|
+
}
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiMultiSelectRadioComponent, decorators: [{
|
|
33
|
+
type: Component,
|
|
34
|
+
args: [{ selector: 'bsu-ui-multi-select-radio', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<fd-form-group [isInline]=\"!parameters?.IsVertically && !(isMobile && parameters?.OnlyInMobileVertically)\">\r\n @for (item of dataList; track item; let i = $index; let first = $first) {\r\n <div fd-form-item>\r\n <fd-radio-button\r\n [value]=\"item.id\"\r\n [id]=\"'radio-' + id + i\"\r\n [name]=\"'radio' + id + i\"\r\n [disabled]=\"(disableOrReadonly$ | async)!!\"\r\n (click)=\"onItemClicked(item)\"\r\n [ngModel]=\"value\"\r\n [selectedValue]=\"value\"\r\n >\r\n {{ item.txt }}\r\n </fd-radio-button>\r\n </div>\r\n }\r\n</fd-form-group>\r\n", styles: [":host{display:block;width:100%;height:100%}img[rtl=true]{margin-left:5px}img[rtl=false]{margin-right:5px}\n"] }]
|
|
35
|
+
}] });
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktbXVsdGktc2VsZWN0LXJhZGlvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL3VpLW11bHRpLXNlbGVjdC1yYWRpby91aS1tdWx0aS1zZWxlY3QtcmFkaW8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktbXVsdGktc2VsZWN0LXJhZGlvL3VpLW11bHRpLXNlbGVjdC1yYWRpby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMERBQTBELENBQUM7Ozs7OztBQVN2RyxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsMkJBQTJCO0lBUDVFOztRQVFJLGtCQUFhLEdBQWtDLEVBQUUsQ0FBQztRQUdsRCxPQUFFLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBZ0J2QjtJQWZHLFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUNELGVBQWU7UUFDWCxvQ0FBb0M7UUFDcEMsOEJBQThCO0lBQ2xDLENBQUM7SUFDRCxhQUFhLENBQUMsSUFBSTtRQUNkLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM5QixDQUFDOytHQW5CUSwyQkFBMkI7bUdBQTNCLDJCQUEyQix3RkNYeEMsOHBCQWlCQTs7NEZETmEsMkJBQTJCO2tCQVB2QyxTQUFTOytCQUNJLDJCQUEyQixtQkFHcEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZ2V0VW5pcXVlSWQgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcbmltcG9ydCB7IFVpTXVsdGlTZWxlY3RDb21ib0NvbXBvbmVudCB9IGZyb20gJy4uL3VpLW11bHRpLXNlbGVjdC1jb21iby91aS1tdWx0aS1zZWxlY3QtY29tYm8uY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdic3UtdWktbXVsdGktc2VsZWN0LXJhZGlvJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi91aS1tdWx0aS1zZWxlY3QtcmFkaW8uY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vdWktbXVsdGktc2VsZWN0LXJhZGlvLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVaU11bHRpU2VsZWN0UmFkaW9Db21wb25lbnQgZXh0ZW5kcyBVaU11bHRpU2VsZWN0Q29tYm9Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgICBzZWxlY3RlZEl0ZW1zOiB7IGlkOiBzdHJpbmc7IHR4dDogc3RyaW5nIH1bXSA9IFtdO1xyXG4gICAgbWF4V2lkdGg6IGFueTtcclxuICAgIGRhdGFMaXN0OiBhbnk7XHJcbiAgICBpZCA9IGdldFVuaXF1ZUlkKDQpO1xyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuXHJcbiAgICAgICAgdGhpcy5jb250ZXh0LmZpcmVFdmVudCgnVHJpZ2dlckNsaWNrJywgdGhpcy5jb250ZXh0LCAnJyk7XHJcbiAgICB9XHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgLy8gb3ZlcnJpZWRlIHBhcmVudCB0byBhdm9pZCBkbyBtb3JlXHJcbiAgICAgICAgLy8gc3VwZXIubmdBZnRlckNvbnRlbnRJbml0KCk7XHJcbiAgICB9XHJcbiAgICBvbkl0ZW1DbGlja2VkKGl0ZW0pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSBbXTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMucHVzaChpdGVtKTtcclxuICAgICAgICB0aGlzLnZhbHVlID0gaXRlbS5pZDtcclxuICAgICAgICB0aGlzLl9yYWlzZVZhbHVlQ2hhbmdlZCgpO1xyXG4gICAgfVxyXG59XHJcbiIsIjxmZC1mb3JtLWdyb3VwIFtpc0lubGluZV09XCIhcGFyYW1ldGVycz8uSXNWZXJ0aWNhbGx5ICYmICEoaXNNb2JpbGUgJiYgcGFyYW1ldGVycz8uT25seUluTW9iaWxlVmVydGljYWxseSlcIj5cclxuICAgIEBmb3IgKGl0ZW0gb2YgZGF0YUxpc3Q7IHRyYWNrIGl0ZW07IGxldCBpID0gJGluZGV4OyBsZXQgZmlyc3QgPSAkZmlyc3QpIHtcclxuICAgIDxkaXYgZmQtZm9ybS1pdGVtPlxyXG4gICAgICAgIDxmZC1yYWRpby1idXR0b25cclxuICAgICAgICAgICAgW3ZhbHVlXT1cIml0ZW0uaWRcIlxyXG4gICAgICAgICAgICBbaWRdPVwiJ3JhZGlvLScgKyBpZCArIGlcIlxyXG4gICAgICAgICAgICBbbmFtZV09XCIncmFkaW8nICsgaWQgKyBpXCJcclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIihkaXNhYmxlT3JSZWFkb25seSQgfCBhc3luYykhIVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJvbkl0ZW1DbGlja2VkKGl0ZW0pXCJcclxuICAgICAgICAgICAgW25nTW9kZWxdPVwidmFsdWVcIlxyXG4gICAgICAgICAgICBbc2VsZWN0ZWRWYWx1ZV09XCJ2YWx1ZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICB7eyBpdGVtLnR4dCB9fVxyXG4gICAgICAgIDwvZmQtcmFkaW8tYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICB9XHJcbjwvZmQtZm9ybS1ncm91cD5cclxuIl19
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, ViewChild } from '@angular/core';
|
|
2
|
+
import { SliderComponent } from '@fundamental-ngx/core';
|
|
3
|
+
import { UiMultiSelectComboComponent } from '../ui-multi-select-combo/ui-multi-select-combo.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/forms";
|
|
6
|
+
import * as i2 from "@fundamental-ngx/core/slider";
|
|
7
|
+
import * as i3 from "@angular/common";
|
|
8
|
+
export class UiMultiSelectSliderComponent extends UiMultiSelectComboComponent {
|
|
9
|
+
ngOnInit() {
|
|
10
|
+
super.ngOnInit();
|
|
11
|
+
this.context.fireEvent('TriggerClick', this.context, '');
|
|
12
|
+
if (this.slider) {
|
|
13
|
+
this.slider.registerOnChange((val) => {
|
|
14
|
+
if (this.value !== val.value) {
|
|
15
|
+
this.value = val.value;
|
|
16
|
+
this._raiseValueChanged();
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
_setDataList() {
|
|
22
|
+
const store = this.context.store;
|
|
23
|
+
this.dataList = store.data[store.root];
|
|
24
|
+
this.dataList.forEach((c) => {
|
|
25
|
+
c.value = c.id;
|
|
26
|
+
c.label = c.txt;
|
|
27
|
+
});
|
|
28
|
+
this._handleSetValue();
|
|
29
|
+
this._cdr.detectChanges();
|
|
30
|
+
}
|
|
31
|
+
_handleSetValue() {
|
|
32
|
+
const store = this.context.store;
|
|
33
|
+
const splitedValue = this.value.split(',');
|
|
34
|
+
const dropDownValues = store.data[store.root];
|
|
35
|
+
dropDownValues.forEach((item) => {
|
|
36
|
+
const selected = splitedValue.find((c) => c === item.id);
|
|
37
|
+
if (selected) {
|
|
38
|
+
this.selectedValue = { value: item.id, label: item.txt };
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
ngAfterViewInit() {
|
|
43
|
+
// overriede parent to avoid do more
|
|
44
|
+
// super.ngAfterContentInit();
|
|
45
|
+
}
|
|
46
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiMultiSelectSliderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
47
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UiMultiSelectSliderComponent, selector: "bsu-ui-multi-select-slider", viewQueries: [{ propertyName: "slider", first: true, predicate: SliderComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<fd-slider\n [style.width.px]=\"parameters?.MaxWidth > 0 ? parameters.MaxWidth : null\"\n [disabled]=\"(disableOrReadonly$ | async) === true ? true : false\"\n [(ngModel)]=\"selectedValue\"\n [showTicks]=\"true\"\n [showTicksLabels]=\"true\"\n [customValues]=\"dataList\"\n>\n</fd-slider>\n", styles: [":host{display:block;width:100%;height:100%}img[rtl=true]{margin-left:5px}img[rtl=false]{margin-right:5px}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.SliderComponent, selector: "fd-slider", inputs: ["id", "class", "ariaLabelledBy", "ariaLabel", "min", "max", "step", "jump", "tickmarksBetweenLabels", "mode", "showTicks", "showTicksLabels", "customValues", "tooltipMode", "hideProgressBar", "disabled", "vertical", "value"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
48
|
+
}
|
|
49
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiMultiSelectSliderComponent, decorators: [{
|
|
50
|
+
type: Component,
|
|
51
|
+
args: [{ selector: 'bsu-ui-multi-select-slider', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<fd-slider\n [style.width.px]=\"parameters?.MaxWidth > 0 ? parameters.MaxWidth : null\"\n [disabled]=\"(disableOrReadonly$ | async) === true ? true : false\"\n [(ngModel)]=\"selectedValue\"\n [showTicks]=\"true\"\n [showTicksLabels]=\"true\"\n [customValues]=\"dataList\"\n>\n</fd-slider>\n", styles: [":host{display:block;width:100%;height:100%}img[rtl=true]{margin-left:5px}img[rtl=false]{margin-right:5px}\n"] }]
|
|
52
|
+
}], propDecorators: { slider: [{
|
|
53
|
+
type: ViewChild,
|
|
54
|
+
args: [SliderComponent, { static: true }]
|
|
55
|
+
}] } });
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktbXVsdGktc2VsZWN0LXNsaWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi91aS1tdWx0aS1zZWxlY3Qtc2xpZGVyL3VpLW11bHRpLXNlbGVjdC1zbGlkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktbXVsdGktc2VsZWN0LXNsaWRlci91aS1tdWx0aS1zZWxlY3Qtc2xpZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMERBQTBELENBQUM7Ozs7O0FBVXZHLE1BQU0sT0FBTyw0QkFBNkIsU0FBUSwyQkFBMkI7SUFLekUsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN6RCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDdEMsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDM0IsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDO29CQUN2QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztnQkFDOUIsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztJQUNMLENBQUM7SUFFUyxZQUFZO1FBQ2xCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN4QixDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDZixDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBQ0QsZUFBZTtRQUNYLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ2pDLE1BQU0sWUFBWSxHQUFhLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JELE1BQU0sY0FBYyxHQUFvRCxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvRixjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDNUIsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN6RCxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUNYLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQzdELENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFDRCxlQUFlO1FBQ1gsb0NBQW9DO1FBQ3BDLDhCQUE4QjtJQUNsQyxDQUFDOytHQTVDUSw0QkFBNEI7bUdBQTVCLDRCQUE0QiwwR0FDMUIsZUFBZSxxRkNiOUIsc1RBU0E7OzRGREdhLDRCQUE0QjtrQkFQeEMsU0FBUzsrQkFDSSw0QkFBNEIsbUJBR3JCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsS0FBSzs4QkFHNkIsTUFBTTtzQkFBbkQsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTbGlkZXJDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xyXG5pbXBvcnQgeyBVaU11bHRpU2VsZWN0Q29tYm9Db21wb25lbnQgfSBmcm9tICcuLi91aS1tdWx0aS1zZWxlY3QtY29tYm8vdWktbXVsdGktc2VsZWN0LWNvbWJvLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1ldGFvYmplY3REYXRhTW9kZWwgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnN1LXVpLW11bHRpLXNlbGVjdC1zbGlkZXInLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3VpLW11bHRpLXNlbGVjdC1zbGlkZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vdWktbXVsdGktc2VsZWN0LXNsaWRlci5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVWlNdWx0aVNlbGVjdFNsaWRlckNvbXBvbmVudCBleHRlbmRzIFVpTXVsdGlTZWxlY3RDb21ib0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAgIEBWaWV3Q2hpbGQoU2xpZGVyQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KSBzbGlkZXI6IFNsaWRlckNvbXBvbmVudDtcclxuICAgIHNlbGVjdGVkVmFsdWU6IHsgdmFsdWU6IHN0cmluZzsgbGFiZWw6IHN0cmluZyB9O1xyXG4gICAgc2xpZGVyV2lkdGg6IG51bWJlcjtcclxuICAgIHBhcmFtZXRlcnM6IE11bHRpU2VsZWN0U2xpZGVyU2V0dGluZyB8IE1ldGFvYmplY3REYXRhTW9kZWw7XHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMuY29udGV4dC5maXJlRXZlbnQoJ1RyaWdnZXJDbGljaycsIHRoaXMuY29udGV4dCwgJycpO1xyXG4gICAgICAgIGlmICh0aGlzLnNsaWRlcikge1xyXG4gICAgICAgICAgICB0aGlzLnNsaWRlci5yZWdpc3Rlck9uQ2hhbmdlKCh2YWw6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudmFsdWUgIT09IHZhbC52YWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSB2YWwudmFsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fcmFpc2VWYWx1ZUNoYW5nZWQoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBfc2V0RGF0YUxpc3QoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3Qgc3RvcmUgPSB0aGlzLmNvbnRleHQuc3RvcmU7XHJcbiAgICAgICAgdGhpcy5kYXRhTGlzdCA9IHN0b3JlLmRhdGFbc3RvcmUucm9vdF07XHJcbiAgICAgICAgdGhpcy5kYXRhTGlzdC5mb3JFYWNoKChjKSA9PiB7XHJcbiAgICAgICAgICAgIGMudmFsdWUgPSBjLmlkO1xyXG4gICAgICAgICAgICBjLmxhYmVsID0gYy50eHQ7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuX2hhbmRsZVNldFZhbHVlKCk7XHJcblxyXG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgICBfaGFuZGxlU2V0VmFsdWUoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3Qgc3RvcmUgPSB0aGlzLmNvbnRleHQuc3RvcmU7XHJcbiAgICAgICAgY29uc3Qgc3BsaXRlZFZhbHVlOiBzdHJpbmdbXSA9IHRoaXMudmFsdWUuc3BsaXQoJywnKTtcclxuICAgICAgICBjb25zdCBkcm9wRG93blZhbHVlczogeyBpZDogc3RyaW5nOyB0eHQ6IHN0cmluZzsgY2hlY2tlZDogYm9vbGVhbiB9W10gPSBzdG9yZS5kYXRhW3N0b3JlLnJvb3RdO1xyXG4gICAgICAgIGRyb3BEb3duVmFsdWVzLmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSBzcGxpdGVkVmFsdWUuZmluZCgoYykgPT4gYyA9PT0gaXRlbS5pZCk7XHJcbiAgICAgICAgICAgIGlmIChzZWxlY3RlZCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0geyB2YWx1ZTogaXRlbS5pZCwgbGFiZWw6IGl0ZW0udHh0IH07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgICAgICAvLyBvdmVycmllZGUgcGFyZW50IHRvIGF2b2lkIGRvIG1vcmVcclxuICAgICAgICAvLyBzdXBlci5uZ0FmdGVyQ29udGVudEluaXQoKTtcclxuICAgIH1cclxufVxyXG5pbnRlcmZhY2UgTXVsdGlTZWxlY3RTbGlkZXJTZXR0aW5nIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XHJcbiAgICBNYXhXaWR0aDogbnVtYmVyO1xyXG59XHJcbiIsIjxmZC1zbGlkZXJcbiAgICBbc3R5bGUud2lkdGgucHhdPVwicGFyYW1ldGVycz8uTWF4V2lkdGggPiAwID8gcGFyYW1ldGVycy5NYXhXaWR0aCA6IG51bGxcIlxuICAgIFtkaXNhYmxlZF09XCIoZGlzYWJsZU9yUmVhZG9ubHkkIHwgYXN5bmMpID09PSB0cnVlID8gdHJ1ZSA6IGZhbHNlXCJcbiAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkVmFsdWVcIlxuICAgIFtzaG93VGlja3NdPVwidHJ1ZVwiXG4gICAgW3Nob3dUaWNrc0xhYmVsc109XCJ0cnVlXCJcbiAgICBbY3VzdG9tVmFsdWVzXT1cImRhdGFMaXN0XCJcbj5cbjwvZmQtc2xpZGVyPlxuIl19
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
+
import { UiMultiSelectSliderComponent } from '../ui-multi-select-slider/ui-multi-select-slider.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "@fundamental-ngx/core/form";
|
|
6
|
+
import * as i3 from "@fundamental-ngx/core/icon";
|
|
7
|
+
import * as i4 from "barsa-novin-ray-core";
|
|
8
|
+
export class UiMultiSelectSmileComponent extends UiMultiSelectSliderComponent {
|
|
9
|
+
ngOnInit() {
|
|
10
|
+
super.ngOnInit();
|
|
11
|
+
this.smileIcons = this.parameters.FacesMode.MoDataList;
|
|
12
|
+
}
|
|
13
|
+
onItemClicked(smile) {
|
|
14
|
+
const item = this.dataList.find((c) => c.txt === smile.FaceModeValue);
|
|
15
|
+
if (item) {
|
|
16
|
+
this.value = item.id;
|
|
17
|
+
this.selectedValue = { value: item.id, label: item.txt };
|
|
18
|
+
this._raiseValueChanged();
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiMultiSelectSmileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
22
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: UiMultiSelectSmileComponent, selector: "bsu-ui-multi-select-smile", usesInheritance: true, ngImport: i0, template: "<fd-form-group [isInline]=\"!parameters?.IsVertically && !(isMobile && parameters?.OnlyInMobileVertically)\">\r\n @for (item of smileIcons; track item; let i = $index; let first = $first) {\r\n <div fd-form-item (click)=\"onItemClicked(item)\">\r\n <div class=\"fd-avatar\" [ngClass]=\"'fd-avatar--' + parameters.SizeValue$Caption\">\r\n <fd-icon\r\n class=\"fd-avatar__icon\"\r\n [glyph]=\"item.FaceMode$Caption\"\r\n font=\"BusinessSuiteInAppSymbols\"\r\n [style.color]=\"selectedValue?.label === item.FaceModeValue ? item.FaceColor : '#d4d4d4'\"\r\n >\r\n </fd-icon>\r\n <span>{{ item.FaceModeText | bbbTranslate }}</span>\r\n </div>\r\n </div>\r\n }\r\n</fd-form-group>\r\n<!-- [class.selected]=\"selectedValue?.label === item.FaceModeValue\" -->\r\n", styles: [":host{display:block;width:100%;height:100%}:host div[fd-form-item]{margin:0 .5rem;cursor:pointer}:host fd-icon{background:transparent}:host div.fd-avatar{background:transparent;display:flex;flex-direction:column;row-gap:1rem}:host div.fd-avatar span{font-size:.825rem;color:#000}:host div.selected{--fdAvatarBorderColor: var(--sapButton_Selected_BorderColor);--fdAvatarBackgroundColor: var(--sapButton_Selected_Background);--fdAvatarColor: var(--sapButton_Selected_TextColor);border:2px solid var(--fdAvatarBorderColor)}fd-form-group{row-gap:1rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.FormItemComponent, selector: "[fd-form-item]", inputs: ["isInline", "horizontal"] }, { kind: "component", type: i2.FormGroupComponent, selector: "fd-form-group", inputs: ["isInline"] }, { kind: "component", type: i3.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "pipe", type: i4.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
23
|
+
}
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiMultiSelectSmileComponent, decorators: [{
|
|
25
|
+
type: Component,
|
|
26
|
+
args: [{ selector: 'bsu-ui-multi-select-smile', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<fd-form-group [isInline]=\"!parameters?.IsVertically && !(isMobile && parameters?.OnlyInMobileVertically)\">\r\n @for (item of smileIcons; track item; let i = $index; let first = $first) {\r\n <div fd-form-item (click)=\"onItemClicked(item)\">\r\n <div class=\"fd-avatar\" [ngClass]=\"'fd-avatar--' + parameters.SizeValue$Caption\">\r\n <fd-icon\r\n class=\"fd-avatar__icon\"\r\n [glyph]=\"item.FaceMode$Caption\"\r\n font=\"BusinessSuiteInAppSymbols\"\r\n [style.color]=\"selectedValue?.label === item.FaceModeValue ? item.FaceColor : '#d4d4d4'\"\r\n >\r\n </fd-icon>\r\n <span>{{ item.FaceModeText | bbbTranslate }}</span>\r\n </div>\r\n </div>\r\n }\r\n</fd-form-group>\r\n<!-- [class.selected]=\"selectedValue?.label === item.FaceModeValue\" -->\r\n", styles: [":host{display:block;width:100%;height:100%}:host div[fd-form-item]{margin:0 .5rem;cursor:pointer}:host fd-icon{background:transparent}:host div.fd-avatar{background:transparent;display:flex;flex-direction:column;row-gap:1rem}:host div.fd-avatar span{font-size:.825rem;color:#000}:host div.selected{--fdAvatarBorderColor: var(--sapButton_Selected_BorderColor);--fdAvatarBackgroundColor: var(--sapButton_Selected_Background);--fdAvatarColor: var(--sapButton_Selected_TextColor);border:2px solid var(--fdAvatarBorderColor)}fd-form-group{row-gap:1rem}\n"] }]
|
|
27
|
+
}] });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktbXVsdGktc2VsZWN0LXNtaWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL3VpLW11bHRpLXNlbGVjdC1zbWlsZS91aS1tdWx0aS1zZWxlY3Qtc21pbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktbXVsdGktc2VsZWN0LXNtaWxlL3VpLW11bHRpLXNlbGVjdC1zbWlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUV0RixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQzs7Ozs7O0FBUzFHLE1BQU0sT0FBTywyQkFBNEIsU0FBUSw0QkFBNEI7SUFHekUsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLFVBQTRCLENBQUM7SUFDN0UsQ0FBQztJQUNELGFBQWEsQ0FBQyxLQUFtQjtRQUM3QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdEUsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNQLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUN6RCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUM5QixDQUFDO0lBQ0wsQ0FBQzsrR0FkUSwyQkFBMkI7bUdBQTNCLDJCQUEyQix3RkNYeEMsczNCQWlCQTs7NEZETmEsMkJBQTJCO2tCQVB2QyxTQUFTOytCQUNJLDJCQUEyQixtQkFHcEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWV0YW9iamVjdERhdGFNb2RlbCwgTW9Gb3JSZXBvcnRNb2RlbCB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuaW1wb3J0IHsgVWlNdWx0aVNlbGVjdFNsaWRlckNvbXBvbmVudCB9IGZyb20gJy4uL3VpLW11bHRpLXNlbGVjdC1zbGlkZXIvdWktbXVsdGktc2VsZWN0LXNsaWRlci5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JzdS11aS1tdWx0aS1zZWxlY3Qtc21pbGUnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3VpLW11bHRpLXNlbGVjdC1zbWlsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi91aS1tdWx0aS1zZWxlY3Qtc21pbGUuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIFVpTXVsdGlTZWxlY3RTbWlsZUNvbXBvbmVudCBleHRlbmRzIFVpTXVsdGlTZWxlY3RTbGlkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgICBzbWlsZUljb25zOiBTbWlsZVNldHRpbmdbXTtcclxuICAgIHBhcmFtZXRlcnM6IE11bHRpU2VsZWN0U21pbGVTZXR0aW5nO1xyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICB0aGlzLnNtaWxlSWNvbnMgPSB0aGlzLnBhcmFtZXRlcnMuRmFjZXNNb2RlLk1vRGF0YUxpc3QgYXMgU21pbGVTZXR0aW5nW107XHJcbiAgICB9XHJcbiAgICBvbkl0ZW1DbGlja2VkKHNtaWxlOiBTbWlsZVNldHRpbmcpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5kYXRhTGlzdC5maW5kKChjKSA9PiBjLnR4dCA9PT0gc21pbGUuRmFjZU1vZGVWYWx1ZSk7XHJcbiAgICAgICAgaWYgKGl0ZW0pIHtcclxuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IGl0ZW0uaWQ7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IHsgdmFsdWU6IGl0ZW0uaWQsIGxhYmVsOiBpdGVtLnR4dCB9O1xyXG4gICAgICAgICAgICB0aGlzLl9yYWlzZVZhbHVlQ2hhbmdlZCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5pbnRlcmZhY2UgTXVsdGlTZWxlY3RTbWlsZVNldHRpbmcgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcclxuICAgIEZhY2VzTW9kZTogTW9Gb3JSZXBvcnRNb2RlbDtcclxuICAgIFNpemVWYWx1ZSRDYXB0aW9uOiBzdHJpbmc7XHJcbn1cclxuaW50ZXJmYWNlIFNtaWxlU2V0dGluZyBleHRlbmRzIE1ldGFvYmplY3REYXRhTW9kZWwge1xyXG4gICAgRmFjZU1vZGUkQ2FwdGlvbjogc3RyaW5nO1xyXG4gICAgRmFjZU1vZGVUZXh0OiBzdHJpbmc7XHJcbiAgICBGYWNlTW9kZVZhbHVlOiBzdHJpbmc7XHJcbiAgICBGYWNlQ29sb3I6IHN0cmluZztcclxufVxyXG4iLCI8ZmQtZm9ybS1ncm91cCBbaXNJbmxpbmVdPVwiIXBhcmFtZXRlcnM/LklzVmVydGljYWxseSAmJiAhKGlzTW9iaWxlICYmIHBhcmFtZXRlcnM/Lk9ubHlJbk1vYmlsZVZlcnRpY2FsbHkpXCI+XHJcbiAgICBAZm9yIChpdGVtIG9mIHNtaWxlSWNvbnM7IHRyYWNrIGl0ZW07IGxldCBpID0gJGluZGV4OyBsZXQgZmlyc3QgPSAkZmlyc3QpIHtcclxuICAgIDxkaXYgZmQtZm9ybS1pdGVtIChjbGljayk9XCJvbkl0ZW1DbGlja2VkKGl0ZW0pXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZkLWF2YXRhclwiIFtuZ0NsYXNzXT1cIidmZC1hdmF0YXItLScgKyBwYXJhbWV0ZXJzLlNpemVWYWx1ZSRDYXB0aW9uXCI+XHJcbiAgICAgICAgICAgIDxmZC1pY29uXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZkLWF2YXRhcl9faWNvblwiXHJcbiAgICAgICAgICAgICAgICBbZ2x5cGhdPVwiaXRlbS5GYWNlTW9kZSRDYXB0aW9uXCJcclxuICAgICAgICAgICAgICAgIGZvbnQ9XCJCdXNpbmVzc1N1aXRlSW5BcHBTeW1ib2xzXCJcclxuICAgICAgICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJzZWxlY3RlZFZhbHVlPy5sYWJlbCA9PT0gaXRlbS5GYWNlTW9kZVZhbHVlID8gaXRlbS5GYWNlQ29sb3IgOiAnI2Q0ZDRkNCdcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDwvZmQtaWNvbj5cclxuICAgICAgICAgICAgPHNwYW4+e3sgaXRlbS5GYWNlTW9kZVRleHQgfCBiYmJUcmFuc2xhdGUgfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIH1cclxuPC9mZC1mb3JtLWdyb3VwPlxyXG48IS0tIFtjbGFzcy5zZWxlY3RlZF09XCJzZWxlY3RlZFZhbHVlPy5sYWJlbCA9PT0gaXRlbS5GYWNlTW9kZVZhbHVlXCIgLS0+XHJcbiJdfQ==
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, signal } from '@angular/core';
|
|
2
|
+
import { ReportViewBaseComponent } 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/avatar";
|
|
7
|
+
import * as i4 from "@fundamental-ngx/core/notification";
|
|
8
|
+
import * as i5 from "../no-data/no-data.component";
|
|
9
|
+
import * as i6 from "../barsa-row-inline-actionlist/barsa-row-inline-actionlist.component";
|
|
10
|
+
export class UiNotificationViewComponent extends ReportViewBaseComponent {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments);
|
|
13
|
+
this.fieldList = signal([]);
|
|
14
|
+
}
|
|
15
|
+
ngOnInit() {
|
|
16
|
+
this.hasInlineDeleteButton = true;
|
|
17
|
+
this.hasInlineEditButton = true;
|
|
18
|
+
this.fieldList.set(this.viewSetting.FieldListInFooter.split(','));
|
|
19
|
+
super.ngOnInit();
|
|
20
|
+
if (this._groupByService) {
|
|
21
|
+
this._groupByService.groupBy$.subscribe((c) => {
|
|
22
|
+
this.sortSettingsChange.emit(c);
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
onAction(commandBody) {
|
|
27
|
+
const command = new Function(commandBody);
|
|
28
|
+
command();
|
|
29
|
+
}
|
|
30
|
+
onEvents(mo, index, e) {
|
|
31
|
+
console.log(e);
|
|
32
|
+
switch (e.title) {
|
|
33
|
+
case 'btnClick':
|
|
34
|
+
this.onActionListClick(mo, index, e.data.itemId);
|
|
35
|
+
break;
|
|
36
|
+
case 'choiceSelect':
|
|
37
|
+
break;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiNotificationViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
41
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: UiNotificationViewComponent, selector: "bsu-ui-notification-view", usesInheritance: true, ngImport: i0, template: "<!-- <bsu-notification-view-content\r\n [moDataList]=\"moDataList\"\r\n [groupby]=\"groupby\"\r\n [setting]=\"viewSetting\"\r\n [openOnClick]=\"openOnClick\"\r\n [inlineEditMode]=\"inlineEditMode\"\r\n [allColumns]=\"\r\n allColumns\r\n | columnCustomComponent: viewSetting?.ColumnComponents?.MoDataList\r\n | filterColumnsByDetails: detailsColumns:rowIndicator\r\n | filter: { IsPreview: false }\r\n | hideColumnsInmobile: viewSetting?.HideColumnsInMobile\r\n \"\r\n [hideOpenIcon]=\"hideOpenIcon\"\r\n [detailsColumns]=\"detailsColumns\"\r\n [detailsText]=\"viewSetting?.DetailsSetting?.ButtonText\"\r\n [detailsTextFunction]=\"viewSetting?.DetailsSetting?.ButtonTextFunction\"\r\n [detailsComponent]=\"detailsComponent\"\r\n [allowInlineEdit]=\"allowInlineEdit\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [contextMenuItems]=\"contextMenuItems\"\r\n [canView]=\"canView\"\r\n [formSetting]=\"formSetting\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [navigationArrow]=\"navigationArrow\"\r\n [isCheckList]=\"isCheckList\"\r\n (rowCheck)=\"onRowCheck($event)\"\r\n (rowClick)=\"onRowClick($event)\"\r\n (ulvCommand)=\"onUlvCommand($event)\"\r\n (editFormPanelSave)=\"onEditFormPanelSave($event)\"\r\n (editFormPanelCancel)=\"onEditFormPanelCancel($event)\"\r\n (action)=\"onAction($event)\"\r\n></bsu-notification-view-content> -->\r\n@if(moDataList.length){ @if(groupby){\r\n<ul fd-notification-list>\r\n @for ( mo of moDataList | multipleGroupBy: groupby; track _trackByRow(index, mo); let index = $index; let last =\r\n $last; let first = $first) { @if(mo.$Group || mo.$Group === ''){\r\n <ng-container\r\n *ngTemplateOutlet=\"notifications; context: { $implicit: mo.$Group, moDataList: mo.$Children, showHeader: true }\"\r\n ></ng-container>\r\n } }\r\n</ul>\r\n} @else{\r\n<ng-container\r\n *ngTemplateOutlet=\"notifications; context: { $implicit: '', moDataList: moDataList, showHeader: false }\"\r\n></ng-container>\r\n} } @else{\r\n<bsu-no-data [simple]=\"true\"></bsu-no-data>\r\n}\r\n<ng-template #notifications let-group let-moDataList=\"moDataList\" let-showHeader=\"showHeader\">\r\n <fd-notification-group>\r\n @if(showHeader){\r\n <fd-notification-group-header>\r\n <span fd-notification-group-header-title>\r\n {{ group === 'undefined' ? '' : group }}\r\n </span>\r\n </fd-notification-group-header>\r\n }\r\n <fd-notification-group-list>\r\n @for ( mo of moDataList ; track _trackByRow(index, mo); let index = $index; let last = $last; let first =\r\n $first) {\r\n <fd-notification>\r\n <fd-notification-body>\r\n <fd-avatar\r\n [transparent]=\"true\"\r\n [circle]=\"true\"\r\n size=\"xs\"\r\n [glyph]=\"!(viewSetting.IconField | rval: mo:allColumns:true) ? 'bell' : null\"\r\n [image]=\"\r\n (viewSetting.IconField | rval: mo:allColumns:true)\r\n ? (viewSetting.IconField | rval: mo:allColumns:true)\r\n : null\r\n \"\r\n ></fd-avatar>\r\n <fd-notification-content>\r\n <fd-notification-header>\r\n <h4 fd-notification-title [unread]=\"true\">\r\n {{ viewSetting.TitleField | rval: mo:allColumns:true }}\r\n </h4>\r\n </fd-notification-header>\r\n <p\r\n fd-notification-paragraph\r\n [innerHtml]=\"viewSetting.DescriptionField | rval: mo:allColumns:true | sanitizeText\"\r\n ></p>\r\n <fd-notification-footer>\r\n @for(field of fieldList();track field){\r\n <span fd-notification-footer-content style=\"direction: ltr; max-width: 100%\">\r\n {{ field | rval: mo:allColumns:true }}</span\r\n >\r\n <span fd-notification-separator></span>\r\n }\r\n </fd-notification-footer>\r\n <!-- <span\r\n fd-object-status\r\n [indicationColor]=\"2\"\r\n [secondaryIndication]=\"true\"\r\n [inverted]=\"true\"\r\n label=\"Negative\"\r\n title=\"Negative\"\r\n glyph=\"high-priority\"\r\n aria-label=\"Object status Negative Inverted\"\r\n ></span> -->\r\n </fd-notification-content>\r\n <fd-notification-actions>\r\n @if(viewSetting.ActionsComponent?.Selector ){\r\n <bnrc-dynamic-item-component\r\n [component]=\"viewSetting.ActionsComponent\"\r\n [mo]=\"mo\"\r\n [setting]=\"viewSetting\"\r\n [parameters]=\"viewSetting.ActionsComponent.Settings\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [index]=\"index\"\r\n [allColumns]=\"allColumns\"\r\n (events)=\"onEvents(mo, index, $event)\"\r\n ></bnrc-dynamic-item-component>\r\n }@else{\r\n <ng-container *ngTemplateOutlet=\"actionsTpl\"></ng-container>\r\n }\r\n <ng-template #actionsTpl let-uiActions>\r\n <bsu-barsa-row-inline-actionlist\r\n [actionList]=\"\r\n actionList\r\n | filterInlineActionList\r\n : mo[viewSetting.HideDeleteButton]\r\n : mo[viewSetting.HideShowButton]\r\n : mo[viewSetting.HideShowButton]\r\n \"\r\n (btnClick)=\"onActionListClick(mo, index, $event)\"\r\n ></bsu-barsa-row-inline-actionlist>\r\n </ng-template>\r\n </fd-notification-actions>\r\n </fd-notification-body>\r\n </fd-notification>\r\n }\r\n </fd-notification-group-list>\r\n </fd-notification-group>\r\n</ng-template>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.DynamicItemComponent, selector: "bnrc-dynamic-item-component", inputs: ["mo", "allColumns", "moDataList", "columns", "column", "index", "last", "deviceName", "deviceSize", "rtl", "editMode", "setting", "parameters", "contextMenuItems", "canView", "showRowNumber", "rowNumber", "formSetting", "conditionalFormats", "disableOverflowContextMenu", "navigationArrow", "isCheckList", "fields", "isChecked", "layout94$", "inlineEditMode", "isNewInlineMo", "allowInlineEdit", "typeDefId", "rowIndicator", "rowIndicatorColor", "UlvMainCtrlr"] }, { kind: "component", type: i3.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: i4.NotificationComponent, selector: "fd-notification", inputs: ["width", "mobile", "selected"] }, { kind: "component", type: i4.NotificationBodyComponent, selector: "fd-notification-body" }, { kind: "component", type: i4.NotificationGroupComponent, selector: "fd-notification-group", inputs: ["expanded", "ariaLabel"] }, { kind: "component", type: i4.NotificationHeaderComponent, selector: "fd-notification-header", inputs: ["uniqueId"] }, { kind: "component", type: i4.NotificationFooterComponent, selector: "fd-notification-footer" }, { kind: "component", type: i4.NotificationActionsComponent, selector: "fd-notification-actions" }, { kind: "component", type: i4.NotificationContentComponent, selector: "fd-notification-content" }, { kind: "component", type: i4.NotificationGroupListComponent, selector: "fd-notification-group-list", inputs: ["ariaLabelledBy", "id"] }, { kind: "component", type: i4.NotificationGroupHeaderComponent, selector: "fd-notification-group-header" }, { kind: "directive", type: i4.NotificationListDirective, selector: "[fdNotificationList], [fd-notification-list]", inputs: ["ariaLabel"] }, { kind: "directive", type: i4.NotificationTitleDirective, selector: "[fdNotificationTitle], [fd-notification-title]", inputs: ["unread", "id"] }, { kind: "directive", type: i4.NotificationSeparatorDirective, selector: "[fdNotificationSeparator], [fd-notification-separator]" }, { kind: "directive", type: i4.NotificationParagraphDirective, selector: "[fdNotificationParagraph], [fd-notification-paragraph]", inputs: ["id"] }, { kind: "directive", type: i4.NotificationFooterContentDirective, selector: "[fdNotificationFooterContent], [fd-notification-footer-content]" }, { kind: "directive", type: i4.NotificationGroupHeaderTitleDirective, selector: "[fdNotificationGroupHeaderTitle], [fd-notification-group-header-title]", inputs: ["ariaLevel", "id"] }, { kind: "component", type: i5.NoDataComponent, selector: "bsu-no-data", inputs: ["simple"] }, { kind: "component", type: i6.BarsaRowInlineActionlistComponent, selector: "bsu-barsa-row-inline-actionlist", inputs: ["actionList", "mo", "index"], outputs: ["btnClick"] }, { kind: "pipe", type: i2.MultipleGroupByPipe, name: "multipleGroupBy" }, { kind: "pipe", type: i2.MoReportValuePipe, name: "rval" }, { kind: "pipe", type: i2.SanitizeTextPipe, name: "sanitizeText" }, { kind: "pipe", type: i2.FilterInlineActionListPipe, name: "filterInlineActionList" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
42
|
+
}
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiNotificationViewComponent, decorators: [{
|
|
44
|
+
type: Component,
|
|
45
|
+
args: [{ selector: 'bsu-ui-notification-view', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<!-- <bsu-notification-view-content\r\n [moDataList]=\"moDataList\"\r\n [groupby]=\"groupby\"\r\n [setting]=\"viewSetting\"\r\n [openOnClick]=\"openOnClick\"\r\n [inlineEditMode]=\"inlineEditMode\"\r\n [allColumns]=\"\r\n allColumns\r\n | columnCustomComponent: viewSetting?.ColumnComponents?.MoDataList\r\n | filterColumnsByDetails: detailsColumns:rowIndicator\r\n | filter: { IsPreview: false }\r\n | hideColumnsInmobile: viewSetting?.HideColumnsInMobile\r\n \"\r\n [hideOpenIcon]=\"hideOpenIcon\"\r\n [detailsColumns]=\"detailsColumns\"\r\n [detailsText]=\"viewSetting?.DetailsSetting?.ButtonText\"\r\n [detailsTextFunction]=\"viewSetting?.DetailsSetting?.ButtonTextFunction\"\r\n [detailsComponent]=\"detailsComponent\"\r\n [allowInlineEdit]=\"allowInlineEdit\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [contextMenuItems]=\"contextMenuItems\"\r\n [canView]=\"canView\"\r\n [formSetting]=\"formSetting\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [navigationArrow]=\"navigationArrow\"\r\n [isCheckList]=\"isCheckList\"\r\n (rowCheck)=\"onRowCheck($event)\"\r\n (rowClick)=\"onRowClick($event)\"\r\n (ulvCommand)=\"onUlvCommand($event)\"\r\n (editFormPanelSave)=\"onEditFormPanelSave($event)\"\r\n (editFormPanelCancel)=\"onEditFormPanelCancel($event)\"\r\n (action)=\"onAction($event)\"\r\n></bsu-notification-view-content> -->\r\n@if(moDataList.length){ @if(groupby){\r\n<ul fd-notification-list>\r\n @for ( mo of moDataList | multipleGroupBy: groupby; track _trackByRow(index, mo); let index = $index; let last =\r\n $last; let first = $first) { @if(mo.$Group || mo.$Group === ''){\r\n <ng-container\r\n *ngTemplateOutlet=\"notifications; context: { $implicit: mo.$Group, moDataList: mo.$Children, showHeader: true }\"\r\n ></ng-container>\r\n } }\r\n</ul>\r\n} @else{\r\n<ng-container\r\n *ngTemplateOutlet=\"notifications; context: { $implicit: '', moDataList: moDataList, showHeader: false }\"\r\n></ng-container>\r\n} } @else{\r\n<bsu-no-data [simple]=\"true\"></bsu-no-data>\r\n}\r\n<ng-template #notifications let-group let-moDataList=\"moDataList\" let-showHeader=\"showHeader\">\r\n <fd-notification-group>\r\n @if(showHeader){\r\n <fd-notification-group-header>\r\n <span fd-notification-group-header-title>\r\n {{ group === 'undefined' ? '' : group }}\r\n </span>\r\n </fd-notification-group-header>\r\n }\r\n <fd-notification-group-list>\r\n @for ( mo of moDataList ; track _trackByRow(index, mo); let index = $index; let last = $last; let first =\r\n $first) {\r\n <fd-notification>\r\n <fd-notification-body>\r\n <fd-avatar\r\n [transparent]=\"true\"\r\n [circle]=\"true\"\r\n size=\"xs\"\r\n [glyph]=\"!(viewSetting.IconField | rval: mo:allColumns:true) ? 'bell' : null\"\r\n [image]=\"\r\n (viewSetting.IconField | rval: mo:allColumns:true)\r\n ? (viewSetting.IconField | rval: mo:allColumns:true)\r\n : null\r\n \"\r\n ></fd-avatar>\r\n <fd-notification-content>\r\n <fd-notification-header>\r\n <h4 fd-notification-title [unread]=\"true\">\r\n {{ viewSetting.TitleField | rval: mo:allColumns:true }}\r\n </h4>\r\n </fd-notification-header>\r\n <p\r\n fd-notification-paragraph\r\n [innerHtml]=\"viewSetting.DescriptionField | rval: mo:allColumns:true | sanitizeText\"\r\n ></p>\r\n <fd-notification-footer>\r\n @for(field of fieldList();track field){\r\n <span fd-notification-footer-content style=\"direction: ltr; max-width: 100%\">\r\n {{ field | rval: mo:allColumns:true }}</span\r\n >\r\n <span fd-notification-separator></span>\r\n }\r\n </fd-notification-footer>\r\n <!-- <span\r\n fd-object-status\r\n [indicationColor]=\"2\"\r\n [secondaryIndication]=\"true\"\r\n [inverted]=\"true\"\r\n label=\"Negative\"\r\n title=\"Negative\"\r\n glyph=\"high-priority\"\r\n aria-label=\"Object status Negative Inverted\"\r\n ></span> -->\r\n </fd-notification-content>\r\n <fd-notification-actions>\r\n @if(viewSetting.ActionsComponent?.Selector ){\r\n <bnrc-dynamic-item-component\r\n [component]=\"viewSetting.ActionsComponent\"\r\n [mo]=\"mo\"\r\n [setting]=\"viewSetting\"\r\n [parameters]=\"viewSetting.ActionsComponent.Settings\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [index]=\"index\"\r\n [allColumns]=\"allColumns\"\r\n (events)=\"onEvents(mo, index, $event)\"\r\n ></bnrc-dynamic-item-component>\r\n }@else{\r\n <ng-container *ngTemplateOutlet=\"actionsTpl\"></ng-container>\r\n }\r\n <ng-template #actionsTpl let-uiActions>\r\n <bsu-barsa-row-inline-actionlist\r\n [actionList]=\"\r\n actionList\r\n | filterInlineActionList\r\n : mo[viewSetting.HideDeleteButton]\r\n : mo[viewSetting.HideShowButton]\r\n : mo[viewSetting.HideShowButton]\r\n \"\r\n (btnClick)=\"onActionListClick(mo, index, $event)\"\r\n ></bsu-barsa-row-inline-actionlist>\r\n </ng-template>\r\n </fd-notification-actions>\r\n </fd-notification-body>\r\n </fd-notification>\r\n }\r\n </fd-notification-group-list>\r\n </fd-notification-group>\r\n</ng-template>\r\n" }]
|
|
46
|
+
}] });
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktbm90aWZpY2F0aW9uLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktbm90aWZpY2F0aW9uLXZpZXcvdWktbm90aWZpY2F0aW9uLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktbm90aWZpY2F0aW9uLXZpZXcvdWktbm90aWZpY2F0aW9uLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBRW5HLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7OztBQVUvRCxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsdUJBQW1EO0lBUHBHOztRQVNJLGNBQVMsR0FBNkIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBMkJwRDtJQXpCRyxRQUFRO1FBQ0osSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQztRQUNsQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbEUsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUMxQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BDLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztJQUNMLENBQUM7SUFDRCxRQUFRLENBQUMsV0FBbUI7UUFDeEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDMUMsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDO0lBQ0QsUUFBUSxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBZ0M7UUFDaEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNmLFFBQVEsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2QsS0FBSyxVQUFVO2dCQUNYLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ2pELE1BQU07WUFDVixLQUFLLGNBQWM7Z0JBQ2YsTUFBTTtRQUNkLENBQUM7SUFDTCxDQUFDOytHQTVCUSwyQkFBMkI7bUdBQTNCLDJCQUEyQix1RkNaeEMsZ2xPQThJQTs7NEZEbElhLDJCQUEyQjtrQkFQdkMsU0FBUzsrQkFDSSwwQkFBMEIsbUJBR25CLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdCwgc2lnbmFsLCBXcml0YWJsZVNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgUmVwb3J0Vmlld0Jhc2VDb21wb25lbnQgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcbmltcG9ydCB7IFVpTm90aWZpY2F0aW9uVmlld1NldHRpbmdzIH0gZnJvbSAnLi4vbW9kZWxzL2dyaWQtdmlldyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnN1LXVpLW5vdGlmaWNhdGlvbi12aWV3JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi91aS1ub3RpZmljYXRpb24tdmlldy5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi91aS1ub3RpZmljYXRpb24tdmlldy5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVWlOb3RpZmljYXRpb25WaWV3Q29tcG9uZW50IGV4dGVuZHMgUmVwb3J0Vmlld0Jhc2VDb21wb25lbnQ8VWlOb3RpZmljYXRpb25WaWV3U2V0dGluZ3M+IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIHZpZXdTZXR0aW5nOiBVaU5vdGlmaWNhdGlvblZpZXdTZXR0aW5ncztcclxuICAgIGZpZWxkTGlzdDogV3JpdGFibGVTaWduYWw8c3RyaW5nW10+ID0gc2lnbmFsKFtdKTtcclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmhhc0lubGluZURlbGV0ZUJ1dHRvbiA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5oYXNJbmxpbmVFZGl0QnV0dG9uID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmZpZWxkTGlzdC5zZXQodGhpcy52aWV3U2V0dGluZy5GaWVsZExpc3RJbkZvb3Rlci5zcGxpdCgnLCcpKTtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIGlmICh0aGlzLl9ncm91cEJ5U2VydmljZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9ncm91cEJ5U2VydmljZS5ncm91cEJ5JC5zdWJzY3JpYmUoKGMpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc29ydFNldHRpbmdzQ2hhbmdlLmVtaXQoYyk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIG9uQWN0aW9uKGNvbW1hbmRCb2R5OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBjb21tYW5kID0gbmV3IEZ1bmN0aW9uKGNvbW1hbmRCb2R5KTtcclxuICAgICAgICBjb21tYW5kKCk7XHJcbiAgICB9XHJcbiAgICBvbkV2ZW50cyhtbywgaW5kZXgsIGU6IHsgdGl0bGU6IHN0cmluZzsgZGF0YT86IGFueSB9KTogdm9pZCB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZSk7XHJcbiAgICAgICAgc3dpdGNoIChlLnRpdGxlKSB7XHJcbiAgICAgICAgICAgIGNhc2UgJ2J0bkNsaWNrJzpcclxuICAgICAgICAgICAgICAgIHRoaXMub25BY3Rpb25MaXN0Q2xpY2sobW8sIGluZGV4LCBlLmRhdGEuaXRlbUlkKTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdjaG9pY2VTZWxlY3QnOlxyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIjwhLS0gPGJzdS1ub3RpZmljYXRpb24tdmlldy1jb250ZW50XHJcbiAgICBbbW9EYXRhTGlzdF09XCJtb0RhdGFMaXN0XCJcclxuICAgIFtncm91cGJ5XT1cImdyb3VwYnlcIlxyXG4gICAgW3NldHRpbmddPVwidmlld1NldHRpbmdcIlxyXG4gICAgW29wZW5PbkNsaWNrXT1cIm9wZW5PbkNsaWNrXCJcclxuICAgIFtpbmxpbmVFZGl0TW9kZV09XCJpbmxpbmVFZGl0TW9kZVwiXHJcbiAgICBbYWxsQ29sdW1uc109XCJcclxuICAgICAgICBhbGxDb2x1bW5zXHJcbiAgICAgICAgICAgIHwgY29sdW1uQ3VzdG9tQ29tcG9uZW50OiB2aWV3U2V0dGluZz8uQ29sdW1uQ29tcG9uZW50cz8uTW9EYXRhTGlzdFxyXG4gICAgICAgICAgICB8IGZpbHRlckNvbHVtbnNCeURldGFpbHM6IGRldGFpbHNDb2x1bW5zOnJvd0luZGljYXRvclxyXG4gICAgICAgICAgICB8IGZpbHRlcjogeyBJc1ByZXZpZXc6IGZhbHNlIH1cclxuICAgICAgICAgICAgfCBoaWRlQ29sdW1uc0lubW9iaWxlOiB2aWV3U2V0dGluZz8uSGlkZUNvbHVtbnNJbk1vYmlsZVxyXG4gICAgXCJcclxuICAgIFtoaWRlT3Blbkljb25dPVwiaGlkZU9wZW5JY29uXCJcclxuICAgIFtkZXRhaWxzQ29sdW1uc109XCJkZXRhaWxzQ29sdW1uc1wiXHJcbiAgICBbZGV0YWlsc1RleHRdPVwidmlld1NldHRpbmc/LkRldGFpbHNTZXR0aW5nPy5CdXR0b25UZXh0XCJcclxuICAgIFtkZXRhaWxzVGV4dEZ1bmN0aW9uXT1cInZpZXdTZXR0aW5nPy5EZXRhaWxzU2V0dGluZz8uQnV0dG9uVGV4dEZ1bmN0aW9uXCJcclxuICAgIFtkZXRhaWxzQ29tcG9uZW50XT1cImRldGFpbHNDb21wb25lbnRcIlxyXG4gICAgW2FsbG93SW5saW5lRWRpdF09XCJhbGxvd0lubGluZUVkaXRcIlxyXG4gICAgW3J0bF09XCJydGxcIlxyXG4gICAgW2RldmljZU5hbWVdPVwiZGV2aWNlTmFtZVwiXHJcbiAgICBbZGV2aWNlU2l6ZV09XCJkZXZpY2VTaXplXCJcclxuICAgIFtjb250ZXh0TWVudUl0ZW1zXT1cImNvbnRleHRNZW51SXRlbXNcIlxyXG4gICAgW2NhblZpZXddPVwiY2FuVmlld1wiXHJcbiAgICBbZm9ybVNldHRpbmddPVwiZm9ybVNldHRpbmdcIlxyXG4gICAgW2NvbmRpdGlvbmFsRm9ybWF0c109XCJjb25kaXRpb25hbEZvcm1hdHNcIlxyXG4gICAgW2Rpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51XT1cImRpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51XCJcclxuICAgIFtuYXZpZ2F0aW9uQXJyb3ddPVwibmF2aWdhdGlvbkFycm93XCJcclxuICAgIFtpc0NoZWNrTGlzdF09XCJpc0NoZWNrTGlzdFwiXHJcbiAgICAocm93Q2hlY2spPVwib25Sb3dDaGVjaygkZXZlbnQpXCJcclxuICAgIChyb3dDbGljayk9XCJvblJvd0NsaWNrKCRldmVudClcIlxyXG4gICAgKHVsdkNvbW1hbmQpPVwib25VbHZDb21tYW5kKCRldmVudClcIlxyXG4gICAgKGVkaXRGb3JtUGFuZWxTYXZlKT1cIm9uRWRpdEZvcm1QYW5lbFNhdmUoJGV2ZW50KVwiXHJcbiAgICAoZWRpdEZvcm1QYW5lbENhbmNlbCk9XCJvbkVkaXRGb3JtUGFuZWxDYW5jZWwoJGV2ZW50KVwiXHJcbiAgICAoYWN0aW9uKT1cIm9uQWN0aW9uKCRldmVudClcIlxyXG4+PC9ic3Utbm90aWZpY2F0aW9uLXZpZXctY29udGVudD4gLS0+XHJcbkBpZihtb0RhdGFMaXN0Lmxlbmd0aCl7IEBpZihncm91cGJ5KXtcclxuPHVsIGZkLW5vdGlmaWNhdGlvbi1saXN0PlxyXG4gICAgQGZvciAoIG1vIG9mIG1vRGF0YUxpc3QgfCBtdWx0aXBsZUdyb3VwQnk6IGdyb3VwYnk7IHRyYWNrIF90cmFja0J5Um93KGluZGV4LCBtbyk7IGxldCBpbmRleCA9ICRpbmRleDsgbGV0IGxhc3QgPVxyXG4gICAgJGxhc3Q7IGxldCBmaXJzdCA9ICRmaXJzdCkgeyBAaWYobW8uJEdyb3VwIHx8IG1vLiRHcm91cCA9PT0gJycpe1xyXG4gICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwibm90aWZpY2F0aW9uczsgY29udGV4dDogeyAkaW1wbGljaXQ6IG1vLiRHcm91cCwgbW9EYXRhTGlzdDogbW8uJENoaWxkcmVuLCBzaG93SGVhZGVyOiB0cnVlIH1cIlxyXG4gICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgfSB9XHJcbjwvdWw+XHJcbn0gQGVsc2V7XHJcbjxuZy1jb250YWluZXJcclxuICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwibm90aWZpY2F0aW9uczsgY29udGV4dDogeyAkaW1wbGljaXQ6ICcnLCBtb0RhdGFMaXN0OiBtb0RhdGFMaXN0LCBzaG93SGVhZGVyOiBmYWxzZSB9XCJcclxuPjwvbmctY29udGFpbmVyPlxyXG59IH0gQGVsc2V7XHJcbjxic3Utbm8tZGF0YSBbc2ltcGxlXT1cInRydWVcIj48L2JzdS1uby1kYXRhPlxyXG59XHJcbjxuZy10ZW1wbGF0ZSAjbm90aWZpY2F0aW9ucyBsZXQtZ3JvdXAgbGV0LW1vRGF0YUxpc3Q9XCJtb0RhdGFMaXN0XCIgbGV0LXNob3dIZWFkZXI9XCJzaG93SGVhZGVyXCI+XHJcbiAgICA8ZmQtbm90aWZpY2F0aW9uLWdyb3VwPlxyXG4gICAgICAgIEBpZihzaG93SGVhZGVyKXtcclxuICAgICAgICA8ZmQtbm90aWZpY2F0aW9uLWdyb3VwLWhlYWRlcj5cclxuICAgICAgICAgICAgPHNwYW4gZmQtbm90aWZpY2F0aW9uLWdyb3VwLWhlYWRlci10aXRsZT5cclxuICAgICAgICAgICAgICAgIHt7IGdyb3VwID09PSAndW5kZWZpbmVkJyA/ICcnIDogZ3JvdXAgfX1cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvZmQtbm90aWZpY2F0aW9uLWdyb3VwLWhlYWRlcj5cclxuICAgICAgICB9XHJcbiAgICAgICAgPGZkLW5vdGlmaWNhdGlvbi1ncm91cC1saXN0PlxyXG4gICAgICAgICAgICBAZm9yICggbW8gb2YgbW9EYXRhTGlzdCA7IHRyYWNrIF90cmFja0J5Um93KGluZGV4LCBtbyk7IGxldCBpbmRleCA9ICRpbmRleDsgbGV0IGxhc3QgPSAkbGFzdDsgbGV0IGZpcnN0ID1cclxuICAgICAgICAgICAgJGZpcnN0KSB7XHJcbiAgICAgICAgICAgIDxmZC1ub3RpZmljYXRpb24+XHJcbiAgICAgICAgICAgICAgICA8ZmQtbm90aWZpY2F0aW9uLWJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZkLWF2YXRhclxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbdHJhbnNwYXJlbnRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjaXJjbGVdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJ4c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtnbHlwaF09XCIhKHZpZXdTZXR0aW5nLkljb25GaWVsZCB8IHJ2YWw6IG1vOmFsbENvbHVtbnM6dHJ1ZSkgPyAnYmVsbCcgOiBudWxsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2ltYWdlXT1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZpZXdTZXR0aW5nLkljb25GaWVsZCB8IHJ2YWw6IG1vOmFsbENvbHVtbnM6dHJ1ZSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICh2aWV3U2V0dGluZy5JY29uRmllbGQgfCBydmFsOiBtbzphbGxDb2x1bW5zOnRydWUpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBudWxsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgICAgPjwvZmQtYXZhdGFyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmZC1ub3RpZmljYXRpb24tY29udGVudD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZkLW5vdGlmaWNhdGlvbi1oZWFkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgZmQtbm90aWZpY2F0aW9uLXRpdGxlIFt1bnJlYWRdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHZpZXdTZXR0aW5nLlRpdGxlRmllbGQgfCBydmFsOiBtbzphbGxDb2x1bW5zOnRydWUgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZmQtbm90aWZpY2F0aW9uLWhlYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkLW5vdGlmaWNhdGlvbi1wYXJhZ3JhcGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbm5lckh0bWxdPVwidmlld1NldHRpbmcuRGVzY3JpcHRpb25GaWVsZCB8IHJ2YWw6IG1vOmFsbENvbHVtbnM6dHJ1ZSB8IHNhbml0aXplVGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1ub3RpZmljYXRpb24tZm9vdGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvcihmaWVsZCBvZiBmaWVsZExpc3QoKTt0cmFjayBmaWVsZCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBmZC1ub3RpZmljYXRpb24tZm9vdGVyLWNvbnRlbnQgc3R5bGU9XCJkaXJlY3Rpb246IGx0cjsgbWF4LXdpZHRoOiAxMDAlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgZmllbGQgfCBydmFsOiBtbzphbGxDb2x1bW5zOnRydWUgfX08L3NwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGZkLW5vdGlmaWNhdGlvbi1zZXBhcmF0b3I+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2ZkLW5vdGlmaWNhdGlvbi1mb290ZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZC1vYmplY3Qtc3RhdHVzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2luZGljYXRpb25Db2xvcl09XCIyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2Vjb25kYXJ5SW5kaWNhdGlvbl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW52ZXJ0ZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9XCJOZWdhdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJOZWdhdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2x5cGg9XCJoaWdoLXByaW9yaXR5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiT2JqZWN0IHN0YXR1cyBOZWdhdGl2ZSBJbnZlcnRlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9zcGFuPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8L2ZkLW5vdGlmaWNhdGlvbi1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgICAgIDxmZC1ub3RpZmljYXRpb24tYWN0aW9ucz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmKHZpZXdTZXR0aW5nLkFjdGlvbnNDb21wb25lbnQ/LlNlbGVjdG9yICl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxibnJjLWR5bmFtaWMtaXRlbS1jb21wb25lbnRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21wb25lbnRdPVwidmlld1NldHRpbmcuQWN0aW9uc0NvbXBvbmVudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9dPVwibW9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NldHRpbmddPVwidmlld1NldHRpbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BhcmFtZXRlcnNdPVwidmlld1NldHRpbmcuQWN0aW9uc0NvbXBvbmVudC5TZXR0aW5nc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcnRsXT1cInJ0bFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGV2aWNlTmFtZV09XCJkZXZpY2VOYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZXZpY2VTaXplXT1cImRldmljZVNpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2luZGV4XT1cImluZGV4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbGxDb2x1bW5zXT1cImFsbENvbHVtbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGV2ZW50cyk9XCJvbkV2ZW50cyhtbywgaW5kZXgsICRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9ibnJjLWR5bmFtaWMtaXRlbS1jb21wb25lbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1AZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImFjdGlvbnNUcGxcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2FjdGlvbnNUcGwgbGV0LXVpQWN0aW9ucz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxic3UtYmFyc2Etcm93LWlubGluZS1hY3Rpb25saXN0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FjdGlvbkxpc3RdPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbkxpc3RcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZmlsdGVySW5saW5lQWN0aW9uTGlzdFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogbW9bdmlld1NldHRpbmcuSGlkZURlbGV0ZUJ1dHRvbl1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IG1vW3ZpZXdTZXR0aW5nLkhpZGVTaG93QnV0dG9uXVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogbW9bdmlld1NldHRpbmcuSGlkZVNob3dCdXR0b25dXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYnRuQ2xpY2spPVwib25BY3Rpb25MaXN0Q2xpY2sobW8sIGluZGV4LCAkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2JzdS1iYXJzYS1yb3ctaW5saW5lLWFjdGlvbmxpc3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9mZC1ub3RpZmljYXRpb24tYWN0aW9ucz5cclxuICAgICAgICAgICAgICAgIDwvZmQtbm90aWZpY2F0aW9uLWJvZHk+XHJcbiAgICAgICAgICAgIDwvZmQtbm90aWZpY2F0aW9uPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgPC9mZC1ub3RpZmljYXRpb24tZ3JvdXAtbGlzdD5cclxuICAgIDwvZmQtbm90aWZpY2F0aW9uLWdyb3VwPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
|