barsa-sap-ui 2.2.2 → 2.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/barsa-sap-ui.mjs +5 -0
- package/esm2022/lib/apply-conditional-formmatings.directive.mjs +90 -0
- package/esm2022/lib/avatar-size.pipe.mjs +41 -0
- package/esm2022/lib/barsa-answer-card/barsa-answer-card.component.mjs +41 -0
- package/esm2022/lib/barsa-asp-viewer/barsa-asp-viewer.component.mjs +145 -0
- package/esm2022/lib/barsa-bar-download-file/barsa-bar-download-file.component.mjs +23 -0
- package/esm2022/lib/barsa-bar-panel/barsa-bar-panel.component.mjs +23 -0
- package/esm2022/lib/barsa-base-panel/barsa-base-layout-panel.component.mjs +29 -0
- package/esm2022/lib/barsa-breadcrumbs/barsa-breadcrumbs.component.mjs +24 -0
- package/esm2022/lib/barsa-card-layout-panel/barsa-card-layout-panel.component.mjs +24 -0
- package/esm2022/lib/barsa-card-row-payam/barsa-card-row-payam.component.mjs +31 -0
- package/esm2022/lib/barsa-cartable-form/barsa-cartable-form.component.mjs +41 -0
- package/esm2022/lib/barsa-cartable-template/barsa-cartable-template.component.mjs +24 -0
- package/esm2022/lib/barsa-chat/barsa-chat.component.mjs +242 -0
- package/esm2022/lib/barsa-chat/chat.model.mjs +8 -0
- package/esm2022/lib/barsa-chat-content/barsa-chat-content.component.mjs +13 -0
- package/esm2022/lib/barsa-chat-content-toolbar/barsa-chat-content-toolbar.component.mjs +22 -0
- package/esm2022/lib/barsa-chat-list/barsa-chat-list.component.mjs +66 -0
- package/esm2022/lib/barsa-chat-message/barsa-chat-message.component.mjs +78 -0
- package/esm2022/lib/barsa-chat-thread/barsa-chat-thread.component.mjs +22 -0
- package/esm2022/lib/barsa-chat-threads-list/barsa-chat-threads-list.component.mjs +13 -0
- package/esm2022/lib/barsa-chat-threads-list-toolbar/barsa-chat-threads-list-toolbar.component.mjs +15 -0
- package/esm2022/lib/barsa-chip/barsa-chip.component.mjs +72 -0
- package/esm2022/lib/barsa-column-indicator/barsa-column-indicator.component.mjs +23 -0
- package/esm2022/lib/barsa-column-rownumber/barsa-column-rownumber.component.mjs +14 -0
- package/esm2022/lib/barsa-custom-inline-edit/barsa-custom-inline-edit.component.mjs +14 -0
- package/esm2022/lib/barsa-custom-inline-edit-row/barsa-custom-inline-edit-row.component.mjs +26 -0
- package/esm2022/lib/barsa-date-time-picker/barsa-date-time-picker.component.mjs +71 -0
- package/esm2022/lib/barsa-dynamic-field/barsa-dynamic-field.component.mjs +40 -0
- package/esm2022/lib/barsa-enum-menu-button/barsa-enum-menu-button.component.mjs +61 -0
- package/esm2022/lib/barsa-field-key-value/barsa-field-key-value.component.mjs +45 -0
- package/esm2022/lib/barsa-form-side-content/barsa-form-side-content.component.mjs +58 -0
- package/esm2022/lib/barsa-grid-layout-panel/barsa-grid-layout-panel.component.mjs +27 -0
- package/esm2022/lib/barsa-group-cartable/barsa-cartable-group.component.mjs +94 -0
- package/esm2022/lib/barsa-horizontal-flex-panel/barsa-horizontal-flex-panel.component.mjs +22 -0
- package/esm2022/lib/barsa-linkable-items-panel/barsa-linkable-items-panel.component.mjs +37 -0
- package/esm2022/lib/barsa-list-file-linear/barsa-list-file-linear.component.mjs +41 -0
- package/esm2022/lib/barsa-list-file-linear-gmail/barsa-list-file-linear-gmail.component.mjs +29 -0
- package/esm2022/lib/barsa-list-layout-panel/barsa-list-layout-panel.component.mjs +23 -0
- package/esm2022/lib/barsa-modal/barsa-modal.component.mjs +43 -0
- package/esm2022/lib/barsa-monaco-editor/barsa-monaco-editor.component.mjs +83 -0
- package/esm2022/lib/barsa-network-offline/barsa-network-offline.component.mjs +57 -0
- package/esm2022/lib/barsa-pishnamayesh-payam/barsa-pishnamayesh-payam.component.mjs +159 -0
- package/esm2022/lib/barsa-question-answer-comments-section/barsa-question-answer-comments-section.component.mjs +17 -0
- package/esm2022/lib/barsa-question-answer-content-actions-section/barsa-question-answer-content-actions-section.component.mjs +30 -0
- package/esm2022/lib/barsa-question-answer-creator-time-section/barsa-question-answer-creator-time-section.component.mjs +14 -0
- package/esm2022/lib/barsa-question-answer-form/barsa-question-answer-form.component.mjs +34 -0
- package/esm2022/lib/barsa-question-answer-form-add-comment/barsa-question-answer-form-add-comment.component.mjs +46 -0
- package/esm2022/lib/barsa-question-answer-vote-section/barsa-question-answer-vote-section.component.mjs +79 -0
- package/esm2022/lib/barsa-question-post/barsa-question-post.component.mjs +30 -0
- package/esm2022/lib/barsa-report-card-flex-view/barsa-report-card-flex-view.component.mjs +31 -0
- package/esm2022/lib/barsa-report-checkbox-switch-button/barsa-report-checkbox-switch-button.component.mjs +28 -0
- package/esm2022/lib/barsa-report-one-of-list/barsa-report-one-of-list.component.mjs +102 -0
- package/esm2022/lib/barsa-row-inline-actionlist/barsa-row-inline-actionlist.component.mjs +26 -0
- package/esm2022/lib/barsa-sap-ui-routing.module.mjs +18 -0
- package/esm2022/lib/barsa-sap-ui.module.mjs +377 -0
- package/esm2022/lib/barsa-search-form/barsa-search-form.component.mjs +29 -0
- package/esm2022/lib/barsa-simple-form/barsa-simple-form.component.mjs +170 -0
- package/esm2022/lib/barsa-tab-route-manager/barsa-tab-route-manager.component.mjs +18 -0
- package/esm2022/lib/barsa-table-column/barsa-table-column.component.mjs +29 -0
- package/esm2022/lib/barsa-table-header/barsa-table-header.component.mjs +222 -0
- package/esm2022/lib/barsa-table-row/barsa-table-row.component.mjs +87 -0
- package/esm2022/lib/barsa-tag-categories/barsa-tag-categories.component.mjs +60 -0
- package/esm2022/lib/barsa-tag-chip/barsa-tag-chip.component.mjs +26 -0
- package/esm2022/lib/barsa-tags-category-row/barsa-tags-category-row.component.mjs +23 -0
- package/esm2022/lib/barsa-text-ellipsis/barsa-text-ellipsis.component.mjs +37 -0
- package/esm2022/lib/barsa-tinyemce/barsa-tinyemce.component.mjs +418 -0
- package/esm2022/lib/barsa-toolbaritem-search/barsa-toolbaritem-search.component.mjs +36 -0
- package/esm2022/lib/barsa-tree-item/barsa-tree-item.component.mjs +153 -0
- package/esm2022/lib/barsa-tree-item/node-has-one-depth-level.pipe.mjs +20 -0
- package/esm2022/lib/barsa-ulv-main/barsa-ulv-main.component.mjs +216 -0
- package/esm2022/lib/blob-viewer/blob-viewer.component.mjs +74 -0
- package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +50 -0
- package/esm2022/lib/captcha-field/captcha-field.component.mjs +28 -0
- package/esm2022/lib/card-item/card-item.component.mjs +74 -0
- package/esm2022/lib/card-view-content/card-view-content.component.mjs +46 -0
- package/esm2022/lib/col-renderer.directive.mjs +47 -0
- package/esm2022/lib/column-matrix-renderer/column-matrix-renderer.component.mjs +56 -0
- package/esm2022/lib/column-matrix-renderer/matrix-value.pipe.mjs +61 -0
- package/esm2022/lib/column-renderer/column-renderer.component.mjs +97 -0
- package/esm2022/lib/constants.mjs +450 -0
- package/esm2022/lib/custom-date-time/custom-date-time.component.mjs +41 -0
- package/esm2022/lib/device-info-field-base.mjs +24 -0
- package/esm2022/lib/dialog-handler.directive.mjs +29 -0
- package/esm2022/lib/download-files.directive.mjs +34 -0
- package/esm2022/lib/dynamic-page-size.pipe.mjs +27 -0
- package/esm2022/lib/file-in-dialog/file-in-dialog.component.mjs +44 -0
- package/esm2022/lib/file-viewer/file-viewer.component.mjs +47 -0
- package/esm2022/lib/file-viewer-content/file-viewer-content.component.mjs +71 -0
- package/esm2022/lib/file-viewer-popover/file-viewer-popover.component.mjs +37 -0
- package/esm2022/lib/form-dialog/form-dialog.component.mjs +171 -0
- package/esm2022/lib/form-dialog-less/form-dialog-less.component.mjs +50 -0
- package/esm2022/lib/form-toolbar/form-toolbar.component.mjs +62 -0
- package/esm2022/lib/form-toolbar-button/form-toolbar-button.component.mjs +45 -0
- package/esm2022/lib/form-wizard/form-wizard.component.mjs +21 -0
- package/esm2022/lib/fullscreen-dialog.directive.mjs +60 -0
- package/esm2022/lib/fullscreen-files.directive.mjs +43 -0
- package/esm2022/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.mjs +217 -0
- package/esm2022/lib/gantt-dhtml-chart-view/gantt-dhtml-chart-view.component.mjs +215 -0
- package/esm2022/lib/global-search/global-search.component.mjs +27 -0
- package/esm2022/lib/global-search-module/global-search-module.component.mjs +29 -0
- package/esm2022/lib/global-search-panel/global-search-panel.component.mjs +25 -0
- package/esm2022/lib/header-avatar/header-avatar.component.mjs +18 -0
- package/esm2022/lib/htree-create-new/htree-create-new.component.mjs +48 -0
- package/esm2022/lib/hyperlink/hyperlink.component.mjs +23 -0
- package/esm2022/lib/index.mjs +549 -0
- package/esm2022/lib/inline-save-and-cancel/inline-save-and-cancel.component.mjs +32 -0
- package/esm2022/lib/layout-actions/layout-actions.component.mjs +70 -0
- package/esm2022/lib/layout-control/layout-control.component.mjs +302 -0
- package/esm2022/lib/layout-wizard/layout-wizard.component.mjs +180 -0
- package/esm2022/lib/list-item/list-item.component.mjs +34 -0
- package/esm2022/lib/ly-empty-space/ly-empty-space.component.mjs +42 -0
- package/esm2022/lib/ly-horizontal-layout/ly-horizontal-layout.component.mjs +82 -0
- package/esm2022/lib/ly-label/ly-label.component.mjs +37 -0
- package/esm2022/lib/ly-layout-container/ly-layout-container.component.mjs +83 -0
- package/esm2022/lib/ly-layout-container-of-root/ly-layout-container-of-root.component.mjs +17 -0
- package/esm2022/lib/ly-layout-field-label/ly-layout-field-label.component.mjs +24 -0
- package/esm2022/lib/ly-layout-panel/ly-layout-panel.component.mjs +83 -0
- package/esm2022/lib/ly-line/ly-line.component.mjs +56 -0
- package/esm2022/lib/ly-simple-label/ly-simple-label.component.mjs +22 -0
- package/esm2022/lib/ly-tab-container/ly-tab-container.component.mjs +44 -0
- package/esm2022/lib/ly-tab-page/ly-tab-page.component.mjs +44 -0
- package/esm2022/lib/ly-vertical-layout/ly-vertical-layout.component.mjs +51 -0
- package/esm2022/lib/manage-filters-report/manage-filters-report.component.mjs +43 -0
- package/esm2022/lib/mask/mask.component.mjs +22 -0
- package/esm2022/lib/message-strip/message-strip.component.mjs +28 -0
- package/esm2022/lib/models/grid-data-provider.mjs +114 -0
- package/esm2022/lib/models/grid-view.mjs +2 -0
- package/esm2022/lib/models/index.mjs +2 -0
- package/esm2022/lib/no-data/no-data.component.mjs +31 -0
- package/esm2022/lib/notification-item/notification-item.component.mjs +57 -0
- package/esm2022/lib/notification-item-actions/notification-item-actions.component.mjs +79 -0
- package/esm2022/lib/notification-popup.service.mjs +92 -0
- package/esm2022/lib/object-status-icon.pipe.mjs +27 -0
- package/esm2022/lib/progress-indicator/progress-indicator.component.mjs +18 -0
- package/esm2022/lib/report-navigator/report-navigator.component.mjs +68 -0
- package/esm2022/lib/report-new-top-form/report-new-top-form.component.mjs +60 -0
- package/esm2022/lib/report-search-fields-hidden-settings/report-search-fields-hidden-settings.component.mjs +35 -0
- package/esm2022/lib/report-search-fields-manage/report-search-fields-manage.component.mjs +97 -0
- package/esm2022/lib/report-search-panel-save/report-search-panel-save.component.mjs +88 -0
- package/esm2022/lib/report-tree-base.mjs +387 -0
- package/esm2022/lib/report-view-renderer.directive.mjs +392 -0
- package/esm2022/lib/responsive-toolbar/responsive-toolbar.component.mjs +50 -0
- package/esm2022/lib/responsive-toolbar-renderer/responsive-toolbar-renderer.component.mjs +84 -0
- package/esm2022/lib/rich-text-static/rich-text-static.component.mjs +72 -0
- package/esm2022/lib/sap-font-class.pipe.mjs +30 -0
- package/esm2022/lib/sap-font.pipe.mjs +30 -0
- package/esm2022/lib/sap-size.pipe.mjs +28 -0
- package/esm2022/lib/sap-ui-report-base.component.mjs +809 -0
- package/esm2022/lib/search-panel/search-panel.component.mjs +63 -0
- package/esm2022/lib/static-text/static-text.component.mjs +15 -0
- package/esm2022/lib/table-th.directive.mjs +87 -0
- package/esm2022/lib/title/title.component.mjs +15 -0
- package/esm2022/lib/ui-asp-report-viewer/ui-asp-report-viewer.component.mjs +34 -0
- package/esm2022/lib/ui-bpmn-viewer/ui-bpmn-viewer.component.mjs +33 -0
- package/esm2022/lib/ui-button/ui-button.component.mjs +32 -0
- package/esm2022/lib/ui-calendar/ui-calendar.component.mjs +53 -0
- package/esm2022/lib/ui-card-view/ui-card-view.component.mjs +58 -0
- package/esm2022/lib/ui-card-view-horizontal-group/ui-card-view-horizontal-group.component.mjs +42 -0
- package/esm2022/lib/ui-check-box/ui-check-box.component.mjs +39 -0
- package/esm2022/lib/ui-color-ui/ui-color-ui.component.mjs +50 -0
- package/esm2022/lib/ui-container-with-button/ui-container-with-button.component.mjs +38 -0
- package/esm2022/lib/ui-date-range-ex/ui-date-range-ex.component.mjs +191 -0
- package/esm2022/lib/ui-date-time/ui-date-time.component.mjs +150 -0
- package/esm2022/lib/ui-editable-grid/ui-editable-grid.component.mjs +108 -0
- package/esm2022/lib/ui-exception-form/ui-exception-form.component.mjs +53 -0
- package/esm2022/lib/ui-file-linear-list-box/ui-file-linear-list-box.component.mjs +124 -0
- package/esm2022/lib/ui-form-panel/ui-form-panel.component.mjs +103 -0
- package/esm2022/lib/ui-gantt-chart/ui-gantt-chart.component.mjs +32 -0
- package/esm2022/lib/ui-graph/ui-graph.component.mjs +17 -0
- package/esm2022/lib/ui-grid/ui-grid.component.mjs +25 -0
- package/esm2022/lib/ui-grid-columns/ui-grid-columns.component.mjs +43 -0
- package/esm2022/lib/ui-grid-filter-item/ui-grid-filter-item.component.mjs +66 -0
- package/esm2022/lib/ui-grid-filter-settings/ui-grid-filter-settings.component.mjs +75 -0
- package/esm2022/lib/ui-grid-sort-item/ui-grid-sort-item.component.mjs +58 -0
- package/esm2022/lib/ui-grid-sort-setting/ui-grid-sort-setting.component.mjs +123 -0
- package/esm2022/lib/ui-html-viewer/ui-html-viewer.component.mjs +16 -0
- package/esm2022/lib/ui-info-bar-panel/ui-info-bar-panel.component.mjs +11 -0
- package/esm2022/lib/ui-label/ui-label.component.mjs +12 -0
- package/esm2022/lib/ui-linear-list-container-with-button/ui-linear-list-container-with-button.component.mjs +379 -0
- package/esm2022/lib/ui-list-view/ui-list-view.component.mjs +84 -0
- package/esm2022/lib/ui-map/ui-map.component.mjs +68 -0
- package/esm2022/lib/ui-matrix-view/ui-matrix-view.component.mjs +124 -0
- package/esm2022/lib/ui-mo-info-combo-viewer/ui-mo-info-combo-viewer.component.mjs +19 -0
- package/esm2022/lib/ui-mo-info-general-object-ui/ui-mo-info-general-object-ui.component.mjs +14 -0
- package/esm2022/lib/ui-mo-info-sub-form-ui/ui-mo-info-sub-form-ui.component.mjs +55 -0
- package/esm2022/lib/ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component.mjs +429 -0
- package/esm2022/lib/ui-monaco-editor/ui-monaco-editor.component.mjs +28 -0
- package/esm2022/lib/ui-multi-select-card/ui-multi-select-card.component.mjs +37 -0
- package/esm2022/lib/ui-multi-select-checkbox/ui-multi-select-checkbox.component.mjs +59 -0
- package/esm2022/lib/ui-multi-select-combo/ui-multi-select-combo.component.mjs +93 -0
- package/esm2022/lib/ui-multi-select-radio/ui-multi-select-radio.component.mjs +36 -0
- package/esm2022/lib/ui-multi-select-slider/ui-multi-select-slider.component.mjs +56 -0
- package/esm2022/lib/ui-multi-select-smile/ui-multi-select-smile.component.mjs +28 -0
- package/esm2022/lib/ui-notification-view/ui-notification-view.component.mjs +47 -0
- package/esm2022/lib/ui-num-decimal-ui/ui-num-decimal-ui.component.mjs +33 -0
- package/esm2022/lib/ui-num-int-slider/ui-num-int-slider.component.mjs +27 -0
- package/esm2022/lib/ui-num-int-ui/ui-num-int-ui.component.mjs +21 -0
- package/esm2022/lib/ui-pdf-viewer/ui-pdf-viewer.component.mjs +268 -0
- package/esm2022/lib/ui-picture-file/ui-picture-file.component.mjs +101 -0
- package/esm2022/lib/ui-pictures-info/ui-pictures-info.component.mjs +261 -0
- package/esm2022/lib/ui-radio-group/ui-radio-group.component.mjs +48 -0
- package/esm2022/lib/ui-read-only-field/ui-read-only-field.component.mjs +36 -0
- package/esm2022/lib/ui-report-container/ui-report-container.component.mjs +46 -0
- package/esm2022/lib/ui-search-command-info-ui/ui-search-command-info-ui.component.mjs +24 -0
- package/esm2022/lib/ui-simple-combo/ui-simple-combo.component.mjs +55 -0
- package/esm2022/lib/ui-single-picture/ui-single-picture.component.mjs +36 -0
- package/esm2022/lib/ui-switch-button/ui-switch-button.component.mjs +20 -0
- package/esm2022/lib/ui-table-view/ui-table-view.component.mjs +296 -0
- package/esm2022/lib/ui-text-area/ui-text-area.component.mjs +49 -0
- package/esm2022/lib/ui-text-field/ui-text-field.component.mjs +52 -0
- package/esm2022/lib/ui-text-field-auto-complete/ui-text-field-auto-complete.component.mjs +48 -0
- package/esm2022/lib/ui-time-span/ui-time-span.component.mjs +24 -0
- package/esm2022/lib/ui-tinymce/ui-tinymce.component.mjs +53 -0
- package/esm2022/lib/ui-tree/ui-tree.component.mjs +114 -0
- package/esm2022/lib/ui-tree-view/ui-tree-view.component.mjs +100 -0
- package/esm2022/lib/ui-ulv-form-multi-select-ui/ui-ulv-form-multi-select-ui.component.mjs +23 -0
- package/esm2022/lib/ui-ulv-main-ui/ui-ulv-main-ui.component.mjs +310 -0
- package/esm2022/lib/ui-workflow-panel-ui/ui-workflow-panel-ui.component.mjs +25 -0
- package/esm2022/lib/ul-loading-mask-ui/ul-loading-mask-ui.component.mjs +93 -0
- package/esm2022/lib/ul-msg-box-adapter/ul-msg-box-adapter.component.mjs +119 -0
- package/esm2022/lib/ul-notify-popup/ul-notify-popup.component.mjs +32 -0
- package/esm2022/lib/ul-toast-adapter/ul-toast-adapter.component.mjs +48 -0
- package/esm2022/lib/ulv-column-settings/ulv-column-settings.component.mjs +53 -0
- package/esm2022/lib/ulv-context-menu/ulv-context-menu.component.mjs +116 -0
- package/esm2022/lib/ulv-filter-settings/ulv-filter-settings.component.mjs +43 -0
- package/esm2022/lib/ulv-form-multi-select/ulv-form-multi-select.component.mjs +196 -0
- package/esm2022/lib/ulv-groupby-settings/ulv-groupby-settings.component.mjs +44 -0
- package/esm2022/lib/ulv-paging/ulv-paging.component.mjs +84 -0
- package/esm2022/lib/ulv-selection/ulv-selection.component.mjs +65 -0
- package/esm2022/lib/ulv-settings/ulv-settings.component.mjs +116 -0
- package/esm2022/lib/ulv-sort-settings/ulv-sort-settings.component.mjs +54 -0
- package/esm2022/lib/ulv-toolbar/ulv-toolbar.component.mjs +177 -0
- package/esm2022/lib/upload-file-status.pipe.mjs +29 -0
- package/esm2022/lib/util-chat-time-badge.pipe.mjs +18 -0
- package/esm2022/lib/util-date-to-hh-mm.pipe.mjs +23 -0
- package/esm2022/lib/wizard-layout.directive.mjs +104 -0
- package/esm2022/public-api.mjs +236 -0
- package/fesm2022/barsa-sap-ui.mjs +6 -6
- package/fesm2022/barsa-sap-ui.mjs.map +1 -1
- package/package.json +3 -1
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class BarsaChatContentToolbarComponent {
|
|
4
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaChatContentToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BarsaChatContentToolbarComponent, selector: "bsu-barsa-chat-content-toolbar", inputs: { avatar: "avatar", title: "title", subtitle: "subtitle", status: "status" }, host: { classAttribute: "tw-shrink-0 tw-grow-0 tw-flex tw-gap-2 tw-justify-between tw-items-center tw-px-4 tw-right-0 tw-w-full tw-h-16 tw-flex tw-bg-zinc-200/[.7] dark:tw-bg-zinc-700/[.7] tw-backdrop-blur-lg tw-z-10" }, ngImport: i0, template: "@if (title) { @if (avatar) {\r\n<img [src]=\"avatar\" class=\"tw-size-12 tw-rounded-full\" />\r\n}\r\n<div class=\"tw-flex tw-grow tw-shrink tw-flex-col tw-items-start tw-justify-between\">\r\n <span class=\"tw-text-lg tw-font-bold tw-text-base\">{{ title }}</span>\r\n <span class=\"tw-text-sm tw-text-base\">\r\n @if (status === 2) {\r\n <span class=\"tw-relative tw-inline-flex tw-size-2.5 tw-me-1.5\">\r\n <!-- <span-->\r\n <!-- class=\"tw-animate-ping tw-absolute tw-inline-flex tw-h-full tw-w-full tw-rounded-full tw-opacity-75\"-->\r\n <!-- [ngClass]=\"{-->\r\n <!-- 'tw-bg-gray-300': status === 0,-->\r\n <!-- 'tw-bg-gray-700': status === 1,-->\r\n <!-- 'tw-bg-green-600 tw-animate-ping': status === 2,-->\r\n <!-- 'tw-bg-red-600': status === 3,-->\r\n <!-- }\"-->\r\n <!-- ></span>-->\r\n <!-- <span-->\r\n <!-- class=\"tw-inline-flex tw-rounded-full tw-size-2.5\"-->\r\n <!-- [ngClass]=\"{-->\r\n <!-- 'tw-bg-gray-300': status === 0,-->\r\n <!-- 'tw-bg-gray-700': status === 1,-->\r\n <!-- 'tw-bg-green-600': status === 2,-->\r\n <!-- 'tw-bg-red-600': status === 3,-->\r\n <!-- }\"-->\r\n <!-- >-->\r\n <!-- </span>-->\r\n <span\r\n class=\"tw-animate-ping tw-absolute tw-inline-flex tw-h-full tw-w-full tw-rounded-full tw-opacity-75 tw-bg-green-600 tw-animate-ping\"\r\n ></span>\r\n <span class=\"tw-inline-flex tw-rounded-full tw-size-2.5 tw-bg-green-600\"> </span>\r\n </span>\r\n {{ subtitle }}\r\n }\r\n </span>\r\n</div>\r\n}\r\n", styles: [""] }); }
|
|
6
|
+
}
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaChatContentToolbarComponent, decorators: [{
|
|
8
|
+
type: Component,
|
|
9
|
+
args: [{ selector: 'bsu-barsa-chat-content-toolbar', host: {
|
|
10
|
+
class: 'tw-shrink-0 tw-grow-0 tw-flex tw-gap-2 tw-justify-between tw-items-center tw-px-4 tw-right-0 tw-w-full ' +
|
|
11
|
+
'tw-h-16 tw-flex tw-bg-zinc-200/[.7] dark:tw-bg-zinc-700/[.7] tw-backdrop-blur-lg tw-z-10'
|
|
12
|
+
}, standalone: false, template: "@if (title) { @if (avatar) {\r\n<img [src]=\"avatar\" class=\"tw-size-12 tw-rounded-full\" />\r\n}\r\n<div class=\"tw-flex tw-grow tw-shrink tw-flex-col tw-items-start tw-justify-between\">\r\n <span class=\"tw-text-lg tw-font-bold tw-text-base\">{{ title }}</span>\r\n <span class=\"tw-text-sm tw-text-base\">\r\n @if (status === 2) {\r\n <span class=\"tw-relative tw-inline-flex tw-size-2.5 tw-me-1.5\">\r\n <!-- <span-->\r\n <!-- class=\"tw-animate-ping tw-absolute tw-inline-flex tw-h-full tw-w-full tw-rounded-full tw-opacity-75\"-->\r\n <!-- [ngClass]=\"{-->\r\n <!-- 'tw-bg-gray-300': status === 0,-->\r\n <!-- 'tw-bg-gray-700': status === 1,-->\r\n <!-- 'tw-bg-green-600 tw-animate-ping': status === 2,-->\r\n <!-- 'tw-bg-red-600': status === 3,-->\r\n <!-- }\"-->\r\n <!-- ></span>-->\r\n <!-- <span-->\r\n <!-- class=\"tw-inline-flex tw-rounded-full tw-size-2.5\"-->\r\n <!-- [ngClass]=\"{-->\r\n <!-- 'tw-bg-gray-300': status === 0,-->\r\n <!-- 'tw-bg-gray-700': status === 1,-->\r\n <!-- 'tw-bg-green-600': status === 2,-->\r\n <!-- 'tw-bg-red-600': status === 3,-->\r\n <!-- }\"-->\r\n <!-- >-->\r\n <!-- </span>-->\r\n <span\r\n class=\"tw-animate-ping tw-absolute tw-inline-flex tw-h-full tw-w-full tw-rounded-full tw-opacity-75 tw-bg-green-600 tw-animate-ping\"\r\n ></span>\r\n <span class=\"tw-inline-flex tw-rounded-full tw-size-2.5 tw-bg-green-600\"> </span>\r\n </span>\r\n {{ subtitle }}\r\n }\r\n </span>\r\n</div>\r\n}\r\n" }]
|
|
13
|
+
}], propDecorators: { avatar: [{
|
|
14
|
+
type: Input
|
|
15
|
+
}], title: [{
|
|
16
|
+
type: Input
|
|
17
|
+
}], subtitle: [{
|
|
18
|
+
type: Input
|
|
19
|
+
}], status: [{
|
|
20
|
+
type: Input
|
|
21
|
+
}] } });
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtY2hhdC1jb250ZW50LXRvb2xiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtY2hhdC1jb250ZW50LXRvb2xiYXIvYmFyc2EtY2hhdC1jb250ZW50LXRvb2xiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtY2hhdC1jb250ZW50LXRvb2xiYXIvYmFyc2EtY2hhdC1jb250ZW50LXRvb2xiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBYWpELE1BQU0sT0FBTyxnQ0FBZ0M7K0dBQWhDLGdDQUFnQzttR0FBaEMsZ0NBQWdDLHlYQ2I3Qyw0L0RBcUNBOzs0RkR4QmEsZ0NBQWdDO2tCQVg1QyxTQUFTOytCQUNJLGdDQUFnQyxRQUdwQzt3QkFDRixLQUFLLEVBQ0QseUdBQXlHOzRCQUN6RywwRkFBMEY7cUJBQ2pHLGNBQ1csS0FBSzs4QkFHUixNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JzdS1iYXJzYS1jaGF0LWNvbnRlbnQtdG9vbGJhcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vYmFyc2EtY2hhdC1jb250ZW50LXRvb2xiYXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmw6ICcuL2JhcnNhLWNoYXQtY29udGVudC10b29sYmFyLmNvbXBvbmVudC5jc3MnLFxyXG4gICAgaG9zdDoge1xyXG4gICAgICAgIGNsYXNzOlxyXG4gICAgICAgICAgICAndHctc2hyaW5rLTAgdHctZ3Jvdy0wIHR3LWZsZXggdHctZ2FwLTIgdHctanVzdGlmeS1iZXR3ZWVuIHR3LWl0ZW1zLWNlbnRlciB0dy1weC00IHR3LXJpZ2h0LTAgdHctdy1mdWxsICcgK1xyXG4gICAgICAgICAgICAndHctaC0xNiB0dy1mbGV4IHR3LWJnLXppbmMtMjAwL1suN10gZGFyazp0dy1iZy16aW5jLTcwMC9bLjddIHR3LWJhY2tkcm9wLWJsdXItbGcgdHctei0xMCdcclxuICAgIH0sXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmFyc2FDaGF0Q29udGVudFRvb2xiYXJDb21wb25lbnQge1xyXG4gICAgQElucHV0KCkgYXZhdGFyOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgc3VidGl0bGU6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIHN0YXR1czogbnVtYmVyO1xyXG59XHJcbiIsIkBpZiAodGl0bGUpIHsgQGlmIChhdmF0YXIpIHtcclxuPGltZyBbc3JjXT1cImF2YXRhclwiIGNsYXNzPVwidHctc2l6ZS0xMiB0dy1yb3VuZGVkLWZ1bGxcIiAvPlxyXG59XHJcbjxkaXYgY2xhc3M9XCJ0dy1mbGV4IHR3LWdyb3cgdHctc2hyaW5rIHR3LWZsZXgtY29sIHR3LWl0ZW1zLXN0YXJ0IHR3LWp1c3RpZnktYmV0d2VlblwiPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJ0dy10ZXh0LWxnIHR3LWZvbnQtYm9sZCB0dy10ZXh0LWJhc2VcIj57eyB0aXRsZSB9fTwvc3Bhbj5cclxuICAgIDxzcGFuIGNsYXNzPVwidHctdGV4dC1zbSB0dy10ZXh0LWJhc2VcIj5cclxuICAgICAgICBAaWYgKHN0YXR1cyA9PT0gMikge1xyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwidHctcmVsYXRpdmUgdHctaW5saW5lLWZsZXggdHctc2l6ZS0yLjUgdHctbWUtMS41XCI+XHJcbiAgICAgICAgICAgIDwhLS0gICAgICAgICAgICA8c3Bhbi0tPlxyXG4gICAgICAgICAgICA8IS0tICAgICAgICAgICAgICAgIGNsYXNzPVwidHctYW5pbWF0ZS1waW5nIHR3LWFic29sdXRlIHR3LWlubGluZS1mbGV4IHR3LWgtZnVsbCB0dy13LWZ1bGwgdHctcm91bmRlZC1mdWxsIHR3LW9wYWNpdHktNzVcIi0tPlxyXG4gICAgICAgICAgICA8IS0tICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInstLT5cclxuICAgICAgICAgICAgPCEtLSAgICAgICAgICAgICAgICAgICAndHctYmctZ3JheS0zMDAnOiBzdGF0dXMgPT09IDAsLS0+XHJcbiAgICAgICAgICAgIDwhLS0gICAgICAgICAgICAgICAgICAgJ3R3LWJnLWdyYXktNzAwJzogc3RhdHVzID09PSAxLC0tPlxyXG4gICAgICAgICAgICA8IS0tICAgICAgICAgICAgICAgICAgICd0dy1iZy1ncmVlbi02MDAgdHctYW5pbWF0ZS1waW5nJzogc3RhdHVzID09PSAyLC0tPlxyXG4gICAgICAgICAgICA8IS0tICAgICAgICAgICAgICAgICAgICd0dy1iZy1yZWQtNjAwJzogc3RhdHVzID09PSAzLC0tPlxyXG4gICAgICAgICAgICA8IS0tICAgICAgICAgICAgICAgICAgIH1cIi0tPlxyXG4gICAgICAgICAgICA8IS0tICAgICAgICAgICAgPjwvc3Bhbj4tLT5cclxuICAgICAgICAgICAgPCEtLSAgICAgICAgICAgIDxzcGFuLS0+XHJcbiAgICAgICAgICAgIDwhLS0gICAgICAgICAgICAgICAgY2xhc3M9XCJ0dy1pbmxpbmUtZmxleCB0dy1yb3VuZGVkLWZ1bGwgdHctc2l6ZS0yLjVcIi0tPlxyXG4gICAgICAgICAgICA8IS0tICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInstLT5cclxuICAgICAgICAgICAgPCEtLSAgICAgICAgICAgICAgICAgICAndHctYmctZ3JheS0zMDAnOiBzdGF0dXMgPT09IDAsLS0+XHJcbiAgICAgICAgICAgIDwhLS0gICAgICAgICAgICAgICAgICAgJ3R3LWJnLWdyYXktNzAwJzogc3RhdHVzID09PSAxLC0tPlxyXG4gICAgICAgICAgICA8IS0tICAgICAgICAgICAgICAgICAgICd0dy1iZy1ncmVlbi02MDAnOiBzdGF0dXMgPT09IDIsLS0+XHJcbiAgICAgICAgICAgIDwhLS0gICAgICAgICAgICAgICAgICAgJ3R3LWJnLXJlZC02MDAnOiBzdGF0dXMgPT09IDMsLS0+XHJcbiAgICAgICAgICAgIDwhLS0gICAgICAgICAgICAgICAgICAgfVwiLS0+XHJcbiAgICAgICAgICAgIDwhLS0gICAgICAgICAgICA+LS0+XHJcbiAgICAgICAgICAgIDwhLS0gICAgICAgICAgICA8L3NwYW4+LS0+XHJcbiAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInR3LWFuaW1hdGUtcGluZyB0dy1hYnNvbHV0ZSB0dy1pbmxpbmUtZmxleCB0dy1oLWZ1bGwgdHctdy1mdWxsIHR3LXJvdW5kZWQtZnVsbCB0dy1vcGFjaXR5LTc1IHR3LWJnLWdyZWVuLTYwMCB0dy1hbmltYXRlLXBpbmdcIlxyXG4gICAgICAgICAgICA+PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInR3LWlubGluZS1mbGV4IHR3LXJvdW5kZWQtZnVsbCB0dy1zaXplLTIuNSB0dy1iZy1ncmVlbi02MDBcIj4gPC9zcGFuPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgICB7eyBzdWJ0aXRsZSB9fVxyXG4gICAgICAgIH1cclxuICAgIDwvc3Bhbj5cclxuPC9kaXY+XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { Component, EventEmitter, inject, Input, Output } from '@angular/core';
|
|
2
|
+
import jmoment from 'moment-jalaali';
|
|
3
|
+
import { ReportViewBaseComponent, MoReportValuePipe, PictureFieldSourcePipe } from 'barsa-novin-ray-core';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/cdk/scrolling";
|
|
6
|
+
import * as i2 from "../barsa-chat-message/barsa-chat-message.component";
|
|
7
|
+
import * as i3 from "../util-chat-time-badge.pipe";
|
|
8
|
+
export class BarsaChatListComponent extends ReportViewBaseComponent {
|
|
9
|
+
constructor() {
|
|
10
|
+
super(...arguments);
|
|
11
|
+
this.simple = true;
|
|
12
|
+
this.setReplyingMessage = new EventEmitter();
|
|
13
|
+
this._rval = inject(MoReportValuePipe);
|
|
14
|
+
this._picField = inject(PictureFieldSourcePipe);
|
|
15
|
+
this.moment = jmoment;
|
|
16
|
+
}
|
|
17
|
+
ngOnInit() {
|
|
18
|
+
super.ngOnInit();
|
|
19
|
+
this.messages = this.moDataList;
|
|
20
|
+
}
|
|
21
|
+
ngOnChanges(changes) {
|
|
22
|
+
super.ngOnChanges(changes);
|
|
23
|
+
const { moDataList } = changes;
|
|
24
|
+
if (moDataList) {
|
|
25
|
+
this._prepareMessages(moDataList.currentValue);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
_prepareMessages(moDataList) {
|
|
29
|
+
this.messages = moDataList.map((i) => ({
|
|
30
|
+
id: i.Id,
|
|
31
|
+
createdAt: this._rval.transform(this.viewSetting.CreationDateField, i, this.allColumns),
|
|
32
|
+
deliveredAt: this._rval.transform(this.viewSetting.CreationDateField, i, this.allColumns),
|
|
33
|
+
readAt: this._rval.transform(this.viewSetting.ReadAtField, i, this.allColumns),
|
|
34
|
+
file: this._rval.transform(this.viewSetting.FileDataField, i, this.allColumns),
|
|
35
|
+
image: this._rval.transform(this.viewSetting.PictureDataField, i, this.allColumns),
|
|
36
|
+
owner: {
|
|
37
|
+
id: this._rval.transform(this.viewSetting.UserField, i, this.allColumns)?.Id,
|
|
38
|
+
name: this._rval.transform(this.viewSetting.DisplayNameField, i, this.allColumns),
|
|
39
|
+
avatar: this._picField.transform(this._rval.transform(this.viewSetting.UserPictureField, i, this.allColumns)?.FileId, 'ID', i.Id, undefined, 45)
|
|
40
|
+
// value: string | any,
|
|
41
|
+
// type: string,
|
|
42
|
+
// moId: string | null,
|
|
43
|
+
// fieldDefId?: string,
|
|
44
|
+
// sw?: number,
|
|
45
|
+
// sh?: number
|
|
46
|
+
},
|
|
47
|
+
text: this._rval.transform(this.viewSetting.MessageTextField, i, this.allColumns)
|
|
48
|
+
}));
|
|
49
|
+
console.log(this.messages);
|
|
50
|
+
}
|
|
51
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaChatListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
52
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BarsaChatListComponent, selector: "bsu-barsa-chat-list", inputs: { messages: "messages", replyingMessage: "replyingMessage", simple: "simple" }, outputs: { setReplyingMessage: "setReplyingMessage" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (messages !== null) { @if (!simple) {\r\n<cdk-virtual-scroll-viewport\r\n [appendOnly]=\"true\"\r\n id=\"chatContentElement\"\r\n itemSize=\"20\"\r\n class=\"tw-h-full tw-w-full tw-pb-4 tw-pt-24\"\r\n>\r\n <div *cdkVirtualFor=\"let message of messages; let index = index\">\r\n <bsu-barsa-chat-message\r\n [message]=\"message\"\r\n [showSender]=\"true\"\r\n [nextIsSame]=\"messages?.[index + 1]?.owner?.id === message.owner.id\"\r\n [pervIsSame]=\"messages?.[index - 1]?.owner?.id === message.owner.id\"\r\n [badge]=\"!this.messages?.[index - 1] || (moment(message.createdAt).jDayOfYear() !== moment(this.messages?.[index - 1]?.createdAt).jDayOfYear())\"\r\n [nextHasBadge]=\"!!this.messages?.[index + 1] && (moment(message.createdAt).jDayOfYear() !== moment(this.messages?.[index + 1]?.createdAt).jDayOfYear()) && message.owner.id === this.messages?.[index + 1]?.owner?.id\"\r\n [badgeLabel]=\"moment(message.createdAt) | utilChatTimeBadge\"\r\n (reply)=\"setReplyingMessage.emit($event)\"\r\n ></bsu-barsa-chat-message>\r\n </div>\r\n @if (replyingMessage) {\r\n <div class=\"tw-h-14\"></div>\r\n }\r\n</cdk-virtual-scroll-viewport>\r\n} @else {\r\n<div class=\"tw-h-full tw-w-full tw-pt-24\">\r\n @for (message of messages; track message.id) {\r\n <bsu-barsa-chat-message\r\n [message]=\"message\"\r\n [showSender]=\"true\"\r\n [nextIsSame]=\"messages?.[$index + 1]?.owner?.id === message.owner.id\"\r\n [pervIsSame]=\"messages?.[$index - 1]?.owner?.id === message.owner.id\"\r\n [badge]=\"!this.messages?.[$index - 1] || (moment(message.createdAt).jDayOfYear() !== moment(this.messages?.[$index - 1]?.createdAt).jDayOfYear())\"\r\n [nextHasBadge]=\"!!this.messages?.[$index + 1] && (moment(message.createdAt).jDayOfYear() !== moment(this.messages?.[$index + 1]?.createdAt).jDayOfYear()) && message.owner.id === this.messages?.[$index + 1]?.owner?.id\"\r\n [badgeLabel]=\"moment(message.createdAt) | utilChatTimeBadge\"\r\n (reply)=\"setReplyingMessage.emit($event)\"\r\n ></bsu-barsa-chat-message>\r\n }\r\n <div class=\"tw-h-4\"></div>\r\n</div>\r\n} }\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i1.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i1.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "component", type: i2.BarsaChatMessageComponent, selector: "bsu-barsa-chat-message", inputs: ["message", "showSender", "nextIsSame", "pervIsSame", "badge", "nextHasBadge", "badgeLabel"], outputs: ["reply"] }, { kind: "pipe", type: i3.UtilChatTimeBadgePipe, name: "utilChatTimeBadge" }] }); }
|
|
53
|
+
}
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaChatListComponent, decorators: [{
|
|
55
|
+
type: Component,
|
|
56
|
+
args: [{ selector: 'bsu-barsa-chat-list', standalone: false, template: "@if (messages !== null) { @if (!simple) {\r\n<cdk-virtual-scroll-viewport\r\n [appendOnly]=\"true\"\r\n id=\"chatContentElement\"\r\n itemSize=\"20\"\r\n class=\"tw-h-full tw-w-full tw-pb-4 tw-pt-24\"\r\n>\r\n <div *cdkVirtualFor=\"let message of messages; let index = index\">\r\n <bsu-barsa-chat-message\r\n [message]=\"message\"\r\n [showSender]=\"true\"\r\n [nextIsSame]=\"messages?.[index + 1]?.owner?.id === message.owner.id\"\r\n [pervIsSame]=\"messages?.[index - 1]?.owner?.id === message.owner.id\"\r\n [badge]=\"!this.messages?.[index - 1] || (moment(message.createdAt).jDayOfYear() !== moment(this.messages?.[index - 1]?.createdAt).jDayOfYear())\"\r\n [nextHasBadge]=\"!!this.messages?.[index + 1] && (moment(message.createdAt).jDayOfYear() !== moment(this.messages?.[index + 1]?.createdAt).jDayOfYear()) && message.owner.id === this.messages?.[index + 1]?.owner?.id\"\r\n [badgeLabel]=\"moment(message.createdAt) | utilChatTimeBadge\"\r\n (reply)=\"setReplyingMessage.emit($event)\"\r\n ></bsu-barsa-chat-message>\r\n </div>\r\n @if (replyingMessage) {\r\n <div class=\"tw-h-14\"></div>\r\n }\r\n</cdk-virtual-scroll-viewport>\r\n} @else {\r\n<div class=\"tw-h-full tw-w-full tw-pt-24\">\r\n @for (message of messages; track message.id) {\r\n <bsu-barsa-chat-message\r\n [message]=\"message\"\r\n [showSender]=\"true\"\r\n [nextIsSame]=\"messages?.[$index + 1]?.owner?.id === message.owner.id\"\r\n [pervIsSame]=\"messages?.[$index - 1]?.owner?.id === message.owner.id\"\r\n [badge]=\"!this.messages?.[$index - 1] || (moment(message.createdAt).jDayOfYear() !== moment(this.messages?.[$index - 1]?.createdAt).jDayOfYear())\"\r\n [nextHasBadge]=\"!!this.messages?.[$index + 1] && (moment(message.createdAt).jDayOfYear() !== moment(this.messages?.[$index + 1]?.createdAt).jDayOfYear()) && message.owner.id === this.messages?.[$index + 1]?.owner?.id\"\r\n [badgeLabel]=\"moment(message.createdAt) | utilChatTimeBadge\"\r\n (reply)=\"setReplyingMessage.emit($event)\"\r\n ></bsu-barsa-chat-message>\r\n }\r\n <div class=\"tw-h-4\"></div>\r\n</div>\r\n} }\r\n" }]
|
|
57
|
+
}], propDecorators: { messages: [{
|
|
58
|
+
type: Input
|
|
59
|
+
}], replyingMessage: [{
|
|
60
|
+
type: Input
|
|
61
|
+
}], simple: [{
|
|
62
|
+
type: Input
|
|
63
|
+
}], setReplyingMessage: [{
|
|
64
|
+
type: Output
|
|
65
|
+
}] } });
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtY2hhdC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL2JhcnNhLWNoYXQtbGlzdC9iYXJzYS1jaGF0LWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtY2hhdC1saXN0L2JhcnNhLWNoYXQtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ2pILE9BQU8sT0FBTyxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFFSCx1QkFBdUIsRUFFdkIsaUJBQWlCLEVBQ2pCLHNCQUFzQixFQUN6QixNQUFNLHNCQUFzQixDQUFDOzs7OztBQVM5QixNQUFNLE9BQU8sc0JBQ1QsU0FBUSx1QkFBOEM7SUFQMUQ7O1FBWWEsV0FBTSxHQUFHLElBQUksQ0FBQztRQUNiLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDM0QsVUFBSyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2xDLGNBQVMsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUMzQyxXQUFNLEdBQUcsT0FBTyxDQUFDO0tBeUNwQjtJQXhDRyxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUNwQyxDQUFDO0lBQ0QsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0IsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUMvQixJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNuRCxDQUFDO0lBQ0wsQ0FBQztJQUNPLGdCQUFnQixDQUFDLFVBQWlDO1FBQ3RELElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNuQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUU7WUFDUixTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUN2RixXQUFXLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUN6RixNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDOUUsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQzlFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ2xGLEtBQUssRUFBRTtnQkFDSCxFQUFFLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFO2dCQUM1RSxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQztnQkFDakYsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUM1QixJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsTUFBTSxFQUNuRixJQUFJLEVBQ0osQ0FBQyxDQUFDLEVBQUUsRUFDSixTQUFTLEVBQ1QsRUFBRSxDQUNMO2dCQUNELHVCQUF1QjtnQkFDdkIsZ0JBQWdCO2dCQUNoQix1QkFBdUI7Z0JBQ3ZCLHVCQUF1QjtnQkFDdkIsZUFBZTtnQkFDZixjQUFjO2FBQ2pCO1lBQ0QsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUM7U0FDcEYsQ0FBQyxDQUFDLENBQUM7UUFDSixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMvQixDQUFDOytHQWxEUSxzQkFBc0I7bUdBQXRCLHNCQUFzQixzUENqQm5DLDJ0RUF3Q0E7OzRGRHZCYSxzQkFBc0I7a0JBTmxDLFNBQVM7K0JBQ0kscUJBQXFCLGNBR25CLEtBQUs7OEJBTVIsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDSSxrQkFBa0I7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgam1vbWVudCBmcm9tICdtb21lbnQtamFsYWFsaSc7XHJcbmltcG9ydCB7XHJcbiAgICBNZXRhb2JqZWN0RGF0YU1vZGVsLFxyXG4gICAgUmVwb3J0Vmlld0Jhc2VDb21wb25lbnQsXHJcbiAgICBVaVJlcG9ydFZpZXdCYXNlU2V0dGluZyxcclxuICAgIE1vUmVwb3J0VmFsdWVQaXBlLFxyXG4gICAgUGljdHVyZUZpZWxkU291cmNlUGlwZVxyXG59IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuaW1wb3J0IHsgTWVzc2FnZSB9IGZyb20gJy4uL2JhcnNhLWNoYXQvY2hhdC5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnN1LWJhcnNhLWNoYXQtbGlzdCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vYmFyc2EtY2hhdC1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsOiAnLi9iYXJzYS1jaGF0LWxpc3QuY29tcG9uZW50LmNzcycsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmFyc2FDaGF0TGlzdENvbXBvbmVudFxyXG4gICAgZXh0ZW5kcyBSZXBvcnRWaWV3QmFzZUNvbXBvbmVudDxCYXJzYUNoYXRMaXN0U2V0dGluZ3M+XHJcbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzXHJcbntcclxuICAgIEBJbnB1dCgpIG1lc3NhZ2VzOiBNZXNzYWdlW10gfCBudWxsO1xyXG4gICAgQElucHV0KCkgcmVwbHlpbmdNZXNzYWdlOiBNZXNzYWdlIHwgbnVsbDtcclxuICAgIEBJbnB1dCgpIHNpbXBsZSA9IHRydWU7XHJcbiAgICBAT3V0cHV0KCkgc2V0UmVwbHlpbmdNZXNzYWdlID0gbmV3IEV2ZW50RW1pdHRlcjxNZXNzYWdlPigpO1xyXG4gICAgX3J2YWwgPSBpbmplY3QoTW9SZXBvcnRWYWx1ZVBpcGUpO1xyXG4gICAgX3BpY0ZpZWxkID0gaW5qZWN0KFBpY3R1cmVGaWVsZFNvdXJjZVBpcGUpO1xyXG4gICAgbW9tZW50ID0gam1vbWVudDtcclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlcyA9IHRoaXMubW9EYXRhTGlzdDtcclxuICAgIH1cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcclxuICAgICAgICBjb25zdCB7IG1vRGF0YUxpc3QgfSA9IGNoYW5nZXM7XHJcbiAgICAgICAgaWYgKG1vRGF0YUxpc3QpIHtcclxuICAgICAgICAgICAgdGhpcy5fcHJlcGFyZU1lc3NhZ2VzKG1vRGF0YUxpc3QuY3VycmVudFZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9wcmVwYXJlTWVzc2FnZXMobW9EYXRhTGlzdDogTWV0YW9iamVjdERhdGFNb2RlbFtdKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlcyA9IG1vRGF0YUxpc3QubWFwKChpKSA9PiAoe1xyXG4gICAgICAgICAgICBpZDogaS5JZCxcclxuICAgICAgICAgICAgY3JlYXRlZEF0OiB0aGlzLl9ydmFsLnRyYW5zZm9ybSh0aGlzLnZpZXdTZXR0aW5nLkNyZWF0aW9uRGF0ZUZpZWxkLCBpLCB0aGlzLmFsbENvbHVtbnMpLFxyXG4gICAgICAgICAgICBkZWxpdmVyZWRBdDogdGhpcy5fcnZhbC50cmFuc2Zvcm0odGhpcy52aWV3U2V0dGluZy5DcmVhdGlvbkRhdGVGaWVsZCwgaSwgdGhpcy5hbGxDb2x1bW5zKSxcclxuICAgICAgICAgICAgcmVhZEF0OiB0aGlzLl9ydmFsLnRyYW5zZm9ybSh0aGlzLnZpZXdTZXR0aW5nLlJlYWRBdEZpZWxkLCBpLCB0aGlzLmFsbENvbHVtbnMpLFxyXG4gICAgICAgICAgICBmaWxlOiB0aGlzLl9ydmFsLnRyYW5zZm9ybSh0aGlzLnZpZXdTZXR0aW5nLkZpbGVEYXRhRmllbGQsIGksIHRoaXMuYWxsQ29sdW1ucyksXHJcbiAgICAgICAgICAgIGltYWdlOiB0aGlzLl9ydmFsLnRyYW5zZm9ybSh0aGlzLnZpZXdTZXR0aW5nLlBpY3R1cmVEYXRhRmllbGQsIGksIHRoaXMuYWxsQ29sdW1ucyksXHJcbiAgICAgICAgICAgIG93bmVyOiB7XHJcbiAgICAgICAgICAgICAgICBpZDogdGhpcy5fcnZhbC50cmFuc2Zvcm0odGhpcy52aWV3U2V0dGluZy5Vc2VyRmllbGQsIGksIHRoaXMuYWxsQ29sdW1ucyk/LklkLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogdGhpcy5fcnZhbC50cmFuc2Zvcm0odGhpcy52aWV3U2V0dGluZy5EaXNwbGF5TmFtZUZpZWxkLCBpLCB0aGlzLmFsbENvbHVtbnMpLFxyXG4gICAgICAgICAgICAgICAgYXZhdGFyOiB0aGlzLl9waWNGaWVsZC50cmFuc2Zvcm0oXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fcnZhbC50cmFuc2Zvcm0odGhpcy52aWV3U2V0dGluZy5Vc2VyUGljdHVyZUZpZWxkLCBpLCB0aGlzLmFsbENvbHVtbnMpPy5GaWxlSWQsXHJcbiAgICAgICAgICAgICAgICAgICAgJ0lEJyxcclxuICAgICAgICAgICAgICAgICAgICBpLklkLFxyXG4gICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgICAgICAgICA0NVxyXG4gICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgLy8gdmFsdWU6IHN0cmluZyB8IGFueSxcclxuICAgICAgICAgICAgICAgIC8vIHR5cGU6IHN0cmluZyxcclxuICAgICAgICAgICAgICAgIC8vIG1vSWQ6IHN0cmluZyB8IG51bGwsXHJcbiAgICAgICAgICAgICAgICAvLyBmaWVsZERlZklkPzogc3RyaW5nLFxyXG4gICAgICAgICAgICAgICAgLy8gc3c/OiBudW1iZXIsXHJcbiAgICAgICAgICAgICAgICAvLyBzaD86IG51bWJlclxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB0ZXh0OiB0aGlzLl9ydmFsLnRyYW5zZm9ybSh0aGlzLnZpZXdTZXR0aW5nLk1lc3NhZ2VUZXh0RmllbGQsIGksIHRoaXMuYWxsQ29sdW1ucylcclxuICAgICAgICB9KSk7XHJcbiAgICAgICAgY29uc29sZS5sb2codGhpcy5tZXNzYWdlcyk7XHJcbiAgICB9XHJcbn1cclxuaW50ZXJmYWNlIEJhcnNhQ2hhdExpc3RTZXR0aW5ncyBleHRlbmRzIFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nIHtcclxuICAgIFVzZXJGaWVsZDogc3RyaW5nO1xyXG4gICAgRGlzcGxheU5hbWVGaWVsZDogc3RyaW5nO1xyXG4gICAgVXNlclBpY3R1cmVGaWVsZDogc3RyaW5nO1xyXG4gICAgQ3JlYXRpb25EYXRlRmllbGQ6IHN0cmluZztcclxuICAgIFJlYWRBdEZpZWxkOiBzdHJpbmc7XHJcbiAgICBNZXNzYWdlVGV4dEZpZWxkOiBzdHJpbmc7XHJcbiAgICBGaWxlRGF0YUZpZWxkOiBzdHJpbmc7XHJcbiAgICBQaWN0dXJlRGF0YUZpZWxkOiBzdHJpbmc7XHJcbn1cclxuIiwiQGlmIChtZXNzYWdlcyAhPT0gbnVsbCkgeyBAaWYgKCFzaW1wbGUpIHtcclxuPGNkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydFxyXG4gICAgW2FwcGVuZE9ubHldPVwidHJ1ZVwiXHJcbiAgICBpZD1cImNoYXRDb250ZW50RWxlbWVudFwiXHJcbiAgICBpdGVtU2l6ZT1cIjIwXCJcclxuICAgIGNsYXNzPVwidHctaC1mdWxsIHR3LXctZnVsbCB0dy1wYi00IHR3LXB0LTI0XCJcclxuPlxyXG4gICAgPGRpdiAqY2RrVmlydHVhbEZvcj1cImxldCBtZXNzYWdlIG9mIG1lc3NhZ2VzOyBsZXQgaW5kZXggPSBpbmRleFwiPlxyXG4gICAgICAgIDxic3UtYmFyc2EtY2hhdC1tZXNzYWdlXHJcbiAgICAgICAgICAgIFttZXNzYWdlXT1cIm1lc3NhZ2VcIlxyXG4gICAgICAgICAgICBbc2hvd1NlbmRlcl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgW25leHRJc1NhbWVdPVwibWVzc2FnZXM/LltpbmRleCArIDFdPy5vd25lcj8uaWQgPT09IG1lc3NhZ2Uub3duZXIuaWRcIlxyXG4gICAgICAgICAgICBbcGVydklzU2FtZV09XCJtZXNzYWdlcz8uW2luZGV4IC0gMV0/Lm93bmVyPy5pZCA9PT0gbWVzc2FnZS5vd25lci5pZFwiXHJcbiAgICAgICAgICAgIFtiYWRnZV09XCIhdGhpcy5tZXNzYWdlcz8uW2luZGV4IC0gMV0gfHwgKG1vbWVudChtZXNzYWdlLmNyZWF0ZWRBdCkuakRheU9mWWVhcigpICE9PSBtb21lbnQodGhpcy5tZXNzYWdlcz8uW2luZGV4IC0gMV0/LmNyZWF0ZWRBdCkuakRheU9mWWVhcigpKVwiXHJcbiAgICAgICAgICAgIFtuZXh0SGFzQmFkZ2VdPVwiISF0aGlzLm1lc3NhZ2VzPy5baW5kZXggKyAxXSAmJiAobW9tZW50KG1lc3NhZ2UuY3JlYXRlZEF0KS5qRGF5T2ZZZWFyKCkgIT09IG1vbWVudCh0aGlzLm1lc3NhZ2VzPy5baW5kZXggKyAxXT8uY3JlYXRlZEF0KS5qRGF5T2ZZZWFyKCkpICYmIG1lc3NhZ2Uub3duZXIuaWQgPT09IHRoaXMubWVzc2FnZXM/LltpbmRleCArIDFdPy5vd25lcj8uaWRcIlxyXG4gICAgICAgICAgICBbYmFkZ2VMYWJlbF09XCJtb21lbnQobWVzc2FnZS5jcmVhdGVkQXQpIHwgdXRpbENoYXRUaW1lQmFkZ2VcIlxyXG4gICAgICAgICAgICAocmVwbHkpPVwic2V0UmVwbHlpbmdNZXNzYWdlLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgPjwvYnN1LWJhcnNhLWNoYXQtbWVzc2FnZT5cclxuICAgIDwvZGl2PlxyXG4gICAgQGlmIChyZXBseWluZ01lc3NhZ2UpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJ0dy1oLTE0XCI+PC9kaXY+XHJcbiAgICB9XHJcbjwvY2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0PlxyXG59IEBlbHNlIHtcclxuPGRpdiBjbGFzcz1cInR3LWgtZnVsbCB0dy13LWZ1bGwgdHctcHQtMjRcIj5cclxuICAgIEBmb3IgKG1lc3NhZ2Ugb2YgbWVzc2FnZXM7IHRyYWNrIG1lc3NhZ2UuaWQpIHtcclxuICAgIDxic3UtYmFyc2EtY2hhdC1tZXNzYWdlXHJcbiAgICAgICAgW21lc3NhZ2VdPVwibWVzc2FnZVwiXHJcbiAgICAgICAgW3Nob3dTZW5kZXJdPVwidHJ1ZVwiXHJcbiAgICAgICAgW25leHRJc1NhbWVdPVwibWVzc2FnZXM/LlskaW5kZXggKyAxXT8ub3duZXI/LmlkID09PSBtZXNzYWdlLm93bmVyLmlkXCJcclxuICAgICAgICBbcGVydklzU2FtZV09XCJtZXNzYWdlcz8uWyRpbmRleCAtIDFdPy5vd25lcj8uaWQgPT09IG1lc3NhZ2Uub3duZXIuaWRcIlxyXG4gICAgICAgIFtiYWRnZV09XCIhdGhpcy5tZXNzYWdlcz8uWyRpbmRleCAtIDFdIHx8IChtb21lbnQobWVzc2FnZS5jcmVhdGVkQXQpLmpEYXlPZlllYXIoKSAhPT0gbW9tZW50KHRoaXMubWVzc2FnZXM/LlskaW5kZXggLSAxXT8uY3JlYXRlZEF0KS5qRGF5T2ZZZWFyKCkpXCJcclxuICAgICAgICBbbmV4dEhhc0JhZGdlXT1cIiEhdGhpcy5tZXNzYWdlcz8uWyRpbmRleCArIDFdICYmIChtb21lbnQobWVzc2FnZS5jcmVhdGVkQXQpLmpEYXlPZlllYXIoKSAhPT0gbW9tZW50KHRoaXMubWVzc2FnZXM/LlskaW5kZXggKyAxXT8uY3JlYXRlZEF0KS5qRGF5T2ZZZWFyKCkpICYmIG1lc3NhZ2Uub3duZXIuaWQgPT09IHRoaXMubWVzc2FnZXM/LlskaW5kZXggKyAxXT8ub3duZXI/LmlkXCJcclxuICAgICAgICBbYmFkZ2VMYWJlbF09XCJtb21lbnQobWVzc2FnZS5jcmVhdGVkQXQpIHwgdXRpbENoYXRUaW1lQmFkZ2VcIlxyXG4gICAgICAgIChyZXBseSk9XCJzZXRSZXBseWluZ01lc3NhZ2UuZW1pdCgkZXZlbnQpXCJcclxuICAgID48L2JzdS1iYXJzYS1jaGF0LW1lc3NhZ2U+XHJcbiAgICB9XHJcbiAgICA8ZGl2IGNsYXNzPVwidHctaC00XCI+PC9kaXY+XHJcbjwvZGl2PlxyXG59IH1cclxuIl19
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { animate, style, transition, trigger } from '@angular/animations';
|
|
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/content-density";
|
|
8
|
+
import * as i5 from "@fundamental-ngx/core/button";
|
|
9
|
+
import * as i6 from "@fundamental-ngx/core/icon";
|
|
10
|
+
import * as i7 from "@fundamental-ngx/core/popover";
|
|
11
|
+
import * as i8 from "../util-date-to-hh-mm.pipe";
|
|
12
|
+
export class BarsaChatMessageComponent {
|
|
13
|
+
constructor() {
|
|
14
|
+
this.reply = new EventEmitter();
|
|
15
|
+
this.userId = '_IougKSKlxFxAftSI7a48Szk-GkM1';
|
|
16
|
+
}
|
|
17
|
+
imageRatio(image) {
|
|
18
|
+
const { originalWidth, originalHeight } = image;
|
|
19
|
+
let displayWidth = 0;
|
|
20
|
+
let displayHeight = 0;
|
|
21
|
+
if (originalWidth > originalHeight) {
|
|
22
|
+
const ratio = originalWidth / 320;
|
|
23
|
+
displayWidth = originalWidth / ratio;
|
|
24
|
+
displayHeight = originalHeight / ratio;
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
const ratio = originalHeight / 320;
|
|
28
|
+
displayWidth = originalWidth / ratio;
|
|
29
|
+
displayHeight = originalHeight / ratio;
|
|
30
|
+
}
|
|
31
|
+
return { ...image, displayWidth, displayHeight };
|
|
32
|
+
}
|
|
33
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaChatMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
34
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BarsaChatMessageComponent, selector: "bsu-barsa-chat-message", inputs: { message: "message", showSender: "showSender", nextIsSame: "nextIsSame", pervIsSame: "pervIsSame", badge: "badge", nextHasBadge: "nextHasBadge", badgeLabel: "badgeLabel" }, outputs: { reply: "reply" }, ngImport: i0, template: "<div\r\n class=\"tw-w-full tw-px-4 tw-flex tw-flex-wrap\"\r\n [ngClass]=\"{\r\n'tw-pt-1': pervIsSame,\r\n'tw-pt-3': !pervIsSame,\r\n}\"\r\n>\r\n @if (badge) {\r\n <div class=\"tw-w-full tw-pb-6 tw-pt-5\">\r\n <div class=\"tw-w-fit tw-bg-zinc-500 tw-text-white tw-px-4 tw-mx-auto tw-rounded-full tw-text-md\">\r\n {{ badgeLabel }}\r\n </div>\r\n </div>\r\n }\r\n <div\r\n class=\"tw-w-full tw-flex tw-gap-2 tw-items-end tw-relative\"\r\n [ngClass]=\"{\r\n'tw-justify-start': message.owner.id === userId,\r\n'tw-flex-row-reverse': message.owner.id !== userId,\r\n'tw-ms-14': (nextIsSame && !nextHasBadge) && message.owner.id === userId,\r\n'tw-me-14': (nextIsSame && !nextHasBadge) && message.owner.id !== userId,\r\n }\"\r\n >\r\n @if (!nextIsSame || nextHasBadge) {\r\n <fd-avatar\r\n size=\"s\"\r\n [label]=\"message.owner.avatar ? '' : message.owner?.name\"\r\n [circle]=\"true\"\r\n [image]=\"message.owner?.avatar\"\r\n [placeholder]=\"message.owner.avatar ? false : true\"\r\n ></fd-avatar>\r\n } @if (!nextIsSame || nextHasBadge) {\r\n <div\r\n class=\"tw-bg-transparent tw-overflow-hidden tw-size-3 tw-absolute tw-bottom-0 tw-border-[6px] tw-border-t-transparent\"\r\n [ngClass]=\"{\r\n 'tw-right-11 tw-border-b-bubble-mine tw-border-l-bubble-mine tw-border-r-transparent':\r\n message.owner.id === userId,\r\n 'tw-left-11 tw-border-b-default tw-border-r-default tw-border-l-transparent':\r\n message.owner.id !== userId\r\n }\"\r\n ></div>\r\n }\r\n <div\r\n @inPaneAnimation\r\n class=\"tw-max-w-[80%] tw-min-w-40 tw-rounded-2xl tw-text-base tw-relative tw-overflow-hidden\"\r\n [ngClass]=\"{\r\n '!tw-rounded-br-none':\r\n message.owner.id === userId && (nextHasBadge || (nextIsSame && !nextHasBadge) || !nextIsSame),\r\n '!tw-rounded-bl-none':\r\n message.owner.id !== userId && (nextHasBadge || (nextIsSame && !nextHasBadge) || !nextIsSame),\r\n '!tw-rounded-tr-none': message.owner.id === userId && pervIsSame && !badge,\r\n '!tw-rounded-tl-none': message.owner.id !== userId && pervIsSame && !badge\r\n }\"\r\n >\r\n @if (showSender && (!pervIsSame || badge)) {\r\n <div\r\n [ngClass]=\"{\r\n'tw-bg-bubble-mine': message.owner.id === userId && !message.image,\r\n'tw-bg-default': message.owner.id !== userId && !message.image,\r\n'tw-absolute tw-top-0 tw-right-0 tw-pb-8 tw-w-full tw-rounded-tr-2xl tw-bg-gradient-to-b tw-to-transparent': message.image,\r\n'tw-from-bubble-mine': message.owner.id === userId && message.image,\r\n'tw-from-default': message.owner.id !== userId && message.image,\r\n }\"\r\n class=\"tw-font-bold tw-text-base tw-px-3 tw-pt-2 tw-z-10\"\r\n >\r\n {{ message.owner.name }}\r\n </div>\r\n } @if (message.image) { @if (imageRatio(message.image); as image) {\r\n <div\r\n [ngClass]=\"{\r\n'tw-bg-bubble-mine/[.3]': message.owner.id === userId,\r\n'tw-bg-default/[.3]': message.owner.id !== userId,\r\n }\"\r\n class=\"tw-flex tw-justify-center tw-items-center tw-bg-zinc-500/[.3] tw-relative\"\r\n >\r\n <a\r\n [download]=\"message.image.name\"\r\n href=\"assets/bg-chat.jpg\"\r\n target=\"_blank\"\r\n class=\"tw-absolute tw-w-full tw-h-full tw-bg-black/[.4] dark:tw-bg-white/[.4] tw-opacity-0 hover:tw-opacity-100 tw-transition-all tw-cursor-pointer tw-flex tw-justify-center tw-items-center\"\r\n >\r\n <fd-icon class=\"!tw-text-default !tw-text-3xl\" glyph=\"download\"></fd-icon>\r\n </a>\r\n <img\r\n [ngStyle]=\"{\r\n width: image.displayWidth + 'px',\r\n height: image.displayHeight + 'px'\r\n }\"\r\n [src]=\"image.url\"\r\n />\r\n </div>\r\n } } @if (message.file?.name) {\r\n <div\r\n [ngClass]=\"{\r\n'tw-bg-bubble-mine': message.owner.id === userId,\r\n'tw-bg-default': message.owner.id !== userId,\r\n }\"\r\n class=\"tw-px-2 tw-pt-2 w-full tw-flex tw-gap-2\"\r\n >\r\n <a\r\n [download]=\"message.file?.FileName\"\r\n href=\"assets/bg-chat.jpg\"\r\n target=\"_blank\"\r\n class=\"tw-shrink-0 tw-row-0 tw-size-12 tw-rounded-lg tw-bg-orange-400 tw-flex tw-justify-center tw-items-center tw-cursor-pointer tw-transition-all hover:tw-bg-orange-600\"\r\n >\r\n <span class=\"tw-font-bold leading-6 tw-text-lg tw-text-white\">\r\n {{ message.file?.Type }}\r\n </span>\r\n </a>\r\n <div class=\"tw-flex tw-flex-col\">\r\n <span class=\"tw-font-bold tw-text-md tw-text-base tw-w-full tw-truncate\">\r\n {{ message.file?.FileName }}</span\r\n >\r\n <span class=\"tw-text-sm tw-text-gray-500 dark:tw-text-gray-400 tw-w-full tw-truncate\">\r\n {{ message.file?.Size }}</span\r\n >\r\n </div>\r\n </div>\r\n } @if (message.text) {\r\n <div\r\n [ngClass]=\"{\r\n'tw-bg-bubble-mine': message.owner.id === userId,\r\n'tw-bg-default': message.owner.id !== userId,\r\n }\"\r\n class=\"tw-whitespace-pre-line tw-px-3 tw-pt-1\"\r\n [innerHTML]=\"message.text\"\r\n ></div>\r\n }\r\n <div\r\n class=\"tw-flex tw-w-full tw-px-2 tw-pt-1 tw-pb-2 tw-items-center tw-gap-2 tw-justify-end\"\r\n [ngClass]=\"{\r\n'tw-bg-bubble-mine': message.owner.id === userId,\r\n'tw-bg-default tw-flex-row-reverse': message.owner.id !== userId,\r\n}\"\r\n >\r\n <span class=\"tw-text-xs tw-text-gray-500 dark:tw-text-gray-300\">{{\r\n message.createdAt | utilDateToHhMm\r\n }}</span>\r\n <fd-popover placement=\"bottom-end\" title=\"bottom-end\">\r\n <fd-popover-control>\r\n <button\r\n fd-button\r\n fdType=\"transparent\"\r\n [fdCompact]=\"true\"\r\n glyph=\"navigation-down-arrow\"\r\n ></button>\r\n </fd-popover-control>\r\n <fd-popover-body minWidth=\"10rem\">\r\n <div class=\"tw-flex tw-flex-col tw-bg-default tw-w-full\" bodyClick>\r\n <label\r\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\"\r\n (click)=\"reply.emit(message)\"\r\n >\r\n <fd-icon class=\"!tw-text-base !tw-text-3xl\" glyph=\"undo\"></fd-icon>\r\n <span class=\"!tw-text-base\">\u067E\u0627\u0633\u062E \u062F\u0627\u062F\u0646</span>\r\n </label>\r\n <label\r\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\"\r\n >\r\n <fd-icon class=\"!tw-text-base !tw-text-3xl\" glyph=\"forward\"></fd-icon>\r\n <span class=\"!tw-text-base\">\u0627\u0631\u0633\u0627\u0644 \u06A9\u0631\u062F\u0646</span>\r\n </label>\r\n <label\r\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\"\r\n >\r\n <fd-icon class=\"!tw-text-base !tw-text-3xl\" glyph=\"delete\"></fd-icon>\r\n <span class=\"!tw-text-base\">\u062D\u0630\u0641</span>\r\n </label>\r\n </div>\r\n </fd-popover-body>\r\n </fd-popover>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { 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: "directive", type: i4.ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "component", type: i5.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i6.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: i7.PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: i7.PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "component", type: i7.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }, { kind: "pipe", type: i8.UtilDateToHhMmPipe, name: "utilDateToHhMm" }], animations: [
|
|
35
|
+
trigger('inPaneAnimation', [
|
|
36
|
+
transition(':enter', [
|
|
37
|
+
style({ opacity: 0, transform: 'scale(0, 0)' }),
|
|
38
|
+
animate('300ms ease-in-out', style({ opacity: 1, transform: 'scale(100%, 100%)' }))
|
|
39
|
+
]),
|
|
40
|
+
transition(':leave', [
|
|
41
|
+
style({ opacity: 1, transform: 'scale(100%, 100%)' }),
|
|
42
|
+
animate('300ms ease-in-out', style({ opacity: 0, transform: 'scale(0, 0)' }))
|
|
43
|
+
])
|
|
44
|
+
])
|
|
45
|
+
] }); }
|
|
46
|
+
}
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaChatMessageComponent, decorators: [{
|
|
48
|
+
type: Component,
|
|
49
|
+
args: [{ selector: 'bsu-barsa-chat-message', animations: [
|
|
50
|
+
trigger('inPaneAnimation', [
|
|
51
|
+
transition(':enter', [
|
|
52
|
+
style({ opacity: 0, transform: 'scale(0, 0)' }),
|
|
53
|
+
animate('300ms ease-in-out', style({ opacity: 1, transform: 'scale(100%, 100%)' }))
|
|
54
|
+
]),
|
|
55
|
+
transition(':leave', [
|
|
56
|
+
style({ opacity: 1, transform: 'scale(100%, 100%)' }),
|
|
57
|
+
animate('300ms ease-in-out', style({ opacity: 0, transform: 'scale(0, 0)' }))
|
|
58
|
+
])
|
|
59
|
+
])
|
|
60
|
+
], standalone: false, template: "<div\r\n class=\"tw-w-full tw-px-4 tw-flex tw-flex-wrap\"\r\n [ngClass]=\"{\r\n'tw-pt-1': pervIsSame,\r\n'tw-pt-3': !pervIsSame,\r\n}\"\r\n>\r\n @if (badge) {\r\n <div class=\"tw-w-full tw-pb-6 tw-pt-5\">\r\n <div class=\"tw-w-fit tw-bg-zinc-500 tw-text-white tw-px-4 tw-mx-auto tw-rounded-full tw-text-md\">\r\n {{ badgeLabel }}\r\n </div>\r\n </div>\r\n }\r\n <div\r\n class=\"tw-w-full tw-flex tw-gap-2 tw-items-end tw-relative\"\r\n [ngClass]=\"{\r\n'tw-justify-start': message.owner.id === userId,\r\n'tw-flex-row-reverse': message.owner.id !== userId,\r\n'tw-ms-14': (nextIsSame && !nextHasBadge) && message.owner.id === userId,\r\n'tw-me-14': (nextIsSame && !nextHasBadge) && message.owner.id !== userId,\r\n }\"\r\n >\r\n @if (!nextIsSame || nextHasBadge) {\r\n <fd-avatar\r\n size=\"s\"\r\n [label]=\"message.owner.avatar ? '' : message.owner?.name\"\r\n [circle]=\"true\"\r\n [image]=\"message.owner?.avatar\"\r\n [placeholder]=\"message.owner.avatar ? false : true\"\r\n ></fd-avatar>\r\n } @if (!nextIsSame || nextHasBadge) {\r\n <div\r\n class=\"tw-bg-transparent tw-overflow-hidden tw-size-3 tw-absolute tw-bottom-0 tw-border-[6px] tw-border-t-transparent\"\r\n [ngClass]=\"{\r\n 'tw-right-11 tw-border-b-bubble-mine tw-border-l-bubble-mine tw-border-r-transparent':\r\n message.owner.id === userId,\r\n 'tw-left-11 tw-border-b-default tw-border-r-default tw-border-l-transparent':\r\n message.owner.id !== userId\r\n }\"\r\n ></div>\r\n }\r\n <div\r\n @inPaneAnimation\r\n class=\"tw-max-w-[80%] tw-min-w-40 tw-rounded-2xl tw-text-base tw-relative tw-overflow-hidden\"\r\n [ngClass]=\"{\r\n '!tw-rounded-br-none':\r\n message.owner.id === userId && (nextHasBadge || (nextIsSame && !nextHasBadge) || !nextIsSame),\r\n '!tw-rounded-bl-none':\r\n message.owner.id !== userId && (nextHasBadge || (nextIsSame && !nextHasBadge) || !nextIsSame),\r\n '!tw-rounded-tr-none': message.owner.id === userId && pervIsSame && !badge,\r\n '!tw-rounded-tl-none': message.owner.id !== userId && pervIsSame && !badge\r\n }\"\r\n >\r\n @if (showSender && (!pervIsSame || badge)) {\r\n <div\r\n [ngClass]=\"{\r\n'tw-bg-bubble-mine': message.owner.id === userId && !message.image,\r\n'tw-bg-default': message.owner.id !== userId && !message.image,\r\n'tw-absolute tw-top-0 tw-right-0 tw-pb-8 tw-w-full tw-rounded-tr-2xl tw-bg-gradient-to-b tw-to-transparent': message.image,\r\n'tw-from-bubble-mine': message.owner.id === userId && message.image,\r\n'tw-from-default': message.owner.id !== userId && message.image,\r\n }\"\r\n class=\"tw-font-bold tw-text-base tw-px-3 tw-pt-2 tw-z-10\"\r\n >\r\n {{ message.owner.name }}\r\n </div>\r\n } @if (message.image) { @if (imageRatio(message.image); as image) {\r\n <div\r\n [ngClass]=\"{\r\n'tw-bg-bubble-mine/[.3]': message.owner.id === userId,\r\n'tw-bg-default/[.3]': message.owner.id !== userId,\r\n }\"\r\n class=\"tw-flex tw-justify-center tw-items-center tw-bg-zinc-500/[.3] tw-relative\"\r\n >\r\n <a\r\n [download]=\"message.image.name\"\r\n href=\"assets/bg-chat.jpg\"\r\n target=\"_blank\"\r\n class=\"tw-absolute tw-w-full tw-h-full tw-bg-black/[.4] dark:tw-bg-white/[.4] tw-opacity-0 hover:tw-opacity-100 tw-transition-all tw-cursor-pointer tw-flex tw-justify-center tw-items-center\"\r\n >\r\n <fd-icon class=\"!tw-text-default !tw-text-3xl\" glyph=\"download\"></fd-icon>\r\n </a>\r\n <img\r\n [ngStyle]=\"{\r\n width: image.displayWidth + 'px',\r\n height: image.displayHeight + 'px'\r\n }\"\r\n [src]=\"image.url\"\r\n />\r\n </div>\r\n } } @if (message.file?.name) {\r\n <div\r\n [ngClass]=\"{\r\n'tw-bg-bubble-mine': message.owner.id === userId,\r\n'tw-bg-default': message.owner.id !== userId,\r\n }\"\r\n class=\"tw-px-2 tw-pt-2 w-full tw-flex tw-gap-2\"\r\n >\r\n <a\r\n [download]=\"message.file?.FileName\"\r\n href=\"assets/bg-chat.jpg\"\r\n target=\"_blank\"\r\n class=\"tw-shrink-0 tw-row-0 tw-size-12 tw-rounded-lg tw-bg-orange-400 tw-flex tw-justify-center tw-items-center tw-cursor-pointer tw-transition-all hover:tw-bg-orange-600\"\r\n >\r\n <span class=\"tw-font-bold leading-6 tw-text-lg tw-text-white\">\r\n {{ message.file?.Type }}\r\n </span>\r\n </a>\r\n <div class=\"tw-flex tw-flex-col\">\r\n <span class=\"tw-font-bold tw-text-md tw-text-base tw-w-full tw-truncate\">\r\n {{ message.file?.FileName }}</span\r\n >\r\n <span class=\"tw-text-sm tw-text-gray-500 dark:tw-text-gray-400 tw-w-full tw-truncate\">\r\n {{ message.file?.Size }}</span\r\n >\r\n </div>\r\n </div>\r\n } @if (message.text) {\r\n <div\r\n [ngClass]=\"{\r\n'tw-bg-bubble-mine': message.owner.id === userId,\r\n'tw-bg-default': message.owner.id !== userId,\r\n }\"\r\n class=\"tw-whitespace-pre-line tw-px-3 tw-pt-1\"\r\n [innerHTML]=\"message.text\"\r\n ></div>\r\n }\r\n <div\r\n class=\"tw-flex tw-w-full tw-px-2 tw-pt-1 tw-pb-2 tw-items-center tw-gap-2 tw-justify-end\"\r\n [ngClass]=\"{\r\n'tw-bg-bubble-mine': message.owner.id === userId,\r\n'tw-bg-default tw-flex-row-reverse': message.owner.id !== userId,\r\n}\"\r\n >\r\n <span class=\"tw-text-xs tw-text-gray-500 dark:tw-text-gray-300\">{{\r\n message.createdAt | utilDateToHhMm\r\n }}</span>\r\n <fd-popover placement=\"bottom-end\" title=\"bottom-end\">\r\n <fd-popover-control>\r\n <button\r\n fd-button\r\n fdType=\"transparent\"\r\n [fdCompact]=\"true\"\r\n glyph=\"navigation-down-arrow\"\r\n ></button>\r\n </fd-popover-control>\r\n <fd-popover-body minWidth=\"10rem\">\r\n <div class=\"tw-flex tw-flex-col tw-bg-default tw-w-full\" bodyClick>\r\n <label\r\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\"\r\n (click)=\"reply.emit(message)\"\r\n >\r\n <fd-icon class=\"!tw-text-base !tw-text-3xl\" glyph=\"undo\"></fd-icon>\r\n <span class=\"!tw-text-base\">\u067E\u0627\u0633\u062E \u062F\u0627\u062F\u0646</span>\r\n </label>\r\n <label\r\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\"\r\n >\r\n <fd-icon class=\"!tw-text-base !tw-text-3xl\" glyph=\"forward\"></fd-icon>\r\n <span class=\"!tw-text-base\">\u0627\u0631\u0633\u0627\u0644 \u06A9\u0631\u062F\u0646</span>\r\n </label>\r\n <label\r\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\"\r\n >\r\n <fd-icon class=\"!tw-text-base !tw-text-3xl\" glyph=\"delete\"></fd-icon>\r\n <span class=\"!tw-text-base\">\u062D\u0630\u0641</span>\r\n </label>\r\n </div>\r\n </fd-popover-body>\r\n </fd-popover>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
|
|
61
|
+
}], propDecorators: { message: [{
|
|
62
|
+
type: Input
|
|
63
|
+
}], showSender: [{
|
|
64
|
+
type: Input
|
|
65
|
+
}], nextIsSame: [{
|
|
66
|
+
type: Input
|
|
67
|
+
}], pervIsSame: [{
|
|
68
|
+
type: Input
|
|
69
|
+
}], badge: [{
|
|
70
|
+
type: Input
|
|
71
|
+
}], nextHasBadge: [{
|
|
72
|
+
type: Input
|
|
73
|
+
}], badgeLabel: [{
|
|
74
|
+
type: Input
|
|
75
|
+
}], reply: [{
|
|
76
|
+
type: Output
|
|
77
|
+
}] } });
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtY2hhdC1tZXNzYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL2JhcnNhLWNoYXQtbWVzc2FnZS9iYXJzYS1jaGF0LW1lc3NhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtY2hhdC1tZXNzYWdlL2JhcnNhLWNoYXQtbWVzc2FnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7OztBQXFCMUUsTUFBTSxPQUFPLHlCQUF5QjtJQWxCdEM7UUEwQmMsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDMUMsV0FBTSxHQUFHLCtCQUErQixDQUFDO0tBaUI1QztJQWZHLFVBQVUsQ0FBQyxLQUFVO1FBQ2pCLE1BQU0sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBQ2hELElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQztRQUNyQixJQUFJLGFBQWEsR0FBRyxDQUFDLENBQUM7UUFDdEIsSUFBSSxhQUFhLEdBQUcsY0FBYyxFQUFFLENBQUM7WUFDakMsTUFBTSxLQUFLLEdBQUcsYUFBYSxHQUFHLEdBQUcsQ0FBQztZQUNsQyxZQUFZLEdBQUcsYUFBYSxHQUFHLEtBQUssQ0FBQztZQUNyQyxhQUFhLEdBQUcsY0FBYyxHQUFHLEtBQUssQ0FBQztRQUMzQyxDQUFDO2FBQU0sQ0FBQztZQUNKLE1BQU0sS0FBSyxHQUFHLGNBQWMsR0FBRyxHQUFHLENBQUM7WUFDbkMsWUFBWSxHQUFHLGFBQWEsR0FBRyxLQUFLLENBQUM7WUFDckMsYUFBYSxHQUFHLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFDM0MsQ0FBQztRQUNELE9BQU8sRUFBRSxHQUFHLEtBQUssRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLENBQUM7SUFDckQsQ0FBQzsrR0F6QlEseUJBQXlCO21HQUF6Qix5QkFBeUIsaVJDdEJ0Qyw2dFJBK0tBLGsvRER2S2dCO1lBQ1IsT0FBTyxDQUFDLGlCQUFpQixFQUFFO2dCQUN2QixVQUFVLENBQUMsUUFBUSxFQUFFO29CQUNqQixLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsQ0FBQztvQkFDL0MsT0FBTyxDQUFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQztpQkFDdEYsQ0FBQztnQkFDRixVQUFVLENBQUMsUUFBUSxFQUFFO29CQUNqQixLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxDQUFDO29CQUNyRCxPQUFPLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQztpQkFDaEYsQ0FBQzthQUNMLENBQUM7U0FDTDs7NEZBR1EseUJBQXlCO2tCQWxCckMsU0FBUzsrQkFDSSx3QkFBd0IsY0FHdEI7d0JBQ1IsT0FBTyxDQUFDLGlCQUFpQixFQUFFOzRCQUN2QixVQUFVLENBQUMsUUFBUSxFQUFFO2dDQUNqQixLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsQ0FBQztnQ0FDL0MsT0FBTyxDQUFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQzs2QkFDdEYsQ0FBQzs0QkFDRixVQUFVLENBQUMsUUFBUSxFQUFFO2dDQUNqQixLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxDQUFDO2dDQUNyRCxPQUFPLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQzs2QkFDaEYsQ0FBQzt5QkFDTCxDQUFDO3FCQUNMLGNBQ1csS0FBSzs4QkFHUixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDSSxLQUFLO3NCQUFkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBhbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBNZXNzYWdlIH0gZnJvbSAnLi4vYmFyc2EtY2hhdC9jaGF0Lm1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdic3UtYmFyc2EtY2hhdC1tZXNzYWdlJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9iYXJzYS1jaGF0LW1lc3NhZ2UuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmw6ICcuL2JhcnNhLWNoYXQtbWVzc2FnZS5jb21wb25lbnQuY3NzJyxcclxuICAgIGFuaW1hdGlvbnM6IFtcclxuICAgICAgICB0cmlnZ2VyKCdpblBhbmVBbmltYXRpb24nLCBbXHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcclxuICAgICAgICAgICAgICAgIHN0eWxlKHsgb3BhY2l0eTogMCwgdHJhbnNmb3JtOiAnc2NhbGUoMCwgMCknIH0pLFxyXG4gICAgICAgICAgICAgICAgYW5pbWF0ZSgnMzAwbXMgZWFzZS1pbi1vdXQnLCBzdHlsZSh7IG9wYWNpdHk6IDEsIHRyYW5zZm9ybTogJ3NjYWxlKDEwMCUsIDEwMCUpJyB9KSlcclxuICAgICAgICAgICAgXSksXHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtcclxuICAgICAgICAgICAgICAgIHN0eWxlKHsgb3BhY2l0eTogMSwgdHJhbnNmb3JtOiAnc2NhbGUoMTAwJSwgMTAwJSknIH0pLFxyXG4gICAgICAgICAgICAgICAgYW5pbWF0ZSgnMzAwbXMgZWFzZS1pbi1vdXQnLCBzdHlsZSh7IG9wYWNpdHk6IDAsIHRyYW5zZm9ybTogJ3NjYWxlKDAsIDApJyB9KSlcclxuICAgICAgICAgICAgXSlcclxuICAgICAgICBdKVxyXG4gICAgXSxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCYXJzYUNoYXRNZXNzYWdlQ29tcG9uZW50IHtcclxuICAgIEBJbnB1dCgpIG1lc3NhZ2U6IE1lc3NhZ2U7XHJcbiAgICBASW5wdXQoKSBzaG93U2VuZGVyOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgbmV4dElzU2FtZTogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIHBlcnZJc1NhbWU6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBiYWRnZTogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIG5leHRIYXNCYWRnZTogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGJhZGdlTGFiZWw6IHN0cmluZztcclxuICAgIEBPdXRwdXQoKSByZXBseSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICAgdXNlcklkID0gJ19Jb3VnS1NLbHhGeEFmdFNJN2E0OFN6ay1Ha00xJztcclxuXHJcbiAgICBpbWFnZVJhdGlvKGltYWdlOiBhbnkpOiBhbnkge1xyXG4gICAgICAgIGNvbnN0IHsgb3JpZ2luYWxXaWR0aCwgb3JpZ2luYWxIZWlnaHQgfSA9IGltYWdlO1xyXG4gICAgICAgIGxldCBkaXNwbGF5V2lkdGggPSAwO1xyXG4gICAgICAgIGxldCBkaXNwbGF5SGVpZ2h0ID0gMDtcclxuICAgICAgICBpZiAob3JpZ2luYWxXaWR0aCA+IG9yaWdpbmFsSGVpZ2h0KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJhdGlvID0gb3JpZ2luYWxXaWR0aCAvIDMyMDtcclxuICAgICAgICAgICAgZGlzcGxheVdpZHRoID0gb3JpZ2luYWxXaWR0aCAvIHJhdGlvO1xyXG4gICAgICAgICAgICBkaXNwbGF5SGVpZ2h0ID0gb3JpZ2luYWxIZWlnaHQgLyByYXRpbztcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBjb25zdCByYXRpbyA9IG9yaWdpbmFsSGVpZ2h0IC8gMzIwO1xyXG4gICAgICAgICAgICBkaXNwbGF5V2lkdGggPSBvcmlnaW5hbFdpZHRoIC8gcmF0aW87XHJcbiAgICAgICAgICAgIGRpc3BsYXlIZWlnaHQgPSBvcmlnaW5hbEhlaWdodCAvIHJhdGlvO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4geyAuLi5pbWFnZSwgZGlzcGxheVdpZHRoLCBkaXNwbGF5SGVpZ2h0IH07XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gICAgY2xhc3M9XCJ0dy13LWZ1bGwgdHctcHgtNCB0dy1mbGV4IHR3LWZsZXgtd3JhcFwiXHJcbiAgICBbbmdDbGFzc109XCJ7XHJcbid0dy1wdC0xJzogcGVydklzU2FtZSxcclxuJ3R3LXB0LTMnOiAhcGVydklzU2FtZSxcclxufVwiXHJcbj5cclxuICAgIEBpZiAoYmFkZ2UpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJ0dy13LWZ1bGwgdHctcGItNiB0dy1wdC01XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInR3LXctZml0IHR3LWJnLXppbmMtNTAwIHR3LXRleHQtd2hpdGUgdHctcHgtNCB0dy1teC1hdXRvIHR3LXJvdW5kZWQtZnVsbCB0dy10ZXh0LW1kXCI+XHJcbiAgICAgICAgICAgIHt7IGJhZGdlTGFiZWwgfX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwidHctdy1mdWxsIHR3LWZsZXggdHctZ2FwLTIgdHctaXRlbXMtZW5kIHR3LXJlbGF0aXZlXCJcclxuICAgICAgICBbbmdDbGFzc109XCJ7XHJcbid0dy1qdXN0aWZ5LXN0YXJ0JzogbWVzc2FnZS5vd25lci5pZCA9PT0gdXNlcklkLFxyXG4ndHctZmxleC1yb3ctcmV2ZXJzZSc6IG1lc3NhZ2Uub3duZXIuaWQgIT09IHVzZXJJZCxcclxuJ3R3LW1zLTE0JzogKG5leHRJc1NhbWUgJiYgIW5leHRIYXNCYWRnZSkgJiYgbWVzc2FnZS5vd25lci5pZCA9PT0gdXNlcklkLFxyXG4ndHctbWUtMTQnOiAobmV4dElzU2FtZSAmJiAhbmV4dEhhc0JhZGdlKSAmJiBtZXNzYWdlLm93bmVyLmlkICE9PSB1c2VySWQsXHJcbiAgICB9XCJcclxuICAgID5cclxuICAgICAgICBAaWYgKCFuZXh0SXNTYW1lIHx8IG5leHRIYXNCYWRnZSkge1xyXG4gICAgICAgIDxmZC1hdmF0YXJcclxuICAgICAgICAgICAgc2l6ZT1cInNcIlxyXG4gICAgICAgICAgICBbbGFiZWxdPVwibWVzc2FnZS5vd25lci5hdmF0YXIgPyAnJyA6IG1lc3NhZ2Uub3duZXI/Lm5hbWVcIlxyXG4gICAgICAgICAgICBbY2lyY2xlXT1cInRydWVcIlxyXG4gICAgICAgICAgICBbaW1hZ2VdPVwibWVzc2FnZS5vd25lcj8uYXZhdGFyXCJcclxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIm1lc3NhZ2Uub3duZXIuYXZhdGFyID8gZmFsc2UgOiB0cnVlXCJcclxuICAgICAgICA+PC9mZC1hdmF0YXI+XHJcbiAgICAgICAgfSBAaWYgKCFuZXh0SXNTYW1lIHx8IG5leHRIYXNCYWRnZSkge1xyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJ0dy1iZy10cmFuc3BhcmVudCB0dy1vdmVyZmxvdy1oaWRkZW4gdHctc2l6ZS0zIHR3LWFic29sdXRlIHR3LWJvdHRvbS0wIHR3LWJvcmRlci1bNnB4XSB0dy1ib3JkZXItdC10cmFuc3BhcmVudFwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICd0dy1yaWdodC0xMSB0dy1ib3JkZXItYi1idWJibGUtbWluZSB0dy1ib3JkZXItbC1idWJibGUtbWluZSB0dy1ib3JkZXItci10cmFuc3BhcmVudCc6XHJcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZS5vd25lci5pZCA9PT0gdXNlcklkLFxyXG4gICAgICAgICAgICAgICAgJ3R3LWxlZnQtMTEgdHctYm9yZGVyLWItZGVmYXVsdCB0dy1ib3JkZXItci1kZWZhdWx0IHR3LWJvcmRlci1sLXRyYW5zcGFyZW50JzpcclxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlLm93bmVyLmlkICE9PSB1c2VySWRcclxuICAgICAgICAgICAgfVwiXHJcbiAgICAgICAgPjwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIEBpblBhbmVBbmltYXRpb25cclxuICAgICAgICAgICAgY2xhc3M9XCJ0dy1tYXgtdy1bODAlXSB0dy1taW4tdy00MCB0dy1yb3VuZGVkLTJ4bCB0dy10ZXh0LWJhc2UgdHctcmVsYXRpdmUgdHctb3ZlcmZsb3ctaGlkZGVuXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAgICAgJyF0dy1yb3VuZGVkLWJyLW5vbmUnOlxyXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2Uub3duZXIuaWQgPT09IHVzZXJJZCAmJiAobmV4dEhhc0JhZGdlIHx8IChuZXh0SXNTYW1lICYmICFuZXh0SGFzQmFkZ2UpIHx8ICFuZXh0SXNTYW1lKSxcclxuICAgICAgICAgICAgICAgICchdHctcm91bmRlZC1ibC1ub25lJzpcclxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlLm93bmVyLmlkICE9PSB1c2VySWQgJiYgKG5leHRIYXNCYWRnZSB8fCAobmV4dElzU2FtZSAmJiAhbmV4dEhhc0JhZGdlKSB8fCAhbmV4dElzU2FtZSksXHJcbiAgICAgICAgICAgICAgICAnIXR3LXJvdW5kZWQtdHItbm9uZSc6IG1lc3NhZ2Uub3duZXIuaWQgPT09IHVzZXJJZCAmJiBwZXJ2SXNTYW1lICYmICFiYWRnZSxcclxuICAgICAgICAgICAgICAgICchdHctcm91bmRlZC10bC1ub25lJzogbWVzc2FnZS5vd25lci5pZCAhPT0gdXNlcklkICYmIHBlcnZJc1NhbWUgJiYgIWJhZGdlXHJcbiAgICAgICAgICAgIH1cIlxyXG4gICAgICAgID5cclxuICAgICAgICAgICAgQGlmIChzaG93U2VuZGVyICYmICghcGVydklzU2FtZSB8fCBiYWRnZSkpIHtcclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4ndHctYmctYnViYmxlLW1pbmUnOiBtZXNzYWdlLm93bmVyLmlkID09PSB1c2VySWQgJiYgIW1lc3NhZ2UuaW1hZ2UsXHJcbid0dy1iZy1kZWZhdWx0JzogbWVzc2FnZS5vd25lci5pZCAhPT0gdXNlcklkICYmICFtZXNzYWdlLmltYWdlLFxyXG4ndHctYWJzb2x1dGUgdHctdG9wLTAgdHctcmlnaHQtMCB0dy1wYi04IHR3LXctZnVsbCB0dy1yb3VuZGVkLXRyLTJ4bCB0dy1iZy1ncmFkaWVudC10by1iIHR3LXRvLXRyYW5zcGFyZW50JzogbWVzc2FnZS5pbWFnZSxcclxuJ3R3LWZyb20tYnViYmxlLW1pbmUnOiBtZXNzYWdlLm93bmVyLmlkID09PSB1c2VySWQgJiYgbWVzc2FnZS5pbWFnZSxcclxuJ3R3LWZyb20tZGVmYXVsdCc6IG1lc3NhZ2Uub3duZXIuaWQgIT09IHVzZXJJZCAmJiBtZXNzYWdlLmltYWdlLFxyXG4gICAgICAgICAgICAgICAgICAgIH1cIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0dy1mb250LWJvbGQgdHctdGV4dC1iYXNlIHR3LXB4LTMgdHctcHQtMiB0dy16LTEwXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAge3sgbWVzc2FnZS5vd25lci5uYW1lIH19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB9IEBpZiAobWVzc2FnZS5pbWFnZSkgeyBAaWYgKGltYWdlUmF0aW8obWVzc2FnZS5pbWFnZSk7IGFzIGltYWdlKSB7XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuJ3R3LWJnLWJ1YmJsZS1taW5lL1suM10nOiBtZXNzYWdlLm93bmVyLmlkID09PSB1c2VySWQsXHJcbid0dy1iZy1kZWZhdWx0L1suM10nOiBtZXNzYWdlLm93bmVyLmlkICE9PSB1c2VySWQsXHJcbiAgICAgICAgICAgICAgICAgICAgfVwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInR3LWZsZXggdHctanVzdGlmeS1jZW50ZXIgdHctaXRlbXMtY2VudGVyIHR3LWJnLXppbmMtNTAwL1suM10gdHctcmVsYXRpdmVcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8YVxyXG4gICAgICAgICAgICAgICAgICAgIFtkb3dubG9hZF09XCJtZXNzYWdlLmltYWdlLm5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIGhyZWY9XCJhc3NldHMvYmctY2hhdC5qcGdcIlxyXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0dy1hYnNvbHV0ZSB0dy13LWZ1bGwgdHctaC1mdWxsIHR3LWJnLWJsYWNrL1suNF0gZGFyazp0dy1iZy13aGl0ZS9bLjRdIHR3LW9wYWNpdHktMCBob3Zlcjp0dy1vcGFjaXR5LTEwMCB0dy10cmFuc2l0aW9uLWFsbCB0dy1jdXJzb3ItcG9pbnRlciB0dy1mbGV4IHR3LWp1c3RpZnktY2VudGVyIHR3LWl0ZW1zLWNlbnRlclwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZkLWljb24gY2xhc3M9XCIhdHctdGV4dC1kZWZhdWx0ICF0dy10ZXh0LTN4bFwiIGdseXBoPVwiZG93bmxvYWRcIj48L2ZkLWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogaW1hZ2UuZGlzcGxheVdpZHRoICsgJ3B4JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBpbWFnZS5kaXNwbGF5SGVpZ2h0ICsgJ3B4J1xyXG4gICAgICAgICAgICAgICAgICAgIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiaW1hZ2UudXJsXCJcclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB9IH0gQGlmIChtZXNzYWdlLmZpbGU/Lm5hbWUpIHtcclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4ndHctYmctYnViYmxlLW1pbmUnOiBtZXNzYWdlLm93bmVyLmlkID09PSB1c2VySWQsXHJcbid0dy1iZy1kZWZhdWx0JzogbWVzc2FnZS5vd25lci5pZCAhPT0gdXNlcklkLFxyXG4gICAgICAgICAgICAgICAgICAgIH1cIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0dy1weC0yIHR3LXB0LTIgdy1mdWxsIHR3LWZsZXggdHctZ2FwLTJcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8YVxyXG4gICAgICAgICAgICAgICAgICAgIFtkb3dubG9hZF09XCJtZXNzYWdlLmZpbGU/LkZpbGVOYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICBocmVmPVwiYXNzZXRzL2JnLWNoYXQuanBnXCJcclxuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidHctc2hyaW5rLTAgdHctcm93LTAgdHctc2l6ZS0xMiB0dy1yb3VuZGVkLWxnIHR3LWJnLW9yYW5nZS00MDAgdHctZmxleCB0dy1qdXN0aWZ5LWNlbnRlciB0dy1pdGVtcy1jZW50ZXIgdHctY3Vyc29yLXBvaW50ZXIgdHctdHJhbnNpdGlvbi1hbGwgaG92ZXI6dHctYmctb3JhbmdlLTYwMFwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0dy1mb250LWJvbGQgbGVhZGluZy02IHR3LXRleHQtbGcgdHctdGV4dC13aGl0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBtZXNzYWdlLmZpbGU/LlR5cGUgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHctZmxleCB0dy1mbGV4LWNvbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHctZm9udC1ib2xkIHR3LXRleHQtbWQgdHctdGV4dC1iYXNlIHR3LXctZnVsbCB0dy10cnVuY2F0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBtZXNzYWdlLmZpbGU/LkZpbGVOYW1lIH19PC9zcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHctdGV4dC1zbSB0dy10ZXh0LWdyYXktNTAwIGRhcms6dHctdGV4dC1ncmF5LTQwMCB0dy13LWZ1bGwgdHctdHJ1bmNhdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgbWVzc2FnZS5maWxlPy5TaXplIH19PC9zcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB9IEBpZiAobWVzc2FnZS50ZXh0KSB7XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuJ3R3LWJnLWJ1YmJsZS1taW5lJzogbWVzc2FnZS5vd25lci5pZCA9PT0gdXNlcklkLFxyXG4ndHctYmctZGVmYXVsdCc6IG1lc3NhZ2Uub3duZXIuaWQgIT09IHVzZXJJZCxcclxuICAgICAgICAgICAgICAgICAgICB9XCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidHctd2hpdGVzcGFjZS1wcmUtbGluZSB0dy1weC0zIHR3LXB0LTFcIlxyXG4gICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJtZXNzYWdlLnRleHRcIlxyXG4gICAgICAgICAgICA+PC9kaXY+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0dy1mbGV4IHR3LXctZnVsbCB0dy1weC0yIHR3LXB0LTEgdHctcGItMiB0dy1pdGVtcy1jZW50ZXIgdHctZ2FwLTIgdHctanVzdGlmeS1lbmRcIlxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4ndHctYmctYnViYmxlLW1pbmUnOiBtZXNzYWdlLm93bmVyLmlkID09PSB1c2VySWQsXHJcbid0dy1iZy1kZWZhdWx0IHR3LWZsZXgtcm93LXJldmVyc2UnOiBtZXNzYWdlLm93bmVyLmlkICE9PSB1c2VySWQsXHJcbn1cIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInR3LXRleHQteHMgdHctdGV4dC1ncmF5LTUwMCBkYXJrOnR3LXRleHQtZ3JheS0zMDBcIj57e1xyXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UuY3JlYXRlZEF0IHwgdXRpbERhdGVUb0hoTW1cclxuICAgICAgICAgICAgICAgIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPGZkLXBvcG92ZXIgcGxhY2VtZW50PVwiYm90dG9tLWVuZFwiIHRpdGxlPVwiYm90dG9tLWVuZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmZC1wb3BvdmVyLWNvbnRyb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZkQ29tcGFjdF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdseXBoPVwibmF2aWdhdGlvbi1kb3duLWFycm93XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZmQtcG9wb3Zlci1jb250cm9sPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmZC1wb3BvdmVyLWJvZHkgbWluV2lkdGg9XCIxMHJlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHctZmxleCB0dy1mbGV4LWNvbCB0dy1iZy1kZWZhdWx0IHR3LXctZnVsbFwiIGJvZHlDbGljaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidHctcHgtNCB0dy1weS0yIHR3LWZsZXggdHctZ2FwLTIgdHctdy1mdWxsIGhvdmVyOnR3LWJnLWJhc2UvWy4xXSB0dy10cmFuc2l0aW9uLWFsbCB0dy1jdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlcGx5LmVtaXQobWVzc2FnZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1pY29uIGNsYXNzPVwiIXR3LXRleHQtYmFzZSAhdHctdGV4dC0zeGxcIiBnbHlwaD1cInVuZG9cIj48L2ZkLWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCIhdHctdGV4dC1iYXNlXCI+2b7Yp9iz2K4g2K/Yp9iv2YY8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0dy1weC00IHR3LXB5LTIgdHctZmxleCB0dy1nYXAtMiB0dy13LWZ1bGwgaG92ZXI6dHctYmctYmFzZS9bLjFdIHR3LXRyYW5zaXRpb24tYWxsIHR3LWN1cnNvci1wb2ludGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmQtaWNvbiBjbGFzcz1cIiF0dy10ZXh0LWJhc2UgIXR3LXRleHQtM3hsXCIgZ2x5cGg9XCJmb3J3YXJkXCI+PC9mZC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiIXR3LXRleHQtYmFzZVwiPtin2LHYs9in2YQg2qnYsdiv2YY8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0dy1weC00IHR3LXB5LTIgdHctZmxleCB0dy1nYXAtMiB0dy13LWZ1bGwgaG92ZXI6dHctYmctYmFzZS9bLjFdIHR3LXRyYW5zaXRpb24tYWxsIHR3LWN1cnNvci1wb2ludGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmQtaWNvbiBjbGFzcz1cIiF0dy10ZXh0LWJhc2UgIXR3LXRleHQtM3hsXCIgZ2x5cGg9XCJkZWxldGVcIj48L2ZkLWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCIhdHctdGV4dC1iYXNlXCI+2K3YsNmBPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9mZC1wb3BvdmVyLWJvZHk+XHJcbiAgICAgICAgICAgICAgICA8L2ZkLXBvcG92ZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "barsa-novin-ray-core";
|
|
5
|
+
import * as i3 from "@fundamental-ngx/core/content-density";
|
|
6
|
+
import * as i4 from "@fundamental-ngx/core/button";
|
|
7
|
+
import * as i5 from "@fundamental-ngx/core/icon";
|
|
8
|
+
import * as i6 from "@fundamental-ngx/core/popover";
|
|
9
|
+
export class BarsaChatThreadComponent {
|
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaChatThreadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BarsaChatThreadComponent, selector: "bsu-barsa-chat-thread", inputs: { thread: "thread" }, host: { classAttribute: "tw-w-full tw-h-[4.5rem] tw-flex tw-gap-2 tw-border-b tw-border-b-gray-200 dark:tw-border-b-gray-600 tw-p-2 tw-cursor-pointer tw-bg-default hover:tw-bg-zinc-100 hover:dark:tw-bg-black tw-transition-all" }, ngImport: i0, template: "<div class=\"tw-relative tw-grow-0 tw-shrink-0 tw-size-14\">\r\n <img class=\"tw-w-full tw-h-full tw-rounded-full\" [src]=\"thread.avatar\" />\r\n @if (thread.status === 2) {\r\n <div\r\n class=\"tw-absolute tw-bottom-0 tw-left-0 tw-border-2 tw-border-default tw-size-4 tw-rounded-full\"\r\n [ngClass]=\"{\r\n 'tw-bg-gray-300': thread.status === 0,\r\n 'tw-bg-gray-700': thread.status === 1,\r\n 'tw-bg-green-600': thread.status === 2,\r\n 'tw-bg-red-600': thread.status === 3,\r\n }\"\r\n ></div>\r\n }\r\n</div>\r\n<div class=\"tw-grow tw-shrink tw-flex tw-flex-col tw-gap-0.5\">\r\n <span class=\"tw-font-bold tw-text-base tw-text-sm\">{{ thread.title }}</span>\r\n <span class=\"tw-text-gray-500 dark:tw-text-gray-300 tw-line-clamp-2 tw-text-xs\">{{ thread.lastMessage.text }}</span>\r\n</div>\r\n<div class=\"tw-grow-0 tw-shrink-0 tw-flex tw-flex-col tw-justify-between tw-items-center\">\r\n @if (thread.unreadCount) {\r\n <div\r\n class=\"tw-text-white tw-rounded-full tw-text-sm tw-px-1.5\"\r\n [ngClass]=\"{\r\n 'tw-bg-blue-500': !thread.muted,\r\n 'tw-bg-zinc-500': thread.muted\r\n }\"\r\n >\r\n {{ thread.unreadCount }}\r\n </div>\r\n } @else {\r\n <div></div>\r\n }\r\n <div>\r\n <fd-popover placement=\"bottom-end\" title=\"bottom-end\" (click)=\"$event.stopPropagation()\">\r\n <fd-popover-control>\r\n <button fd-button fdType=\"transparent\" [fdCompact]=\"true\" glyph=\"navigation-down-arrow\"></button>\r\n </fd-popover-control>\r\n <fd-popover-body minWidth=\"10rem\">\r\n <div class=\"tw-flex tw-flex-col tw-bg-default tw-w-full\" bodyClick>\r\n <label\r\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\"\r\n >\r\n <fd-icon class=\"!tw-text-base !tw-text-3xl\" glyph=\"bell-2\"></fd-icon>\r\n <span class=\"!tw-text-base\">\u0628\u06CC\u200C\u0635\u062F\u0627 \u06A9\u0631\u062F\u0646</span>\r\n </label>\r\n <label\r\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\"\r\n >\r\n <fd-icon class=\"!tw-text-base !tw-text-3xl\" glyph=\"pushpin-on\"></fd-icon>\r\n <span class=\"!tw-text-base\">\u0633\u0646\u062C\u0627\u0642 \u06A9\u0631\u062F\u0646</span>\r\n </label>\r\n <label\r\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\"\r\n >\r\n <fd-icon class=\"!tw-text-base !tw-text-3xl\" glyph=\"delete\"></fd-icon>\r\n <span class=\"!tw-text-base\">\u062D\u0630\u0641</span>\r\n </label>\r\n </div>\r\n </fd-popover-body>\r\n </fd-popover>\r\n </div>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.BodyClickDirective, selector: "[bodyClick]", inputs: ["disableBodyClick"] }, { kind: "directive", type: i3.ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: i6.PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: i6.PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "component", type: i6.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }] }); }
|
|
12
|
+
}
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaChatThreadComponent, decorators: [{
|
|
14
|
+
type: Component,
|
|
15
|
+
args: [{ selector: 'bsu-barsa-chat-thread', host: {
|
|
16
|
+
class: 'tw-w-full tw-h-[4.5rem] tw-flex tw-gap-2 tw-border-b tw-border-b-gray-200 dark:tw-border-b-gray-600 tw-p-2 tw-cursor-pointer ' +
|
|
17
|
+
'tw-bg-default hover:tw-bg-zinc-100 hover:dark:tw-bg-black tw-transition-all'
|
|
18
|
+
}, standalone: false, template: "<div class=\"tw-relative tw-grow-0 tw-shrink-0 tw-size-14\">\r\n <img class=\"tw-w-full tw-h-full tw-rounded-full\" [src]=\"thread.avatar\" />\r\n @if (thread.status === 2) {\r\n <div\r\n class=\"tw-absolute tw-bottom-0 tw-left-0 tw-border-2 tw-border-default tw-size-4 tw-rounded-full\"\r\n [ngClass]=\"{\r\n 'tw-bg-gray-300': thread.status === 0,\r\n 'tw-bg-gray-700': thread.status === 1,\r\n 'tw-bg-green-600': thread.status === 2,\r\n 'tw-bg-red-600': thread.status === 3,\r\n }\"\r\n ></div>\r\n }\r\n</div>\r\n<div class=\"tw-grow tw-shrink tw-flex tw-flex-col tw-gap-0.5\">\r\n <span class=\"tw-font-bold tw-text-base tw-text-sm\">{{ thread.title }}</span>\r\n <span class=\"tw-text-gray-500 dark:tw-text-gray-300 tw-line-clamp-2 tw-text-xs\">{{ thread.lastMessage.text }}</span>\r\n</div>\r\n<div class=\"tw-grow-0 tw-shrink-0 tw-flex tw-flex-col tw-justify-between tw-items-center\">\r\n @if (thread.unreadCount) {\r\n <div\r\n class=\"tw-text-white tw-rounded-full tw-text-sm tw-px-1.5\"\r\n [ngClass]=\"{\r\n 'tw-bg-blue-500': !thread.muted,\r\n 'tw-bg-zinc-500': thread.muted\r\n }\"\r\n >\r\n {{ thread.unreadCount }}\r\n </div>\r\n } @else {\r\n <div></div>\r\n }\r\n <div>\r\n <fd-popover placement=\"bottom-end\" title=\"bottom-end\" (click)=\"$event.stopPropagation()\">\r\n <fd-popover-control>\r\n <button fd-button fdType=\"transparent\" [fdCompact]=\"true\" glyph=\"navigation-down-arrow\"></button>\r\n </fd-popover-control>\r\n <fd-popover-body minWidth=\"10rem\">\r\n <div class=\"tw-flex tw-flex-col tw-bg-default tw-w-full\" bodyClick>\r\n <label\r\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\"\r\n >\r\n <fd-icon class=\"!tw-text-base !tw-text-3xl\" glyph=\"bell-2\"></fd-icon>\r\n <span class=\"!tw-text-base\">\u0628\u06CC\u200C\u0635\u062F\u0627 \u06A9\u0631\u062F\u0646</span>\r\n </label>\r\n <label\r\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\"\r\n >\r\n <fd-icon class=\"!tw-text-base !tw-text-3xl\" glyph=\"pushpin-on\"></fd-icon>\r\n <span class=\"!tw-text-base\">\u0633\u0646\u062C\u0627\u0642 \u06A9\u0631\u062F\u0646</span>\r\n </label>\r\n <label\r\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\"\r\n >\r\n <fd-icon class=\"!tw-text-base !tw-text-3xl\" glyph=\"delete\"></fd-icon>\r\n <span class=\"!tw-text-base\">\u062D\u0630\u0641</span>\r\n </label>\r\n </div>\r\n </fd-popover-body>\r\n </fd-popover>\r\n </div>\r\n</div>\r\n" }]
|
|
19
|
+
}], propDecorators: { thread: [{
|
|
20
|
+
type: Input
|
|
21
|
+
}] } });
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtY2hhdC10aHJlYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtY2hhdC10aHJlYWQvYmFyc2EtY2hhdC10aHJlYWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtY2hhdC10aHJlYWQvYmFyc2EtY2hhdC10aHJlYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0FBYWpELE1BQU0sT0FBTyx3QkFBd0I7K0dBQXhCLHdCQUF3QjttR0FBeEIsd0JBQXdCLGlVQ2JyQyw4bUdBOERBOzs0RkRqRGEsd0JBQXdCO2tCQVhwQyxTQUFTOytCQUNJLHVCQUF1QixRQUczQjt3QkFDRixLQUFLLEVBQ0QsK0hBQStIOzRCQUMvSCw2RUFBNkU7cUJBQ3BGLGNBQ1csS0FBSzs4QkFHUixNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnN1LWJhcnNhLWNoYXQtdGhyZWFkJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9iYXJzYS1jaGF0LXRocmVhZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybDogJy4vYmFyc2EtY2hhdC10aHJlYWQuY29tcG9uZW50LmNzcycsXHJcbiAgICBob3N0OiB7XHJcbiAgICAgICAgY2xhc3M6XHJcbiAgICAgICAgICAgICd0dy13LWZ1bGwgdHctaC1bNC41cmVtXSB0dy1mbGV4IHR3LWdhcC0yIHR3LWJvcmRlci1iIHR3LWJvcmRlci1iLWdyYXktMjAwIGRhcms6dHctYm9yZGVyLWItZ3JheS02MDAgdHctcC0yIHR3LWN1cnNvci1wb2ludGVyICcgK1xyXG4gICAgICAgICAgICAndHctYmctZGVmYXVsdCBob3Zlcjp0dy1iZy16aW5jLTEwMCBob3ZlcjpkYXJrOnR3LWJnLWJsYWNrIHR3LXRyYW5zaXRpb24tYWxsJ1xyXG4gICAgfSxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCYXJzYUNoYXRUaHJlYWRDb21wb25lbnQge1xyXG4gICAgQElucHV0KCkgdGhyZWFkOiBhbnk7XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInR3LXJlbGF0aXZlIHR3LWdyb3ctMCB0dy1zaHJpbmstMCB0dy1zaXplLTE0XCI+XHJcbiAgICA8aW1nIGNsYXNzPVwidHctdy1mdWxsIHR3LWgtZnVsbCB0dy1yb3VuZGVkLWZ1bGxcIiBbc3JjXT1cInRocmVhZC5hdmF0YXJcIiAvPlxyXG4gICAgQGlmICh0aHJlYWQuc3RhdHVzID09PSAyKSB7XHJcbiAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJ0dy1hYnNvbHV0ZSB0dy1ib3R0b20tMCB0dy1sZWZ0LTAgdHctYm9yZGVyLTIgdHctYm9yZGVyLWRlZmF1bHQgdHctc2l6ZS00IHR3LXJvdW5kZWQtZnVsbFwiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgJ3R3LWJnLWdyYXktMzAwJzogdGhyZWFkLnN0YXR1cyA9PT0gMCxcclxuICAgICd0dy1iZy1ncmF5LTcwMCc6IHRocmVhZC5zdGF0dXMgPT09IDEsXHJcbiAgICAndHctYmctZ3JlZW4tNjAwJzogdGhyZWFkLnN0YXR1cyA9PT0gMixcclxuICAgICd0dy1iZy1yZWQtNjAwJzogdGhyZWFkLnN0YXR1cyA9PT0gMyxcclxuICAgIH1cIlxyXG4gICAgPjwvZGl2PlxyXG4gICAgfVxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cInR3LWdyb3cgdHctc2hyaW5rIHR3LWZsZXggdHctZmxleC1jb2wgdHctZ2FwLTAuNVwiPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJ0dy1mb250LWJvbGQgdHctdGV4dC1iYXNlIHR3LXRleHQtc21cIj57eyB0aHJlYWQudGl0bGUgfX08L3NwYW4+XHJcbiAgICA8c3BhbiBjbGFzcz1cInR3LXRleHQtZ3JheS01MDAgZGFyazp0dy10ZXh0LWdyYXktMzAwIHR3LWxpbmUtY2xhbXAtMiB0dy10ZXh0LXhzXCI+e3sgdGhyZWFkLmxhc3RNZXNzYWdlLnRleHQgfX08L3NwYW4+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwidHctZ3Jvdy0wIHR3LXNocmluay0wIHR3LWZsZXggdHctZmxleC1jb2wgdHctanVzdGlmeS1iZXR3ZWVuIHR3LWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgQGlmICh0aHJlYWQudW5yZWFkQ291bnQpIHtcclxuICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cInR3LXRleHQtd2hpdGUgdHctcm91bmRlZC1mdWxsIHR3LXRleHQtc20gdHctcHgtMS41XCJcclxuICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICd0dy1iZy1ibHVlLTUwMCc6ICF0aHJlYWQubXV0ZWQsXHJcbiAgICAgICAgICAgICd0dy1iZy16aW5jLTUwMCc6IHRocmVhZC5tdXRlZFxyXG4gICAgICAgIH1cIlxyXG4gICAgPlxyXG4gICAgICAgIHt7IHRocmVhZC51bnJlYWRDb3VudCB9fVxyXG4gICAgPC9kaXY+XHJcbiAgICB9IEBlbHNlIHtcclxuICAgIDxkaXY+PC9kaXY+XHJcbiAgICB9XHJcbiAgICA8ZGl2PlxyXG4gICAgICAgIDxmZC1wb3BvdmVyIHBsYWNlbWVudD1cImJvdHRvbS1lbmRcIiB0aXRsZT1cImJvdHRvbS1lbmRcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XHJcbiAgICAgICAgICAgIDxmZC1wb3BvdmVyLWNvbnRyb2w+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGZkLWJ1dHRvbiBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiIFtmZENvbXBhY3RdPVwidHJ1ZVwiIGdseXBoPVwibmF2aWdhdGlvbi1kb3duLWFycm93XCI+PC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZmQtcG9wb3Zlci1jb250cm9sPlxyXG4gICAgICAgICAgICA8ZmQtcG9wb3Zlci1ib2R5IG1pbldpZHRoPVwiMTByZW1cIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0dy1mbGV4IHR3LWZsZXgtY29sIHR3LWJnLWRlZmF1bHQgdHctdy1mdWxsXCIgYm9keUNsaWNrPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInR3LXB4LTQgdHctcHktMiB0dy1mbGV4IHR3LWdhcC0yIHR3LXctZnVsbCBob3Zlcjp0dy1iZy1iYXNlL1suMV0gdHctdHJhbnNpdGlvbi1hbGwgdHctY3Vyc29yLXBvaW50ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZkLWljb24gY2xhc3M9XCIhdHctdGV4dC1iYXNlICF0dy10ZXh0LTN4bFwiIGdseXBoPVwiYmVsbC0yXCI+PC9mZC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIiF0dy10ZXh0LWJhc2VcIj7YqNuM4oCM2LXYr9inINqp2LHYr9mGPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidHctcHgtNCB0dy1weS0yIHR3LWZsZXggdHctZ2FwLTIgdHctdy1mdWxsIGhvdmVyOnR3LWJnLWJhc2UvWy4xXSB0dy10cmFuc2l0aW9uLWFsbCB0dy1jdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmQtaWNvbiBjbGFzcz1cIiF0dy10ZXh0LWJhc2UgIXR3LXRleHQtM3hsXCIgZ2x5cGg9XCJwdXNocGluLW9uXCI+PC9mZC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIiF0dy10ZXh0LWJhc2VcIj7Ys9mG2KzYp9mCINqp2LHYr9mGPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidHctcHgtNCB0dy1weS0yIHR3LWZsZXggdHctZ2FwLTIgdHctdy1mdWxsIGhvdmVyOnR3LWJnLWJhc2UvWy4xXSB0dy10cmFuc2l0aW9uLWFsbCB0dy1jdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmQtaWNvbiBjbGFzcz1cIiF0dy10ZXh0LWJhc2UgIXR3LXRleHQtM3hsXCIgZ2x5cGg9XCJkZWxldGVcIj48L2ZkLWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiIXR3LXRleHQtYmFzZVwiPtit2LDZgTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZmQtcG9wb3Zlci1ib2R5PlxyXG4gICAgICAgIDwvZmQtcG9wb3Zlcj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class BarsaChatThreadsListComponent {
|
|
4
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaChatThreadsListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BarsaChatThreadsListComponent, selector: "bsu-barsa-chat-threads-list", host: { classAttribute: "tw-flex tw-flex-col tw-overflow-auto" }, ngImport: i0, template: "<ng-content></ng-content>\r\n", styles: [""] }); }
|
|
6
|
+
}
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaChatThreadsListComponent, decorators: [{
|
|
8
|
+
type: Component,
|
|
9
|
+
args: [{ selector: 'bsu-barsa-chat-threads-list', host: {
|
|
10
|
+
class: 'tw-flex tw-flex-col tw-overflow-auto'
|
|
11
|
+
}, standalone: false, template: "<ng-content></ng-content>\r\n" }]
|
|
12
|
+
}] });
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtY2hhdC10aHJlYWRzLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtY2hhdC10aHJlYWRzLWxpc3QvYmFyc2EtY2hhdC10aHJlYWRzLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtY2hhdC10aHJlYWRzLWxpc3QvYmFyc2EtY2hhdC10aHJlYWRzLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFXMUMsTUFBTSxPQUFPLDZCQUE2QjsrR0FBN0IsNkJBQTZCO21HQUE3Qiw2QkFBNkIscUlDWDFDLCtCQUNBOzs0RkRVYSw2QkFBNkI7a0JBVHpDLFNBQVM7K0JBQ0ksNkJBQTZCLFFBR2pDO3dCQUNGLEtBQUssRUFBRSxzQ0FBc0M7cUJBQ2hELGNBQ1csS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JzdS1iYXJzYS1jaGF0LXRocmVhZHMtbGlzdCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vYmFyc2EtY2hhdC10aHJlYWRzLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmw6ICcuL2JhcnNhLWNoYXQtdGhyZWFkcy1saXN0LmNvbXBvbmVudC5jc3MnLFxyXG4gICAgaG9zdDoge1xyXG4gICAgICAgIGNsYXNzOiAndHctZmxleCB0dy1mbGV4LWNvbCB0dy1vdmVyZmxvdy1hdXRvJ1xyXG4gICAgfSxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCYXJzYUNoYXRUaHJlYWRzTGlzdENvbXBvbmVudCB7fVxyXG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiJdfQ==
|
package/esm2022/lib/barsa-chat-threads-list-toolbar/barsa-chat-threads-list-toolbar.component.mjs
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@fundamental-ngx/core/button";
|
|
4
|
+
export class BarsaChatThreadsListToolbarComponent {
|
|
5
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaChatThreadsListToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BarsaChatThreadsListToolbarComponent, selector: "bsu-barsa-chat-threads-list-toolbar", host: { classAttribute: "tw-relative tw-shrink-0 tw-grow-0 tw-w-full tw-h-16 tw-flex tw-justify-between tw-items-center tw-px-4 tw-bg-zinc-200/[.7] dark:tw-bg-zinc-700/[.7]" }, ngImport: i0, template: "<div>\r\n <img src=\"https://picsum.photos/100?workAround=1234\" class=\"tw-size-12 tw-rounded-full\" />\r\n</div>\r\n<div class=\"tw-absolute tw-top-1/2 -tw-translate-y-1/2 tw-left-1/2 -tw-translate-x-1/2 tw-text-base\">\r\n \u062F\u0631 \u062D\u0627\u0644 \u0627\u062A\u0635\u0627\u0644...\r\n</div>\r\n<div>\r\n <button fd-button fdType=\"transparent\" glyph=\"edit\"></button>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "component", type: i1.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }] }); }
|
|
7
|
+
}
|
|
8
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaChatThreadsListToolbarComponent, decorators: [{
|
|
9
|
+
type: Component,
|
|
10
|
+
args: [{ selector: 'bsu-barsa-chat-threads-list-toolbar', host: {
|
|
11
|
+
class: 'tw-relative tw-shrink-0 tw-grow-0 tw-w-full tw-h-16 tw-flex tw-justify-between tw-items-center tw-px-4 ' +
|
|
12
|
+
'tw-bg-zinc-200/[.7] dark:tw-bg-zinc-700/[.7]'
|
|
13
|
+
}, standalone: false, template: "<div>\r\n <img src=\"https://picsum.photos/100?workAround=1234\" class=\"tw-size-12 tw-rounded-full\" />\r\n</div>\r\n<div class=\"tw-absolute tw-top-1/2 -tw-translate-y-1/2 tw-left-1/2 -tw-translate-x-1/2 tw-text-base\">\r\n \u062F\u0631 \u062D\u0627\u0644 \u0627\u062A\u0635\u0627\u0644...\r\n</div>\r\n<div>\r\n <button fd-button fdType=\"transparent\" glyph=\"edit\"></button>\r\n</div>\r\n" }]
|
|
14
|
+
}] });
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtY2hhdC10aHJlYWRzLWxpc3QtdG9vbGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi9iYXJzYS1jaGF0LXRocmVhZHMtbGlzdC10b29sYmFyL2JhcnNhLWNoYXQtdGhyZWFkcy1saXN0LXRvb2xiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtY2hhdC10aHJlYWRzLWxpc3QtdG9vbGJhci9iYXJzYS1jaGF0LXRocmVhZHMtbGlzdC10b29sYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQWExQyxNQUFNLE9BQU8sb0NBQW9DOytHQUFwQyxvQ0FBb0M7bUdBQXBDLG9DQUFvQyw0UENiakQscVpBU0E7OzRGRElhLG9DQUFvQztrQkFYaEQsU0FBUzsrQkFDSSxxQ0FBcUMsUUFHekM7d0JBQ0YsS0FBSyxFQUNELHlHQUF5Rzs0QkFDekcsOENBQThDO3FCQUNyRCxjQUNXLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdic3UtYmFyc2EtY2hhdC10aHJlYWRzLWxpc3QtdG9vbGJhcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vYmFyc2EtY2hhdC10aHJlYWRzLWxpc3QtdG9vbGJhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybDogJy4vYmFyc2EtY2hhdC10aHJlYWRzLWxpc3QtdG9vbGJhci5jb21wb25lbnQuY3NzJyxcclxuICAgIGhvc3Q6IHtcclxuICAgICAgICBjbGFzczpcclxuICAgICAgICAgICAgJ3R3LXJlbGF0aXZlIHR3LXNocmluay0wIHR3LWdyb3ctMCB0dy13LWZ1bGwgdHctaC0xNiB0dy1mbGV4IHR3LWp1c3RpZnktYmV0d2VlbiB0dy1pdGVtcy1jZW50ZXIgdHctcHgtNCAnICtcclxuICAgICAgICAgICAgJ3R3LWJnLXppbmMtMjAwL1suN10gZGFyazp0dy1iZy16aW5jLTcwMC9bLjddJ1xyXG4gICAgfSxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCYXJzYUNoYXRUaHJlYWRzTGlzdFRvb2xiYXJDb21wb25lbnQge31cclxuIiwiPGRpdj5cclxuICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9waWNzdW0ucGhvdG9zLzEwMD93b3JrQXJvdW5kPTEyMzRcIiBjbGFzcz1cInR3LXNpemUtMTIgdHctcm91bmRlZC1mdWxsXCIgLz5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJ0dy1hYnNvbHV0ZSB0dy10b3AtMS8yIC10dy10cmFuc2xhdGUteS0xLzIgdHctbGVmdC0xLzIgLXR3LXRyYW5zbGF0ZS14LTEvMiB0dy10ZXh0LWJhc2VcIj5cclxuICAgINiv2LEg2K3Yp9mEINin2KrYtdin2YQuLi5cclxuPC9kaXY+XHJcbjxkaXY+XHJcbiAgICA8YnV0dG9uIGZkLWJ1dHRvbiBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiIGdseXBoPVwiZWRpdFwiPjwvYnV0dG9uPlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, HostBinding, HostListener, inject, Input, Output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class BarsaChipComponent {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.title = '';
|
|
6
|
+
this.moreInfo = '';
|
|
7
|
+
this.checkedChange = new EventEmitter();
|
|
8
|
+
this._cdr = inject(ChangeDetectorRef);
|
|
9
|
+
this._isChecked = false;
|
|
10
|
+
}
|
|
11
|
+
set isChecked(value) {
|
|
12
|
+
this._isChecked = value;
|
|
13
|
+
}
|
|
14
|
+
get getClass() {
|
|
15
|
+
return `tw-block tw-rounded-md tw-whitespace-nowrap tw-w-fit tw-max-w-full tw-truncate tw-border
|
|
16
|
+
tw-border-transparent tw-bg-blue-50 tw-py-0.5 tw-px-1.5 tw-text-blue-800 tw-transition-all`;
|
|
17
|
+
}
|
|
18
|
+
get cursorPointer() {
|
|
19
|
+
return this.canCheck;
|
|
20
|
+
}
|
|
21
|
+
get hoverTextColor() {
|
|
22
|
+
return this.canCheck;
|
|
23
|
+
}
|
|
24
|
+
get border() {
|
|
25
|
+
return this.canCheck && this._isChecked;
|
|
26
|
+
}
|
|
27
|
+
get bgSelectedHover() {
|
|
28
|
+
return this.canCheck && this._isChecked;
|
|
29
|
+
}
|
|
30
|
+
onRowClick() {
|
|
31
|
+
this.checkedChange.emit(this.isChecked);
|
|
32
|
+
}
|
|
33
|
+
ngOnChanges(changes) {
|
|
34
|
+
this._isChecked = !!changes.isChecked?.currentValue;
|
|
35
|
+
this._cdr.detectChanges();
|
|
36
|
+
}
|
|
37
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaChipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
38
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BarsaChipComponent, selector: "bsu-barsa-chip", inputs: { title: "title", moreInfo: "moreInfo", canCheck: "canCheck", isChecked: "isChecked" }, outputs: { checkedChange: "checkedChange" }, host: { listeners: { "click": "onRowClick()" }, properties: { "class": "this.getClass", "class.tw-cursor-pointer": "this.cursorPointer", "class.hover:tw-text-blue-700": "this.hoverTextColor", "class.!tw-border-blue-800": "this.border", "class.!tw-bg-blue-100": "this.bgSelectedHover" } }, usesOnChanges: true, ngImport: i0, template: "{{ title }} @if (moreInfo) { ({{ moreInfo }}) }\r\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
39
|
+
}
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaChipComponent, decorators: [{
|
|
41
|
+
type: Component,
|
|
42
|
+
args: [{ selector: 'bsu-barsa-chip', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "{{ title }} @if (moreInfo) { ({{ moreInfo }}) }\r\n" }]
|
|
43
|
+
}], propDecorators: { title: [{
|
|
44
|
+
type: Input
|
|
45
|
+
}], moreInfo: [{
|
|
46
|
+
type: Input
|
|
47
|
+
}], canCheck: [{
|
|
48
|
+
type: Input
|
|
49
|
+
}], checkedChange: [{
|
|
50
|
+
type: Output
|
|
51
|
+
}], isChecked: [{
|
|
52
|
+
type: Input
|
|
53
|
+
}], getClass: [{
|
|
54
|
+
type: HostBinding,
|
|
55
|
+
args: ['class']
|
|
56
|
+
}], cursorPointer: [{
|
|
57
|
+
type: HostBinding,
|
|
58
|
+
args: ['class.tw-cursor-pointer']
|
|
59
|
+
}], hoverTextColor: [{
|
|
60
|
+
type: HostBinding,
|
|
61
|
+
args: ['class.hover:tw-text-blue-700']
|
|
62
|
+
}], border: [{
|
|
63
|
+
type: HostBinding,
|
|
64
|
+
args: ['class.!tw-border-blue-800']
|
|
65
|
+
}], bgSelectedHover: [{
|
|
66
|
+
type: HostBinding,
|
|
67
|
+
args: ['class.!tw-bg-blue-100']
|
|
68
|
+
}], onRowClick: [{
|
|
69
|
+
type: HostListener,
|
|
70
|
+
args: ['click']
|
|
71
|
+
}] } });
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtY2hpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi9iYXJzYS1jaGlwL2JhcnNhLWNoaXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtY2hpcC9iYXJzYS1jaGlwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUVMLE1BQU0sRUFDVCxNQUFNLGVBQWUsQ0FBQzs7QUFTdkIsTUFBTSxPQUFPLGtCQUFrQjtJQVAvQjtRQVFhLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBRWIsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBSTFDLFNBQUksR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNqQyxlQUFVLEdBQUcsS0FBSyxDQUFDO0tBd0I5QjtJQTVCRyxJQUFhLFNBQVMsQ0FBQyxLQUFjO1FBQ2pDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFHRCxJQUEwQixRQUFRO1FBQzlCLE9BQU87b0dBQ3FGLENBQUM7SUFDakcsQ0FBQztJQUNELElBQTRDLGFBQWE7UUFDckQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFDRCxJQUFpRCxjQUFjO1FBQzNELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBQ0QsSUFBOEMsTUFBTTtRQUNoRCxPQUFPLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUM1QyxDQUFDO0lBQ0QsSUFBMEMsZUFBZTtRQUNyRCxPQUFPLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUM1QyxDQUFDO0lBQ3NCLFVBQVU7UUFDN0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFDRCxXQUFXLENBQUMsT0FBTztRQUNmLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDO1FBQ3BELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDOUIsQ0FBQzsrR0FoQ1Esa0JBQWtCO21HQUFsQixrQkFBa0IseWZDcEIvQixxREFDQTs7NEZEbUJhLGtCQUFrQjtrQkFQOUIsU0FBUzsrQkFDSSxnQkFBZ0IsbUJBR1QsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxLQUFLOzhCQUdSLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0ksYUFBYTtzQkFBdEIsTUFBTTtnQkFDTSxTQUFTO3NCQUFyQixLQUFLO2dCQUtvQixRQUFRO3NCQUFqQyxXQUFXO3VCQUFDLE9BQU87Z0JBSXdCLGFBQWE7c0JBQXhELFdBQVc7dUJBQUMseUJBQXlCO2dCQUdXLGNBQWM7c0JBQTlELFdBQVc7dUJBQUMsOEJBQThCO2dCQUdHLE1BQU07c0JBQW5ELFdBQVc7dUJBQUMsMkJBQTJCO2dCQUdFLGVBQWU7c0JBQXhELFdBQVc7dUJBQUMsdUJBQXVCO2dCQUdiLFVBQVU7c0JBQWhDLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgSG9zdEJpbmRpbmcsXHJcbiAgICBIb3N0TGlzdGVuZXIsXHJcbiAgICBpbmplY3QsXHJcbiAgICBJbnB1dCxcclxuICAgIE9uQ2hhbmdlcyxcclxuICAgIE91dHB1dFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JzdS1iYXJzYS1jaGlwJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9iYXJzYS1jaGlwLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2JhcnNhLWNoaXAuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIEJhcnNhQ2hpcENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgICBASW5wdXQoKSB0aXRsZSA9ICcnO1xyXG4gICAgQElucHV0KCkgbW9yZUluZm8gPSAnJztcclxuICAgIEBJbnB1dCgpIGNhbkNoZWNrOiBib29sZWFuO1xyXG4gICAgQE91dHB1dCgpIGNoZWNrZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIEBJbnB1dCgpIHNldCBpc0NoZWNrZWQodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLl9pc0NoZWNrZWQgPSB2YWx1ZTtcclxuICAgIH1cclxuICAgIHByaXZhdGUgX2NkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XHJcbiAgICBwcml2YXRlIF9pc0NoZWNrZWQgPSBmYWxzZTtcclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKSBnZXQgZ2V0Q2xhc3MoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gYHR3LWJsb2NrIHR3LXJvdW5kZWQtbWQgdHctd2hpdGVzcGFjZS1ub3dyYXAgdHctdy1maXQgdHctbWF4LXctZnVsbCB0dy10cnVuY2F0ZSB0dy1ib3JkZXJcclxuICAgICAgICAgdHctYm9yZGVyLXRyYW5zcGFyZW50IHR3LWJnLWJsdWUtNTAgdHctcHktMC41IHR3LXB4LTEuNSB0dy10ZXh0LWJsdWUtODAwIHR3LXRyYW5zaXRpb24tYWxsYDtcclxuICAgIH1cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MudHctY3Vyc29yLXBvaW50ZXInKSBnZXQgY3Vyc29yUG9pbnRlcigpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jYW5DaGVjaztcclxuICAgIH1cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaG92ZXI6dHctdGV4dC1ibHVlLTcwMCcpIGdldCBob3ZlclRleHRDb2xvcigpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jYW5DaGVjaztcclxuICAgIH1cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuIXR3LWJvcmRlci1ibHVlLTgwMCcpIGdldCBib3JkZXIoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FuQ2hlY2sgJiYgdGhpcy5faXNDaGVja2VkO1xyXG4gICAgfVxyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy4hdHctYmctYmx1ZS0xMDAnKSBnZXQgYmdTZWxlY3RlZEhvdmVyKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNhbkNoZWNrICYmIHRoaXMuX2lzQ2hlY2tlZDtcclxuICAgIH1cclxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJykgb25Sb3dDbGljaygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNoZWNrZWRDaGFuZ2UuZW1pdCh0aGlzLmlzQ2hlY2tlZCk7XHJcbiAgICB9XHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5faXNDaGVja2VkID0gISFjaGFuZ2VzLmlzQ2hlY2tlZD8uY3VycmVudFZhbHVlO1xyXG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbn1cclxuIiwie3sgdGl0bGUgfX0gQGlmIChtb3JlSW5mbykgeyAoe3sgbW9yZUluZm8gfX0pIH1cclxuIl19
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
+
import { BaseComponent } from 'barsa-novin-ray-core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@fundamental-ngx/core/table";
|
|
5
|
+
export class BarsaColumnIndicatorComponent extends BaseComponent {
|
|
6
|
+
ngOnInit() {
|
|
7
|
+
super.ngOnInit();
|
|
8
|
+
}
|
|
9
|
+
ngOnChanges(changes) {
|
|
10
|
+
super.ngOnChanges(changes);
|
|
11
|
+
}
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaColumnIndicatorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
13
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BarsaColumnIndicatorComponent, selector: "bsu-barsa-column-indicator", inputs: { backColor: "backColor", hideBorderBottom: "hideBorderBottom" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<td\n [style.borderBottom]=\"hideBorderBottom ? 'none' : null\"\n fd-table-cell\n fd-table-status-indicator\n [style.backgroundColor]=\"backColor\"\n></td>\n", styles: [":host{display:contents;width:100%;height:100%}\n"], dependencies: [{ kind: "directive", type: i1.TableCellDirective, selector: "[fdTableCell], [fd-table-cell]", inputs: ["noBorderX", "noBorderY", "activable", "focusable", "hoverable", "fitContent", "noPadding", "noData", "nonInteractive", "key"] }, { kind: "directive", type: i1.TableStatusIndicatorDirective, selector: "[fdTableStatusIndicator], [fd-table-status-indicator]", inputs: ["status"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
14
|
+
}
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaColumnIndicatorComponent, decorators: [{
|
|
16
|
+
type: Component,
|
|
17
|
+
args: [{ selector: 'bsu-barsa-column-indicator', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<td\n [style.borderBottom]=\"hideBorderBottom ? 'none' : null\"\n fd-table-cell\n fd-table-status-indicator\n [style.backgroundColor]=\"backColor\"\n></td>\n", styles: [":host{display:contents;width:100%;height:100%}\n"] }]
|
|
18
|
+
}], propDecorators: { backColor: [{
|
|
19
|
+
type: Input
|
|
20
|
+
}], hideBorderBottom: [{
|
|
21
|
+
type: Input
|
|
22
|
+
}] } });
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtY29sdW1uLWluZGljYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi9iYXJzYS1jb2x1bW4taW5kaWNhdG9yL2JhcnNhLWNvbHVtbi1pbmRpY2F0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtY29sdW1uLWluZGljYXRvci9iYXJzYS1jb2x1bW4taW5kaWNhdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUF5QixNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQVNyRCxNQUFNLE9BQU8sNkJBQThCLFNBQVEsYUFBYTtJQUc1RCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvQixDQUFDOytHQVJRLDZCQUE2QjttR0FBN0IsNkJBQTZCLHdMQ1YxQywyS0FNQTs7NEZESWEsNkJBQTZCO2tCQVB6QyxTQUFTOytCQUNJLDRCQUE0QixtQkFHckIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxLQUFLOzhCQUdSLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JzdS1iYXJzYS1jb2x1bW4taW5kaWNhdG9yJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9iYXJzYS1jb2x1bW4taW5kaWNhdG9yLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2JhcnNhLWNvbHVtbi1pbmRpY2F0b3IuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIEJhcnNhQ29sdW1uSW5kaWNhdG9yQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBASW5wdXQoKSBiYWNrQ29sb3I6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGhpZGVCb3JkZXJCb3R0b206IGJvb2xlYW47XHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgfVxyXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25DaGFuZ2VzKGNoYW5nZXMpO1xyXG4gICAgfVxyXG59XHJcbiIsIjx0ZFxuICAgIFtzdHlsZS5ib3JkZXJCb3R0b21dPVwiaGlkZUJvcmRlckJvdHRvbSA/ICdub25lJyA6IG51bGxcIlxuICAgIGZkLXRhYmxlLWNlbGxcbiAgICBmZC10YWJsZS1zdGF0dXMtaW5kaWNhdG9yXG4gICAgW3N0eWxlLmJhY2tncm91bmRDb2xvcl09XCJiYWNrQ29sb3JcIlxuPjwvdGQ+XG4iXX0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
+
import { BaseComponent } from 'barsa-novin-ray-core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class BarsaColumnRowNumberComponent extends BaseComponent {
|
|
5
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaColumnRowNumberComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
6
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BarsaColumnRowNumberComponent, selector: "td[bsu-barsa-column-rownumber],bsu-barsa-column-rownumber", inputs: { rowNumber: "rowNumber" }, usesInheritance: true, ngImport: i0, template: "<div>{{ rowNumber }}</div>\r\n", styles: [":host{padding-left:.5rem!important;padding-right:.5rem!important}:host div{display:flex;width:100%;height:100%;align-items:center;justify-content:center}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
7
|
+
}
|
|
8
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaColumnRowNumberComponent, decorators: [{
|
|
9
|
+
type: Component,
|
|
10
|
+
args: [{ selector: 'td[bsu-barsa-column-rownumber],bsu-barsa-column-rownumber', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<div>{{ rowNumber }}</div>\r\n", styles: [":host{padding-left:.5rem!important;padding-right:.5rem!important}:host div{display:flex;width:100%;height:100%;align-items:center;justify-content:center}\n"] }]
|
|
11
|
+
}], propDecorators: { rowNumber: [{
|
|
12
|
+
type: Input
|
|
13
|
+
}] } });
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtY29sdW1uLXJvd251bWJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi9iYXJzYS1jb2x1bW4tcm93bnVtYmVyL2JhcnNhLWNvbHVtbi1yb3dudW1iZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtY29sdW1uLXJvd251bWJlci9iYXJzYS1jb2x1bW4tcm93bnVtYmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFTckQsTUFBTSxPQUFPLDZCQUE4QixTQUFRLGFBQWE7K0dBQW5ELDZCQUE2QjttR0FBN0IsNkJBQTZCLDRKQ1YxQyxnQ0FDQTs7NEZEU2EsNkJBQTZCO2tCQVB6QyxTQUFTOytCQUNJLDJEQUEyRCxtQkFHcEQsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxLQUFLOzhCQUdSLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndGRbYnN1LWJhcnNhLWNvbHVtbi1yb3dudW1iZXJdLGJzdS1iYXJzYS1jb2x1bW4tcm93bnVtYmVyJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9iYXJzYS1jb2x1bW4tcm93bnVtYmVyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2JhcnNhLWNvbHVtbi1yb3dudW1iZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIEJhcnNhQ29sdW1uUm93TnVtYmVyQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBASW5wdXQoKSByb3dOdW1iZXI6IHN0cmluZztcclxufVxyXG4iLCI8ZGl2Pnt7IHJvd051bWJlciB9fTwvZGl2PlxyXG4iXX0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
+
import { FormPanelService, ReportViewBaseComponent } from 'barsa-novin-ray-core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@fundamental-ngx/core/button";
|
|
5
|
+
import * as i2 from "../barsa-custom-inline-edit-row/barsa-custom-inline-edit-row.component";
|
|
6
|
+
export class BarsaCustomInlineEditComponent extends ReportViewBaseComponent {
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaCustomInlineEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
8
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BarsaCustomInlineEditComponent, selector: "bsu-barsa-custom-inline-edit", providers: [FormPanelService], usesInheritance: true, ngImport: i0, template: "@for (mo of moDataList; track _trackByRow(index, mo); let index = $index; let odd = $odd) {\r\n<div style=\"display: flex; align-items: center\" [style.background-color]=\"odd ? null : 'var(--sapBaseColor)'\">\r\n <bsu-barsa-custom-inline-edit-row\r\n [mo]=\"mo\"\r\n [moDataList]=\"moDataList\"\r\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\r\n [hideOpenIcon]=\"hideOpenIcon\"\r\n [showRowNumber]=\"contextView?.Grid_ShowRowNumber\"\r\n [isChecked]=\"true\"\r\n [visibility]=\"mo.$Visibility\"\r\n [expanded]=\"mo.$Expanded\"\r\n [styleIndex]=\"mo.$StyleIndex\"\r\n [level]=\"mo.$Level\"\r\n [parentExpanded]=\"mo.$Parent?.$Expanded\"\r\n [moDataListCount]=\"moDataList.length\"\r\n [columnsCount]=\"columnsCount.length\"\r\n [typeDefId]=\"typeDefId\"\r\n [extraRelation]=\"extraRelation\"\r\n [formSetting]=\"formSetting\"\r\n [index]=\"index\"\r\n [setting]=\"viewSetting\"\r\n [columns]=\"columns\"\r\n [isNewInlineMo]=\"mo.$NewInlineMo\"\r\n [access]=\"access\"\r\n [inlineEditMode]=\"true\"\r\n [allowInlineEdit]=\"true\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [allColumns]=\"allColumns\"\r\n [contextMenuItems]=\"contextMenuItems\"\r\n [canView]=\"canView\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [navigationArrow]=\"navigationArrow\"\r\n [isCheckList]=\"isCheckList\"\r\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\r\n (rowCheck)=\"onRowCheck($event)\"\r\n (deselectAll)=\"onDeselectAll()\"\r\n (rowClick)=\"onRowClick($event)\"\r\n (ulvCommand)=\"onUlvCommand($event)\"\r\n (editFormPanelSave)=\"onEditFormPanelSave($event)\"\r\n (editFormPanelCancel)=\"onEditFormPanelCancel($event)\"\r\n (editFormPanelValueChange)=\"onEditFormPanelValueChange($event)\"\r\n >\r\n </bsu-barsa-custom-inline-edit-row>\r\n <button\r\n fd-button\r\n fdType=\"transparent\"\r\n glyph=\"delete\"\r\n (click)=\"rowCheck.emit({mo, index}); contextMenuItems[0].handler(contextMenuItems[0])\"\r\n ></button>\r\n</div>\r\n}\r\n<div style=\"margin-top: 0.5rem\">\r\n <button fd-button (click)=\"createNewMo.emit()\">\u0627\u0641\u0632\u0648\u062F\u0646</button>\r\n</div>\r\n", styles: [":host{display:flex;flex-direction:column;padding-bottom:.275rem}\n"], dependencies: [{ kind: "component", type: i1.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i2.BarsaCustomInlineEditRowComponent, selector: "bsu-barsa-custom-inline-edit-row" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaCustomInlineEditComponent, decorators: [{
|
|
11
|
+
type: Component,
|
|
12
|
+
args: [{ selector: 'bsu-barsa-custom-inline-edit', changeDetection: ChangeDetectionStrategy.OnPush, providers: [FormPanelService], standalone: false, template: "@for (mo of moDataList; track _trackByRow(index, mo); let index = $index; let odd = $odd) {\r\n<div style=\"display: flex; align-items: center\" [style.background-color]=\"odd ? null : 'var(--sapBaseColor)'\">\r\n <bsu-barsa-custom-inline-edit-row\r\n [mo]=\"mo\"\r\n [moDataList]=\"moDataList\"\r\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\r\n [hideOpenIcon]=\"hideOpenIcon\"\r\n [showRowNumber]=\"contextView?.Grid_ShowRowNumber\"\r\n [isChecked]=\"true\"\r\n [visibility]=\"mo.$Visibility\"\r\n [expanded]=\"mo.$Expanded\"\r\n [styleIndex]=\"mo.$StyleIndex\"\r\n [level]=\"mo.$Level\"\r\n [parentExpanded]=\"mo.$Parent?.$Expanded\"\r\n [moDataListCount]=\"moDataList.length\"\r\n [columnsCount]=\"columnsCount.length\"\r\n [typeDefId]=\"typeDefId\"\r\n [extraRelation]=\"extraRelation\"\r\n [formSetting]=\"formSetting\"\r\n [index]=\"index\"\r\n [setting]=\"viewSetting\"\r\n [columns]=\"columns\"\r\n [isNewInlineMo]=\"mo.$NewInlineMo\"\r\n [access]=\"access\"\r\n [inlineEditMode]=\"true\"\r\n [allowInlineEdit]=\"true\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [allColumns]=\"allColumns\"\r\n [contextMenuItems]=\"contextMenuItems\"\r\n [canView]=\"canView\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [navigationArrow]=\"navigationArrow\"\r\n [isCheckList]=\"isCheckList\"\r\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\r\n (rowCheck)=\"onRowCheck($event)\"\r\n (deselectAll)=\"onDeselectAll()\"\r\n (rowClick)=\"onRowClick($event)\"\r\n (ulvCommand)=\"onUlvCommand($event)\"\r\n (editFormPanelSave)=\"onEditFormPanelSave($event)\"\r\n (editFormPanelCancel)=\"onEditFormPanelCancel($event)\"\r\n (editFormPanelValueChange)=\"onEditFormPanelValueChange($event)\"\r\n >\r\n </bsu-barsa-custom-inline-edit-row>\r\n <button\r\n fd-button\r\n fdType=\"transparent\"\r\n glyph=\"delete\"\r\n (click)=\"rowCheck.emit({mo, index}); contextMenuItems[0].handler(contextMenuItems[0])\"\r\n ></button>\r\n</div>\r\n}\r\n<div style=\"margin-top: 0.5rem\">\r\n <button fd-button (click)=\"createNewMo.emit()\">\u0627\u0641\u0632\u0648\u062F\u0646</button>\r\n</div>\r\n", styles: [":host{display:flex;flex-direction:column;padding-bottom:.275rem}\n"] }]
|
|
13
|
+
}] });
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtY3VzdG9tLWlubGluZS1lZGl0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL2JhcnNhLWN1c3RvbS1pbmxpbmUtZWRpdC9iYXJzYS1jdXN0b20taW5saW5lLWVkaXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtY3VzdG9tLWlubGluZS1lZGl0L2JhcnNhLWN1c3RvbS1pbmxpbmUtZWRpdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBMkIsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQVUxRyxNQUFNLE9BQU8sOEJBQStCLFNBQVEsdUJBQWdEOytHQUF2Riw4QkFBOEI7bUdBQTlCLDhCQUE4Qix1REFINUIsQ0FBQyxnQkFBZ0IsQ0FBQyxpRENSakMsZzhFQXlEQTs7NEZEOUNhLDhCQUE4QjtrQkFSMUMsU0FBUzsrQkFDSSw4QkFBOEIsbUJBR3ZCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxnQkFBZ0IsQ0FBQyxjQUNqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtUGFuZWxTZXJ2aWNlLCBSZXBvcnRWaWV3QmFzZUNvbXBvbmVudCwgVWlSZXBvcnRWaWV3QmFzZVNldHRpbmcgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnN1LWJhcnNhLWN1c3RvbS1pbmxpbmUtZWRpdCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vYmFyc2EtY3VzdG9tLWlubGluZS1lZGl0LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2JhcnNhLWN1c3RvbS1pbmxpbmUtZWRpdC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBwcm92aWRlcnM6IFtGb3JtUGFuZWxTZXJ2aWNlXSxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCYXJzYUN1c3RvbUlubGluZUVkaXRDb21wb25lbnQgZXh0ZW5kcyBSZXBvcnRWaWV3QmFzZUNvbXBvbmVudDxVaVJlcG9ydFZpZXdCYXNlU2V0dGluZz4ge31cclxuIiwiQGZvciAobW8gb2YgbW9EYXRhTGlzdDsgdHJhY2sgX3RyYWNrQnlSb3coaW5kZXgsIG1vKTsgbGV0IGluZGV4ID0gJGluZGV4OyBsZXQgb2RkID0gJG9kZCkge1xyXG48ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlclwiIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cIm9kZCA/IG51bGwgOiAndmFyKC0tc2FwQmFzZUNvbG9yKSdcIj5cclxuICAgIDxic3UtYmFyc2EtY3VzdG9tLWlubGluZS1lZGl0LXJvd1xyXG4gICAgICAgIFttb109XCJtb1wiXHJcbiAgICAgICAgW21vRGF0YUxpc3RdPVwibW9EYXRhTGlzdFwiXHJcbiAgICAgICAgW1Vsdk1haW5DdHJscl09XCJVbHZNYWluQ3RybHJcIlxyXG4gICAgICAgIFtoaWRlT3Blbkljb25dPVwiaGlkZU9wZW5JY29uXCJcclxuICAgICAgICBbc2hvd1Jvd051bWJlcl09XCJjb250ZXh0Vmlldz8uR3JpZF9TaG93Um93TnVtYmVyXCJcclxuICAgICAgICBbaXNDaGVja2VkXT1cInRydWVcIlxyXG4gICAgICAgIFt2aXNpYmlsaXR5XT1cIm1vLiRWaXNpYmlsaXR5XCJcclxuICAgICAgICBbZXhwYW5kZWRdPVwibW8uJEV4cGFuZGVkXCJcclxuICAgICAgICBbc3R5bGVJbmRleF09XCJtby4kU3R5bGVJbmRleFwiXHJcbiAgICAgICAgW2xldmVsXT1cIm1vLiRMZXZlbFwiXHJcbiAgICAgICAgW3BhcmVudEV4cGFuZGVkXT1cIm1vLiRQYXJlbnQ/LiRFeHBhbmRlZFwiXHJcbiAgICAgICAgW21vRGF0YUxpc3RDb3VudF09XCJtb0RhdGFMaXN0Lmxlbmd0aFwiXHJcbiAgICAgICAgW2NvbHVtbnNDb3VudF09XCJjb2x1bW5zQ291bnQubGVuZ3RoXCJcclxuICAgICAgICBbdHlwZURlZklkXT1cInR5cGVEZWZJZFwiXHJcbiAgICAgICAgW2V4dHJhUmVsYXRpb25dPVwiZXh0cmFSZWxhdGlvblwiXHJcbiAgICAgICAgW2Zvcm1TZXR0aW5nXT1cImZvcm1TZXR0aW5nXCJcclxuICAgICAgICBbaW5kZXhdPVwiaW5kZXhcIlxyXG4gICAgICAgIFtzZXR0aW5nXT1cInZpZXdTZXR0aW5nXCJcclxuICAgICAgICBbY29sdW1uc109XCJjb2x1bW5zXCJcclxuICAgICAgICBbaXNOZXdJbmxpbmVNb109XCJtby4kTmV3SW5saW5lTW9cIlxyXG4gICAgICAgIFthY2Nlc3NdPVwiYWNjZXNzXCJcclxuICAgICAgICBbaW5saW5lRWRpdE1vZGVdPVwidHJ1ZVwiXHJcbiAgICAgICAgW2FsbG93SW5saW5lRWRpdF09XCJ0cnVlXCJcclxuICAgICAgICBbcnRsXT1cInJ0bFwiXHJcbiAgICAgICAgW2RldmljZU5hbWVdPVwiZGV2aWNlTmFtZVwiXHJcbiAgICAgICAgW2RldmljZVNpemVdPVwiZGV2aWNlU2l6ZVwiXHJcbiAgICAgICAgW2FsbENvbHVtbnNdPVwiYWxsQ29sdW1uc1wiXHJcbiAgICAgICAgW2NvbnRleHRNZW51SXRlbXNdPVwiY29udGV4dE1lbnVJdGVtc1wiXHJcbiAgICAgICAgW2NhblZpZXddPVwiY2FuVmlld1wiXHJcbiAgICAgICAgW2NvbmRpdGlvbmFsRm9ybWF0c109XCJjb25kaXRpb25hbEZvcm1hdHNcIlxyXG4gICAgICAgIFtkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudV09XCJkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudVwiXHJcbiAgICAgICAgW25hdmlnYXRpb25BcnJvd109XCJuYXZpZ2F0aW9uQXJyb3dcIlxyXG4gICAgICAgIFtpc0NoZWNrTGlzdF09XCJpc0NoZWNrTGlzdFwiXHJcbiAgICAgICAgW1Vsdk1haW5DdHJscl09XCJVbHZNYWluQ3RybHJcIlxyXG4gICAgICAgIChyb3dDaGVjayk9XCJvblJvd0NoZWNrKCRldmVudClcIlxyXG4gICAgICAgIChkZXNlbGVjdEFsbCk9XCJvbkRlc2VsZWN0QWxsKClcIlxyXG4gICAgICAgIChyb3dDbGljayk9XCJvblJvd0NsaWNrKCRldmVudClcIlxyXG4gICAgICAgICh1bHZDb21tYW5kKT1cIm9uVWx2Q29tbWFuZCgkZXZlbnQpXCJcclxuICAgICAgICAoZWRpdEZvcm1QYW5lbFNhdmUpPVwib25FZGl0Rm9ybVBhbmVsU2F2ZSgkZXZlbnQpXCJcclxuICAgICAgICAoZWRpdEZvcm1QYW5lbENhbmNlbCk9XCJvbkVkaXRGb3JtUGFuZWxDYW5jZWwoJGV2ZW50KVwiXHJcbiAgICAgICAgKGVkaXRGb3JtUGFuZWxWYWx1ZUNoYW5nZSk9XCJvbkVkaXRGb3JtUGFuZWxWYWx1ZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgID5cclxuICAgIDwvYnN1LWJhcnNhLWN1c3RvbS1pbmxpbmUtZWRpdC1yb3c+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgICAgZmQtYnV0dG9uXHJcbiAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxyXG4gICAgICAgIGdseXBoPVwiZGVsZXRlXCJcclxuICAgICAgICAoY2xpY2spPVwicm93Q2hlY2suZW1pdCh7bW8sIGluZGV4fSk7IGNvbnRleHRNZW51SXRlbXNbMF0uaGFuZGxlcihjb250ZXh0TWVudUl0ZW1zWzBdKVwiXHJcbiAgICA+PC9idXR0b24+XHJcbjwvZGl2PlxyXG59XHJcbjxkaXYgc3R5bGU9XCJtYXJnaW4tdG9wOiAwLjVyZW1cIj5cclxuICAgIDxidXR0b24gZmQtYnV0dG9uIChjbGljayk9XCJjcmVhdGVOZXdNby5lbWl0KClcIj7Yp9mB2LLZiNiv2YY8L2J1dHRvbj5cclxuPC9kaXY+XHJcbiJdfQ==
|