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,52 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
+
import { FieldBaseComponent } from 'barsa-novin-ray-core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@fundamental-ngx/core/form";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
export class UiTextFieldComponent extends FieldBaseComponent {
|
|
7
|
+
get MinSize() {
|
|
8
|
+
return { width: 0, height: 30 };
|
|
9
|
+
}
|
|
10
|
+
ngOnInit() {
|
|
11
|
+
super.ngOnInit();
|
|
12
|
+
this.isEmbedHtml = this.parameters?.IsEmbedHtml;
|
|
13
|
+
this.safeHtml = this._domSanitizer.bypassSecurityTrustHtml(this.value);
|
|
14
|
+
}
|
|
15
|
+
onValueChange(e) {
|
|
16
|
+
this.value = e.target.value;
|
|
17
|
+
this.valueChange.emit(this.value);
|
|
18
|
+
}
|
|
19
|
+
onKeyDown(e) {
|
|
20
|
+
if (this.context.maskRe) {
|
|
21
|
+
const isCharacter = this._isCharacter(e);
|
|
22
|
+
if (!isCharacter) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
const isValid = new RegExp('^[' + this.context.maskRe + ']*$').test(e.currentTarget.value + e.key);
|
|
26
|
+
if (!isValid) {
|
|
27
|
+
e.preventDefault();
|
|
28
|
+
e.stopPropagation();
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
_isCharacter(evt) {
|
|
33
|
+
if (typeof evt.which === 'undefined') {
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
else if (typeof evt.which === 'number' && evt.which > 0) {
|
|
37
|
+
return !evt.ctrlKey && !evt.metaKey && !evt.altKey && evt.which !== 8 && evt.key.length === 1;
|
|
38
|
+
}
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiTextFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
42
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: UiTextFieldComponent, selector: "bsu-ui-text-field", inputs: { value: "value", MinSize: "MinSize" }, usesInheritance: true, ngImport: i0, template: "@if (!isEmbedHtml) {\r\n<input\r\n fd-form-control\r\n [placeholder]=\"Setting.NullText || ''\"\r\n [attr.readonly]=\"(readonly$ | async) === true ? true : null\"\r\n [disabled]=\"(disable$ | async) === true ? true : null\"\r\n [type]=\"Setting.IsPassword ? 'password' : 'text'\"\r\n [value]=\"!value ? '' : value\"\r\n [attr.maxLength]=\"Setting.MaxLength !== undefined ? Setting.MaxLength : null\"\r\n [id]=\"id\"\r\n [style.direction]=\"Setting.IsLtr === true ? 'ltr' : null\"\r\n [style.text-align]=\"Setting.IsLtr === true ? 'left' : null\"\r\n (input)=\"onValueChange($event)\"\r\n (keydown)=\"onKeyDown($event)\"\r\n/>\r\n} @else {\r\n<div [innerHTML]=\"safeHtml\"></div>\r\n}\r\n", styles: [":host{display:block;width:100%;height:100%}\n"], dependencies: [{ kind: "component", type: i1.FormControlComponent, selector: "input[fd-form-control], textarea[fd-form-control]", inputs: ["state", "type", "class", "ariaLabel", "ariaLabelledBy"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
43
|
+
}
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiTextFieldComponent, decorators: [{
|
|
45
|
+
type: Component,
|
|
46
|
+
args: [{ selector: 'bsu-ui-text-field', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if (!isEmbedHtml) {\r\n<input\r\n fd-form-control\r\n [placeholder]=\"Setting.NullText || ''\"\r\n [attr.readonly]=\"(readonly$ | async) === true ? true : null\"\r\n [disabled]=\"(disable$ | async) === true ? true : null\"\r\n [type]=\"Setting.IsPassword ? 'password' : 'text'\"\r\n [value]=\"!value ? '' : value\"\r\n [attr.maxLength]=\"Setting.MaxLength !== undefined ? Setting.MaxLength : null\"\r\n [id]=\"id\"\r\n [style.direction]=\"Setting.IsLtr === true ? 'ltr' : null\"\r\n [style.text-align]=\"Setting.IsLtr === true ? 'left' : null\"\r\n (input)=\"onValueChange($event)\"\r\n (keydown)=\"onKeyDown($event)\"\r\n/>\r\n} @else {\r\n<div [innerHTML]=\"safeHtml\"></div>\r\n}\r\n", styles: [":host{display:block;width:100%;height:100%}\n"] }]
|
|
47
|
+
}], propDecorators: { value: [{
|
|
48
|
+
type: Input
|
|
49
|
+
}], MinSize: [{
|
|
50
|
+
type: Input
|
|
51
|
+
}] } });
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktdGV4dC1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi91aS10ZXh0LWZpZWxkL3VpLXRleHQtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktdGV4dC1maWVsZC91aS10ZXh0LWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRWxGLE9BQU8sRUFBRSxrQkFBa0IsRUFBdUIsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQVMvRSxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsa0JBQWtCO0lBR3hELElBQWEsT0FBTztRQUNoQixPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUdELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQztRQUNoRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFDRCxhQUFhLENBQUMsQ0FBQztRQUNYLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDNUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFDRCxTQUFTLENBQUMsQ0FBQztRQUNQLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN0QixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3pDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDZixPQUFPO1lBQ1gsQ0FBQztZQUNELE1BQU0sT0FBTyxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25HLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDWCxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ25CLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN4QixDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFDTyxZQUFZLENBQUMsR0FBRztRQUNwQixJQUFJLE9BQU8sR0FBRyxDQUFDLEtBQUssS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUNuQyxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO2FBQU0sSUFBSSxPQUFPLEdBQUcsQ0FBQyxLQUFLLEtBQUssUUFBUSxJQUFJLEdBQUcsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDeEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsS0FBSyxLQUFLLENBQUMsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7UUFDbEcsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7K0dBckNRLG9CQUFvQjttR0FBcEIsb0JBQW9CLGdJQ1hqQyxxdEJBa0JBOzs0RkRQYSxvQkFBb0I7a0JBUGhDLFNBQVM7K0JBQ0ksbUJBQW1CLG1CQUdaLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsS0FBSzs4QkFHUixLQUFLO3NCQUFiLEtBQUs7Z0JBRU8sT0FBTztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEZpZWxkQmFzZUNvbXBvbmVudCwgTWV0YW9iamVjdERhdGFNb2RlbCB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdic3UtdWktdGV4dC1maWVsZCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vdWktdGV4dC1maWVsZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi91aS10ZXh0LWZpZWxkLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVaVRleHRGaWVsZENvbXBvbmVudCBleHRlbmRzIEZpZWxkQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBASW5wdXQoKSB2YWx1ZTogc3RyaW5nO1xyXG4gICAgc2FmZUh0bWw6IGFueTtcclxuICAgIEBJbnB1dCgpIGdldCBNaW5TaXplKCk6IHsgd2lkdGg6IG51bWJlcjsgaGVpZ2h0OiBudW1iZXIgfSB7XHJcbiAgICAgICAgcmV0dXJuIHsgd2lkdGg6IDAsIGhlaWdodDogMzAgfTtcclxuICAgIH1cclxuICAgIHBhcmFtZXRlcnM6IFRleHRTZXR0aW5nO1xyXG4gICAgaXNFbWJlZEh0bWw6IGJvb2xlYW47XHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMuaXNFbWJlZEh0bWwgPSB0aGlzLnBhcmFtZXRlcnM/LklzRW1iZWRIdG1sO1xyXG4gICAgICAgIHRoaXMuc2FmZUh0bWwgPSB0aGlzLl9kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwodGhpcy52YWx1ZSk7XHJcbiAgICB9XHJcbiAgICBvblZhbHVlQ2hhbmdlKGUpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnZhbHVlID0gZS50YXJnZXQudmFsdWU7XHJcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xyXG4gICAgfVxyXG4gICAgb25LZXlEb3duKGUpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5jb250ZXh0Lm1hc2tSZSkge1xyXG4gICAgICAgICAgICBjb25zdCBpc0NoYXJhY3RlciA9IHRoaXMuX2lzQ2hhcmFjdGVyKGUpO1xyXG4gICAgICAgICAgICBpZiAoIWlzQ2hhcmFjdGVyKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29uc3QgaXNWYWxpZCA9IG5ldyBSZWdFeHAoJ15bJyArIHRoaXMuY29udGV4dC5tYXNrUmUgKyAnXSokJykudGVzdChlLmN1cnJlbnRUYXJnZXQudmFsdWUgKyBlLmtleSk7XHJcbiAgICAgICAgICAgIGlmICghaXNWYWxpZCkge1xyXG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHByaXZhdGUgX2lzQ2hhcmFjdGVyKGV2dCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICh0eXBlb2YgZXZ0LndoaWNoID09PSAndW5kZWZpbmVkJykge1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBldnQud2hpY2ggPT09ICdudW1iZXInICYmIGV2dC53aGljaCA+IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuICFldnQuY3RybEtleSAmJiAhZXZ0Lm1ldGFLZXkgJiYgIWV2dC5hbHRLZXkgJiYgZXZ0LndoaWNoICE9PSA4ICYmIGV2dC5rZXkubGVuZ3RoID09PSAxO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbn1cclxuaW50ZXJmYWNlIFRleHRTZXR0aW5nIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XHJcbiAgICBJc0VtYmVkSHRtbDogYm9vbGVhbjtcclxufVxyXG4iLCJAaWYgKCFpc0VtYmVkSHRtbCkge1xyXG48aW5wdXRcclxuICAgIGZkLWZvcm0tY29udHJvbFxyXG4gICAgW3BsYWNlaG9sZGVyXT1cIlNldHRpbmcuTnVsbFRleHQgfHwgJydcIlxyXG4gICAgW2F0dHIucmVhZG9ubHldPVwiKHJlYWRvbmx5JCB8IGFzeW5jKSA9PT0gdHJ1ZSA/IHRydWUgOiBudWxsXCJcclxuICAgIFtkaXNhYmxlZF09XCIoZGlzYWJsZSQgfCBhc3luYykgPT09IHRydWUgPyB0cnVlIDogbnVsbFwiXHJcbiAgICBbdHlwZV09XCJTZXR0aW5nLklzUGFzc3dvcmQgPyAncGFzc3dvcmQnIDogJ3RleHQnXCJcclxuICAgIFt2YWx1ZV09XCIhdmFsdWUgPyAnJyA6IHZhbHVlXCJcclxuICAgIFthdHRyLm1heExlbmd0aF09XCJTZXR0aW5nLk1heExlbmd0aCAhPT0gdW5kZWZpbmVkID8gU2V0dGluZy5NYXhMZW5ndGggOiBudWxsXCJcclxuICAgIFtpZF09XCJpZFwiXHJcbiAgICBbc3R5bGUuZGlyZWN0aW9uXT1cIlNldHRpbmcuSXNMdHIgPT09IHRydWUgPyAnbHRyJyA6IG51bGxcIlxyXG4gICAgW3N0eWxlLnRleHQtYWxpZ25dPVwiU2V0dGluZy5Jc0x0ciA9PT0gdHJ1ZSA/ICdsZWZ0JyA6IG51bGxcIlxyXG4gICAgKGlucHV0KT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50KVwiXHJcbi8+XHJcbn0gQGVsc2Uge1xyXG48ZGl2IFtpbm5lckhUTUxdPVwic2FmZUh0bWxcIj48L2Rpdj5cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import { debounceTime, map, switchMap, takeUntil } from 'rxjs/operators';
|
|
4
|
+
import { FieldBaseComponent, BarsaApi } from 'barsa-novin-ray-core';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/forms";
|
|
7
|
+
import * as i2 from "@fundamental-ngx/core/combobox";
|
|
8
|
+
import * as i3 from "@angular/common";
|
|
9
|
+
export class UiTextFieldAutoCompleteComponent extends FieldBaseComponent {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments);
|
|
12
|
+
this.inputTextChanged = new Subject();
|
|
13
|
+
}
|
|
14
|
+
ngOnInit() {
|
|
15
|
+
super.ngOnInit();
|
|
16
|
+
this.suggestionList$ = this.inputTextChanged.asObservable().pipe(takeUntil(this._onDestroy$), debounceTime(300), map((value) => this._createUlvParams(value)), switchMap((ulvParams) => new Promise((resolve, reject) => {
|
|
17
|
+
!ulvParams.FilterText || (ulvParams.FilterText.length < 2 && resolve([]));
|
|
18
|
+
BarsaApi.Bw.ExecuteReport({ ulvParams }, (result) => {
|
|
19
|
+
// succeed
|
|
20
|
+
const suggestionList = result.Data.MoDataList.map((item) => item.$Caption);
|
|
21
|
+
resolve(suggestionList);
|
|
22
|
+
}, (err) => {
|
|
23
|
+
reject(err);
|
|
24
|
+
});
|
|
25
|
+
})));
|
|
26
|
+
this.suggestionList$.subscribe();
|
|
27
|
+
}
|
|
28
|
+
onValueChange(value) {
|
|
29
|
+
this.value = value;
|
|
30
|
+
this.valueChange.emit(this.value);
|
|
31
|
+
this.inputTextChanged.next(this.value);
|
|
32
|
+
}
|
|
33
|
+
_createUlvParams(filterText) {
|
|
34
|
+
return new BarsaApi.Ul.UlvParams({
|
|
35
|
+
FieldDefId: this.Setting.ControlFieldDefId,
|
|
36
|
+
FilterText: filterText,
|
|
37
|
+
UsageEnum: BarsaApi.Ul.UlvMainCtrlr.UlvUsageEnum.Combo,
|
|
38
|
+
ColumnRequestEnum: BarsaApi.Common.Enums.ColumnRequestEnum.Title
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiTextFieldAutoCompleteComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
42
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UiTextFieldAutoCompleteComponent, selector: "bsu-ui-text-field-auto-complete", usesInheritance: true, ngImport: i0, template: "<fd-combobox\r\n #fdCombo\r\n [inputId]=\"id\"\r\n [placeholder]=\"Setting?.NullText || ''\"\r\n [readonly]=\"(readonly$ | async) === true\"\r\n [fillOnSelect]=\"true\"\r\n [isSearch]=\"false\"\r\n [disabled]=\"(disable$ | async) === true\"\r\n [maxlength]=\"Setting?.MaxLength !== undefined ? Setting?.MaxLength : null\"\r\n [style.direction]=\"Setting?.IsLtr === true ? 'ltr' : 'rtl'\"\r\n [showDropdownButton]=\"false\"\r\n [dropdownValues]=\"(suggestionList$ | async) || []\"\r\n [includes]=\"true\"\r\n [highlighting]=\"false\"\r\n [ngModel]=\"value || ''\"\r\n (inputTextChange)=\"onValueChange($event)\"\r\n>\r\n</fd-combobox>\r\n", styles: [":host{display:block;height:100%}fd-combobox{width:100%}fd-combobox ::ng-deep fd-popover{width:100%}fd-combobox ::ng-deep .fd-input-group--control{margin:.1875rem 0!important;margin-bottom:.25rem rem!important}fd-combobox ::ng-deep .fd-input-group--control input{padding-right:.625rem!important;padding-left:.625rem!important}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.ComboboxComponent, selector: "fd-combobox", inputs: ["comboboxId", "inputId", "ariaLabel", "ariaLabelledBy", "required", "dropdownValues", "filterFn", "disabled", "placeholder", "isSearch", "glyph", "glyphFont", "showClearButton", "triggers", "closeOnOutsideClick", "openOnKeyboardEvent", "state", "itemTemplate", "groupFn", "maxHeight", "width", "searchFn", "highlighting", "closeOnSelect", "fillOnSelect", "autoComplete", "fillControlMode", "communicateByObject", "displayFn", "buttonFocusable", "clearButtonFocusable", "readOnly", "mobile", "mobileConfig", "showDropdownButton", "includes", "title", "byline", "tabOutStrategy"], outputs: ["itemClicked", "openChange", "inputTextChange"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
43
|
+
}
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiTextFieldAutoCompleteComponent, decorators: [{
|
|
45
|
+
type: Component,
|
|
46
|
+
args: [{ selector: 'bsu-ui-text-field-auto-complete', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<fd-combobox\r\n #fdCombo\r\n [inputId]=\"id\"\r\n [placeholder]=\"Setting?.NullText || ''\"\r\n [readonly]=\"(readonly$ | async) === true\"\r\n [fillOnSelect]=\"true\"\r\n [isSearch]=\"false\"\r\n [disabled]=\"(disable$ | async) === true\"\r\n [maxlength]=\"Setting?.MaxLength !== undefined ? Setting?.MaxLength : null\"\r\n [style.direction]=\"Setting?.IsLtr === true ? 'ltr' : 'rtl'\"\r\n [showDropdownButton]=\"false\"\r\n [dropdownValues]=\"(suggestionList$ | async) || []\"\r\n [includes]=\"true\"\r\n [highlighting]=\"false\"\r\n [ngModel]=\"value || ''\"\r\n (inputTextChange)=\"onValueChange($event)\"\r\n>\r\n</fd-combobox>\r\n", styles: [":host{display:block;height:100%}fd-combobox{width:100%}fd-combobox ::ng-deep fd-popover{width:100%}fd-combobox ::ng-deep .fd-input-group--control{margin:.1875rem 0!important;margin-bottom:.25rem rem!important}fd-combobox ::ng-deep .fd-input-group--control input{padding-right:.625rem!important;padding-left:.625rem!important}\n"] }]
|
|
47
|
+
}] });
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktdGV4dC1maWVsZC1hdXRvLWNvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL3VpLXRleHQtZmllbGQtYXV0by1jb21wbGV0ZS91aS10ZXh0LWZpZWxkLWF1dG8tY29tcGxldGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktdGV4dC1maWVsZC1hdXRvLWNvbXBsZXRlL3VpLXRleHQtZmllbGQtYXV0by1jb21wbGV0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7QUFTcEUsTUFBTSxPQUFPLGdDQUFpQyxTQUFRLGtCQUFrQjtJQVB4RTs7UUFRSSxxQkFBZ0IsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO0tBNEM1QztJQXpDRyxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FDNUQsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFDM0IsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUNqQixHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUM1QyxTQUFTLENBQ0wsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUNWLElBQUksT0FBTyxDQUFXLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3RDLENBQUMsU0FBUyxDQUFDLFVBQVUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUMxRSxRQUFRLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FDckIsRUFBRSxTQUFTLEVBQUUsRUFDYixDQUFDLE1BQU0sRUFBRSxFQUFFO2dCQUNQLFVBQVU7Z0JBQ1YsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzNFLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUM1QixDQUFDLEVBQ0QsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDSixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDaEIsQ0FBQyxDQUNKLENBQUM7UUFDTixDQUFDLENBQUMsQ0FDVCxDQUNKLENBQUM7UUFDRixJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBSztRQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsVUFBVTtRQUMvQixPQUFPLElBQUksUUFBUSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUM7WUFDN0IsVUFBVSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCO1lBQzFDLFVBQVUsRUFBRSxVQUFVO1lBQ3RCLFNBQVMsRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsS0FBSztZQUN0RCxpQkFBaUIsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLO1NBQ25FLENBQUMsQ0FBQztJQUNQLENBQUM7K0dBNUNRLGdDQUFnQzttR0FBaEMsZ0NBQWdDLDhGQ2I3Qyw0cUJBa0JBOzs0RkRMYSxnQ0FBZ0M7a0JBUDVDLFNBQVM7K0JBQ0ksaUNBQWlDLG1CQUcxQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIG1hcCwgc3dpdGNoTWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBGaWVsZEJhc2VDb21wb25lbnQsIEJhcnNhQXBpIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JzdS11aS10ZXh0LWZpZWxkLWF1dG8tY29tcGxldGUnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3VpLXRleHQtZmllbGQtYXV0by1jb21wbGV0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi91aS10ZXh0LWZpZWxkLWF1dG8tY29tcGxldGUuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIFVpVGV4dEZpZWxkQXV0b0NvbXBsZXRlQ29tcG9uZW50IGV4dGVuZHMgRmllbGRCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIGlucHV0VGV4dENoYW5nZWQgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XHJcbiAgICBzdWdnZXN0aW9uTGlzdCQ6IE9ic2VydmFibGU8c3RyaW5nW10+O1xyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgdGhpcy5zdWdnZXN0aW9uTGlzdCQgPSB0aGlzLmlucHV0VGV4dENoYW5nZWQuYXNPYnNlcnZhYmxlKCkucGlwZShcclxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpLFxyXG4gICAgICAgICAgICBkZWJvdW5jZVRpbWUoMzAwKSxcclxuICAgICAgICAgICAgbWFwKCh2YWx1ZSkgPT4gdGhpcy5fY3JlYXRlVWx2UGFyYW1zKHZhbHVlKSksXHJcbiAgICAgICAgICAgIHN3aXRjaE1hcChcclxuICAgICAgICAgICAgICAgICh1bHZQYXJhbXMpID0+XHJcbiAgICAgICAgICAgICAgICAgICAgbmV3IFByb21pc2U8c3RyaW5nW10+KChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgIXVsdlBhcmFtcy5GaWx0ZXJUZXh0IHx8ICh1bHZQYXJhbXMuRmlsdGVyVGV4dC5sZW5ndGggPCAyICYmIHJlc29sdmUoW10pKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQmFyc2FBcGkuQncuRXhlY3V0ZVJlcG9ydChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgdWx2UGFyYW1zIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gc3VjY2VlZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN1Z2dlc3Rpb25MaXN0ID0gcmVzdWx0LkRhdGEuTW9EYXRhTGlzdC5tYXAoKGl0ZW0pID0+IGl0ZW0uJENhcHRpb24pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoc3VnZ2VzdGlvbkxpc3QpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlcnIpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLnN1Z2dlc3Rpb25MaXN0JC5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuXHJcbiAgICBvblZhbHVlQ2hhbmdlKHZhbHVlKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcclxuICAgICAgICB0aGlzLmlucHV0VGV4dENoYW5nZWQubmV4dCh0aGlzLnZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9jcmVhdGVVbHZQYXJhbXMoZmlsdGVyVGV4dCk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBCYXJzYUFwaS5VbC5VbHZQYXJhbXMoe1xyXG4gICAgICAgICAgICBGaWVsZERlZklkOiB0aGlzLlNldHRpbmcuQ29udHJvbEZpZWxkRGVmSWQsXHJcbiAgICAgICAgICAgIEZpbHRlclRleHQ6IGZpbHRlclRleHQsXHJcbiAgICAgICAgICAgIFVzYWdlRW51bTogQmFyc2FBcGkuVWwuVWx2TWFpbkN0cmxyLlVsdlVzYWdlRW51bS5Db21ibyxcclxuICAgICAgICAgICAgQ29sdW1uUmVxdWVzdEVudW06IEJhcnNhQXBpLkNvbW1vbi5FbnVtcy5Db2x1bW5SZXF1ZXN0RW51bS5UaXRsZVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiIsIjxmZC1jb21ib2JveFxyXG4gICAgI2ZkQ29tYm9cclxuICAgIFtpbnB1dElkXT1cImlkXCJcclxuICAgIFtwbGFjZWhvbGRlcl09XCJTZXR0aW5nPy5OdWxsVGV4dCB8fCAnJ1wiXHJcbiAgICBbcmVhZG9ubHldPVwiKHJlYWRvbmx5JCB8IGFzeW5jKSA9PT0gdHJ1ZVwiXHJcbiAgICBbZmlsbE9uU2VsZWN0XT1cInRydWVcIlxyXG4gICAgW2lzU2VhcmNoXT1cImZhbHNlXCJcclxuICAgIFtkaXNhYmxlZF09XCIoZGlzYWJsZSQgfCBhc3luYykgPT09IHRydWVcIlxyXG4gICAgW21heGxlbmd0aF09XCJTZXR0aW5nPy5NYXhMZW5ndGggIT09IHVuZGVmaW5lZCA/IFNldHRpbmc/Lk1heExlbmd0aCA6IG51bGxcIlxyXG4gICAgW3N0eWxlLmRpcmVjdGlvbl09XCJTZXR0aW5nPy5Jc0x0ciA9PT0gdHJ1ZSA/ICdsdHInIDogJ3J0bCdcIlxyXG4gICAgW3Nob3dEcm9wZG93bkJ1dHRvbl09XCJmYWxzZVwiXHJcbiAgICBbZHJvcGRvd25WYWx1ZXNdPVwiKHN1Z2dlc3Rpb25MaXN0JCB8IGFzeW5jKSB8fCBbXVwiXHJcbiAgICBbaW5jbHVkZXNdPVwidHJ1ZVwiXHJcbiAgICBbaGlnaGxpZ2h0aW5nXT1cImZhbHNlXCJcclxuICAgIFtuZ01vZGVsXT1cInZhbHVlIHx8ICcnXCJcclxuICAgIChpbnB1dFRleHRDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcclxuPlxyXG48L2ZkLWNvbWJvYm94PlxyXG4iXX0=
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, ElementRef, ViewChild } from '@angular/core';
|
|
2
|
+
import { NumberBaseComponent } from 'barsa-novin-ray-core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@fundamental-ngx/core/form";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
export class UiTimeSpanComponent extends NumberBaseComponent {
|
|
7
|
+
ngOnInit() {
|
|
8
|
+
super.ngOnInit();
|
|
9
|
+
this.Setting.DecimalPrecision = 2;
|
|
10
|
+
this.Setting.ShowThousandSeperator = false;
|
|
11
|
+
this.inputElement = this.inputRef.nativeElement;
|
|
12
|
+
super.ngOnInit(); // this is required.
|
|
13
|
+
}
|
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiTimeSpanComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
15
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UiTimeSpanComponent, selector: "bsu-ui-time-span", viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, ngImport: i0, template: "<input\r\n fd-form-control\r\n #inputRef\r\n [placeholder]=\"Setting.NullText || ''\"\r\n [id]=\"id\"\r\n [attr.readonly]=\"(readonly$ | async) === true ? true : null\"\r\n [attr.disabled]=\"(disable$ | async) === true ? true : null\"\r\n [style.direction]=\"Setting.IsLtr === true ? 'ltr' : null\"\r\n (keydown)=\"onKeyDown($event)\"\r\n (input)=\"onValueChange($event)\"\r\n class=\"number-input\"\r\n/>\r\n", styles: [":host{display:block;width:100%;height:100%}.number-input{display:block}\n"], dependencies: [{ kind: "component", type: i1.FormControlComponent, selector: "input[fd-form-control], textarea[fd-form-control]", inputs: ["state", "type", "class", "ariaLabel", "ariaLabelledBy"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
16
|
+
}
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiTimeSpanComponent, decorators: [{
|
|
18
|
+
type: Component,
|
|
19
|
+
args: [{ selector: 'bsu-ui-time-span', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<input\r\n fd-form-control\r\n #inputRef\r\n [placeholder]=\"Setting.NullText || ''\"\r\n [id]=\"id\"\r\n [attr.readonly]=\"(readonly$ | async) === true ? true : null\"\r\n [attr.disabled]=\"(disable$ | async) === true ? true : null\"\r\n [style.direction]=\"Setting.IsLtr === true ? 'ltr' : null\"\r\n (keydown)=\"onKeyDown($event)\"\r\n (input)=\"onValueChange($event)\"\r\n class=\"number-input\"\r\n/>\r\n", styles: [":host{display:block;width:100%;height:100%}.number-input{display:block}\n"] }]
|
|
20
|
+
}], propDecorators: { inputRef: [{
|
|
21
|
+
type: ViewChild,
|
|
22
|
+
args: ['inputRef', { read: ElementRef, static: true }]
|
|
23
|
+
}] } });
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktdGltZS1zcGFuLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL3VpLXRpbWUtc3Bhbi91aS10aW1lLXNwYW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktdGltZS1zcGFuL3VpLXRpbWUtc3Bhbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7QUFRM0QsTUFBTSxPQUFPLG1CQUFvQixTQUFRLG1CQUFtQjtJQUt4RCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxPQUFPLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFDO1FBQzNDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7UUFDaEQsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsb0JBQW9CO0lBQzFDLENBQUM7K0dBWFEsbUJBQW1CO21HQUFuQixtQkFBbUIseUlBQ0csVUFBVSxrRUNYN0MseWJBWUE7OzRGREZhLG1CQUFtQjtrQkFQL0IsU0FBUzsrQkFDSSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxLQUFLOzhCQUlqQixRQUFRO3NCQURQLFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IE51bWJlckJhc2VDb21wb25lbnQgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdic3UtdWktdGltZS1zcGFuJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi91aS10aW1lLXNwYW4uY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vdWktdGltZS1zcGFuLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVaVRpbWVTcGFuQ29tcG9uZW50IGV4dGVuZHMgTnVtYmVyQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBAVmlld0NoaWxkKCdpbnB1dFJlZicsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pXHJcbiAgICBpbnB1dFJlZjogRWxlbWVudFJlZjtcclxuICAgIGlucHV0RWxlbWVudDogSFRNTElucHV0RWxlbWVudCB8IG51bGwgfCB1bmRlZmluZWQ7XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICB0aGlzLlNldHRpbmcuRGVjaW1hbFByZWNpc2lvbiA9IDI7XHJcbiAgICAgICAgdGhpcy5TZXR0aW5nLlNob3dUaG91c2FuZFNlcGVyYXRvciA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuaW5wdXRFbGVtZW50ID0gdGhpcy5pbnB1dFJlZi5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7IC8vIHRoaXMgaXMgcmVxdWlyZWQuXHJcbiAgICB9XHJcbn1cclxuIiwiPGlucHV0XHJcbiAgICBmZC1mb3JtLWNvbnRyb2xcclxuICAgICNpbnB1dFJlZlxyXG4gICAgW3BsYWNlaG9sZGVyXT1cIlNldHRpbmcuTnVsbFRleHQgfHwgJydcIlxyXG4gICAgW2lkXT1cImlkXCJcclxuICAgIFthdHRyLnJlYWRvbmx5XT1cIihyZWFkb25seSQgfCBhc3luYykgPT09IHRydWUgPyB0cnVlIDogbnVsbFwiXHJcbiAgICBbYXR0ci5kaXNhYmxlZF09XCIoZGlzYWJsZSQgfCBhc3luYykgPT09IHRydWUgPyB0cnVlIDogbnVsbFwiXHJcbiAgICBbc3R5bGUuZGlyZWN0aW9uXT1cIlNldHRpbmcuSXNMdHIgPT09IHRydWUgPyAnbHRyJyA6IG51bGxcIlxyXG4gICAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudClcIlxyXG4gICAgKGlucHV0KT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICBjbGFzcz1cIm51bWJlci1pbnB1dFwiXHJcbi8+XHJcbiJdfQ==
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, HostBinding } from '@angular/core';
|
|
2
|
+
import { BarsaApi, FieldBaseComponent } 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 "../mask/mask.component";
|
|
7
|
+
import * as i4 from "../barsa-tinyemce/barsa-tinyemce.component";
|
|
8
|
+
export class UiTinymceComponent extends FieldBaseComponent {
|
|
9
|
+
constructor() {
|
|
10
|
+
super(...arguments);
|
|
11
|
+
this.tinyHeight = '100px';
|
|
12
|
+
this.tinyInit = false;
|
|
13
|
+
}
|
|
14
|
+
ngOnInit() {
|
|
15
|
+
super.ngOnInit();
|
|
16
|
+
this.isReadonly = this.Setting.IsReadOnly || this.Setting.ControlIsReadOnly;
|
|
17
|
+
const el = this._el.nativeElement;
|
|
18
|
+
if (el.parentElement) {
|
|
19
|
+
el.parentElement.style.alignSelf = 'stretch';
|
|
20
|
+
}
|
|
21
|
+
if (this.Setting.IsHtmlViewer) {
|
|
22
|
+
this.tinyHeight = 'auto';
|
|
23
|
+
this.sefeValue = this._domSanitizer.bypassSecurityTrustHtml(this.value);
|
|
24
|
+
}
|
|
25
|
+
this.isAnonymous = !BarsaApi.LoginFormData.IsUserLoggedIn;
|
|
26
|
+
// this.tinyHeight = this.layoutInfo.ControlBounds.height;
|
|
27
|
+
}
|
|
28
|
+
ngOnChanges(simpleChanges) {
|
|
29
|
+
super.ngOnChanges(simpleChanges);
|
|
30
|
+
if (simpleChanges.value && !simpleChanges.value.firstChange) {
|
|
31
|
+
if (this.Setting.IsHtmlViewer) {
|
|
32
|
+
this.sefeValue = this._domSanitizer.bypassSecurityTrustHtml(this.value);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
onTinyInit() {
|
|
37
|
+
this.tinyInit = true;
|
|
38
|
+
}
|
|
39
|
+
onTinyChanged(newValue) {
|
|
40
|
+
this.context.value = newValue;
|
|
41
|
+
this.context.fireEvent('change', this, newValue, this.value, {});
|
|
42
|
+
}
|
|
43
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiTinymceComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
44
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UiTinymceComponent, selector: "bsu-ui-tinymce", host: { properties: { "style.min-height": "this.tinyHeight" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *untilInView=\"el\">\r\n <div\r\n class=\"html-readonly\"\r\n *ngIf=\"Setting.IsHtmlViewer || (disableOrReadonly$ | async); else textarea\"\r\n [class.readonly]=\"readonly$ | async\"\r\n [class.anonymous]=\"isAnonymous\"\r\n [class.disable]=\"disable$ | async\"\r\n [innerHtml]=\"Setting.IsHtmlViewer ? sefeValue : ''\"\r\n ></div>\r\n <ng-template #textarea>\r\n <bsu-mask *ngIf=\"!tinyInit\"></bsu-mask>\r\n <bsu-barsa-tinyemce\r\n [attr.ismobile]=\"isMobile\"\r\n [attr.ismobile]=\"isTablet\"\r\n [Setting]=\"Setting\"\r\n [IsInline]=\"parameters?.IsInline === true\"\r\n [value]=\"value\"\r\n [defaultVerbs]=\"context.defaultVerbs\"\r\n (tinyInit)=\"onTinyInit()\"\r\n (valueChange)=\"onTinyChanged($event)\"\r\n [readonly]=\"isReadonly\"\r\n ></bsu-barsa-tinyemce>\r\n </ng-template>\r\n</ng-container>\r\n", styles: [":host{display:flex;flex-direction:column;justify-content:stretch;align-items:stretch;height:100%;width:100%;align-self:flex-start;min-width:320px}:host ::ng-deep .tox.tox-tinymce{border-radius:0%;border:var(--sapField_BorderWidth) var(--sapField_BorderStyle) var(--sapField_BorderColor)}.html-readonly,bsu-barsa-tinyemce{flex-grow:1}.readonly{background:var(--sapBackgroundColor);height:100%}.disable{background:var(--sapBackgroundColor);height:100%;opacity:.5}.readonly.anonymous{background-color:transparent;border:none}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.UntilInViewDirective, selector: "[untilInView]", inputs: ["untilInView", "intersectionDebounce"] }, { kind: "component", type: i3.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: i4.BarsaTinyemceComponent, selector: "bsu-barsa-tinyemce", inputs: ["Setting", "isReadonly", "value", "IsInline", "defaultVerbs"], outputs: ["valueChange", "tinyInit"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
45
|
+
}
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiTinymceComponent, decorators: [{
|
|
47
|
+
type: Component,
|
|
48
|
+
args: [{ selector: 'bsu-ui-tinymce', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<ng-container *untilInView=\"el\">\r\n <div\r\n class=\"html-readonly\"\r\n *ngIf=\"Setting.IsHtmlViewer || (disableOrReadonly$ | async); else textarea\"\r\n [class.readonly]=\"readonly$ | async\"\r\n [class.anonymous]=\"isAnonymous\"\r\n [class.disable]=\"disable$ | async\"\r\n [innerHtml]=\"Setting.IsHtmlViewer ? sefeValue : ''\"\r\n ></div>\r\n <ng-template #textarea>\r\n <bsu-mask *ngIf=\"!tinyInit\"></bsu-mask>\r\n <bsu-barsa-tinyemce\r\n [attr.ismobile]=\"isMobile\"\r\n [attr.ismobile]=\"isTablet\"\r\n [Setting]=\"Setting\"\r\n [IsInline]=\"parameters?.IsInline === true\"\r\n [value]=\"value\"\r\n [defaultVerbs]=\"context.defaultVerbs\"\r\n (tinyInit)=\"onTinyInit()\"\r\n (valueChange)=\"onTinyChanged($event)\"\r\n [readonly]=\"isReadonly\"\r\n ></bsu-barsa-tinyemce>\r\n </ng-template>\r\n</ng-container>\r\n", styles: [":host{display:flex;flex-direction:column;justify-content:stretch;align-items:stretch;height:100%;width:100%;align-self:flex-start;min-width:320px}:host ::ng-deep .tox.tox-tinymce{border-radius:0%;border:var(--sapField_BorderWidth) var(--sapField_BorderStyle) var(--sapField_BorderColor)}.html-readonly,bsu-barsa-tinyemce{flex-grow:1}.readonly{background:var(--sapBackgroundColor);height:100%}.disable{background:var(--sapBackgroundColor);height:100%;opacity:.5}.readonly.anonymous{background-color:transparent;border:none}\n"] }]
|
|
49
|
+
}], propDecorators: { tinyHeight: [{
|
|
50
|
+
type: HostBinding,
|
|
51
|
+
args: ['style.min-height']
|
|
52
|
+
}] } });
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktdGlueW1jZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi91aS10aW55bWNlL3VpLXRpbnltY2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktdGlueW1jZS91aS10aW55bWNlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUdsSCxPQUFPLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUF1QixNQUFNLHNCQUFzQixDQUFDOzs7Ozs7QUFTekYsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGtCQUFrQjtJQVAxRDs7UUFRcUMsZUFBVSxHQUFHLE9BQU8sQ0FBQztRQUd0RCxhQUFRLEdBQUcsS0FBSyxDQUFDO0tBZ0NwQjtJQTdCRyxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztRQUM1RSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQTRCLENBQUM7UUFDakQsSUFBSSxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDbkIsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUNqRCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUUsQ0FBQztRQUNELElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQztRQUMxRCwwREFBMEQ7SUFDOUQsQ0FBQztJQUNELFdBQVcsQ0FBQyxhQUE0QjtRQUNwQyxLQUFLLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2pDLElBQUksYUFBYSxDQUFDLEtBQUssSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDMUQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzVFLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUNELFVBQVU7UUFDTixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztJQUN6QixDQUFDO0lBQ0QsYUFBYSxDQUFDLFFBQVE7UUFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO1FBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDckUsQ0FBQzsrR0FuQ1Esa0JBQWtCO21HQUFsQixrQkFBa0IsbUtDWi9CLHkrQkF3QkE7OzRGRFphLGtCQUFrQjtrQkFQOUIsU0FBUzsrQkFDSSxnQkFBZ0IsbUJBR1QsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxLQUFLOzhCQUdnQixVQUFVO3NCQUExQyxXQUFXO3VCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBPbkNoYW5nZXMsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5cclxuaW1wb3J0IHsgQmFyc2FBcGksIEZpZWxkQmFzZUNvbXBvbmVudCwgTWV0YW9iamVjdERhdGFNb2RlbCB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdic3UtdWktdGlueW1jZScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vdWktdGlueW1jZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi91aS10aW55bWNlLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVaVRpbnltY2VDb21wb25lbnQgZXh0ZW5kcyBGaWVsZEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1pbi1oZWlnaHQnKSB0aW55SGVpZ2h0ID0gJzEwMHB4JztcclxuICAgIGlzUmVhZG9ubHk6IGJvb2xlYW47XHJcbiAgICBzZWZlVmFsdWU6IFNhZmVIdG1sO1xyXG4gICAgdGlueUluaXQgPSBmYWxzZTtcclxuICAgIGlzQW5vbnltb3VzOiBib29sZWFuO1xyXG4gICAgcGFyYW1ldGVyczogVWlUaW55bWNlU2V0dGluZztcclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgdGhpcy5pc1JlYWRvbmx5ID0gdGhpcy5TZXR0aW5nLklzUmVhZE9ubHkgfHwgdGhpcy5TZXR0aW5nLkNvbnRyb2xJc1JlYWRPbmx5O1xyXG4gICAgICAgIGNvbnN0IGVsID0gdGhpcy5fZWwubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgICBpZiAoZWwucGFyZW50RWxlbWVudCkge1xyXG4gICAgICAgICAgICBlbC5wYXJlbnRFbGVtZW50LnN0eWxlLmFsaWduU2VsZiA9ICdzdHJldGNoJztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuU2V0dGluZy5Jc0h0bWxWaWV3ZXIpIHtcclxuICAgICAgICAgICAgdGhpcy50aW55SGVpZ2h0ID0gJ2F1dG8nO1xyXG4gICAgICAgICAgICB0aGlzLnNlZmVWYWx1ZSA9IHRoaXMuX2RvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbCh0aGlzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5pc0Fub255bW91cyA9ICFCYXJzYUFwaS5Mb2dpbkZvcm1EYXRhLklzVXNlckxvZ2dlZEluO1xyXG4gICAgICAgIC8vIHRoaXMudGlueUhlaWdodCA9IHRoaXMubGF5b3V0SW5mby5Db250cm9sQm91bmRzLmhlaWdodDtcclxuICAgIH1cclxuICAgIG5nT25DaGFuZ2VzKHNpbXBsZUNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyhzaW1wbGVDaGFuZ2VzKTtcclxuICAgICAgICBpZiAoc2ltcGxlQ2hhbmdlcy52YWx1ZSAmJiAhc2ltcGxlQ2hhbmdlcy52YWx1ZS5maXJzdENoYW5nZSkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5TZXR0aW5nLklzSHRtbFZpZXdlcikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWZlVmFsdWUgPSB0aGlzLl9kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwodGhpcy52YWx1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBvblRpbnlJbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudGlueUluaXQgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgb25UaW55Q2hhbmdlZChuZXdWYWx1ZSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY29udGV4dC52YWx1ZSA9IG5ld1ZhbHVlO1xyXG4gICAgICAgIHRoaXMuY29udGV4dC5maXJlRXZlbnQoJ2NoYW5nZScsIHRoaXMsIG5ld1ZhbHVlLCB0aGlzLnZhbHVlLCB7fSk7XHJcbiAgICB9XHJcbn1cclxuaW50ZXJmYWNlIFVpVGlueW1jZVNldHRpbmcgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcclxuICAgIElzSW5saW5lOiBib29sZWFuO1xyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKnVudGlsSW5WaWV3PVwiZWxcIj5cclxuICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cImh0bWwtcmVhZG9ubHlcIlxyXG4gICAgICAgICpuZ0lmPVwiU2V0dGluZy5Jc0h0bWxWaWV3ZXIgfHwgKGRpc2FibGVPclJlYWRvbmx5JCB8IGFzeW5jKTsgZWxzZSB0ZXh0YXJlYVwiXHJcbiAgICAgICAgW2NsYXNzLnJlYWRvbmx5XT1cInJlYWRvbmx5JCB8IGFzeW5jXCJcclxuICAgICAgICBbY2xhc3MuYW5vbnltb3VzXT1cImlzQW5vbnltb3VzXCJcclxuICAgICAgICBbY2xhc3MuZGlzYWJsZV09XCJkaXNhYmxlJCB8IGFzeW5jXCJcclxuICAgICAgICBbaW5uZXJIdG1sXT1cIlNldHRpbmcuSXNIdG1sVmlld2VyID8gc2VmZVZhbHVlIDogJydcIlxyXG4gICAgPjwvZGl2PlxyXG4gICAgPG5nLXRlbXBsYXRlICN0ZXh0YXJlYT5cclxuICAgICAgICA8YnN1LW1hc2sgKm5nSWY9XCIhdGlueUluaXRcIj48L2JzdS1tYXNrPlxyXG4gICAgICAgIDxic3UtYmFyc2EtdGlueWVtY2VcclxuICAgICAgICAgICAgW2F0dHIuaXNtb2JpbGVdPVwiaXNNb2JpbGVcIlxyXG4gICAgICAgICAgICBbYXR0ci5pc21vYmlsZV09XCJpc1RhYmxldFwiXHJcbiAgICAgICAgICAgIFtTZXR0aW5nXT1cIlNldHRpbmdcIlxyXG4gICAgICAgICAgICBbSXNJbmxpbmVdPVwicGFyYW1ldGVycz8uSXNJbmxpbmUgPT09IHRydWVcIlxyXG4gICAgICAgICAgICBbdmFsdWVdPVwidmFsdWVcIlxyXG4gICAgICAgICAgICBbZGVmYXVsdFZlcmJzXT1cImNvbnRleHQuZGVmYXVsdFZlcmJzXCJcclxuICAgICAgICAgICAgKHRpbnlJbml0KT1cIm9uVGlueUluaXQoKVwiXHJcbiAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvblRpbnlDaGFuZ2VkKCRldmVudClcIlxyXG4gICAgICAgICAgICBbcmVhZG9ubHldPVwiaXNSZWFkb25seVwiXHJcbiAgICAgICAgPjwvYnN1LWJhcnNhLXRpbnllbWNlPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuPC9uZy1jb250YWluZXI+XHJcbiJdfQ==
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, inject, Input } from '@angular/core';
|
|
2
|
+
import { ExecuteDynamicCommand, MoReportValuePipe } from 'barsa-novin-ray-core';
|
|
3
|
+
import { map } from 'rxjs/operators';
|
|
4
|
+
import { ReportTreeBaseComponent } from '../report-tree-base';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common";
|
|
7
|
+
import * as i2 from "barsa-novin-ray-core";
|
|
8
|
+
import * as i3 from "@fundamental-ngx/core/bar";
|
|
9
|
+
import * as i4 from "@fundamental-ngx/core/button";
|
|
10
|
+
import * as i5 from "@fundamental-ngx/core/dialog";
|
|
11
|
+
import * as i6 from "@fundamental-ngx/cdk/utils";
|
|
12
|
+
import * as i7 from "@fundamental-ngx/core/title";
|
|
13
|
+
import * as i8 from "@fundamental-ngx/core/toolbar";
|
|
14
|
+
import * as i9 from "../ulv-toolbar/ulv-toolbar.component";
|
|
15
|
+
import * as i10 from "../ui-tree-view/ui-tree-view.component";
|
|
16
|
+
export class UiTreeComponent extends ReportTreeBaseComponent {
|
|
17
|
+
constructor() {
|
|
18
|
+
super(...arguments);
|
|
19
|
+
this._rval = inject(MoReportValuePipe);
|
|
20
|
+
}
|
|
21
|
+
ngOnInit() {
|
|
22
|
+
super.ngOnInit();
|
|
23
|
+
this.collapseIcon$ = this._portalService.rtl$.pipe(
|
|
24
|
+
// map((isRtl) => (isRtl ? 'navigation-left-arrow' : 'navigation-right-arrow'))
|
|
25
|
+
map((_) => 'add'));
|
|
26
|
+
}
|
|
27
|
+
onDrop($event) {
|
|
28
|
+
this.drop($event);
|
|
29
|
+
}
|
|
30
|
+
onDragMoved($event) {
|
|
31
|
+
this.dragMoved($event);
|
|
32
|
+
}
|
|
33
|
+
onCollapseAll() {
|
|
34
|
+
this.collapseAll();
|
|
35
|
+
}
|
|
36
|
+
onOpenMoveToDialog(selectedNode, device, moveDialog) {
|
|
37
|
+
this.openMoveToDialog(selectedNode, device, moveDialog);
|
|
38
|
+
}
|
|
39
|
+
onConfirmDialog(dialogSelectedNode) {
|
|
40
|
+
this.confirmDialog(dialogSelectedNode);
|
|
41
|
+
}
|
|
42
|
+
onDismissDialog() {
|
|
43
|
+
this.dismissDialog();
|
|
44
|
+
}
|
|
45
|
+
onSelectNodeInMoveDialog($event) {
|
|
46
|
+
this.selectNodeInMoveDialog($event);
|
|
47
|
+
}
|
|
48
|
+
onCheckChange(ev) {
|
|
49
|
+
let selectedNode = null;
|
|
50
|
+
if (ev.checked) {
|
|
51
|
+
ev.node.Data.$IsChecked = true;
|
|
52
|
+
selectedNode = ev.node;
|
|
53
|
+
this.context.selNode = selectedNode;
|
|
54
|
+
this.context.fireEvent('rowselect', this.context, ev.index, ev.node.Data);
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
ev.node.Data.$IsChecked = false;
|
|
58
|
+
const selected = this.moDataList.find((c) => c.$IsChecked);
|
|
59
|
+
if (selected) {
|
|
60
|
+
this.context.selNode = ev.node;
|
|
61
|
+
this._selectedNodeSource.next(ev.node);
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
}
|
|
65
|
+
this.context.fireEvent('rowdeselect', this.context, ev.index, ev.node.Data);
|
|
66
|
+
}
|
|
67
|
+
this._selectedNodeSource.next(selectedNode);
|
|
68
|
+
this._rebindRoot();
|
|
69
|
+
}
|
|
70
|
+
onNodeSelect(ev) {
|
|
71
|
+
if (this.context.selNode === ev.node) {
|
|
72
|
+
this._deselectNode();
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
this._selectNode(ev.node);
|
|
76
|
+
if (this.viewSetting?.OnlyExecuteLeafNode === true && !ev.node.leaf) {
|
|
77
|
+
this.loadChildren(ev.node);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
this._rebindRoot();
|
|
81
|
+
}
|
|
82
|
+
onNodeUlvCommand(ev) {
|
|
83
|
+
this._ulvCommandClicked(ev.node.Data, ev.index);
|
|
84
|
+
}
|
|
85
|
+
onNodeViewClick(ev) {
|
|
86
|
+
if (this.viewSetting?.DisableShowFormOnDoubleClick === true) {
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
if (this.viewSetting?.OnlyExecuteLeafNode === true && !ev.node.leaf) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
if (this.viewSetting?.DynamicCommandField) {
|
|
93
|
+
const dyn = this._rval.transform(this.viewSetting?.DynamicCommandField, ev.node.Data, this.allColumns);
|
|
94
|
+
if (dyn) {
|
|
95
|
+
this._selectNode(ev.node);
|
|
96
|
+
ExecuteDynamicCommand(dyn, ev.node.Data);
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
this._raiseRowClick(ev.index, ev.node);
|
|
101
|
+
}
|
|
102
|
+
onLoadChildren(node) {
|
|
103
|
+
this.loadChildren(node);
|
|
104
|
+
}
|
|
105
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiTreeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
106
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: UiTreeComponent, selector: "bsu-ui-tree", inputs: { showOkCancelButtons: "showOkCancelButtons" }, usesInheritance: true, ngImport: i0, template: "<ng-container\r\n *ngTemplateOutlet=\"\r\n renderTree;\r\n context: {\r\n $implicit: root$ | async,\r\n moDataList: flatMoDataList,\r\n isCheckList: context.Setting.View?.IsCheckList,\r\n columns: visibleColumns$ | async,\r\n groupby: groupby$ | async,\r\n toolbarButtons: (toolbarButtons$ | async)!! | seperatorFix,\r\n contextMenuItems: menuItems$ | async | contextMenu: context.Setting.View?.IsCheckList,\r\n conditionalFormats: context.Setting.View?.ConditionalFormats,\r\n deviceName: deviceName$ | async,\r\n deviceSize: deviceSize$ | async,\r\n access: context.Setting.Extra?.DefaultCommandsAccess,\r\n title: title$ | async,\r\n inlineEditMode: inlineEditMode$ | async,\r\n allowInlineEdit: allowInlineEdit$ | async,\r\n hideToolbar: hideToolbar$ | async,\r\n gridSetting: gridSetting$ | async,\r\n contentDensity: contentDensity$ | async,\r\n hasSelected: hasSelected$ | async,\r\n showOkCancelButtons: showOkCancelButtons,\r\n hideOpenIcon: viewSetting?.HideOpenIcon,\r\n openOnClick: viewSetting?.OpenOnClick,\r\n onlyExecuteLeafNode: viewSetting?.OnlyExecuteLeafNode,\r\n enableNodeReordering: viewSetting?.EnableNodeReordering,\r\n viewSettingsContentDensity: viewSetting?.ContentDensity$Caption,\r\n iconField: viewSetting?.IconField,\r\n hideIcon: viewSetting?.HideIcon,\r\n colorField: viewSetting?.ColorField,\r\n hasInlineEditButton: viewSetting?.HasInlineEditButton,\r\n hasInlineDeleteButton: viewSetting?.HasInlineDeleteButton,\r\n selectedNode: selectedNode$ | async,\r\n navigationArrow: navigationArrow$ | async,\r\n collapseIcon: collapseIcon$ | async,\r\n relationList: context.Setting.View.RelationList,\r\n allColumns: allColumns,\r\n rtl: rtl$ | async,\r\n inDialog: inDialog$ | async,\r\n isMultiSelect: isMultiSelect$ | async,\r\n disableOverflowContextMenu: viewSetting?.DisableOverflowContextMenu,\r\n isHetro: context.Setting.ClassNames.DataClass === 'Ul.HetroTreeUlvDataCtrlr',\r\n selectedMo: selectedMo$ | async\r\n }\r\n \"\r\n></ng-container>\r\n\r\n<ng-template\r\n #renderTree\r\n let-root\r\n let-moDataList=\"moDataList\"\r\n let-deviceName=\"deviceName\"\r\n let-deviceSize=\"deviceSize\"\r\n let-toolbarButtons=\"toolbarButtons\"\r\n let-title=\"title\"\r\n let-inlineEditMode=\"inlineEditMode\"\r\n let-allowInlineEdit=\"allowInlineEdit\"\r\n let-hideToolbar=\"hideToolbar\"\r\n let-gridSetting=\"gridSetting\"\r\n let-contentDensity=\"contentDensity\"\r\n let-access=\"access\"\r\n let-contextMenuItems=\"contextMenuItems\"\r\n let-conditionalFormats=\"conditionalFormats\"\r\n let-isCheckList=\"isCheckList\"\r\n let-groupby=\"groupby\"\r\n let-hasSelected=\"hasSelected\"\r\n let-showOkCancelButtons=\"showOkCancelButtons\"\r\n let-selectedNode=\"selectedNode\"\r\n let-navigationArrow=\"navigationArrow\"\r\n let-collapseIcon=\"collapseIcon\"\r\n let-rtl=\"rtl\"\r\n let-disableOverflowContextMenu=\"disableOverflowContextMenu\"\r\n let-relationList=\"relationList\"\r\n let-isHetro=\"isHetro\"\r\n let-inDialog=\"inDialog\"\r\n let-isMultiSelect=\"isMultiSelect\"\r\n let-selectedMo=\"selectedMo\"\r\n let-hideOpenIcon=\"hideOpenIcon\"\r\n let-openOnClick=\"openOnClick\"\r\n let-enableNodeReordering=\"enableNodeReordering\"\r\n let-onlyExecuteLeafNode=\"onlyExecuteLeafNode\"\r\n let-iconField=\"iconField\"\r\n let-colorField=\"colorField\"\r\n let-allColumns=\"allColumns\"\r\n let-hideIcon=\"hideIcon\"\r\n let-viewSettingsContentDensity=\"viewSettingsContentDensity\"\r\n let-hasInlineDeleteButton=\"hasInlineDeleteButton\"\r\n let-hasInlineEditButton=\"hasInlineEditButton\"\r\n>\r\n <bsu-ulv-toolbar\r\n [hideToolbar]=\"hideToolbar\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [toolbarButtons]=\"toolbarButtons\"\r\n [gridSetting]=\"gridSetting\"\r\n [title]=\"title\"\r\n [hasSelected]=\"hasSelected\"\r\n [inDialog]=\"inDialog\"\r\n [isMultiSelect]=\"isMultiSelect\"\r\n [contentDensity]=\"contentDensity\"\r\n [inlineEditMode]=\"inlineEditMode\"\r\n [allowInlineEdit]=\"allowInlineEdit\"\r\n [moDataListCount]=\"moDataList.length\"\r\n (sortClick)=\"onSortSettings(deviceName)\"\r\n (groupbyClick)=\"onGroupbySettings(deviceName)\"\r\n (columnClick)=\"onColumnSettings(deviceName)\"\r\n (editModeClick)=\"onEditMode()\"\r\n >\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n [fdType]=\"'transparent'\"\r\n [glyph]=\"'collapse-all'\"\r\n (click)=\"onCollapseAll()\"\r\n ></button>\r\n @if (!showOkCancelButtons && enableNodeReordering) {\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n [fdType]=\"'transparent'\"\r\n [glyph]=\"'move'\"\r\n (click)=\"onOpenMoveToDialog(selectedNode, deviceName, moveDialog)\"\r\n ></button>\r\n }\r\n </bsu-ulv-toolbar>\r\n <bsu-ui-tree-view\r\n *untilInView=\"el\"\r\n [leafCursorPointer]=\"onlyExecuteLeafNode && openOnClick\"\r\n [rtl]=\"rtl\"\r\n [hasInlineDeleteButton]=\"hasInlineDeleteButton\"\r\n [hasInlineEditButton]=\"hasInlineEditButton\"\r\n [relationList]=\"relationList\"\r\n [toolbarButtons]=\"toolbarButtons\"\r\n [root]=\"root\"\r\n [allColumns]=\"allColumns\"\r\n [hideIcon]=\"hideIcon\"\r\n [selectedMo]=\"selectedMo\"\r\n [hideOpenIcon]=\"hideOpenIcon\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [iconField]=\"iconField\"\r\n [colorField]=\"colorField\"\r\n [navigationArrow]=\"navigationArrow\"\r\n [collapseIcon]=\"collapseIcon\"\r\n [selectedNode]=\"selectedNode\"\r\n [access]=\"access\"\r\n [viewSettingsContentDensity]=\"viewSettingsContentDensity\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [enableNodeReordering]=\"enableNodeReordering\"\r\n [inDialog]=\"inDialog\"\r\n [isMultiSelect]=\"isMultiSelect\"\r\n [openOnClick]=\"openOnClick\"\r\n [contextMenuItems]=\"contextMenuItems\"\r\n [moDataList]=\"moDataList\"\r\n [groupby]=\"groupby\"\r\n [isHetro]=\"isHetro\"\r\n [isCheckList]=\"isCheckList\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [showOkCancelButtons]=\"showOkCancelButtons\"\r\n (checkChange)=\"onCheckChange($event)\"\r\n (itemDrop)=\"onDrop($event)\"\r\n (itemDragMoved)=\"onDragMoved($event)\"\r\n (nodeUlvCommand)=\"onNodeUlvCommand($event)\"\r\n (nodeViewClick)=\"onNodeViewClick($event)\"\r\n (loadChildren)=\"onLoadChildren($event)\"\r\n (nodeSelect)=\"onNodeSelect($event)\"\r\n (rowCheck)=\"onRowCheck($event)\"\r\n (rowClick)=\"onRowClick($event)\"\r\n (allCheckbox)=\"onAllCheckbox($event)\"\r\n (expandClick)=\"onExpandClick($event)\"\r\n (editFormPanelCancel)=\"onEditFormPanelCancel($event)\"\r\n (editFormPanelSave)=\"onEditFormPanelSave($event)\"\r\n (createNew)=\"onCreateNew($event)\"\r\n >\r\n </bsu-ui-tree-view>\r\n <ng-template let-dialog let-dialogConfig=\"dialogConfig\" #moveDialog>\r\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\r\n <fd-dialog-header>\r\n <h1 fd-title>{{ 'Move' | bbbTranslate }}</h1>\r\n <button fd-dialog-close-button (click)=\"dialog.dismiss('Close button')\"></button>\r\n </fd-dialog-header>\r\n\r\n <fd-dialog-body>\r\n <div class=\"move-to\" (keydown.enter)=\"onConfirmDialog(dialogSelectedNode)\">\r\n <bsu-ui-tree-view\r\n [rtl]=\"rtl\"\r\n [root]=\"root\"\r\n [access]=\"access\"\r\n [navigationArrow]=\"navigationArrow\"\r\n [collapseIcon]=\"collapseIcon\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [viewSettingsContentDensity]=\"viewSettingsContentDensity\"\r\n [enableNodeReordering]=\"enableNodeReordering\"\r\n [openOnClick]=\"openOnClick\"\r\n [selectedNode]=\"dialogSelectedNode\"\r\n [moDataList]=\"flatMoDataList\"\r\n [groupby]=\"groupby\"\r\n [isCheckList]=\"isCheckList\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n (loadChildren)=\"onLoadChildren($event)\"\r\n (nodeSelect)=\"onSelectNodeInMoveDialog($event)\"\r\n ></bsu-ui-tree-view>\r\n </div>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <ng-template fdkTemplate=\"footer\">\r\n <div fd-bar-right>\r\n <fd-button-bar\r\n fdType=\"emphasized\"\r\n [label]=\"'OK' | bbbTranslate\"\r\n (click)=\"onConfirmDialog(dialogSelectedNode)\"\r\n >\r\n </fd-button-bar>\r\n <fd-button-bar fd-initial-focus [label]=\"'Cancel' | bbbTranslate\" (click)=\"onDismissDialog()\">\r\n </fd-button-bar>\r\n </div>\r\n </ng-template>\r\n </fd-dialog-footer>\r\n </fd-dialog>\r\n </ng-template>\r\n</ng-template>\r\n", styles: [":host{width:100%;box-sizing:border-box;display:inline-block}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.UntilInViewDirective, selector: "[untilInView]", inputs: ["untilInView", "intersectionDebounce"] }, { kind: "directive", type: i3.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "component", type: i3.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabelledby", "id"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i5.DialogBodyComponent, selector: "fd-dialog-body", inputs: ["disablePaddings"] }, { kind: "component", type: i5.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i5.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "component", type: i5.DialogCloseButtonComponent, selector: "[fd-dialog-close-button]", inputs: ["mobile", "title", "ariaLabel"] }, { kind: "directive", type: i6.TemplateDirective, selector: "[fdkTemplate]", inputs: ["fdkTemplate"] }, { kind: "component", type: i7.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i8.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "component", type: i9.UlvToolbarComponent, selector: "bsu-ulv-toolbar", inputs: ["allowGridColumnSort", "useLayoutItemTextForControl", "enableSearch", "hideTitle", "title", "icon", "deviceName", "deviceSize", "access", "hideToolbar", "toolbarButtons", "contentDensity", "inlineEditMode", "allowInlineEdit", "gridSetting", "viewCollection", "reportView", "inDialog", "isMultiSelect", "cls", "hasSelected", "config", "hidden", "buttons", "moDataListCount"], outputs: ["search", "groupbyClick", "sortClick", "columnClick", "editModeClick", "viewClick", "createNewInlineMo"] }, { kind: "component", type: i10.UiTreeViewComponent, selector: "bsu-ui-tree-view", inputs: ["root", "selectedNode", "isHetro", "leafCursorPointer", "relationList", "showOkCancelButtons", "enableNodeReordering", "collapseIcon", "iconField", "colorField", "viewSettingsContentDensity"], outputs: ["checkChange", "nodeSelect", "createNew", "loadChildren", "nodeViewClick", "nodeUlvCommand", "itemDrop", "itemDragMoved"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.SeperatorFixPipe, name: "seperatorFix" }, { kind: "pipe", type: i2.ContextMenuPipe, name: "contextMenu" }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
107
|
+
}
|
|
108
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiTreeComponent, decorators: [{
|
|
109
|
+
type: Component,
|
|
110
|
+
args: [{ selector: 'bsu-ui-tree', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<ng-container\r\n *ngTemplateOutlet=\"\r\n renderTree;\r\n context: {\r\n $implicit: root$ | async,\r\n moDataList: flatMoDataList,\r\n isCheckList: context.Setting.View?.IsCheckList,\r\n columns: visibleColumns$ | async,\r\n groupby: groupby$ | async,\r\n toolbarButtons: (toolbarButtons$ | async)!! | seperatorFix,\r\n contextMenuItems: menuItems$ | async | contextMenu: context.Setting.View?.IsCheckList,\r\n conditionalFormats: context.Setting.View?.ConditionalFormats,\r\n deviceName: deviceName$ | async,\r\n deviceSize: deviceSize$ | async,\r\n access: context.Setting.Extra?.DefaultCommandsAccess,\r\n title: title$ | async,\r\n inlineEditMode: inlineEditMode$ | async,\r\n allowInlineEdit: allowInlineEdit$ | async,\r\n hideToolbar: hideToolbar$ | async,\r\n gridSetting: gridSetting$ | async,\r\n contentDensity: contentDensity$ | async,\r\n hasSelected: hasSelected$ | async,\r\n showOkCancelButtons: showOkCancelButtons,\r\n hideOpenIcon: viewSetting?.HideOpenIcon,\r\n openOnClick: viewSetting?.OpenOnClick,\r\n onlyExecuteLeafNode: viewSetting?.OnlyExecuteLeafNode,\r\n enableNodeReordering: viewSetting?.EnableNodeReordering,\r\n viewSettingsContentDensity: viewSetting?.ContentDensity$Caption,\r\n iconField: viewSetting?.IconField,\r\n hideIcon: viewSetting?.HideIcon,\r\n colorField: viewSetting?.ColorField,\r\n hasInlineEditButton: viewSetting?.HasInlineEditButton,\r\n hasInlineDeleteButton: viewSetting?.HasInlineDeleteButton,\r\n selectedNode: selectedNode$ | async,\r\n navigationArrow: navigationArrow$ | async,\r\n collapseIcon: collapseIcon$ | async,\r\n relationList: context.Setting.View.RelationList,\r\n allColumns: allColumns,\r\n rtl: rtl$ | async,\r\n inDialog: inDialog$ | async,\r\n isMultiSelect: isMultiSelect$ | async,\r\n disableOverflowContextMenu: viewSetting?.DisableOverflowContextMenu,\r\n isHetro: context.Setting.ClassNames.DataClass === 'Ul.HetroTreeUlvDataCtrlr',\r\n selectedMo: selectedMo$ | async\r\n }\r\n \"\r\n></ng-container>\r\n\r\n<ng-template\r\n #renderTree\r\n let-root\r\n let-moDataList=\"moDataList\"\r\n let-deviceName=\"deviceName\"\r\n let-deviceSize=\"deviceSize\"\r\n let-toolbarButtons=\"toolbarButtons\"\r\n let-title=\"title\"\r\n let-inlineEditMode=\"inlineEditMode\"\r\n let-allowInlineEdit=\"allowInlineEdit\"\r\n let-hideToolbar=\"hideToolbar\"\r\n let-gridSetting=\"gridSetting\"\r\n let-contentDensity=\"contentDensity\"\r\n let-access=\"access\"\r\n let-contextMenuItems=\"contextMenuItems\"\r\n let-conditionalFormats=\"conditionalFormats\"\r\n let-isCheckList=\"isCheckList\"\r\n let-groupby=\"groupby\"\r\n let-hasSelected=\"hasSelected\"\r\n let-showOkCancelButtons=\"showOkCancelButtons\"\r\n let-selectedNode=\"selectedNode\"\r\n let-navigationArrow=\"navigationArrow\"\r\n let-collapseIcon=\"collapseIcon\"\r\n let-rtl=\"rtl\"\r\n let-disableOverflowContextMenu=\"disableOverflowContextMenu\"\r\n let-relationList=\"relationList\"\r\n let-isHetro=\"isHetro\"\r\n let-inDialog=\"inDialog\"\r\n let-isMultiSelect=\"isMultiSelect\"\r\n let-selectedMo=\"selectedMo\"\r\n let-hideOpenIcon=\"hideOpenIcon\"\r\n let-openOnClick=\"openOnClick\"\r\n let-enableNodeReordering=\"enableNodeReordering\"\r\n let-onlyExecuteLeafNode=\"onlyExecuteLeafNode\"\r\n let-iconField=\"iconField\"\r\n let-colorField=\"colorField\"\r\n let-allColumns=\"allColumns\"\r\n let-hideIcon=\"hideIcon\"\r\n let-viewSettingsContentDensity=\"viewSettingsContentDensity\"\r\n let-hasInlineDeleteButton=\"hasInlineDeleteButton\"\r\n let-hasInlineEditButton=\"hasInlineEditButton\"\r\n>\r\n <bsu-ulv-toolbar\r\n [hideToolbar]=\"hideToolbar\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [toolbarButtons]=\"toolbarButtons\"\r\n [gridSetting]=\"gridSetting\"\r\n [title]=\"title\"\r\n [hasSelected]=\"hasSelected\"\r\n [inDialog]=\"inDialog\"\r\n [isMultiSelect]=\"isMultiSelect\"\r\n [contentDensity]=\"contentDensity\"\r\n [inlineEditMode]=\"inlineEditMode\"\r\n [allowInlineEdit]=\"allowInlineEdit\"\r\n [moDataListCount]=\"moDataList.length\"\r\n (sortClick)=\"onSortSettings(deviceName)\"\r\n (groupbyClick)=\"onGroupbySettings(deviceName)\"\r\n (columnClick)=\"onColumnSettings(deviceName)\"\r\n (editModeClick)=\"onEditMode()\"\r\n >\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n [fdType]=\"'transparent'\"\r\n [glyph]=\"'collapse-all'\"\r\n (click)=\"onCollapseAll()\"\r\n ></button>\r\n @if (!showOkCancelButtons && enableNodeReordering) {\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n [fdType]=\"'transparent'\"\r\n [glyph]=\"'move'\"\r\n (click)=\"onOpenMoveToDialog(selectedNode, deviceName, moveDialog)\"\r\n ></button>\r\n }\r\n </bsu-ulv-toolbar>\r\n <bsu-ui-tree-view\r\n *untilInView=\"el\"\r\n [leafCursorPointer]=\"onlyExecuteLeafNode && openOnClick\"\r\n [rtl]=\"rtl\"\r\n [hasInlineDeleteButton]=\"hasInlineDeleteButton\"\r\n [hasInlineEditButton]=\"hasInlineEditButton\"\r\n [relationList]=\"relationList\"\r\n [toolbarButtons]=\"toolbarButtons\"\r\n [root]=\"root\"\r\n [allColumns]=\"allColumns\"\r\n [hideIcon]=\"hideIcon\"\r\n [selectedMo]=\"selectedMo\"\r\n [hideOpenIcon]=\"hideOpenIcon\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [iconField]=\"iconField\"\r\n [colorField]=\"colorField\"\r\n [navigationArrow]=\"navigationArrow\"\r\n [collapseIcon]=\"collapseIcon\"\r\n [selectedNode]=\"selectedNode\"\r\n [access]=\"access\"\r\n [viewSettingsContentDensity]=\"viewSettingsContentDensity\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [enableNodeReordering]=\"enableNodeReordering\"\r\n [inDialog]=\"inDialog\"\r\n [isMultiSelect]=\"isMultiSelect\"\r\n [openOnClick]=\"openOnClick\"\r\n [contextMenuItems]=\"contextMenuItems\"\r\n [moDataList]=\"moDataList\"\r\n [groupby]=\"groupby\"\r\n [isHetro]=\"isHetro\"\r\n [isCheckList]=\"isCheckList\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [showOkCancelButtons]=\"showOkCancelButtons\"\r\n (checkChange)=\"onCheckChange($event)\"\r\n (itemDrop)=\"onDrop($event)\"\r\n (itemDragMoved)=\"onDragMoved($event)\"\r\n (nodeUlvCommand)=\"onNodeUlvCommand($event)\"\r\n (nodeViewClick)=\"onNodeViewClick($event)\"\r\n (loadChildren)=\"onLoadChildren($event)\"\r\n (nodeSelect)=\"onNodeSelect($event)\"\r\n (rowCheck)=\"onRowCheck($event)\"\r\n (rowClick)=\"onRowClick($event)\"\r\n (allCheckbox)=\"onAllCheckbox($event)\"\r\n (expandClick)=\"onExpandClick($event)\"\r\n (editFormPanelCancel)=\"onEditFormPanelCancel($event)\"\r\n (editFormPanelSave)=\"onEditFormPanelSave($event)\"\r\n (createNew)=\"onCreateNew($event)\"\r\n >\r\n </bsu-ui-tree-view>\r\n <ng-template let-dialog let-dialogConfig=\"dialogConfig\" #moveDialog>\r\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\r\n <fd-dialog-header>\r\n <h1 fd-title>{{ 'Move' | bbbTranslate }}</h1>\r\n <button fd-dialog-close-button (click)=\"dialog.dismiss('Close button')\"></button>\r\n </fd-dialog-header>\r\n\r\n <fd-dialog-body>\r\n <div class=\"move-to\" (keydown.enter)=\"onConfirmDialog(dialogSelectedNode)\">\r\n <bsu-ui-tree-view\r\n [rtl]=\"rtl\"\r\n [root]=\"root\"\r\n [access]=\"access\"\r\n [navigationArrow]=\"navigationArrow\"\r\n [collapseIcon]=\"collapseIcon\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [viewSettingsContentDensity]=\"viewSettingsContentDensity\"\r\n [enableNodeReordering]=\"enableNodeReordering\"\r\n [openOnClick]=\"openOnClick\"\r\n [selectedNode]=\"dialogSelectedNode\"\r\n [moDataList]=\"flatMoDataList\"\r\n [groupby]=\"groupby\"\r\n [isCheckList]=\"isCheckList\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n (loadChildren)=\"onLoadChildren($event)\"\r\n (nodeSelect)=\"onSelectNodeInMoveDialog($event)\"\r\n ></bsu-ui-tree-view>\r\n </div>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <ng-template fdkTemplate=\"footer\">\r\n <div fd-bar-right>\r\n <fd-button-bar\r\n fdType=\"emphasized\"\r\n [label]=\"'OK' | bbbTranslate\"\r\n (click)=\"onConfirmDialog(dialogSelectedNode)\"\r\n >\r\n </fd-button-bar>\r\n <fd-button-bar fd-initial-focus [label]=\"'Cancel' | bbbTranslate\" (click)=\"onDismissDialog()\">\r\n </fd-button-bar>\r\n </div>\r\n </ng-template>\r\n </fd-dialog-footer>\r\n </fd-dialog>\r\n </ng-template>\r\n</ng-template>\r\n", styles: [":host{width:100%;box-sizing:border-box;display:inline-block}\n"] }]
|
|
111
|
+
}], propDecorators: { showOkCancelButtons: [{
|
|
112
|
+
type: Input
|
|
113
|
+
}] } });
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktdHJlZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi91aS10cmVlL3VpLXRyZWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktdHJlZS91aS10cmVlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUUxRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsaUJBQWlCLEVBQWUsTUFBTSxzQkFBc0IsQ0FBQztBQUU3RixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7Ozs7OztBQVM5RCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSx1QkFBdUI7SUFQNUQ7O1FBVVksVUFBSyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0tBNEY3QztJQTNGRyxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSTtRQUM5QywrRUFBK0U7UUFDL0UsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FDcEIsQ0FBQztJQUNOLENBQUM7SUFDRCxNQUFNLENBQUMsTUFBTTtRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFNO1FBQ2QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsYUFBYTtRQUNULElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsa0JBQWtCLENBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxVQUFVO1FBQy9DLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxlQUFlLENBQUMsa0JBQWtCO1FBQzlCLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsd0JBQXdCLENBQUMsTUFBTTtRQUMzQixJQUFJLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUNELGFBQWEsQ0FBQyxFQUEwRDtRQUNwRSxJQUFJLFlBQVksR0FBdUIsSUFBSSxDQUFDO1FBQzVDLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2IsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUMvQixZQUFZLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztZQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sR0FBRyxZQUFZLENBQUM7WUFDcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlFLENBQUM7YUFBTSxDQUFDO1lBQ0osRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztZQUNoQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzNELElBQUksUUFBUSxFQUFFLENBQUM7Z0JBQ1gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztnQkFDL0IsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDM0MsQ0FBQztpQkFBTSxDQUFDO1lBQ1IsQ0FBQztZQUNELElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoRixDQUFDO1FBQ0QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUNELFlBQVksQ0FBQyxFQUF3QztRQUNqRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDekIsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMxQixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsbUJBQW1CLEtBQUssSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDbEUsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDL0IsQ0FBQztRQUNMLENBQUM7UUFDRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQXdDO1FBQ3JELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELGVBQWUsQ0FBQyxFQUF3QztRQUNwRCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsNEJBQTRCLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDMUQsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsbUJBQW1CLEtBQUssSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNsRSxPQUFPO1FBQ1gsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxDQUFDO1lBQ3hDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3ZHLElBQUksR0FBRyxFQUFFLENBQUM7Z0JBQ04sSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzFCLHFCQUFxQixDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN6QyxPQUFPO1lBQ1gsQ0FBQztRQUNMLENBQUM7UUFDRCxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxjQUFjLENBQUMsSUFBaUI7UUFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDOytHQTlGUSxlQUFlO21HQUFmLGVBQWUsa0lDZDVCLDJnVUFnT0E7OzRGRGxOYSxlQUFlO2tCQVAzQixTQUFTOytCQUNJLGFBQWEsbUJBR04sdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxLQUFLOzhCQUdSLG1CQUFtQjtzQkFBM0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgRXhlY3V0ZUR5bmFtaWNDb21tYW5kLCBNb1JlcG9ydFZhbHVlUGlwZSwgVHJlZU5vZGVPYmogfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBSZXBvcnRUcmVlQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL3JlcG9ydC10cmVlLWJhc2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JzdS11aS10cmVlJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi91aS10cmVlLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3VpLXRyZWUuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIFVpVHJlZUNvbXBvbmVudCBleHRlbmRzIFJlcG9ydFRyZWVCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIEBJbnB1dCgpIHNob3dPa0NhbmNlbEJ1dHRvbnM7XHJcbiAgICBjb2xsYXBzZUljb24kOiBPYnNlcnZhYmxlPHN0cmluZz47XHJcbiAgICBwcml2YXRlIF9ydmFsID0gaW5qZWN0KE1vUmVwb3J0VmFsdWVQaXBlKTtcclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgdGhpcy5jb2xsYXBzZUljb24kID0gdGhpcy5fcG9ydGFsU2VydmljZS5ydGwkLnBpcGUoXHJcbiAgICAgICAgICAgIC8vIG1hcCgoaXNSdGwpID0+IChpc1J0bCA/ICduYXZpZ2F0aW9uLWxlZnQtYXJyb3cnIDogJ25hdmlnYXRpb24tcmlnaHQtYXJyb3cnKSlcclxuICAgICAgICAgICAgbWFwKChfKSA9PiAnYWRkJylcclxuICAgICAgICApO1xyXG4gICAgfVxyXG4gICAgb25Ecm9wKCRldmVudCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZHJvcCgkZXZlbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uRHJhZ01vdmVkKCRldmVudCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZHJhZ01vdmVkKCRldmVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25Db2xsYXBzZUFsbCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNvbGxhcHNlQWxsKCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25PcGVuTW92ZVRvRGlhbG9nKHNlbGVjdGVkTm9kZSwgZGV2aWNlLCBtb3ZlRGlhbG9nKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vcGVuTW92ZVRvRGlhbG9nKHNlbGVjdGVkTm9kZSwgZGV2aWNlLCBtb3ZlRGlhbG9nKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkNvbmZpcm1EaWFsb2coZGlhbG9nU2VsZWN0ZWROb2RlKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jb25maXJtRGlhbG9nKGRpYWxvZ1NlbGVjdGVkTm9kZSk7XHJcbiAgICB9XHJcblxyXG4gICAgb25EaXNtaXNzRGlhbG9nKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZGlzbWlzc0RpYWxvZygpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uU2VsZWN0Tm9kZUluTW92ZURpYWxvZygkZXZlbnQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNlbGVjdE5vZGVJbk1vdmVEaWFsb2coJGV2ZW50KTtcclxuICAgIH1cclxuICAgIG9uQ2hlY2tDaGFuZ2UoZXY6IHsgbm9kZTogVHJlZU5vZGVPYmo7IGluZGV4OiBudW1iZXI7IGNoZWNrZWQ6IGJvb2xlYW4gfSk6IHZvaWQge1xyXG4gICAgICAgIGxldCBzZWxlY3RlZE5vZGU6IFRyZWVOb2RlT2JqIHwgbnVsbCA9IG51bGw7XHJcbiAgICAgICAgaWYgKGV2LmNoZWNrZWQpIHtcclxuICAgICAgICAgICAgZXYubm9kZS5EYXRhLiRJc0NoZWNrZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICBzZWxlY3RlZE5vZGUgPSBldi5ub2RlO1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRleHQuc2VsTm9kZSA9IHNlbGVjdGVkTm9kZTtcclxuICAgICAgICAgICAgdGhpcy5jb250ZXh0LmZpcmVFdmVudCgncm93c2VsZWN0JywgdGhpcy5jb250ZXh0LCBldi5pbmRleCwgZXYubm9kZS5EYXRhKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBldi5ub2RlLkRhdGEuJElzQ2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICBjb25zdCBzZWxlY3RlZCA9IHRoaXMubW9EYXRhTGlzdC5maW5kKChjKSA9PiBjLiRJc0NoZWNrZWQpO1xyXG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dC5zZWxOb2RlID0gZXYubm9kZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkTm9kZVNvdXJjZS5uZXh0KGV2Lm5vZGUpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuY29udGV4dC5maXJlRXZlbnQoJ3Jvd2Rlc2VsZWN0JywgdGhpcy5jb250ZXh0LCBldi5pbmRleCwgZXYubm9kZS5EYXRhKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5fc2VsZWN0ZWROb2RlU291cmNlLm5leHQoc2VsZWN0ZWROb2RlKTtcclxuICAgICAgICB0aGlzLl9yZWJpbmRSb290KCk7XHJcbiAgICB9XHJcbiAgICBvbk5vZGVTZWxlY3QoZXY6IHsgbm9kZTogVHJlZU5vZGVPYmo7IGluZGV4OiBudW1iZXIgfSk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmNvbnRleHQuc2VsTm9kZSA9PT0gZXYubm9kZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9kZXNlbGVjdE5vZGUoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLl9zZWxlY3ROb2RlKGV2Lm5vZGUpO1xyXG4gICAgICAgICAgICBpZiAodGhpcy52aWV3U2V0dGluZz8uT25seUV4ZWN1dGVMZWFmTm9kZSA9PT0gdHJ1ZSAmJiAhZXYubm9kZS5sZWFmKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRDaGlsZHJlbihldi5ub2RlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9yZWJpbmRSb290KCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25Ob2RlVWx2Q29tbWFuZChldjogeyBub2RlOiBUcmVlTm9kZU9iajsgaW5kZXg6IG51bWJlciB9KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fdWx2Q29tbWFuZENsaWNrZWQoZXYubm9kZS5EYXRhLCBldi5pbmRleCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25Ob2RlVmlld0NsaWNrKGV2OiB7IG5vZGU6IFRyZWVOb2RlT2JqOyBpbmRleDogbnVtYmVyIH0pOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy52aWV3U2V0dGluZz8uRGlzYWJsZVNob3dGb3JtT25Eb3VibGVDbGljayA9PT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLnZpZXdTZXR0aW5nPy5Pbmx5RXhlY3V0ZUxlYWZOb2RlID09PSB0cnVlICYmICFldi5ub2RlLmxlYWYpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy52aWV3U2V0dGluZz8uRHluYW1pY0NvbW1hbmRGaWVsZCkge1xyXG4gICAgICAgICAgICBjb25zdCBkeW4gPSB0aGlzLl9ydmFsLnRyYW5zZm9ybSh0aGlzLnZpZXdTZXR0aW5nPy5EeW5hbWljQ29tbWFuZEZpZWxkLCBldi5ub2RlLkRhdGEsIHRoaXMuYWxsQ29sdW1ucyk7XHJcbiAgICAgICAgICAgIGlmIChkeW4pIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVjdE5vZGUoZXYubm9kZSk7XHJcbiAgICAgICAgICAgICAgICBFeGVjdXRlRHluYW1pY0NvbW1hbmQoZHluLCBldi5ub2RlLkRhdGEpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX3JhaXNlUm93Q2xpY2soZXYuaW5kZXgsIGV2Lm5vZGUpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uTG9hZENoaWxkcmVuKG5vZGU6IFRyZWVOb2RlT2JqKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5sb2FkQ2hpbGRyZW4obm9kZSk7XHJcbiAgICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lclxyXG4gICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcclxuICAgICAgICByZW5kZXJUcmVlO1xyXG4gICAgICAgIGNvbnRleHQ6IHtcclxuICAgICAgICAgICAgJGltcGxpY2l0OiByb290JCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBtb0RhdGFMaXN0OiBmbGF0TW9EYXRhTGlzdCxcclxuICAgICAgICAgICAgaXNDaGVja0xpc3Q6IGNvbnRleHQuU2V0dGluZy5WaWV3Py5Jc0NoZWNrTGlzdCxcclxuICAgICAgICAgICAgY29sdW1uczogdmlzaWJsZUNvbHVtbnMkIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIGdyb3VwYnk6IGdyb3VwYnkkIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIHRvb2xiYXJCdXR0b25zOiAodG9vbGJhckJ1dHRvbnMkIHwgYXN5bmMpISEgfCBzZXBlcmF0b3JGaXgsXHJcbiAgICAgICAgICAgIGNvbnRleHRNZW51SXRlbXM6IG1lbnVJdGVtcyQgfCBhc3luYyB8IGNvbnRleHRNZW51OiBjb250ZXh0LlNldHRpbmcuVmlldz8uSXNDaGVja0xpc3QsXHJcbiAgICAgICAgICAgIGNvbmRpdGlvbmFsRm9ybWF0czogY29udGV4dC5TZXR0aW5nLlZpZXc/LkNvbmRpdGlvbmFsRm9ybWF0cyxcclxuICAgICAgICAgICAgZGV2aWNlTmFtZTogZGV2aWNlTmFtZSQgfCBhc3luYyxcclxuICAgICAgICAgICAgZGV2aWNlU2l6ZTogZGV2aWNlU2l6ZSQgfCBhc3luYyxcclxuICAgICAgICAgICAgYWNjZXNzOiBjb250ZXh0LlNldHRpbmcuRXh0cmE/LkRlZmF1bHRDb21tYW5kc0FjY2VzcyxcclxuICAgICAgICAgICAgdGl0bGU6IHRpdGxlJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBpbmxpbmVFZGl0TW9kZTogaW5saW5lRWRpdE1vZGUkIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIGFsbG93SW5saW5lRWRpdDogYWxsb3dJbmxpbmVFZGl0JCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBoaWRlVG9vbGJhcjogaGlkZVRvb2xiYXIkIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIGdyaWRTZXR0aW5nOiBncmlkU2V0dGluZyQgfCBhc3luYyxcclxuICAgICAgICAgICAgY29udGVudERlbnNpdHk6IGNvbnRlbnREZW5zaXR5JCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBoYXNTZWxlY3RlZDogaGFzU2VsZWN0ZWQkIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIHNob3dPa0NhbmNlbEJ1dHRvbnM6IHNob3dPa0NhbmNlbEJ1dHRvbnMsXHJcbiAgICAgICAgICAgIGhpZGVPcGVuSWNvbjogdmlld1NldHRpbmc/LkhpZGVPcGVuSWNvbixcclxuICAgICAgICAgICAgb3Blbk9uQ2xpY2s6IHZpZXdTZXR0aW5nPy5PcGVuT25DbGljayxcclxuICAgICAgICAgICAgb25seUV4ZWN1dGVMZWFmTm9kZTogdmlld1NldHRpbmc/Lk9ubHlFeGVjdXRlTGVhZk5vZGUsXHJcbiAgICAgICAgICAgIGVuYWJsZU5vZGVSZW9yZGVyaW5nOiB2aWV3U2V0dGluZz8uRW5hYmxlTm9kZVJlb3JkZXJpbmcsXHJcbiAgICAgICAgICAgIHZpZXdTZXR0aW5nc0NvbnRlbnREZW5zaXR5OiB2aWV3U2V0dGluZz8uQ29udGVudERlbnNpdHkkQ2FwdGlvbixcclxuICAgICAgICAgICAgaWNvbkZpZWxkOiB2aWV3U2V0dGluZz8uSWNvbkZpZWxkLFxyXG4gICAgICAgICAgICBoaWRlSWNvbjogdmlld1NldHRpbmc/LkhpZGVJY29uLFxyXG4gICAgICAgICAgICBjb2xvckZpZWxkOiB2aWV3U2V0dGluZz8uQ29sb3JGaWVsZCxcclxuICAgICAgICAgICAgaGFzSW5saW5lRWRpdEJ1dHRvbjogdmlld1NldHRpbmc/Lkhhc0lubGluZUVkaXRCdXR0b24sXHJcbiAgICAgICAgICAgIGhhc0lubGluZURlbGV0ZUJ1dHRvbjogdmlld1NldHRpbmc/Lkhhc0lubGluZURlbGV0ZUJ1dHRvbixcclxuICAgICAgICAgICAgc2VsZWN0ZWROb2RlOiBzZWxlY3RlZE5vZGUkIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIG5hdmlnYXRpb25BcnJvdzogbmF2aWdhdGlvbkFycm93JCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBjb2xsYXBzZUljb246IGNvbGxhcHNlSWNvbiQgfCBhc3luYyxcclxuICAgICAgICAgICAgcmVsYXRpb25MaXN0OiBjb250ZXh0LlNldHRpbmcuVmlldy5SZWxhdGlvbkxpc3QsXHJcbiAgICAgICAgICAgIGFsbENvbHVtbnM6IGFsbENvbHVtbnMsXHJcbiAgICAgICAgICAgIHJ0bDogcnRsJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBpbkRpYWxvZzogaW5EaWFsb2ckIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIGlzTXVsdGlTZWxlY3Q6IGlzTXVsdGlTZWxlY3QkIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIGRpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51OiB2aWV3U2V0dGluZz8uRGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnUsXHJcbiAgICAgICAgICAgIGlzSGV0cm86IGNvbnRleHQuU2V0dGluZy5DbGFzc05hbWVzLkRhdGFDbGFzcyA9PT0gJ1VsLkhldHJvVHJlZVVsdkRhdGFDdHJscicsXHJcbiAgICAgICAgICAgIHNlbGVjdGVkTW86IHNlbGVjdGVkTW8kIHwgYXN5bmNcclxuICAgICAgICB9XHJcbiAgICBcIlxyXG4+PC9uZy1jb250YWluZXI+XHJcblxyXG48bmctdGVtcGxhdGVcclxuICAgICNyZW5kZXJUcmVlXHJcbiAgICBsZXQtcm9vdFxyXG4gICAgbGV0LW1vRGF0YUxpc3Q9XCJtb0RhdGFMaXN0XCJcclxuICAgIGxldC1kZXZpY2VOYW1lPVwiZGV2aWNlTmFtZVwiXHJcbiAgICBsZXQtZGV2aWNlU2l6ZT1cImRldmljZVNpemVcIlxyXG4gICAgbGV0LXRvb2xiYXJCdXR0b25zPVwidG9vbGJhckJ1dHRvbnNcIlxyXG4gICAgbGV0LXRpdGxlPVwidGl0bGVcIlxyXG4gICAgbGV0LWlubGluZUVkaXRNb2RlPVwiaW5saW5lRWRpdE1vZGVcIlxyXG4gICAgbGV0LWFsbG93SW5saW5lRWRpdD1cImFsbG93SW5saW5lRWRpdFwiXHJcbiAgICBsZXQtaGlkZVRvb2xiYXI9XCJoaWRlVG9vbGJhclwiXHJcbiAgICBsZXQtZ3JpZFNldHRpbmc9XCJncmlkU2V0dGluZ1wiXHJcbiAgICBsZXQtY29udGVudERlbnNpdHk9XCJjb250ZW50RGVuc2l0eVwiXHJcbiAgICBsZXQtYWNjZXNzPVwiYWNjZXNzXCJcclxuICAgIGxldC1jb250ZXh0TWVudUl0ZW1zPVwiY29udGV4dE1lbnVJdGVtc1wiXHJcbiAgICBsZXQtY29uZGl0aW9uYWxGb3JtYXRzPVwiY29uZGl0aW9uYWxGb3JtYXRzXCJcclxuICAgIGxldC1pc0NoZWNrTGlzdD1cImlzQ2hlY2tMaXN0XCJcclxuICAgIGxldC1ncm91cGJ5PVwiZ3JvdXBieVwiXHJcbiAgICBsZXQtaGFzU2VsZWN0ZWQ9XCJoYXNTZWxlY3RlZFwiXHJcbiAgICBsZXQtc2hvd09rQ2FuY2VsQnV0dG9ucz1cInNob3dPa0NhbmNlbEJ1dHRvbnNcIlxyXG4gICAgbGV0LXNlbGVjdGVkTm9kZT1cInNlbGVjdGVkTm9kZVwiXHJcbiAgICBsZXQtbmF2aWdhdGlvbkFycm93PVwibmF2aWdhdGlvbkFycm93XCJcclxuICAgIGxldC1jb2xsYXBzZUljb249XCJjb2xsYXBzZUljb25cIlxyXG4gICAgbGV0LXJ0bD1cInJ0bFwiXHJcbiAgICBsZXQtZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnU9XCJkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudVwiXHJcbiAgICBsZXQtcmVsYXRpb25MaXN0PVwicmVsYXRpb25MaXN0XCJcclxuICAgIGxldC1pc0hldHJvPVwiaXNIZXRyb1wiXHJcbiAgICBsZXQtaW5EaWFsb2c9XCJpbkRpYWxvZ1wiXHJcbiAgICBsZXQtaXNNdWx0aVNlbGVjdD1cImlzTXVsdGlTZWxlY3RcIlxyXG4gICAgbGV0LXNlbGVjdGVkTW89XCJzZWxlY3RlZE1vXCJcclxuICAgIGxldC1oaWRlT3Blbkljb249XCJoaWRlT3Blbkljb25cIlxyXG4gICAgbGV0LW9wZW5PbkNsaWNrPVwib3Blbk9uQ2xpY2tcIlxyXG4gICAgbGV0LWVuYWJsZU5vZGVSZW9yZGVyaW5nPVwiZW5hYmxlTm9kZVJlb3JkZXJpbmdcIlxyXG4gICAgbGV0LW9ubHlFeGVjdXRlTGVhZk5vZGU9XCJvbmx5RXhlY3V0ZUxlYWZOb2RlXCJcclxuICAgIGxldC1pY29uRmllbGQ9XCJpY29uRmllbGRcIlxyXG4gICAgbGV0LWNvbG9yRmllbGQ9XCJjb2xvckZpZWxkXCJcclxuICAgIGxldC1hbGxDb2x1bW5zPVwiYWxsQ29sdW1uc1wiXHJcbiAgICBsZXQtaGlkZUljb249XCJoaWRlSWNvblwiXHJcbiAgICBsZXQtdmlld1NldHRpbmdzQ29udGVudERlbnNpdHk9XCJ2aWV3U2V0dGluZ3NDb250ZW50RGVuc2l0eVwiXHJcbiAgICBsZXQtaGFzSW5saW5lRGVsZXRlQnV0dG9uPVwiaGFzSW5saW5lRGVsZXRlQnV0dG9uXCJcclxuICAgIGxldC1oYXNJbmxpbmVFZGl0QnV0dG9uPVwiaGFzSW5saW5lRWRpdEJ1dHRvblwiXHJcbj5cclxuICAgIDxic3UtdWx2LXRvb2xiYXJcclxuICAgICAgICBbaGlkZVRvb2xiYXJdPVwiaGlkZVRvb2xiYXJcIlxyXG4gICAgICAgIFtkZXZpY2VOYW1lXT1cImRldmljZU5hbWVcIlxyXG4gICAgICAgIFtkZXZpY2VTaXplXT1cImRldmljZVNpemVcIlxyXG4gICAgICAgIFt0b29sYmFyQnV0dG9uc109XCJ0b29sYmFyQnV0dG9uc1wiXHJcbiAgICAgICAgW2dyaWRTZXR0aW5nXT1cImdyaWRTZXR0aW5nXCJcclxuICAgICAgICBbdGl0bGVdPVwidGl0bGVcIlxyXG4gICAgICAgIFtoYXNTZWxlY3RlZF09XCJoYXNTZWxlY3RlZFwiXHJcbiAgICAgICAgW2luRGlhbG9nXT1cImluRGlhbG9nXCJcclxuICAgICAgICBbaXNNdWx0aVNlbGVjdF09XCJpc011bHRpU2VsZWN0XCJcclxuICAgICAgICBbY29udGVudERlbnNpdHldPVwiY29udGVudERlbnNpdHlcIlxyXG4gICAgICAgIFtpbmxpbmVFZGl0TW9kZV09XCJpbmxpbmVFZGl0TW9kZVwiXHJcbiAgICAgICAgW2FsbG93SW5saW5lRWRpdF09XCJhbGxvd0lubGluZUVkaXRcIlxyXG4gICAgICAgIFttb0RhdGFMaXN0Q291bnRdPVwibW9EYXRhTGlzdC5sZW5ndGhcIlxyXG4gICAgICAgIChzb3J0Q2xpY2spPVwib25Tb3J0U2V0dGluZ3MoZGV2aWNlTmFtZSlcIlxyXG4gICAgICAgIChncm91cGJ5Q2xpY2spPVwib25Hcm91cGJ5U2V0dGluZ3MoZGV2aWNlTmFtZSlcIlxyXG4gICAgICAgIChjb2x1bW5DbGljayk9XCJvbkNvbHVtblNldHRpbmdzKGRldmljZU5hbWUpXCJcclxuICAgICAgICAoZWRpdE1vZGVDbGljayk9XCJvbkVkaXRNb2RlKClcIlxyXG4gICAgPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgZmQtYnV0dG9uXHJcbiAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxyXG4gICAgICAgICAgICBbZmRUeXBlXT1cIid0cmFuc3BhcmVudCdcIlxyXG4gICAgICAgICAgICBbZ2x5cGhdPVwiJ2NvbGxhcHNlLWFsbCdcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwib25Db2xsYXBzZUFsbCgpXCJcclxuICAgICAgICA+PC9idXR0b24+XHJcbiAgICAgICAgQGlmICghc2hvd09rQ2FuY2VsQnV0dG9ucyAmJiBlbmFibGVOb2RlUmVvcmRlcmluZykge1xyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgZmQtYnV0dG9uXHJcbiAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxyXG4gICAgICAgICAgICBbZmRUeXBlXT1cIid0cmFuc3BhcmVudCdcIlxyXG4gICAgICAgICAgICBbZ2x5cGhdPVwiJ21vdmUnXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uT3Blbk1vdmVUb0RpYWxvZyhzZWxlY3RlZE5vZGUsIGRldmljZU5hbWUsIG1vdmVEaWFsb2cpXCJcclxuICAgICAgICA+PC9idXR0b24+XHJcbiAgICAgICAgfVxyXG4gICAgPC9ic3UtdWx2LXRvb2xiYXI+XHJcbiAgICA8YnN1LXVpLXRyZWUtdmlld1xyXG4gICAgICAgICp1bnRpbEluVmlldz1cImVsXCJcclxuICAgICAgICBbbGVhZkN1cnNvclBvaW50ZXJdPVwib25seUV4ZWN1dGVMZWFmTm9kZSAmJiBvcGVuT25DbGlja1wiXHJcbiAgICAgICAgW3J0bF09XCJydGxcIlxyXG4gICAgICAgIFtoYXNJbmxpbmVEZWxldGVCdXR0b25dPVwiaGFzSW5saW5lRGVsZXRlQnV0dG9uXCJcclxuICAgICAgICBbaGFzSW5saW5lRWRpdEJ1dHRvbl09XCJoYXNJbmxpbmVFZGl0QnV0dG9uXCJcclxuICAgICAgICBbcmVsYXRpb25MaXN0XT1cInJlbGF0aW9uTGlzdFwiXHJcbiAgICAgICAgW3Rvb2xiYXJCdXR0b25zXT1cInRvb2xiYXJCdXR0b25zXCJcclxuICAgICAgICBbcm9vdF09XCJyb290XCJcclxuICAgICAgICBbYWxsQ29sdW1uc109XCJhbGxDb2x1bW5zXCJcclxuICAgICAgICBbaGlkZUljb25dPVwiaGlkZUljb25cIlxyXG4gICAgICAgIFtzZWxlY3RlZE1vXT1cInNlbGVjdGVkTW9cIlxyXG4gICAgICAgIFtoaWRlT3Blbkljb25dPVwiaGlkZU9wZW5JY29uXCJcclxuICAgICAgICBbZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnVdPVwiZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnVcIlxyXG4gICAgICAgIFtpY29uRmllbGRdPVwiaWNvbkZpZWxkXCJcclxuICAgICAgICBbY29sb3JGaWVsZF09XCJjb2xvckZpZWxkXCJcclxuICAgICAgICBbbmF2aWdhdGlvbkFycm93XT1cIm5hdmlnYXRpb25BcnJvd1wiXHJcbiAgICAgICAgW2NvbGxhcHNlSWNvbl09XCJjb2xsYXBzZUljb25cIlxyXG4gICAgICAgIFtzZWxlY3RlZE5vZGVdPVwic2VsZWN0ZWROb2RlXCJcclxuICAgICAgICBbYWNjZXNzXT1cImFjY2Vzc1wiXHJcbiAgICAgICAgW3ZpZXdTZXR0aW5nc0NvbnRlbnREZW5zaXR5XT1cInZpZXdTZXR0aW5nc0NvbnRlbnREZW5zaXR5XCJcclxuICAgICAgICBbZGV2aWNlTmFtZV09XCJkZXZpY2VOYW1lXCJcclxuICAgICAgICBbZGV2aWNlU2l6ZV09XCJkZXZpY2VTaXplXCJcclxuICAgICAgICBbZW5hYmxlTm9kZVJlb3JkZXJpbmddPVwiZW5hYmxlTm9kZVJlb3JkZXJpbmdcIlxyXG4gICAgICAgIFtpbkRpYWxvZ109XCJpbkRpYWxvZ1wiXHJcbiAgICAgICAgW2lzTXVsdGlTZWxlY3RdPVwiaXNNdWx0aVNlbGVjdFwiXHJcbiAgICAgICAgW29wZW5PbkNsaWNrXT1cIm9wZW5PbkNsaWNrXCJcclxuICAgICAgICBbY29udGV4dE1lbnVJdGVtc109XCJjb250ZXh0TWVudUl0ZW1zXCJcclxuICAgICAgICBbbW9EYXRhTGlzdF09XCJtb0RhdGFMaXN0XCJcclxuICAgICAgICBbZ3JvdXBieV09XCJncm91cGJ5XCJcclxuICAgICAgICBbaXNIZXRyb109XCJpc0hldHJvXCJcclxuICAgICAgICBbaXNDaGVja0xpc3RdPVwiaXNDaGVja0xpc3RcIlxyXG4gICAgICAgIFtjb25kaXRpb25hbEZvcm1hdHNdPVwiY29uZGl0aW9uYWxGb3JtYXRzXCJcclxuICAgICAgICBbc2hvd09rQ2FuY2VsQnV0dG9uc109XCJzaG93T2tDYW5jZWxCdXR0b25zXCJcclxuICAgICAgICAoY2hlY2tDaGFuZ2UpPVwib25DaGVja0NoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAoaXRlbURyb3ApPVwib25Ecm9wKCRldmVudClcIlxyXG4gICAgICAgIChpdGVtRHJhZ01vdmVkKT1cIm9uRHJhZ01vdmVkKCRldmVudClcIlxyXG4gICAgICAgIChub2RlVWx2Q29tbWFuZCk9XCJvbk5vZGVVbHZDb21tYW5kKCRldmVudClcIlxyXG4gICAgICAgIChub2RlVmlld0NsaWNrKT1cIm9uTm9kZVZpZXdDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAobG9hZENoaWxkcmVuKT1cIm9uTG9hZENoaWxkcmVuKCRldmVudClcIlxyXG4gICAgICAgIChub2RlU2VsZWN0KT1cIm9uTm9kZVNlbGVjdCgkZXZlbnQpXCJcclxuICAgICAgICAocm93Q2hlY2spPVwib25Sb3dDaGVjaygkZXZlbnQpXCJcclxuICAgICAgICAocm93Q2xpY2spPVwib25Sb3dDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAoYWxsQ2hlY2tib3gpPVwib25BbGxDaGVja2JveCgkZXZlbnQpXCJcclxuICAgICAgICAoZXhwYW5kQ2xpY2spPVwib25FeHBhbmRDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAoZWRpdEZvcm1QYW5lbENhbmNlbCk9XCJvbkVkaXRGb3JtUGFuZWxDYW5jZWwoJGV2ZW50KVwiXHJcbiAgICAgICAgKGVkaXRGb3JtUGFuZWxTYXZlKT1cIm9uRWRpdEZvcm1QYW5lbFNhdmUoJGV2ZW50KVwiXHJcbiAgICAgICAgKGNyZWF0ZU5ldyk9XCJvbkNyZWF0ZU5ldygkZXZlbnQpXCJcclxuICAgID5cclxuICAgIDwvYnN1LXVpLXRyZWUtdmlldz5cclxuICAgIDxuZy10ZW1wbGF0ZSBsZXQtZGlhbG9nIGxldC1kaWFsb2dDb25maWc9XCJkaWFsb2dDb25maWdcIiAjbW92ZURpYWxvZz5cclxuICAgICAgICA8ZmQtZGlhbG9nIFtkaWFsb2dDb25maWddPVwiZGlhbG9nQ29uZmlnXCIgW2RpYWxvZ1JlZl09XCJkaWFsb2dcIj5cclxuICAgICAgICAgICAgPGZkLWRpYWxvZy1oZWFkZXI+XHJcbiAgICAgICAgICAgICAgICA8aDEgZmQtdGl0bGU+e3sgJ01vdmUnIHwgYmJiVHJhbnNsYXRlIH19PC9oMT5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gZmQtZGlhbG9nLWNsb3NlLWJ1dHRvbiAoY2xpY2spPVwiZGlhbG9nLmRpc21pc3MoJ0Nsb3NlIGJ1dHRvbicpXCI+PC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZmQtZGlhbG9nLWhlYWRlcj5cclxuXHJcbiAgICAgICAgICAgIDxmZC1kaWFsb2ctYm9keT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb3ZlLXRvXCIgKGtleWRvd24uZW50ZXIpPVwib25Db25maXJtRGlhbG9nKGRpYWxvZ1NlbGVjdGVkTm9kZSlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YnN1LXVpLXRyZWUtdmlld1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBbcnRsXT1cInJ0bFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtyb290XT1cInJvb3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbYWNjZXNzXT1cImFjY2Vzc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuYXZpZ2F0aW9uQXJyb3ddPVwibmF2aWdhdGlvbkFycm93XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2NvbGxhcHNlSWNvbl09XCJjb2xsYXBzZUljb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGV2aWNlTmFtZV09XCJkZXZpY2VOYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2RldmljZVNpemVdPVwiZGV2aWNlU2l6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt2aWV3U2V0dGluZ3NDb250ZW50RGVuc2l0eV09XCJ2aWV3U2V0dGluZ3NDb250ZW50RGVuc2l0eVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtlbmFibGVOb2RlUmVvcmRlcmluZ109XCJlbmFibGVOb2RlUmVvcmRlcmluZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtvcGVuT25DbGlja109XCJvcGVuT25DbGlja1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZE5vZGVdPVwiZGlhbG9nU2VsZWN0ZWROb2RlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW21vRGF0YUxpc3RdPVwiZmxhdE1vRGF0YUxpc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbZ3JvdXBieV09XCJncm91cGJ5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2lzQ2hlY2tMaXN0XT1cImlzQ2hlY2tMaXN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmRpdGlvbmFsRm9ybWF0c109XCJjb25kaXRpb25hbEZvcm1hdHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAobG9hZENoaWxkcmVuKT1cIm9uTG9hZENoaWxkcmVuKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAobm9kZVNlbGVjdCk9XCJvblNlbGVjdE5vZGVJbk1vdmVEaWFsb2coJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPjwvYnN1LXVpLXRyZWUtdmlldz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2ZkLWRpYWxvZy1ib2R5PlxyXG5cclxuICAgICAgICAgICAgPGZkLWRpYWxvZy1mb290ZXI+XHJcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgZmRrVGVtcGxhdGU9XCJmb290ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGZkLWJhci1yaWdodD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZkLWJ1dHRvbi1iYXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkVHlwZT1cImVtcGhhc2l6ZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidPSycgfCBiYmJUcmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ29uZmlybURpYWxvZyhkaWFsb2dTZWxlY3RlZE5vZGUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2ZkLWJ1dHRvbi1iYXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1idXR0b24tYmFyIGZkLWluaXRpYWwtZm9jdXMgW2xhYmVsXT1cIidDYW5jZWwnIHwgYmJiVHJhbnNsYXRlXCIgKGNsaWNrKT1cIm9uRGlzbWlzc0RpYWxvZygpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZmQtYnV0dG9uLWJhcj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvZmQtZGlhbG9nLWZvb3Rlcj5cclxuICAgICAgICA8L2ZkLWRpYWxvZz5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|