barsa-sap-ui 2.1.1 → 2.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/barsa-sap-ui.mjs +289 -257
- package/fesm2022/barsa-sap-ui.mjs.map +1 -1
- package/lib/ui-map/ui-map.component.d.ts +2 -0
- package/package.json +3 -5
- package/esm2022/barsa-sap-ui.mjs +0 -5
- package/esm2022/lib/apply-conditional-formmatings.directive.mjs +0 -89
- package/esm2022/lib/avatar-size.pipe.mjs +0 -40
- package/esm2022/lib/barsa-answer-card/barsa-answer-card.component.mjs +0 -41
- package/esm2022/lib/barsa-asp-viewer/barsa-asp-viewer.component.mjs +0 -145
- package/esm2022/lib/barsa-bar-panel/barsa-bar-panel.component.mjs +0 -23
- package/esm2022/lib/barsa-base-panel/barsa-base-layout-panel.component.mjs +0 -29
- package/esm2022/lib/barsa-breadcrumbs/barsa-breadcrumbs.component.mjs +0 -24
- package/esm2022/lib/barsa-card-layout-panel/barsa-card-layout-panel.component.mjs +0 -24
- package/esm2022/lib/barsa-card-row-payam/barsa-card-row-payam.component.mjs +0 -31
- package/esm2022/lib/barsa-cartable-form/barsa-cartable-form.component.mjs +0 -41
- package/esm2022/lib/barsa-cartable-template/barsa-cartable-template.component.mjs +0 -24
- package/esm2022/lib/barsa-chat/barsa-chat.component.mjs +0 -242
- package/esm2022/lib/barsa-chat/chat.model.mjs +0 -8
- package/esm2022/lib/barsa-chat-content/barsa-chat-content.component.mjs +0 -13
- package/esm2022/lib/barsa-chat-content-toolbar/barsa-chat-content-toolbar.component.mjs +0 -22
- package/esm2022/lib/barsa-chat-list/barsa-chat-list.component.mjs +0 -66
- package/esm2022/lib/barsa-chat-message/barsa-chat-message.component.mjs +0 -78
- package/esm2022/lib/barsa-chat-thread/barsa-chat-thread.component.mjs +0 -22
- package/esm2022/lib/barsa-chat-threads-list/barsa-chat-threads-list.component.mjs +0 -13
- package/esm2022/lib/barsa-chat-threads-list-toolbar/barsa-chat-threads-list-toolbar.component.mjs +0 -15
- package/esm2022/lib/barsa-chip/barsa-chip.component.mjs +0 -72
- package/esm2022/lib/barsa-column-indicator/barsa-column-indicator.component.mjs +0 -23
- package/esm2022/lib/barsa-column-rownumber/barsa-column-rownumber.component.mjs +0 -14
- package/esm2022/lib/barsa-custom-inline-edit/barsa-custom-inline-edit.component.mjs +0 -14
- package/esm2022/lib/barsa-custom-inline-edit-row/barsa-custom-inline-edit-row.component.mjs +0 -26
- package/esm2022/lib/barsa-date-time-picker/barsa-date-time-picker.component.mjs +0 -71
- package/esm2022/lib/barsa-dynamic-field/barsa-dynamic-field.component.mjs +0 -40
- package/esm2022/lib/barsa-enum-menu-button/barsa-enum-menu-button.component.mjs +0 -61
- package/esm2022/lib/barsa-field-key-value/barsa-field-key-value.component.mjs +0 -45
- package/esm2022/lib/barsa-form-side-content/barsa-form-side-content.component.mjs +0 -58
- package/esm2022/lib/barsa-grid-layout-panel/barsa-grid-layout-panel.component.mjs +0 -27
- package/esm2022/lib/barsa-group-cartable/barsa-cartable-group.component.mjs +0 -94
- package/esm2022/lib/barsa-horizontal-flex-panel/barsa-horizontal-flex-panel.component.mjs +0 -22
- package/esm2022/lib/barsa-linkable-items-panel/barsa-linkable-items-panel.component.mjs +0 -37
- package/esm2022/lib/barsa-list-file-linear/barsa-list-file-linear.component.mjs +0 -41
- package/esm2022/lib/barsa-list-file-linear-gmail/barsa-list-file-linear-gmail.component.mjs +0 -29
- package/esm2022/lib/barsa-list-layout-panel/barsa-list-layout-panel.component.mjs +0 -23
- package/esm2022/lib/barsa-modal/barsa-modal.component.mjs +0 -43
- package/esm2022/lib/barsa-monaco-editor/barsa-monaco-editor.component.mjs +0 -83
- package/esm2022/lib/barsa-network-offline/barsa-network-offline.component.mjs +0 -57
- package/esm2022/lib/barsa-pishnamayesh-payam/barsa-pishnamayesh-payam.component.mjs +0 -159
- package/esm2022/lib/barsa-question-answer-comments-section/barsa-question-answer-comments-section.component.mjs +0 -17
- package/esm2022/lib/barsa-question-answer-content-actions-section/barsa-question-answer-content-actions-section.component.mjs +0 -30
- package/esm2022/lib/barsa-question-answer-creator-time-section/barsa-question-answer-creator-time-section.component.mjs +0 -14
- package/esm2022/lib/barsa-question-answer-form/barsa-question-answer-form.component.mjs +0 -34
- package/esm2022/lib/barsa-question-answer-form-add-comment/barsa-question-answer-form-add-comment.component.mjs +0 -46
- package/esm2022/lib/barsa-question-answer-vote-section/barsa-question-answer-vote-section.component.mjs +0 -79
- package/esm2022/lib/barsa-question-post/barsa-question-post.component.mjs +0 -30
- package/esm2022/lib/barsa-report-card-flex-view/barsa-report-card-flex-view.component.mjs +0 -31
- package/esm2022/lib/barsa-report-checkbox-switch-button/barsa-report-checkbox-switch-button.component.mjs +0 -28
- package/esm2022/lib/barsa-report-one-of-list/barsa-report-one-of-list.component.mjs +0 -102
- package/esm2022/lib/barsa-row-inline-actionlist/barsa-row-inline-actionlist.component.mjs +0 -26
- package/esm2022/lib/barsa-sap-ui-routing.module.mjs +0 -18
- package/esm2022/lib/barsa-sap-ui.module.mjs +0 -374
- package/esm2022/lib/barsa-search-form/barsa-search-form.component.mjs +0 -29
- package/esm2022/lib/barsa-simple-form/barsa-simple-form.component.mjs +0 -170
- package/esm2022/lib/barsa-tab-route-manager/barsa-tab-route-manager.component.mjs +0 -18
- package/esm2022/lib/barsa-table-column/barsa-table-column.component.mjs +0 -29
- package/esm2022/lib/barsa-table-header/barsa-table-header.component.mjs +0 -222
- package/esm2022/lib/barsa-table-row/barsa-table-row.component.mjs +0 -87
- package/esm2022/lib/barsa-tag-categories/barsa-tag-categories.component.mjs +0 -60
- package/esm2022/lib/barsa-tag-chip/barsa-tag-chip.component.mjs +0 -26
- package/esm2022/lib/barsa-tags-category-row/barsa-tags-category-row.component.mjs +0 -23
- package/esm2022/lib/barsa-text-ellipsis/barsa-text-ellipsis.component.mjs +0 -37
- package/esm2022/lib/barsa-tinyemce/barsa-tinyemce.component.mjs +0 -418
- package/esm2022/lib/barsa-toolbaritem-search/barsa-toolbaritem-search.component.mjs +0 -36
- package/esm2022/lib/barsa-tree-item/barsa-tree-item.component.mjs +0 -153
- package/esm2022/lib/barsa-tree-item/node-has-one-depth-level.pipe.mjs +0 -19
- package/esm2022/lib/barsa-ulv-main/barsa-ulv-main.component.mjs +0 -216
- package/esm2022/lib/blob-viewer/blob-viewer.component.mjs +0 -74
- package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +0 -50
- package/esm2022/lib/captcha-field/captcha-field.component.mjs +0 -28
- package/esm2022/lib/card-item/card-item.component.mjs +0 -64
- package/esm2022/lib/card-view-content/card-view-content.component.mjs +0 -46
- package/esm2022/lib/col-renderer.directive.mjs +0 -46
- package/esm2022/lib/column-matrix-renderer/column-matrix-renderer.component.mjs +0 -56
- package/esm2022/lib/column-matrix-renderer/matrix-value.pipe.mjs +0 -60
- package/esm2022/lib/column-renderer/column-renderer.component.mjs +0 -88
- package/esm2022/lib/constants.mjs +0 -425
- package/esm2022/lib/custom-date-time/custom-date-time.component.mjs +0 -41
- package/esm2022/lib/device-info-field-base.mjs +0 -23
- package/esm2022/lib/dialog-handler.directive.mjs +0 -28
- package/esm2022/lib/download-files.directive.mjs +0 -33
- package/esm2022/lib/dynamic-page-size.pipe.mjs +0 -26
- package/esm2022/lib/file-in-dialog/file-in-dialog.component.mjs +0 -44
- package/esm2022/lib/file-viewer/file-viewer.component.mjs +0 -47
- package/esm2022/lib/file-viewer-content/file-viewer-content.component.mjs +0 -71
- package/esm2022/lib/file-viewer-popover/file-viewer-popover.component.mjs +0 -39
- package/esm2022/lib/form-dialog/form-dialog.component.mjs +0 -171
- package/esm2022/lib/form-dialog-less/form-dialog-less.component.mjs +0 -50
- package/esm2022/lib/form-toolbar/form-toolbar.component.mjs +0 -62
- package/esm2022/lib/form-toolbar-button/form-toolbar-button.component.mjs +0 -45
- package/esm2022/lib/form-wizard/form-wizard.component.mjs +0 -21
- package/esm2022/lib/fullscreen-dialog.directive.mjs +0 -59
- package/esm2022/lib/fullscreen-files.directive.mjs +0 -42
- package/esm2022/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.mjs +0 -213
- package/esm2022/lib/gantt-dhtml-chart-view/gantt-dhtml-chart-view.component.mjs +0 -215
- package/esm2022/lib/global-search/global-search.component.mjs +0 -27
- package/esm2022/lib/global-search-module/global-search-module.component.mjs +0 -29
- package/esm2022/lib/global-search-panel/global-search-panel.component.mjs +0 -25
- package/esm2022/lib/header-avatar/header-avatar.component.mjs +0 -18
- package/esm2022/lib/htree-create-new/htree-create-new.component.mjs +0 -48
- package/esm2022/lib/hyperlink/hyperlink.component.mjs +0 -23
- package/esm2022/lib/index.mjs +0 -543
- package/esm2022/lib/inline-save-and-cancel/inline-save-and-cancel.component.mjs +0 -32
- package/esm2022/lib/layout-actions/layout-actions.component.mjs +0 -70
- package/esm2022/lib/layout-control/layout-control.component.mjs +0 -302
- package/esm2022/lib/layout-wizard/layout-wizard.component.mjs +0 -183
- package/esm2022/lib/list-item/list-item.component.mjs +0 -34
- package/esm2022/lib/ly-empty-space/ly-empty-space.component.mjs +0 -42
- package/esm2022/lib/ly-horizontal-layout/ly-horizontal-layout.component.mjs +0 -82
- package/esm2022/lib/ly-label/ly-label.component.mjs +0 -37
- package/esm2022/lib/ly-layout-container/ly-layout-container.component.mjs +0 -83
- package/esm2022/lib/ly-layout-container-of-root/ly-layout-container-of-root.component.mjs +0 -17
- package/esm2022/lib/ly-layout-field-label/ly-layout-field-label.component.mjs +0 -24
- package/esm2022/lib/ly-layout-panel/ly-layout-panel.component.mjs +0 -83
- package/esm2022/lib/ly-line/ly-line.component.mjs +0 -56
- package/esm2022/lib/ly-simple-label/ly-simple-label.component.mjs +0 -22
- package/esm2022/lib/ly-tab-container/ly-tab-container.component.mjs +0 -45
- package/esm2022/lib/ly-tab-page/ly-tab-page.component.mjs +0 -44
- package/esm2022/lib/ly-vertical-layout/ly-vertical-layout.component.mjs +0 -51
- package/esm2022/lib/manage-filters-report/manage-filters-report.component.mjs +0 -43
- package/esm2022/lib/mask/mask.component.mjs +0 -22
- package/esm2022/lib/message-strip/message-strip.component.mjs +0 -28
- package/esm2022/lib/models/grid-data-provider.mjs +0 -114
- package/esm2022/lib/models/grid-view.mjs +0 -2
- package/esm2022/lib/models/index.mjs +0 -2
- package/esm2022/lib/no-data/no-data.component.mjs +0 -31
- package/esm2022/lib/notification-item/notification-item.component.mjs +0 -57
- package/esm2022/lib/notification-popup.service.mjs +0 -92
- package/esm2022/lib/object-status-icon.pipe.mjs +0 -26
- package/esm2022/lib/progress-indicator/progress-indicator.component.mjs +0 -18
- package/esm2022/lib/report-navigator/report-navigator.component.mjs +0 -68
- package/esm2022/lib/report-new-top-form/report-new-top-form.component.mjs +0 -60
- package/esm2022/lib/report-search-fields-hidden-settings/report-search-fields-hidden-settings.component.mjs +0 -35
- package/esm2022/lib/report-search-fields-manage/report-search-fields-manage.component.mjs +0 -97
- package/esm2022/lib/report-search-panel-save/report-search-panel-save.component.mjs +0 -88
- package/esm2022/lib/report-tree-base.mjs +0 -386
- package/esm2022/lib/report-view-renderer.directive.mjs +0 -385
- package/esm2022/lib/responsive-toolbar/responsive-toolbar.component.mjs +0 -50
- package/esm2022/lib/responsive-toolbar-renderer/responsive-toolbar-renderer.component.mjs +0 -84
- package/esm2022/lib/rich-text-static/rich-text-static.component.mjs +0 -72
- package/esm2022/lib/sap-font-class.pipe.mjs +0 -29
- package/esm2022/lib/sap-font.pipe.mjs +0 -29
- package/esm2022/lib/sap-size.pipe.mjs +0 -27
- package/esm2022/lib/sap-ui-report-base.component.mjs +0 -805
- package/esm2022/lib/search-panel/search-panel.component.mjs +0 -63
- package/esm2022/lib/static-text/static-text.component.mjs +0 -15
- package/esm2022/lib/table-th.directive.mjs +0 -86
- package/esm2022/lib/title/title.component.mjs +0 -15
- package/esm2022/lib/ui-asp-report-viewer/ui-asp-report-viewer.component.mjs +0 -34
- package/esm2022/lib/ui-bpmn-viewer/ui-bpmn-viewer.component.mjs +0 -33
- package/esm2022/lib/ui-button/ui-button.component.mjs +0 -32
- package/esm2022/lib/ui-calendar/ui-calendar.component.mjs +0 -53
- package/esm2022/lib/ui-card-view/ui-card-view.component.mjs +0 -57
- package/esm2022/lib/ui-card-view-horizontal-group/ui-card-view-horizontal-group.component.mjs +0 -42
- package/esm2022/lib/ui-check-box/ui-check-box.component.mjs +0 -39
- package/esm2022/lib/ui-color-ui/ui-color-ui.component.mjs +0 -50
- package/esm2022/lib/ui-container-with-button/ui-container-with-button.component.mjs +0 -38
- package/esm2022/lib/ui-date-range-ex/ui-date-range-ex.component.mjs +0 -191
- package/esm2022/lib/ui-date-time/ui-date-time.component.mjs +0 -150
- package/esm2022/lib/ui-editable-grid/ui-editable-grid.component.mjs +0 -110
- package/esm2022/lib/ui-exception-form/ui-exception-form.component.mjs +0 -53
- package/esm2022/lib/ui-file-linear-list-box/ui-file-linear-list-box.component.mjs +0 -121
- package/esm2022/lib/ui-form-panel/ui-form-panel.component.mjs +0 -100
- package/esm2022/lib/ui-gantt-chart/ui-gantt-chart.component.mjs +0 -32
- package/esm2022/lib/ui-graph/ui-graph.component.mjs +0 -17
- package/esm2022/lib/ui-grid/ui-grid.component.mjs +0 -25
- package/esm2022/lib/ui-grid-columns/ui-grid-columns.component.mjs +0 -43
- package/esm2022/lib/ui-grid-filter-item/ui-grid-filter-item.component.mjs +0 -66
- package/esm2022/lib/ui-grid-filter-settings/ui-grid-filter-settings.component.mjs +0 -75
- package/esm2022/lib/ui-grid-sort-item/ui-grid-sort-item.component.mjs +0 -58
- package/esm2022/lib/ui-grid-sort-setting/ui-grid-sort-setting.component.mjs +0 -123
- package/esm2022/lib/ui-html-viewer/ui-html-viewer.component.mjs +0 -16
- package/esm2022/lib/ui-info-bar-panel/ui-info-bar-panel.component.mjs +0 -11
- package/esm2022/lib/ui-label/ui-label.component.mjs +0 -12
- package/esm2022/lib/ui-linear-list-container-with-button/ui-linear-list-container-with-button.component.mjs +0 -379
- package/esm2022/lib/ui-list-view/ui-list-view.component.mjs +0 -84
- package/esm2022/lib/ui-map/ui-map.component.mjs +0 -58
- package/esm2022/lib/ui-matrix-view/ui-matrix-view.component.mjs +0 -124
- package/esm2022/lib/ui-mo-info-combo-viewer/ui-mo-info-combo-viewer.component.mjs +0 -19
- package/esm2022/lib/ui-mo-info-general-object-ui/ui-mo-info-general-object-ui.component.mjs +0 -14
- package/esm2022/lib/ui-mo-info-sub-form-ui/ui-mo-info-sub-form-ui.component.mjs +0 -55
- package/esm2022/lib/ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component.mjs +0 -429
- package/esm2022/lib/ui-monaco-editor/ui-monaco-editor.component.mjs +0 -28
- package/esm2022/lib/ui-multi-select-card/ui-multi-select-card.component.mjs +0 -37
- package/esm2022/lib/ui-multi-select-checkbox/ui-multi-select-checkbox.component.mjs +0 -59
- package/esm2022/lib/ui-multi-select-combo/ui-multi-select-combo.component.mjs +0 -93
- package/esm2022/lib/ui-multi-select-radio/ui-multi-select-radio.component.mjs +0 -36
- package/esm2022/lib/ui-multi-select-slider/ui-multi-select-slider.component.mjs +0 -56
- package/esm2022/lib/ui-multi-select-smile/ui-multi-select-smile.component.mjs +0 -28
- package/esm2022/lib/ui-num-decimal-ui/ui-num-decimal-ui.component.mjs +0 -33
- package/esm2022/lib/ui-num-int-slider/ui-num-int-slider.component.mjs +0 -27
- package/esm2022/lib/ui-num-int-ui/ui-num-int-ui.component.mjs +0 -21
- package/esm2022/lib/ui-pdf-viewer/ui-pdf-viewer.component.mjs +0 -268
- package/esm2022/lib/ui-picture-file/ui-picture-file.component.mjs +0 -101
- package/esm2022/lib/ui-pictures-info/ui-pictures-info.component.mjs +0 -261
- package/esm2022/lib/ui-radio-group/ui-radio-group.component.mjs +0 -48
- package/esm2022/lib/ui-read-only-field/ui-read-only-field.component.mjs +0 -36
- package/esm2022/lib/ui-report-container/ui-report-container.component.mjs +0 -46
- package/esm2022/lib/ui-search-command-info-ui/ui-search-command-info-ui.component.mjs +0 -24
- package/esm2022/lib/ui-simple-combo/ui-simple-combo.component.mjs +0 -55
- package/esm2022/lib/ui-single-picture/ui-single-picture.component.mjs +0 -36
- package/esm2022/lib/ui-switch-button/ui-switch-button.component.mjs +0 -20
- package/esm2022/lib/ui-table-view/ui-table-view.component.mjs +0 -289
- package/esm2022/lib/ui-text-area/ui-text-area.component.mjs +0 -49
- package/esm2022/lib/ui-text-field/ui-text-field.component.mjs +0 -52
- package/esm2022/lib/ui-text-field-auto-complete/ui-text-field-auto-complete.component.mjs +0 -48
- package/esm2022/lib/ui-time-span/ui-time-span.component.mjs +0 -24
- package/esm2022/lib/ui-tinymce/ui-tinymce.component.mjs +0 -53
- package/esm2022/lib/ui-tree/ui-tree.component.mjs +0 -114
- package/esm2022/lib/ui-tree-view/ui-tree-view.component.mjs +0 -100
- package/esm2022/lib/ui-ulv-form-multi-select-ui/ui-ulv-form-multi-select-ui.component.mjs +0 -23
- package/esm2022/lib/ui-ulv-main-ui/ui-ulv-main-ui.component.mjs +0 -306
- package/esm2022/lib/ui-workflow-panel-ui/ui-workflow-panel-ui.component.mjs +0 -25
- package/esm2022/lib/ul-loading-mask-ui/ul-loading-mask-ui.component.mjs +0 -93
- package/esm2022/lib/ul-msg-box-adapter/ul-msg-box-adapter.component.mjs +0 -119
- package/esm2022/lib/ul-notify-popup/ul-notify-popup.component.mjs +0 -32
- package/esm2022/lib/ul-toast-adapter/ul-toast-adapter.component.mjs +0 -48
- package/esm2022/lib/ulv-column-settings/ulv-column-settings.component.mjs +0 -53
- package/esm2022/lib/ulv-context-menu/ulv-context-menu.component.mjs +0 -114
- package/esm2022/lib/ulv-filter-settings/ulv-filter-settings.component.mjs +0 -43
- package/esm2022/lib/ulv-form-multi-select/ulv-form-multi-select.component.mjs +0 -196
- package/esm2022/lib/ulv-groupby-settings/ulv-groupby-settings.component.mjs +0 -44
- package/esm2022/lib/ulv-paging/ulv-paging.component.mjs +0 -84
- package/esm2022/lib/ulv-selection/ulv-selection.component.mjs +0 -65
- package/esm2022/lib/ulv-settings/ulv-settings.component.mjs +0 -116
- package/esm2022/lib/ulv-sort-settings/ulv-sort-settings.component.mjs +0 -54
- package/esm2022/lib/ulv-toolbar/ulv-toolbar.component.mjs +0 -174
- package/esm2022/lib/upload-file-status.pipe.mjs +0 -28
- package/esm2022/lib/util-chat-time-badge.pipe.mjs +0 -18
- package/esm2022/lib/util-date-to-hh-mm.pipe.mjs +0 -23
- package/esm2022/lib/wizard-layout.directive.mjs +0 -103
- package/esm2022/public-api.mjs +0 -233
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
-
import { BaseViewItemPropsComponent } from 'barsa-novin-ray-core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
import * as i2 from "barsa-novin-ray-core";
|
|
6
|
-
import * as i3 from "@fundamental-ngx/core/avatar";
|
|
7
|
-
import * as i4 from "@fundamental-ngx/core/button";
|
|
8
|
-
import * as i5 from "@fundamental-ngx/core/card";
|
|
9
|
-
import * as i6 from "@fundamental-ngx/core/icon";
|
|
10
|
-
import * as i7 from "@fundamental-ngx/core/object-status";
|
|
11
|
-
import * as i8 from "@fundamental-ngx/core/object-attribute";
|
|
12
|
-
import * as i9 from "../ulv-context-menu/ulv-context-menu.component";
|
|
13
|
-
import * as i10 from "../file-viewer-popover/file-viewer-popover.component";
|
|
14
|
-
import * as i11 from "../download-files.directive";
|
|
15
|
-
export class BarsaCardRowPayamComponent extends BaseViewItemPropsComponent {
|
|
16
|
-
constructor() {
|
|
17
|
-
super(...arguments);
|
|
18
|
-
this.hideContent = false;
|
|
19
|
-
}
|
|
20
|
-
ngOnInit() {
|
|
21
|
-
super.ngOnInit();
|
|
22
|
-
this.content = this._domSanitizer.bypassSecurityTrustHtml(`<div style="color:black;font-size:12pt;font-family:Calibri,Helvetica,sans-serif;">okkkk</div>`);
|
|
23
|
-
}
|
|
24
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaCardRowPayamComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
25
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BarsaCardRowPayamComponent, selector: "bsu-barsa-card-row-payam", usesInheritance: true, ngImport: i0, template: "<fd-card cardType=\"object\" class=\"docs-flex-item-margin\">\n <fd-card-header (click)=\"hideContent = !hideContent\" bodyClick style=\"border-bottom: none\">\n <fd-card-main-header>\n <fd-avatar\n image=\"http://picsum.photos/id/1018/400\"\n [circle]=\"true\"\n size=\"s\"\n ariaLabel=\"avatar image\"\n title=\"avatar image\"\n ></fd-avatar>\n <h2 fd-card-title>\n <div style=\"display: flex; column-gap: 1.275rem\">\n <span>\u0631\u0627\u0647\u0628\u0631 \u0633\u06CC\u0633\u062A\u0645</span>\n <fd-object-attribute style=\"direction: ltr\">\u062E\u0648\u0627\u0646\u062F\u0647 \u062F\u0631: 1402/12/28 14:20 </fd-object-attribute>\n <span fd-object-status status=\"negative\" label=\"\u062E\u06CC\u0644\u06CC \u0645\u0647\u0645\" aria-label=\"\u062E\u06CC\u0644\u06CC \u0645\u0647\u0645\"></span>\n </div>\n <div style=\"position: absolute; left: 1.2rem; top: 50%\"><fd-icon [glyph]=\"'attachment'\"></fd-icon></div>\n </h2>\n\n <h3 fd-card-subtitle>\n @if (hideContent) {\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n } @if (!hideContent) {\n <ng-container *ngTemplateOutlet=\"toTpl\"></ng-container>\n }\n </h3>\n @if (hideContent) {\n <span fd-card-counter><div style=\"direction: ltr\">1402/12/28 14:20</div> </span>\n } @if (!hideContent) {\n <span\n fd-card-counter\n ulvContextMenu\n [menuItems]=\"contextMenuItems\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n ></span>\n }\n </fd-card-main-header>\n </fd-card-header>\n @if (!hideContent) {\n <fd-card-content>\n <ng-container *ngTemplateOutlet=\"attachmentsTpl\"></ng-container>\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n </fd-card-content>\n }\n</fd-card>\n\n<ng-template #contentTpl>\n <div style=\"padding-top: 0.5rem; margin-top: 1rem; border-top: 1px solid #ccc\" [innerHtml]=\"content\"></div>\n</ng-template>\n\n<ng-template #toTpl>\n <div>To: \u0645\u0646</div>\n <div>Cc: \u0645\u0646</div>\n</ng-template>\n<ng-template #attachmentsTpl>\n <div class=\"file-viewer-attachments\">\n @for (file of mo.F5.Files; track file) { @if (!file.IsDeleted) {\n <bsu-file-viewer-popover\n [file]=\"file\"\n [files]=\"mo.F5.Files\"\n [deviceSize]=\"deviceSize\"\n [canDownload]=\"true\"\n [disableRemove]=\"true\"\n [fdType]=\"'transparent'\"\n ></bsu-file-viewer-popover>\n } }\n </div>\n @if (mo.F5.Files.length > 1) {\n <button\n fd-button\n [fdType]=\"'transparent'\"\n [label]=\"'Download' | bbbTranslate: 'All'\"\n [glyph]=\"'download'\"\n downloadFiles\n [files]=\"mo.F5.Files\"\n ></button>\n }\n</ng-template>\n", styles: [":host{display:block;width:100%;height:100%;padding-bottom:.5rem}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.BodyClickDirective, selector: "[bodyClick]", inputs: ["disableBodyClick"] }, { kind: "component", type: i3.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "font", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "colorIndication", "random", "clickable", "valueState", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5.CardComponent, selector: "fd-card", inputs: ["badge", "badgeIcon", "badgeColor", "badgeColorSecondary", "badgeStatus", "badgeAriaLabel", "secondBadge", "secondBadgeIcon", "secondBadgeColor", "secondBadgeColorSecondary", "secondBadgeStatus", "secondBadgeAriaLabel", "isLoading", "cardType", "id", "ariaRoledescription", "ariaDescription", "ariaLabel", "role", "interactive", "selected", "ariaPosinset", "ariaSetsize"], outputs: ["ariaPosinsetChange", "ariaSetsizeChange"] }, { kind: "component", type: i5.CardHeaderComponent, selector: "fd-card-header", inputs: ["ariaRoleDescription"] }, { kind: "component", type: i5.CardMainHeaderComponent, selector: "fd-card-main-header", inputs: ["interactive", "title"] }, { kind: "component", type: i5.CardContentComponent, selector: "fd-card-content" }, { kind: "directive", type: i5.CardTitleDirective, selector: "[fd-card-title]", inputs: ["id"] }, { kind: "directive", type: i5.CardSubtitleDirective, selector: "[fd-card-subtitle]" }, { kind: "directive", type: i5.CardCounterDirective, selector: "[fd-card-counter]", inputs: ["status"] }, { kind: "component", type: i6.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: i7.ObjectStatusComponent, selector: "[fd-object-status]", inputs: ["class", "status", "glyph", "glyphFont", "label", "glyphAriaLabel", "indicationColor", "clickable", "inverted", "large", "secondaryIndication", "textTemplate"] }, { kind: "component", type: i8.ObjectAttributeComponent, selector: "fd-object-attribute, fdp-object-attribute", inputs: ["label", "linkText", "islink", "disabled"], outputs: ["objectAttributeclick"] }, { kind: "component", type: i9.UlvContextMenuComponent, selector: "bsu-ulv-context-menu,[ulvContextMenu]", inputs: ["onlyOverflow", "rightClickEnable", "deviceName", "menuItems", "allColumns", "index", "mo", "styleIndex", "conditionalFormats", "disableOverflowContextMenu", "footerMode", "appendTo"], outputs: ["commandClick"] }, { kind: "component", type: i10.FileViewerPopoverComponent, selector: "bsu-file-viewer-popover", inputs: ["files", "file", "deviceSize", "canDownload", "disableRemove", "fdType"], outputs: ["remove"] }, { kind: "directive", type: i11.DownloadFilesDirective, selector: "[downloadFiles]", inputs: ["files"] }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
26
|
-
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaCardRowPayamComponent, decorators: [{
|
|
28
|
-
type: Component,
|
|
29
|
-
args: [{ selector: 'bsu-barsa-card-row-payam', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-card cardType=\"object\" class=\"docs-flex-item-margin\">\n <fd-card-header (click)=\"hideContent = !hideContent\" bodyClick style=\"border-bottom: none\">\n <fd-card-main-header>\n <fd-avatar\n image=\"http://picsum.photos/id/1018/400\"\n [circle]=\"true\"\n size=\"s\"\n ariaLabel=\"avatar image\"\n title=\"avatar image\"\n ></fd-avatar>\n <h2 fd-card-title>\n <div style=\"display: flex; column-gap: 1.275rem\">\n <span>\u0631\u0627\u0647\u0628\u0631 \u0633\u06CC\u0633\u062A\u0645</span>\n <fd-object-attribute style=\"direction: ltr\">\u062E\u0648\u0627\u0646\u062F\u0647 \u062F\u0631: 1402/12/28 14:20 </fd-object-attribute>\n <span fd-object-status status=\"negative\" label=\"\u062E\u06CC\u0644\u06CC \u0645\u0647\u0645\" aria-label=\"\u062E\u06CC\u0644\u06CC \u0645\u0647\u0645\"></span>\n </div>\n <div style=\"position: absolute; left: 1.2rem; top: 50%\"><fd-icon [glyph]=\"'attachment'\"></fd-icon></div>\n </h2>\n\n <h3 fd-card-subtitle>\n @if (hideContent) {\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n } @if (!hideContent) {\n <ng-container *ngTemplateOutlet=\"toTpl\"></ng-container>\n }\n </h3>\n @if (hideContent) {\n <span fd-card-counter><div style=\"direction: ltr\">1402/12/28 14:20</div> </span>\n } @if (!hideContent) {\n <span\n fd-card-counter\n ulvContextMenu\n [menuItems]=\"contextMenuItems\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n ></span>\n }\n </fd-card-main-header>\n </fd-card-header>\n @if (!hideContent) {\n <fd-card-content>\n <ng-container *ngTemplateOutlet=\"attachmentsTpl\"></ng-container>\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n </fd-card-content>\n }\n</fd-card>\n\n<ng-template #contentTpl>\n <div style=\"padding-top: 0.5rem; margin-top: 1rem; border-top: 1px solid #ccc\" [innerHtml]=\"content\"></div>\n</ng-template>\n\n<ng-template #toTpl>\n <div>To: \u0645\u0646</div>\n <div>Cc: \u0645\u0646</div>\n</ng-template>\n<ng-template #attachmentsTpl>\n <div class=\"file-viewer-attachments\">\n @for (file of mo.F5.Files; track file) { @if (!file.IsDeleted) {\n <bsu-file-viewer-popover\n [file]=\"file\"\n [files]=\"mo.F5.Files\"\n [deviceSize]=\"deviceSize\"\n [canDownload]=\"true\"\n [disableRemove]=\"true\"\n [fdType]=\"'transparent'\"\n ></bsu-file-viewer-popover>\n } }\n </div>\n @if (mo.F5.Files.length > 1) {\n <button\n fd-button\n [fdType]=\"'transparent'\"\n [label]=\"'Download' | bbbTranslate: 'All'\"\n [glyph]=\"'download'\"\n downloadFiles\n [files]=\"mo.F5.Files\"\n ></button>\n }\n</ng-template>\n", styles: [":host{display:block;width:100%;height:100%;padding-bottom:.5rem}\n"] }]
|
|
30
|
-
}] });
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtY2FyZC1yb3ctcGF5YW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtY2FyZC1yb3ctcGF5YW0vYmFyc2EtY2FyZC1yb3ctcGF5YW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtY2FyZC1yb3ctcGF5YW0vYmFyc2EtY2FyZC1yb3ctcGF5YW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUczRSxPQUFPLEVBQUUsMEJBQTBCLEVBQXVCLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFPdkYsTUFBTSxPQUFPLDBCQUEyQixTQUFRLDBCQUEwQjtJQU4xRTs7UUFPSSxnQkFBVyxHQUFHLEtBQUssQ0FBQztLQVN2QjtJQU5HLFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLHVCQUF1QixDQUNyRCwrRkFBK0YsQ0FDbEcsQ0FBQztJQUNOLENBQUM7K0dBVFEsMEJBQTBCO21HQUExQiwwQkFBMEIsdUZDVnZDLCtuR0E4RUE7OzRGRHBFYSwwQkFBMEI7a0JBTnRDLFNBQVM7K0JBQ0ksMEJBQTBCLG1CQUduQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcblxyXG5pbXBvcnQgeyBCYXNlVmlld0l0ZW1Qcm9wc0NvbXBvbmVudCwgTWV0YW9iamVjdERhdGFNb2RlbCB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JzdS1iYXJzYS1jYXJkLXJvdy1wYXlhbScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vYmFyc2EtY2FyZC1yb3ctcGF5YW0uY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vYmFyc2EtY2FyZC1yb3ctcGF5YW0uY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCYXJzYUNhcmRSb3dQYXlhbUNvbXBvbmVudCBleHRlbmRzIEJhc2VWaWV3SXRlbVByb3BzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIGhpZGVDb250ZW50ID0gZmFsc2U7XHJcbiAgICBjb250ZW50OiBTYWZlSHRtbDtcclxuICAgIHBhcmFtZXRlcnM6IEJhcnNhQ2FyZFJvd1BheWFtO1xyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICB0aGlzLmNvbnRlbnQgPSB0aGlzLl9kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoXHJcbiAgICAgICAgICAgIGA8ZGl2IHN0eWxlPVwiY29sb3I6YmxhY2s7Zm9udC1zaXplOjEycHQ7Zm9udC1mYW1pbHk6Q2FsaWJyaSxIZWx2ZXRpY2Esc2Fucy1zZXJpZjtcIj5va2trazwvZGl2PmBcclxuICAgICAgICApO1xyXG4gICAgfVxyXG59XHJcbmludGVyZmFjZSBCYXJzYUNhcmRSb3dQYXlhbSBleHRlbmRzIE1ldGFvYmplY3REYXRhTW9kZWwge1xyXG4gICAgRmllbGRUaXRsZTogc3RyaW5nO1xyXG4gICAgRmllbGREYXRlVGltZUxlZnQ6IHN0cmluZztcclxuICAgIEZpZWxkRGF0ZVRpbWVSaWdodDogc3RyaW5nO1xyXG4gICAgU2hvd0F0dGFjaG1lbnRzOiBib29sZWFuO1xyXG4gICAgRmllbGRBdHRhY2htZW50czogc3RyaW5nO1xyXG59XHJcbiIsIjxmZC1jYXJkIGNhcmRUeXBlPVwib2JqZWN0XCIgY2xhc3M9XCJkb2NzLWZsZXgtaXRlbS1tYXJnaW5cIj5cbiAgICA8ZmQtY2FyZC1oZWFkZXIgKGNsaWNrKT1cImhpZGVDb250ZW50ID0gIWhpZGVDb250ZW50XCIgYm9keUNsaWNrIHN0eWxlPVwiYm9yZGVyLWJvdHRvbTogbm9uZVwiPlxuICAgICAgICA8ZmQtY2FyZC1tYWluLWhlYWRlcj5cbiAgICAgICAgICAgIDxmZC1hdmF0YXJcbiAgICAgICAgICAgICAgICBpbWFnZT1cImh0dHA6Ly9waWNzdW0ucGhvdG9zL2lkLzEwMTgvNDAwXCJcbiAgICAgICAgICAgICAgICBbY2lyY2xlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgICAgICBhcmlhTGFiZWw9XCJhdmF0YXIgaW1hZ2VcIlxuICAgICAgICAgICAgICAgIHRpdGxlPVwiYXZhdGFyIGltYWdlXCJcbiAgICAgICAgICAgID48L2ZkLWF2YXRhcj5cbiAgICAgICAgICAgIDxoMiBmZC1jYXJkLXRpdGxlPlxuICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBjb2x1bW4tZ2FwOiAxLjI3NXJlbVwiPlxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj7Ysdin2YfYqNixINiz24zYs9iq2YU8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxmZC1vYmplY3QtYXR0cmlidXRlIHN0eWxlPVwiZGlyZWN0aW9uOiBsdHJcIj7YrtmI2KfZhtiv2Ycg2K/YsTogMTQwMi8xMi8yOCAxNDoyMCA8L2ZkLW9iamVjdC1hdHRyaWJ1dGU+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGZkLW9iamVjdC1zdGF0dXMgc3RhdHVzPVwibmVnYXRpdmVcIiBsYWJlbD1cItiu24zZhNuMINmF2YfZhVwiIGFyaWEtbGFiZWw9XCLYrtuM2YTbjCDZhdmH2YVcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cInBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMS4ycmVtOyB0b3A6IDUwJVwiPjxmZC1pY29uIFtnbHlwaF09XCInYXR0YWNobWVudCdcIj48L2ZkLWljb24+PC9kaXY+XG4gICAgICAgICAgICA8L2gyPlxuXG4gICAgICAgICAgICA8aDMgZmQtY2FyZC1zdWJ0aXRsZT5cbiAgICAgICAgICAgICAgICBAaWYgKGhpZGVDb250ZW50KSB7XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRUcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICB9IEBpZiAoIWhpZGVDb250ZW50KSB7XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRvVHBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9oMz5cbiAgICAgICAgICAgIEBpZiAoaGlkZUNvbnRlbnQpIHtcbiAgICAgICAgICAgIDxzcGFuIGZkLWNhcmQtY291bnRlcj48ZGl2IHN0eWxlPVwiZGlyZWN0aW9uOiBsdHJcIj4xNDAyLzEyLzI4IDE0OjIwPC9kaXY+IDwvc3Bhbj5cbiAgICAgICAgICAgIH0gQGlmICghaGlkZUNvbnRlbnQpIHtcbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgZmQtY2FyZC1jb3VudGVyXG4gICAgICAgICAgICAgICAgdWx2Q29udGV4dE1lbnVcbiAgICAgICAgICAgICAgICBbbWVudUl0ZW1zXT1cImNvbnRleHRNZW51SXRlbXNcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudV09XCJkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudVwiXG4gICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2ZkLWNhcmQtbWFpbi1oZWFkZXI+XG4gICAgPC9mZC1jYXJkLWhlYWRlcj5cbiAgICBAaWYgKCFoaWRlQ29udGVudCkge1xuICAgIDxmZC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJhdHRhY2htZW50c1RwbFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFRwbFwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZmQtY2FyZC1jb250ZW50PlxuICAgIH1cbjwvZmQtY2FyZD5cblxuPG5nLXRlbXBsYXRlICNjb250ZW50VHBsPlxuICAgIDxkaXYgc3R5bGU9XCJwYWRkaW5nLXRvcDogMC41cmVtOyBtYXJnaW4tdG9wOiAxcmVtOyBib3JkZXItdG9wOiAxcHggc29saWQgI2NjY1wiIFtpbm5lckh0bWxdPVwiY29udGVudFwiPjwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICN0b1RwbD5cbiAgICA8ZGl2PlRvOiDZhdmGPC9kaXY+XG4gICAgPGRpdj5DYzog2YXZhjwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjYXR0YWNobWVudHNUcGw+XG4gICAgPGRpdiBjbGFzcz1cImZpbGUtdmlld2VyLWF0dGFjaG1lbnRzXCI+XG4gICAgICAgIEBmb3IgKGZpbGUgb2YgbW8uRjUuRmlsZXM7IHRyYWNrIGZpbGUpIHsgQGlmICghZmlsZS5Jc0RlbGV0ZWQpIHtcbiAgICAgICAgPGJzdS1maWxlLXZpZXdlci1wb3BvdmVyXG4gICAgICAgICAgICBbZmlsZV09XCJmaWxlXCJcbiAgICAgICAgICAgIFtmaWxlc109XCJtby5GNS5GaWxlc1wiXG4gICAgICAgICAgICBbZGV2aWNlU2l6ZV09XCJkZXZpY2VTaXplXCJcbiAgICAgICAgICAgIFtjYW5Eb3dubG9hZF09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtkaXNhYmxlUmVtb3ZlXT1cInRydWVcIlxuICAgICAgICAgICAgW2ZkVHlwZV09XCIndHJhbnNwYXJlbnQnXCJcbiAgICAgICAgPjwvYnN1LWZpbGUtdmlld2VyLXBvcG92ZXI+XG4gICAgICAgIH0gfVxuICAgIDwvZGl2PlxuICAgIEBpZiAobW8uRjUuRmlsZXMubGVuZ3RoID4gMSkge1xuICAgIDxidXR0b25cbiAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgIFtmZFR5cGVdPVwiJ3RyYW5zcGFyZW50J1wiXG4gICAgICAgIFtsYWJlbF09XCInRG93bmxvYWQnIHwgYmJiVHJhbnNsYXRlOiAnQWxsJ1wiXG4gICAgICAgIFtnbHlwaF09XCInZG93bmxvYWQnXCJcbiAgICAgICAgZG93bmxvYWRGaWxlc1xuICAgICAgICBbZmlsZXNdPVwibW8uRjUuRmlsZXNcIlxuICAgID48L2J1dHRvbj5cbiAgICB9XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, HostBinding } from '@angular/core';
|
|
2
|
-
import { FormBaseComponent, FormPanelService } from 'barsa-novin-ray-core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "../layout-control/layout-control.component";
|
|
5
|
-
import * as i2 from "@angular/common";
|
|
6
|
-
import * as i3 from "barsa-novin-ray-core";
|
|
7
|
-
export class BarsaCartableFormComponent extends FormBaseComponent {
|
|
8
|
-
constructor() {
|
|
9
|
-
super(...arguments);
|
|
10
|
-
this._isSmallDevice = false;
|
|
11
|
-
}
|
|
12
|
-
ngOnInit() {
|
|
13
|
-
this._isSmallDevice = this._isSmalDeviceSize(this._portalService.deviceSize);
|
|
14
|
-
super.ngOnInit();
|
|
15
|
-
this._portalService.deviceSize$.subscribe((c) => {
|
|
16
|
-
const isSmallDevice = this._isSmalDeviceSize(c);
|
|
17
|
-
isSmallDevice !== this._isSmallDevice && (this._isSmallDevice = isSmallDevice) && this._cdr.detectChanges();
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
_isSmalDeviceSize(deviceSize) {
|
|
21
|
-
const isSmallDevice = deviceSize === 's' || deviceSize === 'm' ? true : false;
|
|
22
|
-
const dom = this._el.nativeElement;
|
|
23
|
-
if (isSmallDevice) {
|
|
24
|
-
dom.parentElement?.classList.remove('h_100');
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
dom.parentElement?.classList.add('h_100');
|
|
28
|
-
}
|
|
29
|
-
return isSmallDevice;
|
|
30
|
-
}
|
|
31
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaCartableFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
32
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BarsaCartableFormComponent, selector: "bsu-barsa-cartable-form", host: { properties: { "class.smallDevice": "this._isSmallDevice" } }, providers: [FormPanelService], usesInheritance: true, ngImport: i0, template: "@if (layout94$ | async; as layout94) {\n<div class=\"groups-wrapper\">\n @if ('\u062C\u0633\u062A\u062C\u0648 \u06AF\u0631\u0648\u0647' | controlUi: layout94; as configUi) {\n <bsu-layout-control\n class=\"search-group\"\n [caption]=\"'\u06AF\u0631\u0648\u0647\u0647\u0627\u06CC \u06A9\u0627\u0631\u062A\u0627\u0628\u0644'\"\n [config]=\"configUi\"\n [showLabel]=\"false\"\n ></bsu-layout-control>\n } @if ('\u06AF\u0631\u0648\u0647\u0647\u0627\u06CC \u06A9\u0627\u0631\u062A\u0627\u0628\u0644 \u06A9\u0627\u0631\u0628\u0631' | controlUi: layout94; as configUi) {\n <bsu-layout-control\n class=\"cartable-groups\"\n [caption]=\"'\u06AF\u0631\u0648\u0647\u0647\u0627\u06CC \u06A9\u0627\u0631\u062A\u0627\u0628\u0644'\"\n [config]=\"configUi\"\n [showLabel]=\"false\"\n ></bsu-layout-control>\n }\n</div>\n@if ('\u0631\u062F\u06CC\u0641\u0647\u0627\u06CC \u06A9\u0627\u0631\u062A\u0627\u0628\u0644' | controlUi: layout94; as configUi) {\n<bsu-layout-control\n id=\"items-cartable\"\n class=\"cartable-radif\"\n [caption]=\"'\u0631\u062F\u06CC\u0641\u0647\u0627\u06CC \u06A9\u0627\u0631\u062A\u0627\u0628\u0644'\"\n [config]=\"configUi\"\n [showLabel]=\"false\"\n></bsu-layout-control>\n} }\n", styles: [":host{display:flex;width:100%;height:100%;border:var(--sapList_BorderWidth) solid var(--sapList_BorderColor);background-color:var(--sapBaseColor)}:host.smallDevice{flex-direction:column;min-height:100vh}:host.smallDevice ::ng-deep bnrc-field-ui{margin:unset!important}:host .groups-wrapper{display:flex;flex-direction:column;min-width:280px;max-width:280px;padding:0 2px;border-left:var(--sapList_BorderWidth) solid var(--sapList_BorderColor)}:host .cartable-groups{flex:1}:host.smallDevice .groups-wrapper{flex:unset;width:100%;min-width:100%;max-width:100%}:host.smallDevice .search-group{display:none}:host.smallDevice .cartable-groups{flex:unset}div{flex:1}:host ::ng-deep .viewer-container{min-height:100%!important}:host ::ng-deep .viewer-container fd-layout-panel{box-shadow:none}:host ::ng-deep tbody{border:none!important}:host ::ng-deep bnrc-field-ui{padding:0!important}#items-cartable ::ng-deep bsu-barsa-ulv-main{margin:0!important}#items-cartable ::ng-deep bsu-barsa-ulv-main fd-toolbar{border:none!important}\n"], dependencies: [{ kind: "component", type: i1.LayoutControlComponent, selector: "bsu-layout-control", inputs: ["inlineEdit", "caption", "focusControl", "showLabel", "maxLabelWidth", "hasHorizontalText", "contentDensity", "flex", "RefreshLabel", "SetVisible"], outputs: ["events"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.ControlUiPipe, name: "controlUi" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
33
|
-
}
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaCartableFormComponent, decorators: [{
|
|
35
|
-
type: Component,
|
|
36
|
-
args: [{ selector: 'bsu-barsa-cartable-form', changeDetection: ChangeDetectionStrategy.OnPush, providers: [FormPanelService], template: "@if (layout94$ | async; as layout94) {\n<div class=\"groups-wrapper\">\n @if ('\u062C\u0633\u062A\u062C\u0648 \u06AF\u0631\u0648\u0647' | controlUi: layout94; as configUi) {\n <bsu-layout-control\n class=\"search-group\"\n [caption]=\"'\u06AF\u0631\u0648\u0647\u0647\u0627\u06CC \u06A9\u0627\u0631\u062A\u0627\u0628\u0644'\"\n [config]=\"configUi\"\n [showLabel]=\"false\"\n ></bsu-layout-control>\n } @if ('\u06AF\u0631\u0648\u0647\u0647\u0627\u06CC \u06A9\u0627\u0631\u062A\u0627\u0628\u0644 \u06A9\u0627\u0631\u0628\u0631' | controlUi: layout94; as configUi) {\n <bsu-layout-control\n class=\"cartable-groups\"\n [caption]=\"'\u06AF\u0631\u0648\u0647\u0647\u0627\u06CC \u06A9\u0627\u0631\u062A\u0627\u0628\u0644'\"\n [config]=\"configUi\"\n [showLabel]=\"false\"\n ></bsu-layout-control>\n }\n</div>\n@if ('\u0631\u062F\u06CC\u0641\u0647\u0627\u06CC \u06A9\u0627\u0631\u062A\u0627\u0628\u0644' | controlUi: layout94; as configUi) {\n<bsu-layout-control\n id=\"items-cartable\"\n class=\"cartable-radif\"\n [caption]=\"'\u0631\u062F\u06CC\u0641\u0647\u0627\u06CC \u06A9\u0627\u0631\u062A\u0627\u0628\u0644'\"\n [config]=\"configUi\"\n [showLabel]=\"false\"\n></bsu-layout-control>\n} }\n", styles: [":host{display:flex;width:100%;height:100%;border:var(--sapList_BorderWidth) solid var(--sapList_BorderColor);background-color:var(--sapBaseColor)}:host.smallDevice{flex-direction:column;min-height:100vh}:host.smallDevice ::ng-deep bnrc-field-ui{margin:unset!important}:host .groups-wrapper{display:flex;flex-direction:column;min-width:280px;max-width:280px;padding:0 2px;border-left:var(--sapList_BorderWidth) solid var(--sapList_BorderColor)}:host .cartable-groups{flex:1}:host.smallDevice .groups-wrapper{flex:unset;width:100%;min-width:100%;max-width:100%}:host.smallDevice .search-group{display:none}:host.smallDevice .cartable-groups{flex:unset}div{flex:1}:host ::ng-deep .viewer-container{min-height:100%!important}:host ::ng-deep .viewer-container fd-layout-panel{box-shadow:none}:host ::ng-deep tbody{border:none!important}:host ::ng-deep bnrc-field-ui{padding:0!important}#items-cartable ::ng-deep bsu-barsa-ulv-main{margin:0!important}#items-cartable ::ng-deep bsu-barsa-ulv-main fd-toolbar{border:none!important}\n"] }]
|
|
37
|
-
}], propDecorators: { _isSmallDevice: [{
|
|
38
|
-
type: HostBinding,
|
|
39
|
-
args: ['class.smallDevice']
|
|
40
|
-
}] } });
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtY2FydGFibGUtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi9iYXJzYS1jYXJ0YWJsZS1mb3JtL2JhcnNhLWNhcnRhYmxlLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtY2FydGFibGUtZm9ybS9iYXJzYS1jYXJ0YWJsZS1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBeUIsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7QUFTbEcsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGlCQUFpQjtJQVBqRTs7UUFRc0MsbUJBQWMsR0FBRyxLQUFLLENBQUM7S0FvQjVEO0lBbEJHLFFBQVE7UUFDSixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdFLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUF3QixFQUFFLEVBQUU7WUFDbkUsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hELGFBQWEsS0FBSyxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxhQUFhLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ2hILENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNTLGlCQUFpQixDQUFDLFVBQWlDO1FBQ3pELE1BQU0sYUFBYSxHQUFHLFVBQVUsS0FBSyxHQUFHLElBQUksVUFBVSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDOUUsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUE0QixDQUFDO1FBQ2xELElBQUksYUFBYSxFQUFFLENBQUM7WUFDaEIsR0FBRyxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pELENBQUM7YUFBTSxDQUFDO1lBQ0osR0FBRyxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFDRCxPQUFPLGFBQWEsQ0FBQztJQUN6QixDQUFDOytHQXBCUSwwQkFBMEI7bUdBQTFCLDBCQUEwQix3SEFGeEIsQ0FBQyxnQkFBZ0IsQ0FBQyxpRENSakMsbXdDQTJCQTs7NEZEakJhLDBCQUEwQjtrQkFQdEMsU0FBUzsrQkFDSSx5QkFBeUIsbUJBR2xCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxnQkFBZ0IsQ0FBQzs4QkFHSyxjQUFjO3NCQUEvQyxXQUFXO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CYXNlQ29tcG9uZW50LCBGb3JtUGFuZWxTZXJ2aWNlLCBBYmJyZXZhdGlvbkRldmljZVNpemUgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYnN1LWJhcnNhLWNhcnRhYmxlLWZvcm0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9iYXJzYS1jYXJ0YWJsZS1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9iYXJzYS1jYXJ0YWJsZS1mb3JtLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbRm9ybVBhbmVsU2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgQmFyc2FDYXJ0YWJsZUZvcm1Db21wb25lbnQgZXh0ZW5kcyBGb3JtQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zbWFsbERldmljZScpIF9pc1NtYWxsRGV2aWNlID0gZmFsc2U7XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faXNTbWFsbERldmljZSA9IHRoaXMuX2lzU21hbERldmljZVNpemUodGhpcy5fcG9ydGFsU2VydmljZS5kZXZpY2VTaXplKTtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5fcG9ydGFsU2VydmljZS5kZXZpY2VTaXplJC5zdWJzY3JpYmUoKGM6IEFiYnJldmF0aW9uRGV2aWNlU2l6ZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaXNTbWFsbERldmljZSA9IHRoaXMuX2lzU21hbERldmljZVNpemUoYyk7XG4gICAgICAgICAgICBpc1NtYWxsRGV2aWNlICE9PSB0aGlzLl9pc1NtYWxsRGV2aWNlICYmICh0aGlzLl9pc1NtYWxsRGV2aWNlID0gaXNTbWFsbERldmljZSkgJiYgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfaXNTbWFsRGV2aWNlU2l6ZShkZXZpY2VTaXplOiBBYmJyZXZhdGlvbkRldmljZVNpemUpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgaXNTbWFsbERldmljZSA9IGRldmljZVNpemUgPT09ICdzJyB8fCBkZXZpY2VTaXplID09PSAnbScgPyB0cnVlIDogZmFsc2U7XG4gICAgICAgIGNvbnN0IGRvbSA9IHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgIGlmIChpc1NtYWxsRGV2aWNlKSB7XG4gICAgICAgICAgICBkb20ucGFyZW50RWxlbWVudD8uY2xhc3NMaXN0LnJlbW92ZSgnaF8xMDAnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGRvbS5wYXJlbnRFbGVtZW50Py5jbGFzc0xpc3QuYWRkKCdoXzEwMCcpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpc1NtYWxsRGV2aWNlO1xuICAgIH1cbn1cbiIsIkBpZiAobGF5b3V0OTQkIHwgYXN5bmM7IGFzIGxheW91dDk0KSB7XG48ZGl2IGNsYXNzPVwiZ3JvdXBzLXdyYXBwZXJcIj5cbiAgICBAaWYgKCfYrNiz2KrYrNmIINqv2LHZiNmHJyB8IGNvbnRyb2xVaTogbGF5b3V0OTQ7IGFzIGNvbmZpZ1VpKSB7XG4gICAgPGJzdS1sYXlvdXQtY29udHJvbFxuICAgICAgICBjbGFzcz1cInNlYXJjaC1ncm91cFwiXG4gICAgICAgIFtjYXB0aW9uXT1cIifar9ix2YjZh9mH2KfbjCDaqdin2LHYqtin2KjZhCdcIlxuICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1VpXCJcbiAgICAgICAgW3Nob3dMYWJlbF09XCJmYWxzZVwiXG4gICAgPjwvYnN1LWxheW91dC1jb250cm9sPlxuICAgIH0gQGlmICgn2q/YsdmI2YfZh9in24wg2qnYp9ix2KrYp9io2YQg2qnYp9ix2KjYsScgfCBjb250cm9sVWk6IGxheW91dDk0OyBhcyBjb25maWdVaSkge1xuICAgIDxic3UtbGF5b3V0LWNvbnRyb2xcbiAgICAgICAgY2xhc3M9XCJjYXJ0YWJsZS1ncm91cHNcIlxuICAgICAgICBbY2FwdGlvbl09XCIn2q/YsdmI2YfZh9in24wg2qnYp9ix2KrYp9io2YQnXCJcbiAgICAgICAgW2NvbmZpZ109XCJjb25maWdVaVwiXG4gICAgICAgIFtzaG93TGFiZWxdPVwiZmFsc2VcIlxuICAgID48L2JzdS1sYXlvdXQtY29udHJvbD5cbiAgICB9XG48L2Rpdj5cbkBpZiAoJ9ix2K/bjNmB2YfYp9uMINqp2KfYsdiq2KfYqNmEJyB8IGNvbnRyb2xVaTogbGF5b3V0OTQ7IGFzIGNvbmZpZ1VpKSB7XG48YnN1LWxheW91dC1jb250cm9sXG4gICAgaWQ9XCJpdGVtcy1jYXJ0YWJsZVwiXG4gICAgY2xhc3M9XCJjYXJ0YWJsZS1yYWRpZlwiXG4gICAgW2NhcHRpb25dPVwiJ9ix2K/bjNmB2YfYp9uMINqp2KfYsdiq2KfYqNmEJ1wiXG4gICAgW2NvbmZpZ109XCJjb25maWdVaVwiXG4gICAgW3Nob3dMYWJlbF09XCJmYWxzZVwiXG4+PC9ic3UtbGF5b3V0LWNvbnRyb2w+XG59IH1cbiJdfQ==
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
-
import { BarsaApi } from 'barsa-novin-ray-core';
|
|
3
|
-
import { RichTextStaticComponent } from '../rich-text-static/rich-text-static.component';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class BarsaCartableTemplateComponent extends RichTextStaticComponent {
|
|
6
|
-
ngOnInit() {
|
|
7
|
-
this.relatedMo = BarsaApi.Ext.decode(this.mo.SerializedRelatedMo);
|
|
8
|
-
super.ngOnInit();
|
|
9
|
-
}
|
|
10
|
-
get moContext() {
|
|
11
|
-
return this.relatedMo;
|
|
12
|
-
}
|
|
13
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaCartableTemplateComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
14
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BarsaCartableTemplateComponent, selector: "bsu-barsa-cartable-template", inputs: { parameters: "parameters", mo: "mo" }, usesInheritance: true, ngImport: i0, template: "<div [innerHtml]=\"text\"></div>\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
15
|
-
}
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaCartableTemplateComponent, decorators: [{
|
|
17
|
-
type: Component,
|
|
18
|
-
args: [{ selector: 'bsu-barsa-cartable-template', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [innerHtml]=\"text\"></div>\n" }]
|
|
19
|
-
}], propDecorators: { parameters: [{
|
|
20
|
-
type: Input
|
|
21
|
-
}], mo: [{
|
|
22
|
-
type: Input
|
|
23
|
-
}] } });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtY2FydGFibGUtdGVtcGxhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtY2FydGFibGUtdGVtcGxhdGUvYmFyc2EtY2FydGFibGUtdGVtcGxhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtY2FydGFibGUtdGVtcGxhdGUvYmFyc2EtY2FydGFibGUtdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFbEYsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQzs7QUFRekYsTUFBTSxPQUFPLDhCQUErQixTQUFRLHVCQUF1QjtJQUt2RSxRQUFRO1FBQ0osSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDbEUsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxJQUFjLFNBQVM7UUFDbkIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7K0dBWFEsOEJBQThCO21HQUE5Qiw4QkFBOEIsMElDWDNDLG9DQUNBOzs0RkRVYSw4QkFBOEI7a0JBTjFDLFNBQVM7K0JBQ0ksNkJBQTZCLG1CQUd0Qix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEVBQUU7c0JBQVYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQmFyc2FBcGksIE1ldGFvYmplY3REYXRhTW9kZWwgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5pbXBvcnQgeyBSaWNoVGV4dFN0YXRpY0NvbXBvbmVudCB9IGZyb20gJy4uL3JpY2gtdGV4dC1zdGF0aWMvcmljaC10ZXh0LXN0YXRpYy5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JzdS1iYXJzYS1jYXJ0YWJsZS10ZW1wbGF0ZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2JhcnNhLWNhcnRhYmxlLXRlbXBsYXRlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9iYXJzYS1jYXJ0YWJsZS10ZW1wbGF0ZS5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEJhcnNhQ2FydGFibGVUZW1wbGF0ZUNvbXBvbmVudCBleHRlbmRzIFJpY2hUZXh0U3RhdGljQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKSBwYXJhbWV0ZXJzOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xuICAgIEBJbnB1dCgpIG1vOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xuICAgIHRleHQ6IHN0cmluZztcbiAgICByZWxhdGVkTW86IE1ldGFvYmplY3REYXRhTW9kZWw7XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVsYXRlZE1vID0gQmFyc2FBcGkuRXh0LmRlY29kZSh0aGlzLm1vLlNlcmlhbGl6ZWRSZWxhdGVkTW8pO1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgZ2V0IG1vQ29udGV4dCgpOiBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVsYXRlZE1vO1xuICAgIH1cbn1cbiIsIjxkaXYgW2lubmVySHRtbF09XCJ0ZXh0XCI+PC9kaXY+XG4iXX0=
|
|
@@ -1,242 +0,0 @@
|
|
|
1
|
-
import { Component, Input, signal } from '@angular/core';
|
|
2
|
-
import jmoment from 'moment-jalaali';
|
|
3
|
-
import { animate, style, transition, trigger } from '@angular/animations';
|
|
4
|
-
import { FormBaseComponent, FormPanelService, BarsaApi } from 'barsa-novin-ray-core';
|
|
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/avatar";
|
|
9
|
-
import * as i4 from "@fundamental-ngx/core/button";
|
|
10
|
-
import * as i5 from "@fundamental-ngx/core/feed-input";
|
|
11
|
-
import * as i6 from "@fundamental-ngx/core/form";
|
|
12
|
-
import * as i7 from "@fundamental-ngx/core/icon";
|
|
13
|
-
import * as i8 from "@fundamental-ngx/core/popover";
|
|
14
|
-
import * as i9 from "../layout-control/layout-control.component";
|
|
15
|
-
import * as i10 from "../barsa-chat-content/barsa-chat-content.component";
|
|
16
|
-
import * as i11 from "../barsa-chat-thread/barsa-chat-thread.component";
|
|
17
|
-
import * as i12 from "../barsa-chat-threads-list/barsa-chat-threads-list.component";
|
|
18
|
-
import * as i13 from "../barsa-chat-threads-list-toolbar/barsa-chat-threads-list-toolbar.component";
|
|
19
|
-
import * as i14 from "../barsa-chat-content-toolbar/barsa-chat-content-toolbar.component";
|
|
20
|
-
export class BarsaChatComponent extends FormBaseComponent {
|
|
21
|
-
constructor() {
|
|
22
|
-
super(...arguments);
|
|
23
|
-
this.simple = true;
|
|
24
|
-
this.randomNameArr = 'علی حسن حسین تقی نقی محمد مهدی جاوید محمدرضا کریم هوشنگ پیمان'.split(' ');
|
|
25
|
-
this.randomFamilyArr = 'کریمی حسینی زارعی تقوی کاظمی قنبری نبویان افشار رادمند محمدی'.split(' ');
|
|
26
|
-
this.randomTextArr = ('لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ، و با استفاده از طراحان' +
|
|
27
|
-
' گرافیک است، چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است، و برای شرایط' +
|
|
28
|
-
' فعلی تکنولوژی مورد نیاز، و کاربردهای متنوع با هدف بهبود ابزارهای کاربردی می باشد، کتابهای' +
|
|
29
|
-
' زیادی در شصت و سه درصد گذشته حال و آینده، شناخت فراوان جامعه و متخصصان را می طلبد، تا با' +
|
|
30
|
-
' نرم افزارها شناخت بیشتری را برای طراحان رایانه ای علی الخصوص طراحان خلاقی، و فرهنگ پیشرو' +
|
|
31
|
-
' در زبان فارسی ایجاد کرد، در این صورت می توان امید داشت که تمام و دشواری موجود در ارائه' +
|
|
32
|
-
' راهکارها، و شرایط سخت تایپ به پایان رسد و زمان مورد نیاز شامل حروفچینی دستاوردهای اصلی،' +
|
|
33
|
-
' و جوابگوی سوالات پیوسته اهل دنیای موجود طراحی اساسا مورد استفاده قرار گیرد.').split(' ');
|
|
34
|
-
this.threads = Array(20)
|
|
35
|
-
.fill(null)
|
|
36
|
-
.map((t) => ({
|
|
37
|
-
id: Math.random() * 1000,
|
|
38
|
-
title: this.randomNameArr[Math.floor(this.randomNameArr.length * Math.random())] +
|
|
39
|
-
' ' +
|
|
40
|
-
this.randomFamilyArr[Math.floor(this.randomFamilyArr.length * Math.random())],
|
|
41
|
-
avatar: 'https://picsum.photos/100?workAround=' + Math.floor(Math.random() * 100),
|
|
42
|
-
status: Math.floor(Math.random() * 4),
|
|
43
|
-
lastActivity: this.randomDate(new Date('2024-03-03'), new Date()),
|
|
44
|
-
unreadCount: Math.round(Math.random()) ? 1 + Math.floor(Math.random() * 20) : 0,
|
|
45
|
-
pinned: !!Math.round(Math.random()),
|
|
46
|
-
muted: !!Math.round(Math.random()),
|
|
47
|
-
lastMessage: {
|
|
48
|
-
id: Math.random() * 1000,
|
|
49
|
-
owner: {
|
|
50
|
-
id: 1234,
|
|
51
|
-
avatar: 'https://picsum.photos/100?workAround=' + Math.floor(Math.random() * 100),
|
|
52
|
-
name: 'مهدی زارعی'
|
|
53
|
-
},
|
|
54
|
-
text: this.shuffle(this.randomTextArr.slice(0, 1 + Math.floor(this.randomTextArr.length * Math.random()))).join(' '),
|
|
55
|
-
createdAt: new Date()
|
|
56
|
-
.toTimeString()
|
|
57
|
-
.split(' ')[0]
|
|
58
|
-
.split(':')
|
|
59
|
-
.slice(0, 2)
|
|
60
|
-
.map((s) => s.padStart(2, '0'))
|
|
61
|
-
.join(':'),
|
|
62
|
-
deliveredAt: new Date()
|
|
63
|
-
.toTimeString()
|
|
64
|
-
.split(' ')[0]
|
|
65
|
-
.split(':')
|
|
66
|
-
.slice(0, 2)
|
|
67
|
-
.map((s) => s.padStart(2, '0'))
|
|
68
|
-
.join(':'),
|
|
69
|
-
readAt: new Date()
|
|
70
|
-
.toTimeString()
|
|
71
|
-
.split(' ')[0]
|
|
72
|
-
.split(':')
|
|
73
|
-
.slice(0, 2)
|
|
74
|
-
.map((s) => s.padStart(2, '0'))
|
|
75
|
-
.join(':')
|
|
76
|
-
}
|
|
77
|
-
}));
|
|
78
|
-
this.moment = jmoment;
|
|
79
|
-
this.selectedThread = signal(null);
|
|
80
|
-
this.messages = signal(null);
|
|
81
|
-
this.replyingMessage = signal(null);
|
|
82
|
-
this._newMessageText = '';
|
|
83
|
-
}
|
|
84
|
-
onTextChange($event) {
|
|
85
|
-
this._newMessageText = $event.target.value;
|
|
86
|
-
}
|
|
87
|
-
ngOnInit() {
|
|
88
|
-
super.ngOnInit();
|
|
89
|
-
document.body.classList.add('chat-mode');
|
|
90
|
-
this.selectThread(this.threads[0]);
|
|
91
|
-
}
|
|
92
|
-
ngOnDestroy() {
|
|
93
|
-
document.body.classList.remove('chat-mode');
|
|
94
|
-
}
|
|
95
|
-
scrollToBottom(force = false, instant = false) {
|
|
96
|
-
const container = (this._el?.nativeElement).querySelector('#chatContentElement');
|
|
97
|
-
if (force || (container && container.scrollTopMax - container.scrollTop < 300)) {
|
|
98
|
-
setTimeout(() => container?.scrollTo({
|
|
99
|
-
top: container.scrollHeight,
|
|
100
|
-
behavior: instant ? 'instant' : 'smooth'
|
|
101
|
-
}));
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
sendMessage() {
|
|
105
|
-
if (this._newMessageText?.trim().length) {
|
|
106
|
-
BarsaApi.Bw.RunBlMethodAsync({});
|
|
107
|
-
this.messages?.set([
|
|
108
|
-
...this.messages(),
|
|
109
|
-
{
|
|
110
|
-
id: Math.random() * 1000,
|
|
111
|
-
owner: {
|
|
112
|
-
id: 1234,
|
|
113
|
-
avatar: 'https://picsum.photos/100?workAround=' + Math.floor(Math.random() * 100),
|
|
114
|
-
name: 'مهدی زارعی'
|
|
115
|
-
},
|
|
116
|
-
text: this._newMessageText,
|
|
117
|
-
createdAt: new Date(),
|
|
118
|
-
deliveredAt: new Date(),
|
|
119
|
-
readAt: new Date()
|
|
120
|
-
}
|
|
121
|
-
]);
|
|
122
|
-
this._newMessageText = '';
|
|
123
|
-
const inputMessage = document.getElementById('chat-textarea');
|
|
124
|
-
if (inputMessage) {
|
|
125
|
-
inputMessage.focus();
|
|
126
|
-
inputMessage.innerText = '';
|
|
127
|
-
}
|
|
128
|
-
this.scrollToBottom(true);
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
addAttachment() { }
|
|
132
|
-
selectThread(thread) {
|
|
133
|
-
this.selectedThread.set(thread);
|
|
134
|
-
this.messages.set(Array(40)
|
|
135
|
-
.fill(null)
|
|
136
|
-
.map((t) => {
|
|
137
|
-
const ownerUser = Math.round(Math.random());
|
|
138
|
-
const messageType = Math.random();
|
|
139
|
-
const hasText = Math.round(Math.random());
|
|
140
|
-
const imgOriginalWidth = Math.floor(Math.random() * 200) + 200;
|
|
141
|
-
const imgOriginalHeight = Math.floor(Math.random() * 200) + 200;
|
|
142
|
-
return {
|
|
143
|
-
id: Math.random() * 1000,
|
|
144
|
-
owner: {
|
|
145
|
-
id: ownerUser ? 1234 : 4321,
|
|
146
|
-
avatar: 'https://picsum.photos/100?workAround=' + Math.floor(Math.random() * 100),
|
|
147
|
-
name: ownerUser ? 'مهدی زارعی' : thread.title
|
|
148
|
-
},
|
|
149
|
-
text: (messageType > 0.5 && hasText) || messageType <= 0.5
|
|
150
|
-
? this.shuffle(this.randomTextArr.slice(0, 1 +
|
|
151
|
-
Math.floor((messageType > 0.5 ? 30 : this.randomTextArr.length) * Math.random()))).join(' ')
|
|
152
|
-
: undefined,
|
|
153
|
-
file: messageType > 0.85
|
|
154
|
-
? {
|
|
155
|
-
name: 'یک عدد فایل',
|
|
156
|
-
ext: ['png', 'jpg', 'pdf', 'docs', 'csv'][Math.floor(Math.random() * 5)],
|
|
157
|
-
size: Math.round(Math.random() * 100) +
|
|
158
|
-
' ' +
|
|
159
|
-
['بایت', 'کیلوبایت', 'مگابایت'][Math.floor(Math.random() * 3)]
|
|
160
|
-
}
|
|
161
|
-
: undefined,
|
|
162
|
-
image: messageType <= 0.85 && messageType > 0.5
|
|
163
|
-
? {
|
|
164
|
-
name: 'یک عدد عکس',
|
|
165
|
-
url: `https://picsum.photos/${Math.floor(Math.random() * 2000)}/${Math.floor(Math.random() * 2000)}?workAround=${Math.floor(Math.random() * 100)}`,
|
|
166
|
-
originalWidth: imgOriginalWidth,
|
|
167
|
-
originalHeight: imgOriginalHeight
|
|
168
|
-
}
|
|
169
|
-
: undefined,
|
|
170
|
-
createdAt: this.randomDate(new Date('2024-03-03'), new Date()),
|
|
171
|
-
deliveredAt: new Date(),
|
|
172
|
-
readAt: new Date()
|
|
173
|
-
};
|
|
174
|
-
})
|
|
175
|
-
.sort((a, b) => a.createdAt.getTime() - b.createdAt.getTime()));
|
|
176
|
-
setTimeout(() => this.scrollToBottom(true, true));
|
|
177
|
-
}
|
|
178
|
-
randomDate(start, end) {
|
|
179
|
-
return new Date(start.getTime() + Math.random() * (end.getTime() - start.getTime()));
|
|
180
|
-
}
|
|
181
|
-
shuffle(array) {
|
|
182
|
-
let currentIndex = array.length;
|
|
183
|
-
let randomIndex = 1;
|
|
184
|
-
while (currentIndex > 0) {
|
|
185
|
-
randomIndex = Math.floor(Math.random() * currentIndex);
|
|
186
|
-
currentIndex--;
|
|
187
|
-
[array[currentIndex], array[randomIndex]] = [array[randomIndex], array[currentIndex]];
|
|
188
|
-
}
|
|
189
|
-
return array;
|
|
190
|
-
}
|
|
191
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaChatComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
192
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BarsaChatComponent, selector: "bsu-barsa-chat", inputs: { simple: "simple" }, providers: [FormPanelService], usesInheritance: true, ngImport: i0, template: "<div\n class=\"tw-flex tw-w-full tw-bg-gradient-to-r tw-from-[#5d6e7f] tw-to-[#354a5f] dark:tw-from-[#253443] dark:tw-to-[#10161c]\"\n fillEmptySpace\n [class.tw-h-screen]=\"!simple\"\n [class.tw-justify-center]=\"simple\"\n>\n @if (!simple) {\n <div class=\"tw-bg-black/[.3] 2xl:tw-grow tw-shrink tw-h-full\"></div>\n }\n <div\n class=\"tw-h-full tw-flex 2xl:tw-container max-w-[80rem] tw-shrink-0 tw-relative\"\n [ngClass]=\"{\n 'tw-grow 2xl:tw-grow-0': !simple,\n 'tw-w-full': simple\n }\"\n >\n @if (!simple) {\n <div class=\"tw-grow-0 tw-shrink-0 tw-w-full md:tw-w-96 tw-p-0 md:tw-p-6\">\n <div\n class=\"tw-flex tw-flex-col tw-w-full tw-h-full tw-overflow-hidden tw-border-l tw-border-l-gray-300 md:tw-rounded-2xl md:tw-border md:tw-border-l-gray-300 md:tw-border-gray-300 dark:tw-border-l-gray-600 md:dark:tw-border-l-gray-600 md:dark:tw-border-gray-600\"\n >\n <bsu-barsa-chat-threads-list-toolbar></bsu-barsa-chat-threads-list-toolbar>\n <bsu-barsa-chat-threads-list>\n @for (thread of threads; track thread.id) {\n <bsu-barsa-chat-thread [thread]=\"thread\" (click)=\"selectThread(thread)\"></bsu-barsa-chat-thread>\n }\n </bsu-barsa-chat-threads-list>\n </div>\n </div>\n } @else {\n <div\n class=\"tw-absolute tw-top-0 tw-left-0 tw-w-full tw-h-full tw-bg-[url('assets/chat-bg.png')] tw-bg-fixed tw-opacity-25\"\n ></div>\n }\n <div\n class=\"tw-grow tw-shrink tw-relative\"\n [ngClass]=\"{\n 'md:tw-py-6 md:tw-pl-6 tw-hidden md:tw-flex': !simple,\n 'tw-flex': simple\n }\"\n >\n @if (selectedThread()) {\n <div\n @inContentAnimation\n class=\"tw-h-full tw-w-full tw-flex tw-flex-col tw-relative md:tw-border-gray-300 md:dark:tw-border-gray-600 tw-overflow-hidden\"\n [ngClass]=\"{\n 'md:tw-border md:tw-rounded-2xl': !simple\n }\"\n >\n <bsu-barsa-chat-content-toolbar\n [title]=\"selectedThread().title\"\n [subtitle]=\"'\u0645\u062D\u0645\u062F \u0645\u062D\u0645\u062F\u06CC'\"\n [avatar]=\"selectedThread().avatar\"\n [status]=\"selectedThread().status\"\n ></bsu-barsa-chat-content-toolbar>\n <bsu-barsa-chat-content id=\"chat-container\">\n @if(layout94$ | async;as layout94){ @if ('\u0644\u06CC\u0633\u062A \u06AF\u0641\u062A\u06AF\u0648' | controlUi: layout94; as configUi) {\n <bsu-layout-control [config]=\"configUi\"></bsu-layout-control>\n } }\n </bsu-barsa-chat-content>\n <div\n class=\"tw-w-full\"\n [ngClass]=\"{\n 'tw-relative': !simple,\n '2xl:tw-rounded-t-xl tw-grow-0 tw-shrink-0': simple\n }\"\n >\n @if (replyingMessage()) {\n <div\n @inOutReplyingMessage\n class=\"tw-w-full tw-px-2 tw-py-1 tw-border-r-4 tw-border-r-bubble-mine tw-flex tw-gap-2 te-items-center tw-absolute tw-z-0 tw-bg-default tw-right-0 -tw-top-14\"\n >\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"decline\"\n class=\"tw-grow-0 tw-shrink-0\"\n (click)=\"replyingMessage.set(null)\"\n ></button>\n <div class=\"tw-flex tw-flex-col tw-grow tw-shrink tw-overflow-hidden\">\n <span class=\"tw-font-bold\">{{ replyingMessage().owner.name }}</span>\n <span class=\"tw-truncate\">{{\n replyingMessage().text ?? replyingMessage().file?.name ?? replyingMessage().image?.name\n }}</span>\n </div>\n <div class=\"tw-w-8 tw-shrink-0 tw-grow-0\"></div>\n </div>\n }\n <div\n class=\"tw-w-full tw-p-2 tw-flex tw-gap-2 tw-border-t tw-border-t-gray-300 dark:tw-border-t-gray-600 tw-bg-default tw-items-end tw-z-10\"\n >\n <fd-popover placement=\"top-start\" title=\"top-start\">\n <fd-popover-control>\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"attachment\"\n class=\"!tw-rounded-full tw-shrink-0 tw-grow-0 !tw-size-10 !tw-min-h-10 !tw-max-h-10 !tw-min-w-10 !tw-max-w-10\"\n (click)=\"addAttachment()\"\n ></button>\n </fd-popover-control>\n <fd-popover-body minWidth=\"10rem\">\n <div class=\"tw-flex tw-flex-col tw-bg-default tw-w-full\" bodyClick>\n <label\n class=\"tw-px-4 tw-py-2 tw-flex tw-gap-2 tw-w-full hover:tw-bg-base/[.1] tw-transition-all tw-cursor-pointer\"\n >\n <fd-icon class=\"!tw-text-base !tw-text-3xl\" glyph=\"camera\"></fd-icon>\n <span class=\"!tw-text-base\">\u0627\u0631\u0633\u0627\u0644 \u0639\u06A9\u0633</span>\n <input class=\"tw-hidden\" type=\"file\" id=\"img\" name=\"img\" accept=\"image/*\" />\n </label>\n <label\n class=\"tw-px-4 tw-py-2 tw-flex tw-gap-2 tw-w-full hover:tw-bg-base/[.1] tw-transition-all tw-cursor-pointer\"\n >\n <fd-icon class=\"!tw-text-base !tw-text-3xl\" glyph=\"add-document\"></fd-icon>\n <span class=\"!tw-text-base\">\u0627\u0631\u0633\u0627\u0644 \u0641\u0627\u06CC\u0644</span>\n <input class=\"tw-hidden\" type=\"file\" id=\"file\" name=\"file\" accept=\"file/*\" />\n </label>\n </div>\n </fd-popover-body>\n </fd-popover>\n <div class=\"tw-inline-flex tw-relative tw-grow tw-shrink\">\n <fd-feed-input [attr.aria-label]=\"'\u0645\u062A\u0646 \u067E\u06CC\u0627\u0645'\" class=\"tw-flex-1\">\n <fd-avatar\n fdFeedInputAvatar\n size=\"s\"\n [label]=\"'\u0631\u0627\u0647\u0628\u0631'\"\n [image]=\"''\"\n [placeholder]=\"true\"\n ></fd-avatar>\n <textarea\n id=\"chat-textarea\"\n fd-form-control\n fdFeedInputTextarea\n placeholder=\"\u0645\u062A\u0646 \u067E\u06CC\u0627\u0645\"\n [fdFeedInputTextareaMaxRows]=\"2\"\n (input)=\"onTextChange($event)\"\n ></textarea>\n <button\n fdFeedInputButton\n [attr.aria-label]=\"'Send' | bbbTranslate\"\n [title]=\"'Send' | bbbTranslate\"\n (click)=\"sendMessage()\"\n ></button>\n </fd-feed-input>\n </div>\n </div>\n </div>\n </div>\n } @else {\n <div\n class=\"tw-absolute tw-top-1/2 -tw-translate-y-1/2 tw-left-1/2 -tw-translate-x-1/2 tw-flex tw-flex-col tw-gap-8 tw-items-center\"\n >\n <img src=\"assets/not-selected-chat.png\" class=\"tw-w-64 tw-opacity-25\" />\n <!-- <span class=\"tw-text-xl tw-font-bold tw-text-gray-400 dark:tw-text-gray-500\">-->\n <!-- \u0628\u0631\u0627\u06CC \u0634\u0631\u0648\u0639 \u06CC\u06A9 \u0686\u062A \u0631\u0627 \u0627\u0646\u062A\u062E\u0627\u0628 \u06A9\u0646\u06CC\u062F-->\n <!-- </span>-->\n </div>\n }\n </div>\n </div>\n @if (!simple) {\n <div class=\"tw-bg-black/[.3] 2xl:tw-grow tw-shrink tw-h-full\"></div>\n }\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.FillEmptySpaceDirective, selector: "[fillEmptySpace]", inputs: ["containerDom", "decrement", "disable", "height", "dontUseTopBound", "setMinHeight"], exportAs: ["fillEmptySpace"] }, { kind: "directive", type: i2.BodyClickDirective, selector: "[bodyClick]", inputs: ["disableBodyClick"] }, { kind: "component", type: i3.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "font", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "colorIndication", "random", "clickable", "valueState", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5.FeedInputComponent, selector: "fd-feed-input", inputs: ["disabled"] }, { kind: "directive", type: i5.FeedInputTextareaDirective, selector: "[fdFeedInputTextarea]", inputs: ["fdFeedInputTextareaMaxRows"], outputs: ["valueChange"] }, { kind: "directive", type: i5.FeedInputButtonDirective, selector: "[fdFeedInputButton]" }, { kind: "directive", type: i5.FeedInputAvatarDirective, selector: "[fdFeedInputAvatar]", inputs: ["class", "placeholder"] }, { kind: "component", type: i6.FormControlComponent, selector: "input[fd-form-control], textarea[fd-form-control]", inputs: ["state", "type", "class", "ariaLabel", "ariaLabelledBy"] }, { kind: "component", type: i7.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: i8.PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: i8.PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "component", type: i8.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }, { kind: "component", type: i9.LayoutControlComponent, selector: "bsu-layout-control", inputs: ["inlineEdit", "caption", "focusControl", "showLabel", "maxLabelWidth", "hasHorizontalText", "contentDensity", "flex", "RefreshLabel", "SetVisible"], outputs: ["events"] }, { kind: "component", type: i10.BarsaChatContentComponent, selector: "bsu-barsa-chat-content" }, { kind: "component", type: i11.BarsaChatThreadComponent, selector: "bsu-barsa-chat-thread", inputs: ["thread"] }, { kind: "component", type: i12.BarsaChatThreadsListComponent, selector: "bsu-barsa-chat-threads-list" }, { kind: "component", type: i13.BarsaChatThreadsListToolbarComponent, selector: "bsu-barsa-chat-threads-list-toolbar" }, { kind: "component", type: i14.BarsaChatContentToolbarComponent, selector: "bsu-barsa-chat-content-toolbar", inputs: ["avatar", "title", "subtitle", "status"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: i2.ControlUiPipe, name: "controlUi" }], animations: [
|
|
193
|
-
trigger('inContentAnimation', [
|
|
194
|
-
transition(':enter', [
|
|
195
|
-
style({ opacity: 0, transform: 'scale(50%, 50%)' }),
|
|
196
|
-
animate('300ms ease-out', style({ opacity: 1, transform: 'scale(100%, 100%)' }))
|
|
197
|
-
]),
|
|
198
|
-
transition(':leave', [
|
|
199
|
-
style({ opacity: 1, transform: 'scale(100%, 100%)' }),
|
|
200
|
-
animate('300ms ease-in', style({ opacity: 0, transform: 'scale(50%, 50%)' }))
|
|
201
|
-
])
|
|
202
|
-
]),
|
|
203
|
-
trigger('inOutReplyingMessage', [
|
|
204
|
-
transition(':enter', [
|
|
205
|
-
style({ opacity: 0, transform: 'translateY(50%)' }),
|
|
206
|
-
animate('300ms ease-out', style({ opacity: 1, transform: 'translateY(0)' }))
|
|
207
|
-
]),
|
|
208
|
-
transition(':leave', [
|
|
209
|
-
style({ opacity: 1, transform: 'translateY(0)' }),
|
|
210
|
-
animate('300ms ease-in', style({ opacity: 0, transform: 'translateY(50%)' }))
|
|
211
|
-
])
|
|
212
|
-
])
|
|
213
|
-
] }); }
|
|
214
|
-
}
|
|
215
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaChatComponent, decorators: [{
|
|
216
|
-
type: Component,
|
|
217
|
-
args: [{ selector: 'bsu-barsa-chat', providers: [FormPanelService], animations: [
|
|
218
|
-
trigger('inContentAnimation', [
|
|
219
|
-
transition(':enter', [
|
|
220
|
-
style({ opacity: 0, transform: 'scale(50%, 50%)' }),
|
|
221
|
-
animate('300ms ease-out', style({ opacity: 1, transform: 'scale(100%, 100%)' }))
|
|
222
|
-
]),
|
|
223
|
-
transition(':leave', [
|
|
224
|
-
style({ opacity: 1, transform: 'scale(100%, 100%)' }),
|
|
225
|
-
animate('300ms ease-in', style({ opacity: 0, transform: 'scale(50%, 50%)' }))
|
|
226
|
-
])
|
|
227
|
-
]),
|
|
228
|
-
trigger('inOutReplyingMessage', [
|
|
229
|
-
transition(':enter', [
|
|
230
|
-
style({ opacity: 0, transform: 'translateY(50%)' }),
|
|
231
|
-
animate('300ms ease-out', style({ opacity: 1, transform: 'translateY(0)' }))
|
|
232
|
-
]),
|
|
233
|
-
transition(':leave', [
|
|
234
|
-
style({ opacity: 1, transform: 'translateY(0)' }),
|
|
235
|
-
animate('300ms ease-in', style({ opacity: 0, transform: 'translateY(50%)' }))
|
|
236
|
-
])
|
|
237
|
-
])
|
|
238
|
-
], template: "<div\n class=\"tw-flex tw-w-full tw-bg-gradient-to-r tw-from-[#5d6e7f] tw-to-[#354a5f] dark:tw-from-[#253443] dark:tw-to-[#10161c]\"\n fillEmptySpace\n [class.tw-h-screen]=\"!simple\"\n [class.tw-justify-center]=\"simple\"\n>\n @if (!simple) {\n <div class=\"tw-bg-black/[.3] 2xl:tw-grow tw-shrink tw-h-full\"></div>\n }\n <div\n class=\"tw-h-full tw-flex 2xl:tw-container max-w-[80rem] tw-shrink-0 tw-relative\"\n [ngClass]=\"{\n 'tw-grow 2xl:tw-grow-0': !simple,\n 'tw-w-full': simple\n }\"\n >\n @if (!simple) {\n <div class=\"tw-grow-0 tw-shrink-0 tw-w-full md:tw-w-96 tw-p-0 md:tw-p-6\">\n <div\n class=\"tw-flex tw-flex-col tw-w-full tw-h-full tw-overflow-hidden tw-border-l tw-border-l-gray-300 md:tw-rounded-2xl md:tw-border md:tw-border-l-gray-300 md:tw-border-gray-300 dark:tw-border-l-gray-600 md:dark:tw-border-l-gray-600 md:dark:tw-border-gray-600\"\n >\n <bsu-barsa-chat-threads-list-toolbar></bsu-barsa-chat-threads-list-toolbar>\n <bsu-barsa-chat-threads-list>\n @for (thread of threads; track thread.id) {\n <bsu-barsa-chat-thread [thread]=\"thread\" (click)=\"selectThread(thread)\"></bsu-barsa-chat-thread>\n }\n </bsu-barsa-chat-threads-list>\n </div>\n </div>\n } @else {\n <div\n class=\"tw-absolute tw-top-0 tw-left-0 tw-w-full tw-h-full tw-bg-[url('assets/chat-bg.png')] tw-bg-fixed tw-opacity-25\"\n ></div>\n }\n <div\n class=\"tw-grow tw-shrink tw-relative\"\n [ngClass]=\"{\n 'md:tw-py-6 md:tw-pl-6 tw-hidden md:tw-flex': !simple,\n 'tw-flex': simple\n }\"\n >\n @if (selectedThread()) {\n <div\n @inContentAnimation\n class=\"tw-h-full tw-w-full tw-flex tw-flex-col tw-relative md:tw-border-gray-300 md:dark:tw-border-gray-600 tw-overflow-hidden\"\n [ngClass]=\"{\n 'md:tw-border md:tw-rounded-2xl': !simple\n }\"\n >\n <bsu-barsa-chat-content-toolbar\n [title]=\"selectedThread().title\"\n [subtitle]=\"'\u0645\u062D\u0645\u062F \u0645\u062D\u0645\u062F\u06CC'\"\n [avatar]=\"selectedThread().avatar\"\n [status]=\"selectedThread().status\"\n ></bsu-barsa-chat-content-toolbar>\n <bsu-barsa-chat-content id=\"chat-container\">\n @if(layout94$ | async;as layout94){ @if ('\u0644\u06CC\u0633\u062A \u06AF\u0641\u062A\u06AF\u0648' | controlUi: layout94; as configUi) {\n <bsu-layout-control [config]=\"configUi\"></bsu-layout-control>\n } }\n </bsu-barsa-chat-content>\n <div\n class=\"tw-w-full\"\n [ngClass]=\"{\n 'tw-relative': !simple,\n '2xl:tw-rounded-t-xl tw-grow-0 tw-shrink-0': simple\n }\"\n >\n @if (replyingMessage()) {\n <div\n @inOutReplyingMessage\n class=\"tw-w-full tw-px-2 tw-py-1 tw-border-r-4 tw-border-r-bubble-mine tw-flex tw-gap-2 te-items-center tw-absolute tw-z-0 tw-bg-default tw-right-0 -tw-top-14\"\n >\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"decline\"\n class=\"tw-grow-0 tw-shrink-0\"\n (click)=\"replyingMessage.set(null)\"\n ></button>\n <div class=\"tw-flex tw-flex-col tw-grow tw-shrink tw-overflow-hidden\">\n <span class=\"tw-font-bold\">{{ replyingMessage().owner.name }}</span>\n <span class=\"tw-truncate\">{{\n replyingMessage().text ?? replyingMessage().file?.name ?? replyingMessage().image?.name\n }}</span>\n </div>\n <div class=\"tw-w-8 tw-shrink-0 tw-grow-0\"></div>\n </div>\n }\n <div\n class=\"tw-w-full tw-p-2 tw-flex tw-gap-2 tw-border-t tw-border-t-gray-300 dark:tw-border-t-gray-600 tw-bg-default tw-items-end tw-z-10\"\n >\n <fd-popover placement=\"top-start\" title=\"top-start\">\n <fd-popover-control>\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"attachment\"\n class=\"!tw-rounded-full tw-shrink-0 tw-grow-0 !tw-size-10 !tw-min-h-10 !tw-max-h-10 !tw-min-w-10 !tw-max-w-10\"\n (click)=\"addAttachment()\"\n ></button>\n </fd-popover-control>\n <fd-popover-body minWidth=\"10rem\">\n <div class=\"tw-flex tw-flex-col tw-bg-default tw-w-full\" bodyClick>\n <label\n class=\"tw-px-4 tw-py-2 tw-flex tw-gap-2 tw-w-full hover:tw-bg-base/[.1] tw-transition-all tw-cursor-pointer\"\n >\n <fd-icon class=\"!tw-text-base !tw-text-3xl\" glyph=\"camera\"></fd-icon>\n <span class=\"!tw-text-base\">\u0627\u0631\u0633\u0627\u0644 \u0639\u06A9\u0633</span>\n <input class=\"tw-hidden\" type=\"file\" id=\"img\" name=\"img\" accept=\"image/*\" />\n </label>\n <label\n class=\"tw-px-4 tw-py-2 tw-flex tw-gap-2 tw-w-full hover:tw-bg-base/[.1] tw-transition-all tw-cursor-pointer\"\n >\n <fd-icon class=\"!tw-text-base !tw-text-3xl\" glyph=\"add-document\"></fd-icon>\n <span class=\"!tw-text-base\">\u0627\u0631\u0633\u0627\u0644 \u0641\u0627\u06CC\u0644</span>\n <input class=\"tw-hidden\" type=\"file\" id=\"file\" name=\"file\" accept=\"file/*\" />\n </label>\n </div>\n </fd-popover-body>\n </fd-popover>\n <div class=\"tw-inline-flex tw-relative tw-grow tw-shrink\">\n <fd-feed-input [attr.aria-label]=\"'\u0645\u062A\u0646 \u067E\u06CC\u0627\u0645'\" class=\"tw-flex-1\">\n <fd-avatar\n fdFeedInputAvatar\n size=\"s\"\n [label]=\"'\u0631\u0627\u0647\u0628\u0631'\"\n [image]=\"''\"\n [placeholder]=\"true\"\n ></fd-avatar>\n <textarea\n id=\"chat-textarea\"\n fd-form-control\n fdFeedInputTextarea\n placeholder=\"\u0645\u062A\u0646 \u067E\u06CC\u0627\u0645\"\n [fdFeedInputTextareaMaxRows]=\"2\"\n (input)=\"onTextChange($event)\"\n ></textarea>\n <button\n fdFeedInputButton\n [attr.aria-label]=\"'Send' | bbbTranslate\"\n [title]=\"'Send' | bbbTranslate\"\n (click)=\"sendMessage()\"\n ></button>\n </fd-feed-input>\n </div>\n </div>\n </div>\n </div>\n } @else {\n <div\n class=\"tw-absolute tw-top-1/2 -tw-translate-y-1/2 tw-left-1/2 -tw-translate-x-1/2 tw-flex tw-flex-col tw-gap-8 tw-items-center\"\n >\n <img src=\"assets/not-selected-chat.png\" class=\"tw-w-64 tw-opacity-25\" />\n <!-- <span class=\"tw-text-xl tw-font-bold tw-text-gray-400 dark:tw-text-gray-500\">-->\n <!-- \u0628\u0631\u0627\u06CC \u0634\u0631\u0648\u0639 \u06CC\u06A9 \u0686\u062A \u0631\u0627 \u0627\u0646\u062A\u062E\u0627\u0628 \u06A9\u0646\u06CC\u062F-->\n <!-- </span>-->\n </div>\n }\n </div>\n </div>\n @if (!simple) {\n <div class=\"tw-bg-black/[.3] 2xl:tw-grow tw-shrink tw-h-full\"></div>\n }\n</div>\n" }]
|
|
239
|
-
}], propDecorators: { simple: [{
|
|
240
|
-
type: Input
|
|
241
|
-
}] } });
|
|
242
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtY2hhdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi9iYXJzYS1jaGF0L2JhcnNhLWNoYXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtY2hhdC9iYXJzYS1jaGF0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sT0FBTyxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUE4QnJGLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxpQkFBaUI7SUE1QnpEOztRQTZCYSxXQUFNLEdBQUcsSUFBSSxDQUFDO1FBRXZCLGtCQUFhLEdBQUcsK0RBQStELENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNGLG9CQUFlLEdBQUcsOERBQThELENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVGLGtCQUFhLEdBQUcsQ0FDWixtRkFBbUY7WUFDbkYsK0ZBQStGO1lBQy9GLDRGQUE0RjtZQUM1RiwyRkFBMkY7WUFDM0YsMkZBQTJGO1lBQzNGLHlGQUF5RjtZQUN6RiwwRkFBMEY7WUFDMUYsOEVBQThFLENBQ2pGLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2IsWUFBTyxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7YUFDZCxJQUFJLENBQUMsSUFB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QUM7NkJBQ25GLENBQUM7NEJBQ0YsVUFBVSxDQUFDLFFBQVEsRUFBRTtnQ0FDakIsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQztnQ0FDckQsT0FBTyxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUM7NkJBQ2hGLENBQUM7eUJBQ0wsQ0FBQzt3QkFDRixPQUFPLENBQUMsc0JBQXNCLEVBQUU7NEJBQzVCLFVBQVUsQ0FBQyxRQUFRLEVBQUU7Z0NBQ2pCLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLENBQUM7Z0NBQ25ELE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDOzZCQUMvRSxDQUFDOzRCQUNGLFVBQVUsQ0FBQyxRQUFRLEVBQUU7Z0NBQ2pCLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxDQUFDO2dDQUNqRCxPQUFPLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQzs2QkFDaEYsQ0FBQzt5QkFDTCxDQUFDO3FCQUNMOzhCQUdRLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBzaWduYWwsIFdyaXRhYmxlU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgam1vbWVudCBmcm9tICdtb21lbnQtamFsYWFsaSc7XG5pbXBvcnQgeyBhbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgRm9ybUJhc2VDb21wb25lbnQsIEZvcm1QYW5lbFNlcnZpY2UsIEJhcnNhQXBpIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JzdS1iYXJzYS1jaGF0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYmFyc2EtY2hhdC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL2JhcnNhLWNoYXQuY29tcG9uZW50LmNzcycsXG4gICAgcHJvdmlkZXJzOiBbRm9ybVBhbmVsU2VydmljZV0sXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdpbkNvbnRlbnRBbmltYXRpb24nLCBbXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXG4gICAgICAgICAgICAgICAgc3R5bGUoeyBvcGFjaXR5OiAwLCB0cmFuc2Zvcm06ICdzY2FsZSg1MCUsIDUwJSknIH0pLFxuICAgICAgICAgICAgICAgIGFuaW1hdGUoJzMwMG1zIGVhc2Utb3V0Jywgc3R5bGUoeyBvcGFjaXR5OiAxLCB0cmFuc2Zvcm06ICdzY2FsZSgxMDAlLCAxMDAlKScgfSkpXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtcbiAgICAgICAgICAgICAgICBzdHlsZSh7IG9wYWNpdHk6IDEsIHRyYW5zZm9ybTogJ3NjYWxlKDEwMCUsIDEwMCUpJyB9KSxcbiAgICAgICAgICAgICAgICBhbmltYXRlKCczMDBtcyBlYXNlLWluJywgc3R5bGUoeyBvcGFjaXR5OiAwLCB0cmFuc2Zvcm06ICdzY2FsZSg1MCUsIDUwJSknIH0pKVxuICAgICAgICAgICAgXSlcbiAgICAgICAgXSksXG4gICAgICAgIHRyaWdnZXIoJ2luT3V0UmVwbHlpbmdNZXNzYWdlJywgW1xuICAgICAgICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW1xuICAgICAgICAgICAgICAgIHN0eWxlKHsgb3BhY2l0eTogMCwgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSg1MCUpJyB9KSxcbiAgICAgICAgICAgICAgICBhbmltYXRlKCczMDBtcyBlYXNlLW91dCcsIHN0eWxlKHsgb3BhY2l0eTogMSwgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwKScgfSkpXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtcbiAgICAgICAgICAgICAgICBzdHlsZSh7IG9wYWNpdHk6IDEsIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCknIH0pLFxuICAgICAgICAgICAgICAgIGFuaW1hdGUoJzMwMG1zIGVhc2UtaW4nLCBzdHlsZSh7IG9wYWNpdHk6IDAsIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoNTAlKScgfSkpXG4gICAgICAgICAgICBdKVxuICAgICAgICBdKVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgQmFyc2FDaGF0Q29tcG9uZW50IGV4dGVuZHMgRm9ybUJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgc2ltcGxlID0gdHJ1ZTtcblxuICAgIHJhbmRvbU5hbWVBcnIgPSAn2LnZhNuMINit2LPZhiDYrdiz24zZhiDYqtmC24wg2YbZgtuMINmF2K3ZhdivINmF2YfYr9uMINis2KfZiNuM2K8g2YXYrdmF2K/Ysdi22Kcg2qnYsduM2YUg2YfZiNi02YbaryDZvtuM2YXYp9mGJy5zcGxpdCgnICcpO1xuICAgIHJhbmRvbUZhbWlseUFyciA9ICfaqdix24zZhduMINit2LPbjNmG24wg2LLYp9ix2LnbjCDYqtmC2YjbjCDaqdin2LjZhduMINmC2YbYqNix24wg2YbYqNmI24zYp9mGINin2YHYtNin2LEg2LHYp9iv2YXZhtivINmF2K3Zhdiv24wnLnNwbGl0KCcgJyk7XG4gICAgcmFuZG9tVGV4dEFyciA9IChcbiAgICAgICAgJ9mE2YjYsdmFINin24zZvtiz2YjZhSDZhdiq2YYg2LPYp9iu2Krar9uMINio2Kcg2KrZiNmE24zYryDYs9in2K/ar9uMINmG2KfZhdmB2YfZiNmFINin2LIg2LXZhti52Kog2obYp9m+2Iwg2Ygg2KjYpyDYp9iz2KrZgdin2K/ZhyDYp9iyINi32LHYp9it2KfZhicgK1xuICAgICAgICAnINqv2LHYp9mB24zaqSDYp9iz2KrYjCDahtin2b7ar9ix2YfYpyDZiCDZhdiq2YjZhiDYqNmE2qnZhyDYsdmI2LLZhtin2YXZhyDZiCDZhdis2YTZhyDYr9ixINiz2KrZiNmGINmIINiz2LfYsdii2YbahtmG2KfZhiDaqdmHINmE2KfYstmFINin2LPYqtiMINmIINio2LHYp9uMINi02LHYp9uM2LcnICtcbiAgICAgICAgJyDZgdi52YTbjCDYqtqp2YbZiNmE2YjamNuMINmF2YjYsdivINmG24zYp9iy2Iwg2Ygg2qnYp9ix2KjYsdiv2YfYp9uMINmF2KrZhtmI2Lkg2KjYpyDZh9iv2YEg2KjZh9io2YjYryDYp9io2LLYp9ix2YfYp9uMINqp2KfYsdio2LHYr9uMINmF24wg2KjYp9i02K/YjCDaqdiq2KfYqNmH2KfbjCcgK1xuICAgICAgICAnINiy24zYp9iv24wg2K/YsSDYtNi12Kog2Ygg2LPZhyDYr9ix2LXYryDar9iw2LTYqtmHINit2KfZhCDZiCDYotuM2YbYr9mH2Iwg2LTZhtin2K7YqiDZgdix2KfZiNin2YYg2KzYp9mF2LnZhyDZiCDZhdiq2K7Ytdi12KfZhiDYsdinINmF24wg2LfZhNio2K/YjCDYqtinINio2KcnICtcbiAgICAgICAgJyDZhtix2YUg2KfZgdiy2KfYsdmH2Kcg2LTZhtin2K7YqiDYqNuM2LTYqtix24wg2LHYpyDYqNix2KfbjCDYt9ix2KfYrdin2YYg2LHYp9uM2KfZhtmHINin24wg2LnZhNuMINin2YTYrti12YjYtSDYt9ix2KfYrdin2YYg2K7ZhNin2YLbjNiMINmIINmB2LHZh9mG2q8g2b7bjNi02LHZiCcgK1xuICAgICAgICAnINiv2LEg2LLYqNin2YYg2YHYp9ix2LPbjCDYp9uM2KzYp9ivINqp2LHYr9iMINiv2LEg2KfbjNmGINi12YjYsdiqINmF24wg2KrZiNin2YYg2KfZhduM2K8g2K/Yp9i02Kog2qnZhyDYqtmF2KfZhSDZiCDYr9i02YjYp9ix24wg2YXZiNis2YjYryDYr9ixINin2LHYp9im2YcnICtcbiAgICAgICAgJyDYsdin2Yfaqdin2LHZh9in2Iwg2Ygg2LTYsdin24zYtyDYs9iu2Kog2KrYp9uM2b4g2KjZhyDZvtin24zYp9mGINix2LPYryDZiCDYstmF2KfZhiDZhdmI2LHYryDZhtuM2KfYsiDYtNin2YXZhCDYrdix2YjZgdqG24zZhtuMINiv2LPYqtin2YjYsdiv2YfYp9uMINin2LXZhNuM2IwnICtcbiAgICAgICAgJyDZiCDYrNmI2KfYqNqv2YjbjCDYs9mI2KfZhNin2Kog2b7bjNmI2LPYqtmHINin2YfZhCDYr9mG24zYp9uMINmF2YjYrNmI2K8g2LfYsdin2K3bjCDYp9iz2KfYs9inINmF2YjYsdivINin2LPYqtmB2KfYr9mHINmC2LHYp9ixINqv24zYsdivLidcbiAgICApLnNwbGl0KCcgJyk7XG4gICAgdGhyZWFkcyA9IEFycmF5KDIwKVxuICAgICAgICAuZmlsbChudWxsKVxuICAgICAgICAubWFwKCh0KSA9PiAoe1xuICAgICAgICAgICAgaWQ6IE1hdGgucmFuZG9tKCkgKiAxMDAwLFxuICAgICAgICAgICAgdGl0bGU6XG4gICAgICAgICAgICAgICAgdGhpcy5yYW5kb21OYW1lQXJyW01hdGguZmxvb3IodGhpcy5yYW5kb21OYW1lQXJyLmxlbmd0aCAqIE1hdGgucmFuZG9tKCkpXSArXG4gICAgICAgICAgICAgICAgJyAnICtcbiAgICAgICAgICAgICAgICB0aGlzLnJhbmRvbUZhbWlseUFycltNYXRoLmZsb29yKHRoaXMucmFuZG9tRmFtaWx5QXJyLmxlbmd0aCAqIE1hdGgucmFuZG9tKCkpXSxcbiAgICAgICAgICAgIGF2YXRhcjogJ2h0dHBzOi8vcGljc3VtLnBob3Rvcy8xMDA/d29ya0Fyb3VuZD0nICsgTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMTAwKSxcbiAgICAgICAgICAgIHN0YXR1czogTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogNCksXG4gICAgICAgICAgICBsYXN0QWN0aXZpdHk6IHRoaXMucmFuZG9tRGF0ZShuZXcgRGF0ZSgnMjAyNC0wMy0wMycpLCBuZXcgRGF0ZSgpKSxcbiAgICAgICAgICAgIHVucmVhZENvdW50OiBNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkpID8gMSArIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDIwKSA6IDAsXG4gICAgICAgICAgICBwaW5uZWQ6ICEhTWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpKSxcbiAgICAgICAgICAgIG11dGVkOiAhIU1hdGgucm91bmQoTWF0aC5yYW5kb20oKSksXG4gICAgICAgICAgICBsYXN0TWVzc2FnZToge1xuICAgICAgICAgICAgICAgIGlkOiBNYXRoLnJhbmRvbSgpICogMTAwMCxcbiAgICAgICAgICAgICAgICBvd25lcjoge1xuICAgICAgICAgICAgICAgICAgICBpZDogMTIzNCxcbiAgICAgICAgICAgICAgICAgICAgYXZhdGFyOiAnaHR0cHM6Ly9waWNzdW0ucGhvdG9zLzEwMD93b3JrQXJvdW5kPScgKyBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAxMDApLFxuICAgICAgICAgICAgICAgICAgICBuYW1lOiAn2YXZh9iv24wg2LLYp9ix2LnbjCdcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHRleHQ6IHRoaXMuc2h1ZmZsZShcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yYW5kb21UZXh0QXJyLnNsaWNlKDAsIDEgKyBNYXRoLmZsb29yKHRoaXMucmFuZG9tVGV4dEFyci5sZW5ndGggKiBNYXRoLnJhbmRvbSgpKSlcbiAgICAgICAgICAgICAgICApLmpvaW4oJyAnKSxcbiAgICAgICAgICAgICAgICBjcmVhdGVkQXQ6IG5ldyBEYXRlKClcbiAgICAgICAgICAgICAgICAgICAgLnRvVGltZVN0cmluZygpXG4gICAgICAgICAgICAgICAgICAgIC5zcGxpdCgnICcpWzBdXG4gICAgICAgICAgICAgICAgICAgIC5zcGxpdCgnOicpXG4gICAgICAgICAgICAgICAgICAgIC5zbGljZSgwLCAyKVxuICAgICAgICAgICAgICAgICAgICAubWFwKChzKSA9PiBzLnBhZFN0YXJ0KDIsICcwJykpXG4gICAgICAgICAgICAgICAgICAgIC5qb2luKCc6JyksXG4gICAgICAgICAgICAgICAgZGVsaXZlcmVkQXQ6IG5ldyBEYXRlKClcbiAgICAgICAgICAgICAgICAgICAgLnRvVGltZVN0cmluZygpXG4gICAgICAgICAgICAgICAgICAgIC5zcGxpdCgnICcpWzBdXG4gICAgICAgICAgICAgICAgICAgIC5zcGxpdCgnOicpXG4gICAgICAgICAgICAgICAgICAgIC5zbGljZSgwLCAyKVxuICAgICAgICAgICAgICAgICAgICAubWFwKChzKSA9PiBzLnBhZFN0YXJ0KDIsICcwJykpXG4gICAgICAgICAgICAgICAgICAgIC5qb2luKCc6JyksXG4gICAgICAgICAgICAgICAgcmVhZEF0OiBuZXcgRGF0ZSgpXG4gICAgICAgICAgICAgICAgICAgIC50b1RpbWVTdHJpbmcoKVxuICAgICAgICAgICAgICAgICAgICAuc3BsaXQoJyAnKVswXVxuICAgICAgICAgICAgICAgICAgICAuc3BsaXQoJzonKVxuICAgICAgICAgICAgICAgICAgICAuc2xpY2UoMCwgMilcbiAgICAgICAgICAgICAgICAgICAgLm1hcCgocykgPT4gcy5wYWRTdGFydCgyLCAnMCcpKVxuICAgICAgICAgICAgICAgICAgICAuam9pbignOicpXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pKTtcbiAgICBtb21lbnQgPSBqbW9tZW50O1xuICAgIHNlbGVjdGVkVGhyZWFkOiBXcml0YWJsZVNpZ25hbDxhbnkgfCBudWxsPiA9IHNpZ25hbChudWxsKTtcbiAgICBtZXNzYWdlczogV3JpdGFibGVTaWduYWw8YW55W10gfCBudWxsPiA9IHNpZ25hbChudWxsKTtcbiAgICByZXBseWluZ01lc3NhZ2U6IFdyaXRhYmxlU2lnbmFsPGFueSB8IG51bGw+ID0gc2lnbmFsKG51bGwpO1xuICAgIF9uZXdNZXNzYWdlVGV4dCA9ICcnO1xuICAgIG9uVGV4dENoYW5nZSgkZXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbmV3TWVzc2FnZVRleHQgPSAkZXZlbnQudGFyZ2V0LnZhbHVlO1xuICAgIH1cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCdjaGF0LW1vZGUnKTtcbiAgICAgICAgdGhpcy5zZWxlY3RUaHJlYWQodGhpcy50aHJlYWRzWzBdKTtcbiAgICB9XG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgnY2hhdC1tb2RlJyk7XG4gICAgfVxuICAgIHNjcm9sbFRvQm90dG9tKGZvcmNlID0gZmFsc2UsIGluc3RhbnQgPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBjb25zdCBjb250YWluZXIgPSAodGhpcy5fZWw/Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLnF1ZXJ5U2VsZWN0b3IoJyNjaGF0Q29udGVudEVsZW1lbnQnKSBhcyBhbnk7XG4gICAgICAgIGlmIChmb3JjZSB8fCAoY29udGFpbmVyICYmIGNvbnRhaW5lci5zY3JvbGxUb3BNYXggLSBjb250YWluZXIuc2Nyb2xsVG9wIDwgMzAwKSkge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PlxuICAgICAgICAgICAgICAgIGNvbnRhaW5lcj8uc2Nyb2xsVG8oe1xuICAgICAgICAgICAgICAgICAgICB0b3A6IGNvbnRhaW5lci5zY3JvbGxIZWlnaHQsXG4gICAgICAgICAgICAgICAgICAgIGJlaGF2aW9yOiBpbnN0YW50ID8gJ2luc3RhbnQnIDogJ3Ntb290aCdcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBzZW5kTWVzc2FnZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX25ld01lc3NhZ2VUZXh0Py50cmltKCkubGVuZ3RoKSB7XG4gICAgICAgICAgICBCYXJzYUFwaS5Cdy5SdW5CbE1ldGhvZEFzeW5jKHt9KTtcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZXM/LnNldChbXG4gICAgICAgICAgICAgICAgLi4uKHRoaXMubWVzc2FnZXMoKSBhcyBhbnlbXSksXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBpZDogTWF0aC5yYW5kb20oKSAqIDEwMDAsXG4gICAgICAgICAgICAgICAgICAgIG93bmVyOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogMTIzNCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGF2YXRhcjogJ2h0dHBzOi8vcGljc3VtLnBob3Rvcy8xMDA/d29ya0Fyb3VuZD0nICsgTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMTAwKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICfZhdmH2K/bjCDYstin2LHYuduMJ1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB0ZXh0OiB0aGlzLl9uZXdNZXNzYWdlVGV4dCxcbiAgICAgICAgICAgICAgICAgICAgY3JlYXRlZEF0OiBuZXcgRGF0ZSgpLFxuICAgICAgICAgICAgICAgICAgICBkZWxpdmVyZWRBdDogbmV3IERhdGUoKSxcbiAgICAgICAgICAgICAgICAgICAgcmVhZEF0OiBuZXcgRGF0ZSgpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSk7XG4gICAgICAgICAgICB0aGlzLl9uZXdNZXNzYWdlVGV4dCA9ICcnO1xuICAgICAgICAgICAgY29uc3QgaW5wdXRNZXNzYWdlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NoYXQtdGV4dGFyZWEnKTtcbiAgICAgICAgICAgIGlmIChpbnB1dE1lc3NhZ2UpIHtcbiAgICAgICAgICAgICAgICBpbnB1dE1lc3NhZ2UuZm9jdXMoKTtcbiAgICAgICAgICAgICAgICBpbnB1dE1lc3NhZ2UuaW5uZXJUZXh0ID0gJyc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnNjcm9sbFRvQm90dG9tKHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGFkZEF0dGFjaG1lbnQoKTogdm9pZCB7fVxuICAgIHNlbGVjdFRocmVhZCh0aHJlYWQ6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdGVkVGhyZWFkLnNldCh0aHJlYWQpO1xuICAgICAgICB0aGlzLm1lc3NhZ2VzLnNldChcbiAgICAgICAgICAgIEFycmF5KDQwKVxuICAgICAgICAgICAgICAgIC5maWxsKG51bGwpXG4gICAgICAgICAgICAgICAgLm1hcCgodCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBvd25lclVzZXIgPSBNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtZXNzYWdlVHlwZSA9IE1hdGgucmFuZG9tKCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGhhc1RleHQgPSBNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpbWdPcmlnaW5hbFdpZHRoID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMjAwKSArIDIwMDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaW1nT3JpZ2luYWxIZWlnaHQgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAyMDApICsgMjAwO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IE1hdGgucmFuZG9tKCkgKiAxMDAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3duZXI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogb3duZXJVc2VyID8gMTIzNCA6IDQzMjEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXZhdGFyOiAnaHR0cHM6Ly9waWNzdW0ucGhvdG9zLzEwMD93b3JrQXJvdW5kPScgKyBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAxMDApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IG93bmVyVXNlciA/ICfZhdmH2K/bjCDYstin2LHYuduMJyA6IHRocmVhZC50aXRsZVxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1lc3NhZ2VUeXBlID4gMC41ICYmIGhhc1RleHQpIHx8IG1lc3NhZ2VUeXBlIDw9IDAuNVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHRoaXMuc2h1ZmZsZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yYW5kb21UZXh0QXJyLnNsaWNlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1hdGguZmxvb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtZXNzYWdlVHlwZSA+IDAuNSA/IDMwIDogdGhpcy5yYW5kb21UZXh0QXJyLmxlbmd0aCkgKiBNYXRoLnJhbmRvbSgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKS5qb2luKCcgJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxlOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VUeXBlID4gMC44NVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ9uM2qkg2LnYr9ivINmB2KfbjNmEJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0OiBbJ3BuZycsICdqcGcnLCAncGRmJywgJ2RvY3MnLCAnY3N2J11bTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogNSldLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpICogMTAwKSArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyfYqNin24zYqicsICfaqduM2YTZiNio2KfbjNiqJywgJ9mF2q/Yp9io2KfbjNiqJ11bTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMyldXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VUeXBlIDw9IDAuODUgJiYgbWVzc2FnZVR5cGUgPiAwLjVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICfbjNqpINi52K/YryDYudqp2LMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGBodHRwczovL3BpY3N1bS5waG90b3MvJHtNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAyMDAwKX0vJHtNYXRoLmZsb29yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWF0aC5yYW5kb20oKSAqIDIwMDBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX0/d29ya0Fyb3VuZD0ke01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDEwMCl9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luYWxXaWR0aDogaW1nT3JpZ2luYWxXaWR0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luYWxIZWlnaHQ6IGltZ09yaWdpbmFsSGVpZ2h0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZWRBdDogdGhpcy5yYW5kb21EYXRlKG5ldyBEYXRlKCcyMDI0LTAzLTAzJyksIG5ldyBEYXRlKCkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGVsaXZlcmVkQXQ6IG5ldyBEYXRlKCksXG4gICAgICAgICAgICAgICAgICAgICAgICByZWFkQXQ6IG5ldyBEYXRlKClcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5zb3J0KChhLCBiKSA9PiBhLmNyZWF0ZWRBdC5nZXRUaW1lKCkgLSBiLmNyZWF0ZWRBdC5nZXRUaW1lKCkpXG4gICAgICAgICk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zY3JvbGxUb0JvdHRvbSh0cnVlLCB0cnVlKSk7XG4gICAgfVxuICAgIHJhbmRvbURhdGUoc3RhcnQ6IERhdGUsIGVuZDogRGF0ZSk6IERhdGUge1xuICAgICAgICByZXR1cm4gbmV3IERhdGUoc3RhcnQuZ2V0VGltZSgpICsgTWF0aC5yYW5kb20oKSAqIChlbmQuZ2V0VGltZSgpIC0gc3RhcnQuZ2V0VGltZSgpKSk7XG4gICAgfVxuICAgIHNodWZmbGUoYXJyYXk6IHN0cmluZ1tdKTogc3RyaW5nW10ge1xuICAgICAgICBsZXQgY3VycmVudEluZGV4ID0gYXJyYXkubGVuZ3RoO1xuICAgICAgICBsZXQgcmFuZG9tSW5kZXggPSAxO1xuICAgICAgICB3aGlsZSAoY3VycmVudEluZGV4ID4gMCkge1xuICAgICAgICAgICAgcmFuZG9tSW5kZXggPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBjdXJyZW50SW5kZXgpO1xuICAgICAgICAgICAgY3VycmVudEluZGV4LS07XG4gICAgICAgICAgICBbYXJyYXlbY3VycmVudEluZGV4XSwgYXJyYXlbcmFuZG9tSW5kZXhdXSA9IFthcnJheVtyYW5kb21JbmRleF0sIGFycmF5W2N1cnJlbnRJbmRleF1dO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhcnJheTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJ0dy1mbGV4IHR3LXctZnVsbCB0dy1iZy1ncmFkaWVudC10by1yIHR3LWZyb20tWyM1ZDZlN2ZdIHR3LXRvLVsjMzU0YTVmXSBkYXJrOnR3LWZyb20tWyMyNTM0NDNdIGRhcms6dHctdG8tWyMxMDE2MWNdXCJcbiAgICBmaWxsRW1wdHlTcGFjZVxuICAgIFtjbGFzcy50dy1oLXNjcmVlbl09XCIhc2ltcGxlXCJcbiAgICBbY2xhc3MudHctanVzdGlmeS1jZW50ZXJdPVwic2ltcGxlXCJcbj5cbiAgICBAaWYgKCFzaW1wbGUpIHtcbiAgICA8ZGl2IGNsYXNzPVwidHctYmctYmxhY2svWy4zXSAyeGw6dHctZ3JvdyB0dy1zaHJpbmsgdHctaC1mdWxsXCI+PC9kaXY+XG4gICAgfVxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ0dy1oLWZ1bGwgdHctZmxleCAyeGw6dHctY29udGFpbmVyIG1heC13LVs4MHJlbV0gdHctc2hyaW5rLTAgdHctcmVsYXRpdmVcIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAndHctZ3JvdyAyeGw6dHctZ3Jvdy0wJzogIXNpbXBsZSxcbiAgICAgICAgICAgICd0dy13LWZ1bGwnOiBzaW1wbGVcbiAgICAgICAgfVwiXG4gICAgPlxuICAgICAgICBAaWYgKCFzaW1wbGUpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cInR3LWdyb3ctMCB0dy1zaHJpbmstMCB0dy13LWZ1bGwgbWQ6dHctdy05NiB0dy1wLTAgbWQ6dHctcC02XCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0dy1mbGV4IHR3LWZsZXgtY29sIHR3LXctZnVsbCB0dy1oLWZ1bGwgdHctb3ZlcmZsb3ctaGlkZGVuIHR3LWJvcmRlci1sIHR3LWJvcmRlci1sLWdyYXktMzAwIG1kOnR3LXJvdW5kZWQtMnhsIG1kOnR3LWJvcmRlciBtZDp0dy1ib3JkZXItbC1ncmF5LTMwMCBtZDp0dy1ib3JkZXItZ3JheS0zMDAgZGFyazp0dy1ib3JkZXItbC1ncmF5LTYwMCBtZDpkYXJrOnR3LWJvcmRlci1sLWdyYXktNjAwIG1kOmRhcms6dHctYm9yZGVyLWdyYXktNjAwXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8YnN1LWJhcnNhLWNoYXQtdGhyZWFkcy1saXN0LXRvb2xiYXI+PC9ic3UtYmFyc2EtY2hhdC10aHJlYWRzLWxpc3QtdG9vbGJhcj5cbiAgICAgICAgICAgICAgICA8YnN1LWJhcnNhLWNoYXQtdGhyZWFkcy1saXN0PlxuICAgICAgICAgICAgICAgICAgICBAZm9yICh0aHJlYWQgb2YgdGhyZWFkczsgdHJhY2sgdGhyZWFkLmlkKSB7XG4gICAgICAgICAgICAgICAgICAgIDxic3UtYmFyc2EtY2hhdC10aHJlYWQgW3RocmVhZF09XCJ0aHJlYWRcIiAoY2xpY2spPVwic2VsZWN0VGhyZWFkKHRocmVhZClcIj48L2JzdS1iYXJzYS1jaGF0LXRocmVhZD5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvYnN1LWJhcnNhLWNoYXQtdGhyZWFkcy1saXN0PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJ0dy1hYnNvbHV0ZSB0dy10b3AtMCB0dy1sZWZ0LTAgdHctdy1mdWxsIHR3LWgtZnVsbCB0dy1iZy1bdXJsKCdhc3NldHMvY2hhdC1iZy5wbmcnKV0gdHctYmctZml4ZWQgdHctb3BhY2l0eS0yNVwiXG4gICAgICAgID48L2Rpdj5cbiAgICAgICAgfVxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cInR3LWdyb3cgdHctc2hyaW5rIHR3LXJlbGF0aXZlXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAnbWQ6dHctcHktNiBtZDp0dy1wbC02IHR3LWhpZGRlbiBtZDp0dy1mbGV4JzogIXNpbXBsZSxcbiAgICAgICAgICAgICAgICAndHctZmxleCc6IHNpbXBsZVxuICAgICAgICAgICAgfVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIEBpZiAoc2VsZWN0ZWRUaHJlYWQoKSkge1xuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIEBpbkNvbnRlbnRBbmltYXRpb25cbiAgICAgICAgICAgICAgICBjbGFzcz1cInR3LWgtZnVsbCB0dy13LWZ1bGwgdHctZmxleCB0dy1mbGV4LWNvbCB0dy1yZWxhdGl2ZSBtZDp0dy1ib3JkZXItZ3JheS0zMDAgbWQ6ZGFyazp0dy1ib3JkZXItZ3JheS02MDAgdHctb3ZlcmZsb3ctaGlkZGVuXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICdtZDp0dy1ib3JkZXIgbWQ6dHctcm91bmRlZC0yeGwnOiAhc2ltcGxlXG4gICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGJzdS1iYXJzYS1jaGF0LWNvbnRlbnQtdG9vbGJhclxuICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwic2VsZWN0ZWRUaHJlYWQoKS50aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgIFtzdWJ0aXRsZV09XCIn2YXYrdmF2K8g2YXYrdmF2K/bjCdcIlxuICAgICAgICAgICAgICAgICAgICBbYXZhdGFyXT1cInNlbGVjdGVkVGhyZWFkKCkuYXZhdGFyXCJcbiAgICAgICAgICAgICAgICAgICAgW3N0YXR1c109XCJzZWxlY3RlZFRocmVhZCgpLnN0YXR1c1wiXG4gICAgICAgICAgICAgICAgPjwvYnN1LWJhcnNhLWNoYXQtY29udGVudC10b29sYmFyPlxuICAgICAgICAgICAgICAgIDxic3UtYmFyc2EtY2hhdC1jb250ZW50IGlkPVwiY2hhdC1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgQGlmKGxheW91dDk0JCB8IGFzeW5jO2FzIGxheW91dDk0KXsgQGlmICgn2YTbjNiz2Kog2q/Zgdiq2q/ZiCcgfCBjb250cm9sVWk6IGxheW91dDk0OyBhcyBjb25maWdVaSkge1xuICAgICAgICAgICAgICAgICAgICA8YnN1LWxheW91dC1jb250cm9sIFtjb25maWddPVwiY29uZmlnVWlcIj48L2JzdS1sYXlvdXQtY29udHJvbD5cbiAgICAgICAgICAgICAgICAgICAgfSB9XG4gICAgICAgICAgICAgICAgPC9ic3UtYmFyc2EtY2hhdC1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0dy13LWZ1bGxcIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAndHctcmVsYXRpdmUnOiAhc2ltcGxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgJzJ4bDp0dy1yb3VuZGVkLXQteGwgdHctZ3Jvdy0wIHR3LXNocmluay0wJzogc2ltcGxlXG4gICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChyZXBseWluZ01lc3NhZ2UoKSkge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5PdXRSZXBseWluZ01lc3NhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidHctdy1mdWxsIHR3LXB4LTIgdHctcHktMSB0dy1ib3JkZXItci00IHR3LWJvcmRlci1yLWJ1YmJsZS1taW5lIHR3LWZsZXggdHctZ2FwLTIgdGUtaXRlbXMtY2VudGVyIHR3LWFic29sdXRlIHR3LXotMCB0dy1iZy1kZWZhdWx0IHR3LXJpZ2h0LTAgLXR3LXRvcC0xNFwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2x5cGg9XCJkZWNsaW5lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInR3LWdyb3ctMCB0dy1zaHJpbmstMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlcGx5aW5nTWVzc2FnZS5zZXQobnVsbClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInR3LWZsZXggdHctZmxleC1jb2wgdHctZ3JvdyB0dy1zaHJpbmsgdHctb3ZlcmZsb3ctaGlkZGVuXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0dy1mb250LWJvbGRcIj57eyByZXBseWluZ01lc3NhZ2UoKS5vd25lci5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHctdHJ1bmNhdGVcIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXBseWluZ01lc3NhZ2UoKS50ZXh0ID8/IHJlcGx5aW5nTWVzc2FnZSgpLmZpbGU/Lm5hbWUgPz8gcmVwbHlpbmdNZXNzYWdlKCkuaW1hZ2U/Lm5hbWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInR3LXctOCB0dy1zaHJpbmstMCB0dy1ncm93LTBcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0dy13LWZ1bGwgdHctcC0yIHR3LWZsZXggdHctZ2FwLTIgdHctYm9yZGVyLXQgdHctYm9yZGVyLXQtZ3JheS0zMDAgZGFyazp0dy1ib3JkZXItdC1ncmF5LTYwMCB0dy1iZy1kZWZhdWx0IHR3LWl0ZW1zLWVuZCB0dy16LTEwXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGZkLXBvcG92ZXIgcGxhY2VtZW50PVwidG9wLXN0YXJ0XCIgdGl0bGU9XCJ0b3Atc3RhcnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmQtcG9wb3Zlci1jb250cm9sPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdseXBoPVwiYXR0YWNobWVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIiF0dy1yb3VuZGVkLWZ1bGwgdHctc2hyaW5rLTAgdHctZ3Jvdy0wICF0dy1zaXplLTEwICF0dy1taW4taC0xMCAhdHctbWF4LWgtMTAgIXR3LW1pbi13LTEwICF0dy1tYXgtdy0xMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkQXR0YWNobWVudCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmQtcG9wb3Zlci1jb250cm9sPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1wb3BvdmVyLWJvZHkgbWluV2lkdGg9XCIxMHJlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHctZmxleCB0dy1mbGV4LWNvbCB0dy1iZy1kZWZhdWx0IHR3LXctZnVsbFwiIGJvZHlDbGljaz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidHctcHgtNCB0dy1weS0yIHR3LWZsZXggdHctZ2FwLTIgdHctdy1mdWxsIGhvdmVyOnR3LWJnLWJhc2UvWy4xXSB0dy10cmFuc2l0aW9uLWFsbCB0dy1jdXJzb3ItcG9pbnRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkLWljb24gY2xhc3M9XCIhdHctdGV4dC1iYXNlICF0dy10ZXh0LTN4bFwiIGdseXBoPVwiY2FtZXJhXCI+PC9mZC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiIXR3LXRleHQtYmFzZVwiPtin2LHYs9in2YQg2LnaqdizPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cInR3LWhpZGRlblwiIHR5cGU9XCJmaWxlXCIgaWQ9XCJpbWdcIiBuYW1lPVwiaW1nXCIgYWNjZXB0PVwiaW1hZ2UvKlwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0dy1weC00IHR3LXB5LTIgdHctZmxleCB0dy1nYXAtMiB0dy13LWZ1bGwgaG92ZXI6dHctYmctYmFzZS9bLjFdIHR3LXRyYW5zaXRpb24tYWxsIHR3LWN1cnNvci1wb2ludGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmQtaWNvbiBjbGFzcz1cIiF0dy10ZXh0LWJhc2UgIXR3LXRleHQtM3hsXCIgZ2x5cGg9XCJhZGQtZG9jdW1lbnRcIj48L2ZkLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCIhdHctdGV4dC1iYXNlXCI+2KfYsdiz2KfZhCDZgdin24zZhDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJ0dy1oaWRkZW5cIiB0eXBlPVwiZmlsZVwiIGlkPVwiZmlsZVwiIG5hbWU9XCJmaWxlXCIgYWNjZXB0PVwiZmlsZS8qXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmQtcG9wb3Zlci1ib2R5PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9mZC1wb3BvdmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInR3LWlubGluZS1mbGV4IHR3LXJlbGF0aXZlIHR3LWdyb3cgdHctc2hyaW5rXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkLWZlZWQtaW5wdXQgW2F0dHIuYXJpYS1sYWJlbF09XCIn2YXYqtmGINm+24zYp9mFJ1wiIGNsYXNzPVwidHctZmxleC0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1hdmF0YXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkRmVlZElucHV0QXZhdGFyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ9ix2KfZh9io2LEnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbWFnZV09XCInJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2ZkLWF2YXRhcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRleHRhcmVhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cImNoYXQtdGV4dGFyZWFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmQtZm9ybS1jb250cm9sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZEZlZWRJbnB1dFRleHRhcmVhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cItmF2KrZhiDZvtuM2KfZhVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmRGZWVkSW5wdXRUZXh0YXJlYU1heFJvd3NdPVwiMlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaW5wdXQpPVwib25UZXh0Q2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC90ZXh0YXJlYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmRGZWVkSW5wdXRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1NlbmQnIHwgYmJiVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCInU2VuZCcgfCBiYmJUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbmRNZXNzYWdlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9mZC1mZWVkLWlucHV0PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cInR3LWFic29sdXRlIHR3LXRvcC0xLzIgLXR3LXRyYW5zbGF0ZS15LTEvMiB0dy1sZWZ0LTEvMiAtdHctdHJhbnNsYXRlLXgtMS8yIHR3LWZsZXggdHctZmxleC1jb2wgdHctZ2FwLTggdHctaXRlbXMtY2VudGVyXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImFzc2V0cy9ub3Qtc2VsZWN0ZWQtY2hhdC5wbmdcIiBjbGFzcz1cInR3LXctNjQgdHctb3BhY2l0eS0yNVwiIC8+XG4gICAgICAgICAgICAgICAgPCEtLSAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHctdGV4dC14bCB0dy1mb250LWJvbGQgdHctdGV4dC1ncmF5LTQwMCBkYXJrOnR3LXRleHQtZ3JheS01MDBcIj4tLT5cbiAgICAgICAgICAgICAgICA8IS0tICAgICAgICAgICAgICAgINio2LHYp9uMINi02LHZiNi5INuM2qkg2obYqiDYsdinINin2YbYqtiu2KfYqCDaqdmG24zYry0tPlxuICAgICAgICAgICAgICAgIDwhLS0gICAgICAgICAgICA8L3NwYW4+LS0+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgQGlmICghc2ltcGxlKSB7XG4gICAgPGRpdiBjbGFzcz1cInR3LWJnLWJsYWNrL1suM10gMnhsOnR3LWdyb3cgdHctc2hyaW5rIHR3LWgtZnVsbFwiPjwvZGl2PlxuICAgIH1cbjwvZGl2PlxuIl19
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export var ThreadStatus;
|
|
2
|
-
(function (ThreadStatus) {
|
|
3
|
-
ThreadStatus[ThreadStatus["LastSeen"] = 0] = "LastSeen";
|
|
4
|
-
ThreadStatus[ThreadStatus["Offline"] = 1] = "Offline";
|
|
5
|
-
ThreadStatus[ThreadStatus["Online"] = 2] = "Online";
|
|
6
|
-
ThreadStatus[ThreadStatus["Busy"] = 3] = "Busy";
|
|
7
|
-
})(ThreadStatus || (ThreadStatus = {}));
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL2JhcnNhLWNoYXQvY2hhdC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5QkEsTUFBTSxDQUFOLElBQVksWUFLWDtBQUxELFdBQVksWUFBWTtJQUNwQix1REFBUSxDQUFBO0lBQ1IscURBQU8sQ0FBQTtJQUNQLG1EQUFNLENBQUE7SUFDTiwrQ0FBSSxDQUFBO0FBQ1IsQ0FBQyxFQUxXLFlBQVksS0FBWixZQUFZLFFBS3ZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmlsZUF0dGFjaG1lbnRJbmZvLCBGaWxlUGljdHVyZUluZm9Nb2RlbCB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcblxuZXhwb3J0IHR5cGUgVGhyZWFkID0ge1xuICAgIGlkOiBudW1iZXI7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBhdmF0YXI6IHN0cmluZztcbiAgICBzdGF0dXM6IFRocmVhZFN0YXR1cztcbiAgICBsYXN0QWN0aXZpdHk6IERhdGU7XG4gICAgdW5yZWFkQ291bnQ6IG51bWJlcjtcbiAgICBwaW5uZWQ6IGJvb2xlYW47XG4gICAgbXV0ZWQ6IGJvb2xlYW47XG4gICAgbGFzdE1lc3NhZ2U6IE1lc3NhZ2U7XG59O1xuXG5leHBvcnQgdHlwZSBNZXNzYWdlID0ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgb3duZXI6IFVzZXI7XG4gICAgdGV4dD86IHN0cmluZztcbiAgICBmaWxlPzogRmlsZUF0dGFjaG1lbnRJbmZvO1xuICAgIGltYWdlPzogRmlsZVBpY3R1cmVJbmZvTW9kZWw7XG4gICAgY3JlYXRlZEF0OiBEYXRlO1xuICAgIGRlbGl2ZXJlZEF0OiBEYXRlO1xuICAgIHJlYWRBdDogRGF0ZTtcbn07XG5cbmV4cG9ydCBlbnVtIFRocmVhZFN0YXR1cyB7XG4gICAgTGFzdFNlZW4sXG4gICAgT2ZmbGluZSxcbiAgICBPbmxpbmUsXG4gICAgQnVzeVxufVxuXG5leHBvcnQgdHlwZSBVc2VyID0ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgYXZhdGFyOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xufTtcbiJdfQ==
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class BarsaChatContentComponent {
|
|
4
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaChatContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BarsaChatContentComponent, selector: "bsu-barsa-chat-content", host: { classAttribute: "tw-w-full tw-flex tw-flex-col tw-grow tw-shrink tw-overflow-auto" }, ngImport: i0, template: "<div class=\"tw-flex tw-flex-col tw-justify-end tw-w-full tw-h-full\">\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [""] }); }
|
|
6
|
-
}
|
|
7
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaChatContentComponent, decorators: [{
|
|
8
|
-
type: Component,
|
|
9
|
-
args: [{ selector: 'bsu-barsa-chat-content', host: {
|
|
10
|
-
class: 'tw-w-full tw-flex tw-flex-col tw-grow tw-shrink tw-overflow-auto'
|
|
11
|
-
}, template: "<div class=\"tw-flex tw-flex-col tw-justify-end tw-w-full tw-h-full\">\r\n <ng-content></ng-content>\r\n</div>\r\n" }]
|
|
12
|
-
}] });
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtY2hhdC1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL2JhcnNhLWNoYXQtY29udGVudC9iYXJzYS1jaGF0LWNvbnRlbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtY2hhdC1jb250ZW50L2JhcnNhLWNoYXQtY29udGVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVUxQyxNQUFNLE9BQU8seUJBQXlCOytHQUF6Qix5QkFBeUI7bUdBQXpCLHlCQUF5Qiw0SkNWdEMsdUhBR0E7OzRGRE9hLHlCQUF5QjtrQkFSckMsU0FBUzsrQkFDSSx3QkFBd0IsUUFHNUI7d0JBQ0YsS0FBSyxFQUFFLGtFQUFrRTtxQkFDNUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdic3UtYmFyc2EtY2hhdC1jb250ZW50JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9iYXJzYS1jaGF0LWNvbnRlbnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmw6ICcuL2JhcnNhLWNoYXQtY29udGVudC5jb21wb25lbnQuY3NzJyxcclxuICAgIGhvc3Q6IHtcclxuICAgICAgICBjbGFzczogJ3R3LXctZnVsbCB0dy1mbGV4IHR3LWZsZXgtY29sIHR3LWdyb3cgdHctc2hyaW5rIHR3LW92ZXJmbG93LWF1dG8nXHJcbiAgICB9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCYXJzYUNoYXRDb250ZW50Q29tcG9uZW50IHt9XHJcbiIsIjxkaXYgY2xhc3M9XCJ0dy1mbGV4IHR3LWZsZXgtY29sIHR3LWp1c3RpZnktZW5kIHR3LXctZnVsbCB0dy1oLWZ1bGxcIj5cclxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuPC9kaXY+XHJcbiJdfQ==
|