barsa-develop-components 2.3.101 → 2.3.103
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"barsa-develop-components.mjs","sources":["../../../projects/barsa-develop-components/src/lib/ui-text-field-search/ui-text-field-search.component.ts","../../../projects/barsa-develop-components/src/lib/ui-text-field-search/ui-text-field-search.component.html","../../../projects/barsa-develop-components/src/lib/tab-process-view/tab-process-view.component.ts","../../../projects/barsa-develop-components/src/lib/tab-process-view/tab-process-view.component.html","../../../projects/barsa-develop-components/src/lib/ui-enum-segmented-button/ui-enum-segmented-button.component.ts","../../../projects/barsa-develop-components/src/lib/ui-enum-segmented-button/ui-enum-segmented-button.component.html","../../../projects/barsa-develop-components/src/lib/micro-process-flow-view/micro-process-flow-view.component.ts","../../../projects/barsa-develop-components/src/lib/micro-process-flow-view/micro-process-flow-view.component.html","../../../projects/barsa-develop-components/src/lib/setting-form/setting-form.component.ts","../../../projects/barsa-develop-components/src/lib/setting-form/setting-form.component.html","../../../projects/barsa-develop-components/src/lib/barcode.service.ts","../../../projects/barsa-develop-components/src/lib/barcode-reader-video/barcode-reader-video.component.ts","../../../projects/barsa-develop-components/src/lib/barcode-reader-video/barcode-reader-video.component.html","../../../projects/barsa-develop-components/src/lib/barcode-reader-dialog/barcode-reader-dialog.component.ts","../../../projects/barsa-develop-components/src/lib/barcode-reader-dialog/barcode-reader-dialog.component.html","../../../projects/barsa-develop-components/src/lib/barcode-reader/barcode-reader.component.ts","../../../projects/barsa-develop-components/src/lib/barcode-reader/barcode-reader.component.html","../../../projects/barsa-develop-components/src/lib/ui-person/ui-person.pipe.ts","../../../projects/barsa-develop-components/src/lib/ui-person/ui-person.component.ts","../../../projects/barsa-develop-components/src/lib/ui-person/ui-person.component.html","../../../projects/barsa-develop-components/src/lib/login-social-conncetions/login-social-conncetions.component.ts","../../../projects/barsa-develop-components/src/lib/login-social-conncetions/login-social-conncetions.component.html","../../../projects/barsa-develop-components/src/lib/login-form/login-form.component.ts","../../../projects/barsa-develop-components/src/lib/login-form/login-form.component.html","../../../projects/barsa-develop-components/src/lib/service-desk-header/service-desk-header.component.ts","../../../projects/barsa-develop-components/src/lib/service-desk-header/service-desk-header.component.html","../../../projects/barsa-develop-components/src/lib/card-content-image-and-title/card-content-image-and-title.component.ts","../../../projects/barsa-develop-components/src/lib/card-content-image-and-title/card-content-image-and-title.component.html","../../../projects/barsa-develop-components/src/lib/card-header-logo-title-subtitle/card-header-logo-title-subtitle.component.ts","../../../projects/barsa-develop-components/src/lib/card-header-logo-title-subtitle/card-header-logo-title-subtitle.component.html","../../../projects/barsa-develop-components/src/lib/form-content-quick-view/form-content-quick-view.component.ts","../../../projects/barsa-develop-components/src/lib/form-content-quick-view/form-content-quick-view.component.html","../../../projects/barsa-develop-components/src/lib/service-desk-servcie-detail/service-desk-servcie-detail.component.ts","../../../projects/barsa-develop-components/src/lib/service-desk-servcie-detail/service-desk-servcie-detail.component.html","../../../projects/barsa-develop-components/src/lib/service-desk-view-of-services/service-desk-view-of-services.component.ts","../../../projects/barsa-develop-components/src/lib/service-desk-view-of-services/service-desk-view-of-services.component.html","../../../projects/barsa-develop-components/src/lib/service-desk-card-content-mojavezhay-akhz-shode/service-desk-card-content-mojavezhay-akhz-shode.component.ts","../../../projects/barsa-develop-components/src/lib/service-desk-card-content-mojavezhay-akhz-shode/service-desk-card-content-mojavezhay-akhz-shode.component.html","../../../projects/barsa-develop-components/src/lib/card-header-big-image-title-and-subtitle/card-header-big-image-title-and-subtitle.component.ts","../../../projects/barsa-develop-components/src/lib/card-header-big-image-title-and-subtitle/card-header-big-image-title-and-subtitle.component.html","../../../projects/barsa-develop-components/src/lib/service-desk-form-layout-content-mojavez/service-desk-form-layout-content-mojavez.component.ts","../../../projects/barsa-develop-components/src/lib/service-desk-form-layout-content-mojavez/service-desk-form-layout-content-mojavez.component.html","../../../projects/barsa-develop-components/src/lib/ulv-context-menu-item-show-file-content/ulv-context-menu-item-show-file-content.component.ts","../../../projects/barsa-develop-components/src/lib/ulv-context-menu-item-show-file-content/ulv-context-menu-item-show-file-content.component.html","../../../projects/barsa-develop-components/src/lib/resend-verification-code/resend-verification-code.component.ts","../../../projects/barsa-develop-components/src/lib/resend-verification-code/resend-verification-code.component.html","../../../projects/barsa-develop-components/src/lib/checkbox-button/checkbox-button.component.ts","../../../projects/barsa-develop-components/src/lib/checkbox-button/checkbox-button.component.html","../../../projects/barsa-develop-components/src/lib/barcode-format-pipe.ts","../../../projects/barsa-develop-components/src/lib/report-tab-view/report-tab-view.component.ts","../../../projects/barsa-develop-components/src/lib/report-tab-view/report-tab-view.component.html","../../../projects/barsa-develop-components/src/lib/report-line-chart-view/report-line-chart-view.component.ts","../../../projects/barsa-develop-components/src/lib/report-line-chart-view/report-line-chart-view.component.html","../../../projects/barsa-develop-components/src/lib/card-header-kpi/card-header-kpi.component.ts","../../../projects/barsa-develop-components/src/lib/card-header-kpi/card-header-kpi.component.html","../../../projects/barsa-develop-components/src/lib/card-content-line-chart/card-content-line-chart.component.ts","../../../projects/barsa-develop-components/src/lib/card-content-line-chart/card-content-line-chart.component.html","../../../projects/barsa-develop-components/src/lib/form-chart-content/form-chart-content.component.ts","../../../projects/barsa-develop-components/src/lib/form-chart-content/form-chart-content.component.html","../../../projects/barsa-develop-components/src/lib/table-view-vertical-columns/table-view-vertical-columns.component.ts","../../../projects/barsa-develop-components/src/lib/table-view-vertical-columns/table-view-vertical-columns.component.html","../../../projects/barsa-develop-components/src/lib/query-string-observable/query-string-observable.component.ts","../../../projects/barsa-develop-components/src/lib/query-string-observable/query-string-observable.component.html","../../../projects/barsa-develop-components/src/lib/query-string-form-observable/query-string-form-observable.component.ts","../../../projects/barsa-develop-components/src/lib/query-string-form-observable/query-string-form-observable.component.html","../../../projects/barsa-develop-components/src/lib/g4b-details/g4b-details.component.ts","../../../projects/barsa-develop-components/src/lib/g4b-details/g4b-details.component.html","../../../projects/barsa-develop-components/src/lib/avatar/avatar.component.ts","../../../projects/barsa-develop-components/src/lib/avatar/avatar.component.html","../../../projects/barsa-develop-components/src/lib/g4b-estelam/g4b-estelam.component.ts","../../../projects/barsa-develop-components/src/lib/g4b-estelam/g4b-estelam.component.html","../../../projects/barsa-develop-components/src/lib/timer-count-down/timer-count-down.component.ts","../../../projects/barsa-develop-components/src/lib/timer-count-down/timer-count-down.component.html","../../../projects/barsa-develop-components/src/lib/micro-proccess-flow/micro-proccess-flow.component.ts","../../../projects/barsa-develop-components/src/lib/micro-proccess-flow/micro-proccess-flow.component.html","../../../projects/barsa-develop-components/src/lib/pipes/mo-list-to-flow-item.pipe.ts","../../../projects/barsa-develop-components/src/lib/mo-info-micro-proccess-flow/mo-info-micro-proccess-flow.component.ts","../../../projects/barsa-develop-components/src/lib/mo-info-micro-proccess-flow/mo-info-micro-proccess-flow.component.html","../../../projects/barsa-develop-components/src/lib/pipes/datasource-to-flow-item.ts","../../../projects/barsa-develop-components/src/lib/enum-info-micro-proccess-flow/enum-info-micro-proccess-flow.component.ts","../../../projects/barsa-develop-components/src/lib/enum-info-micro-proccess-flow/enum-info-micro-proccess-flow.component.html","../../../projects/barsa-develop-components/src/lib/ui-pictures-carousel/ui-pictures-carousel.component.ts","../../../projects/barsa-develop-components/src/lib/ui-pictures-carousel/ui-pictures-carousel.component.html","../../../projects/barsa-develop-components/src/lib/ui-num-rate/ui-num-rate.component.ts","../../../projects/barsa-develop-components/src/lib/ui-num-rate/ui-num-rate.component.html","../../../projects/barsa-develop-components/src/lib/media-file-uploader/media-file-uploader.component.ts","../../../projects/barsa-develop-components/src/lib/media-file-uploader/media-file-uploader.component.html","../../../projects/barsa-develop-components/src/lib/subform-in-row-report/subform-in-row-report.component.ts","../../../projects/barsa-develop-components/src/lib/subform-in-row-report/subform-in-row-report.component.html","../../../projects/barsa-develop-components/src/lib/master-detail-card-form/master-detail-card-form.component.ts","../../../projects/barsa-develop-components/src/lib/master-detail-card-form/master-detail-card-form.component.html","../../../projects/barsa-develop-components/src/lib/report-button-view/report-button-view.component.ts","../../../projects/barsa-develop-components/src/lib/report-button-view/report-button-view.component.html","../../../projects/barsa-develop-components/src/lib/barsa-document-list-item/barsa-document-list-item.component.ts","../../../projects/barsa-develop-components/src/lib/barsa-document-list-item/barsa-document-list-item.component.html","../../../projects/barsa-develop-components/src/lib/barsa-documents/barsa-documents.component.ts","../../../projects/barsa-develop-components/src/lib/barsa-documents/barsa-documents.component.html","../../../projects/barsa-develop-components/src/lib/accept-reject/accept-reject.component.ts","../../../projects/barsa-develop-components/src/lib/accept-reject/accept-reject.component.html","../../../projects/barsa-develop-components/src/lib/footer/footer.component.ts","../../../projects/barsa-develop-components/src/lib/footer/footer.component.html","../../../projects/barsa-develop-components/src/lib/barsa-geographic-location/barsa-geographic-location.component.ts","../../../projects/barsa-develop-components/src/lib/barsa-geographic-location/barsa-geographic-location.component.html","../../../projects/barsa-develop-components/src/lib/geographic-location/geographic-location.component.ts","../../../projects/barsa-develop-components/src/lib/geographic-location/geographic-location.component.html","../../../projects/barsa-develop-components/src/lib/token-report-view/token-report-view.component.ts","../../../projects/barsa-develop-components/src/lib/token-report-view/token-report-view.component.html","../../../projects/barsa-develop-components/src/lib/column-form-viewer/column-form-viewer.component.ts","../../../projects/barsa-develop-components/src/lib/column-form-viewer/column-form-viewer.component.html","../../../projects/barsa-develop-components/src/lib/form-report-view-item/form-report-view-item.component.ts","../../../projects/barsa-develop-components/src/lib/form-report-view-item/form-report-view-item.component.html","../../../projects/barsa-develop-components/src/lib/form-report-view/form-report-view.component.ts","../../../projects/barsa-develop-components/src/lib/form-report-view/form-report-view.component.html","../../../projects/barsa-develop-components/src/lib/form-card/form-card.component.ts","../../../projects/barsa-develop-components/src/lib/form-card/form-card.component.html","../../../projects/barsa-develop-components/src/lib/column-progressbar/column-progressbar.component.ts","../../../projects/barsa-develop-components/src/lib/column-progressbar/column-progressbar.component.html","../../../projects/barsa-develop-components/src/lib/column-chip/column-chip.component.ts","../../../projects/barsa-develop-components/src/lib/column-chip/column-chip.component.html","../../../projects/barsa-develop-components/src/lib/pie-progress/pie-progress.component.ts","../../../projects/barsa-develop-components/src/lib/pie-progress/pie-progress.component.html","../../../projects/barsa-develop-components/src/lib/barsa-develop-components.module.ts","../../../projects/barsa-develop-components/src/barsa-develop-components.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { MetaobjectDataModel } from 'barsa-novin-ray-core';\r\nimport { DeviceInfoFieldBaseComponent } from 'barsa-sap-ui';\r\nimport { debounceTime, distinctUntilChanged, Subject } from 'rxjs';\r\n@Component({\r\n selector: 'bdc-ui-text-field-search',\r\n templateUrl: './ui-text-field-search.component.html',\r\n styleUrls: ['./ui-text-field-search.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class UiTextFieldSearchComponent extends DeviceInfoFieldBaseComponent {\r\n @Input() value: string;\r\n _debouncer = new Subject<string>();\r\n parameters: UiTextFieldSearchSettings;\r\n @Input() get MinSize(): { width: number; height: number } {\r\n // this call from outside.corejs\r\n return { width: 0, height: 30 };\r\n }\r\n searchTerm: string;\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._debouncer.pipe(debounceTime(300), distinctUntilChanged()).subscribe((value) => {\r\n this.value = value;\r\n this.valueChange.emit(value);\r\n });\r\n }\r\n onAutoSearch(): void {\r\n this.parameters?.RaiseValueChangeOnlyClick === false && this._valueChange(this.searchTerm);\r\n }\r\n onSearchSubmit(): void {\r\n this._valueChange(this.searchTerm);\r\n }\r\n _valueChange(value: string): void {\r\n this._debouncer.next(value);\r\n }\r\n}\r\ninterface UiTextFieldSearchSettings extends MetaobjectDataModel {\r\n RaiseValueChangeOnlyClick: boolean;\r\n}\r\n","<fd-input-group\r\n style=\"width: 100%\"\r\n fd-toolbar-item\r\n type=\"search\"\r\n glyph=\"search\"\r\n [glyphAriaLabel]=\"'Search' | bbbTranslate\"\r\n [placeholder]=\"'Search' | bbbTranslate\"\r\n [button]=\"true\"\r\n [disabled]=\"false\"\r\n [(ngModel)]=\"searchTerm\"\r\n fdCozy\r\n (addOnButtonClicked)=\"onSearchSubmit()\"\r\n (keydown.enter)=\"onSearchSubmit()\"\r\n (keyup)=\"onAutoSearch()\"\r\n>\r\n</fd-input-group>\r\n","import { ChangeDetectionStrategy, Component, OnInit, ViewChild } from '@angular/core';\r\nimport { takeUntil } from 'rxjs/operators';\r\n\r\nimport { ReportViewBaseComponent, MetaobjectDataModel } from 'barsa-novin-ray-core';\r\nimport { TabProcessViewSetting } from '../models';\r\nimport { TabListComponent, TabPanelComponent } from '@fundamental-ngx/core';\r\n@Component({\r\n selector: 'bdc-tab-process-view',\r\n templateUrl: './tab-process-view.component.html',\r\n styleUrls: ['./tab-process-view.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class TabProcessViewComponent extends ReportViewBaseComponent<TabProcessViewSetting> implements OnInit {\r\n @ViewChild(TabListComponent) tabList: TabListComponent;\r\n fieldTitle: string;\r\n fieldIcon: string;\r\n fieldState: string;\r\n mode: string;\r\n arrowRight: string;\r\n fieldSubtitle: string;\r\n defaultIcon: string;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.arrowRight = this.rtl ? 'navigation-left-arrow' : 'navigation-right-arrow';\r\n this.fieldTitle = this.viewSetting.FieldTitle;\r\n this.fieldSubtitle = this.viewSetting.FieldSubtitle;\r\n this.fieldIcon = this.viewSetting.FieldIcon;\r\n this.defaultIcon = this.viewSetting.DefaultIcon;\r\n this._ulvMainService.moDataList$.pipe(takeUntil(this._onDestroy$)).subscribe((moDataList) => {\r\n if (moDataList) {\r\n const selectedIndex = moDataList.findIndex((c) => c.$IsChecked);\r\n if (this.tabList && selectedIndex > -1) {\r\n setTimeout(() => this.tabList.tabPanels.toArray()[selectedIndex].open(true), 0);\r\n }\r\n }\r\n });\r\n }\r\n onTabChange2(e: MetaobjectDataModel): void {\r\n const index = this.moDataList.findIndex((c) => c.Id === e.Id);\r\n const mo = this.moDataList[index];\r\n if (mo.$IsChecked) {\r\n return;\r\n }\r\n super.onRowCheck({ mo, index });\r\n }\r\n onTabChange(e: TabPanelComponent): void {\r\n const index = this.moDataList.findIndex((c) => c.Id === e.id);\r\n const mo = this.moDataList[index];\r\n super.onRowCheck({ mo, index });\r\n }\r\n}\r\n","@if (moDataList?.length) {\r\n<fd-tab-list\r\n mode=\"process\"\r\n [style.min-height]=\"moDataList?.length ? '3.8rem' : null\"\r\n [expandOverflowText]=\"'More' | bbbTranslate\"\r\n>\r\n @for (item of moDataList; track item; let index = $index; let last = $last) {\r\n <fd-tab [id]=\"item.Id\" [active]=\"item.$IsChecked\">\r\n <ng-template fd-tab-title-template>\r\n <span\r\n (click)=\"onTabChange2(item)\"\r\n fd-tab-icon\r\n [icon]=\"(fieldIcon | rval: item:allColumns) ? (fieldIcon | rval: item:allColumns) : defaultIcon\"\r\n ></span>\r\n <div fd-tab-process (click)=\"onTabChange2(item)\">\r\n <span fd-tab-label>{{ fieldTitle | rval: item:allColumns }}</span>\r\n <span fd-tab-label>{{ fieldSubtitle | rval: item:allColumns }}</span>\r\n </div>\r\n </ng-template>\r\n </fd-tab>\r\n }\r\n</fd-tab-list>\r\n} @else {\r\n<div style=\"min-height: 3.8rem; background-color: var(--sapObjectHeader_Background)\"></div>\r\n}\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\nimport { FieldBaseComponent } from 'barsa-novin-ray-core';\r\n@Component({\r\n selector: 'bdc-ui-enum-segmented-button',\r\n templateUrl: './ui-enum-segmented-button.component.html',\r\n styleUrls: ['./ui-enum-segmented-button.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class UiEnumSegmentedButtonComponent extends FieldBaseComponent {\r\n caption: string;\r\n\r\n onValueChange(value): void {\r\n const selectedValue = value;\r\n this.setValue(selectedValue);\r\n }\r\n\r\n protected setValue(selectedValue: any): void {\r\n this.value = selectedValue;\r\n this.valueChange.emit(this.value);\r\n this.fireContextEvent('select', this.value);\r\n }\r\n}\r\n","<fd-segmented-button style=\"width: 100%\" [(ngModel)]=\"value\" (ngModelChange)=\"onValueChange($event)\">\r\n @for (item of context.store.data[context.store.root]; track item) { @if (item.id !== '0') {\r\n <button\r\n [disabled]=\"(disableOrReadonly$ | async) === true ? true : false\"\r\n fd-button\r\n [label]=\"item.txt\"\r\n [value]=\"item.id\"\r\n ></button>\r\n } }\r\n</fd-segmented-button>\r\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\nimport { ReportViewBaseComponent } from 'barsa-novin-ray-core';\r\n\r\nimport { MicroProcessFlowViewSetting } from '../models';\r\n@Component({\r\n selector: 'bdc-micro-process-flow-view',\r\n templateUrl: './micro-process-flow-view.component.html',\r\n styleUrls: ['./micro-process-flow-view.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class MicroProcessFlowViewComponent\r\n extends ReportViewBaseComponent<MicroProcessFlowViewSetting>\r\n implements OnInit\r\n{\r\n fieldTitle: string;\r\n fieldIcon: string;\r\n fieldState: string;\r\n mode: string;\r\n arrowRight: string;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.arrowRight = this.rtl ? 'navigation-left-arrow' : 'navigation-right-arrow';\r\n this.fieldTitle = this.viewSetting.FieldTitle;\r\n this.fieldIcon = this.viewSetting.FieldIcon;\r\n this.fieldState = this.viewSetting.FieldState;\r\n this.mode = this.viewSetting.ModeValue$Caption;\r\n }\r\n}\r\n","<fd-micro-process-flow style=\"max-width: 100%\">\r\n @for (item of moDataList; track item; let index = $index) {\r\n <fd-micro-process-flow-item>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n button;\r\n context: {\r\n $implicit: item,\r\n index: index,\r\n arrow: arrowRight\r\n }\r\n \"\r\n ></ng-container>\r\n </fd-micro-process-flow-item>\r\n }\r\n</fd-micro-process-flow>\r\n<ng-template #button let-mo let-index=\"index\" let-arrow=\"arrow\">\r\n <button\r\n fd-button\r\n (click)=\"onRowCheck({mo, index})\"\r\n fd-micro-process-flow-focusable-item\r\n [label]=\"fieldTitle | rval: mo:allColumns\"\r\n [fdType]=\"fieldState | rval: mo:allColumns\"\r\n [glyph]=\"fieldIcon | rval: mo:allColumns\"\r\n ></button>\r\n</ng-template>\r\n","import { AfterViewInit, ChangeDetectionStrategy, Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { FormBaseComponent, FormPanelService } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-setting-form',\r\n templateUrl: './setting-form.component.html',\r\n styleUrls: ['./setting-form.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [FormPanelService],\r\n standalone: false\r\n})\r\nexport class SettingFormComponent extends FormBaseComponent implements OnInit, AfterViewInit, OnDestroy {\r\n deviceSize: 'xl' | 'md' | 'sm' = 'xl';\r\n selectedSetting = false;\r\n rtl$: Observable<boolean>;\r\n groupSettingFieldCaption = 'گروه تنظیمات2';\r\n objectSettingFieldCaption = 'شی تنظیمات';\r\n private _groupSettingControlUi: any;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.rtl$ = this._portalService.rtl$;\r\n this._portalService.deviceSize$.pipe(takeUntil(this._onDestroy$)).subscribe((deviceSize) => {\r\n switch (deviceSize) {\r\n case 's':\r\n this.deviceSize = 'sm';\r\n break;\r\n case 'm':\r\n this.deviceSize = 'md';\r\n break;\r\n default:\r\n this.deviceSize = 'xl';\r\n }\r\n });\r\n }\r\n ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n const fieldUi: any = Object.values(this.listFieldUi).find(\r\n (c: any) => c.Setting.ControlFieldCaption === this.groupSettingFieldCaption\r\n );\r\n if (fieldUi) {\r\n fieldUi.viewerControl.on({\r\n rowselect: this._setSelectedSetting.bind(this)\r\n });\r\n }\r\n this._groupSettingControlUi = fieldUi;\r\n }\r\n ngOnDestroy(): void {\r\n super.ngOnDestroy();\r\n if (this._groupSettingControlUi) {\r\n this._groupSettingControlUi.viewerControl.un('rowselect', this._setSelectedSetting);\r\n }\r\n }\r\n onSettingClick(): void {}\r\n onBack(): void {\r\n this.selectedSetting = false;\r\n }\r\n _setSelectedSetting(): void {\r\n this.selectedSetting = true;\r\n }\r\n}\r\n","@if (mo$ | async; as mo) { @if (layout94$ | async; as layout) { @if (deviceSize === 'sm') {\r\n<div style=\"display: flex; flex-direction: column\">\r\n @if (selectedSetting) {\r\n <div style=\"width: 100%\">\r\n <button\r\n fd-button\r\n [fdType]=\"'transparent'\"\r\n [glyph]=\"(rtl$ | async)!! ? 'arrow-left' : 'arrow-right'\"\r\n (click)=\"onBack()\"\r\n ></button>\r\n </div>\r\n }\r\n <div [class.hide]=\"selectedSetting\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderSetting;\r\n context: {\r\n $implicit: layout,\r\n isMobile: true\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n <div [class.hide]=\"!selectedSetting\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderForm;\r\n context: {\r\n $implicit: layout,\r\n isMobile: true\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n</div>\r\n} @else {\r\n<fd-dynamic-side-content [size]=\"deviceSize\">\r\n <fd-dynamic-side-content-side>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderSetting;\r\n context: {\r\n $implicit: layout,\r\n isMobile: false\r\n }\r\n \"\r\n ></ng-container>\r\n </fd-dynamic-side-content-side>\r\n <fd-dynamic-side-content-main>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderForm;\r\n context: {\r\n $implicit: layout,\r\n isMobile: false\r\n }\r\n \"\r\n ></ng-container>\r\n </fd-dynamic-side-content-main>\r\n</fd-dynamic-side-content>\r\n} }\r\n<ng-template #renderForm let-layout let-isMobile=\"isMobile\">\r\n @if (objectSettingFieldCaption | controlUi: layout; as layoutConfig) {\r\n <bsu-layout-control\r\n (click)=\"onSettingClick()\"\r\n class=\"form-setting\"\r\n [class.is-mobile]=\"isMobile\"\r\n [caption]=\"objectSettingFieldCaption\"\r\n [config]=\"layoutConfig\"\r\n [focus]=\"true\"\r\n ></bsu-layout-control>\r\n }\r\n</ng-template>\r\n<ng-template #renderSetting let-layout let-isMobile=\"isMobile\">\r\n @if (groupSettingFieldCaption | controlUi: layout; as layoutConfig) {\r\n <bsu-layout-control\r\n class=\"list-setting\"\r\n [class.is-mobile]=\"isMobile\"\r\n [caption]=\"groupSettingFieldCaption\"\r\n [config]=\"layoutConfig\"\r\n ></bsu-layout-control>\r\n }\r\n</ng-template>\r\n} @else {\r\n<bsu-mask></bsu-mask>\r\n}\r\n","import { Result, Exception, DecodeHintType, BarcodeFormat } from '@zxing/library';\r\nimport { ChecksumException, FormatException, NotFoundException } from '@zxing/library';\r\nimport { BrowserCodeReader, BrowserMultiFormatReader, IScannerControls } from '@zxing/browser';\r\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\r\nimport { LogService } from 'barsa-novin-ray-core';\r\nimport { filter, map, shareReplay } from 'rxjs/operators';\r\nimport { Injectable, inject } from '@angular/core';\r\n\r\nexport interface ResultAndError {\r\n result?: Result;\r\n error?: Exception;\r\n}\r\n\r\n/**\r\n * Based on zxing-typescript BrowserCodeReader\r\n */\r\nexport class BrowserMultiFormatContinuousReader extends BrowserMultiFormatReader {\r\n /**\r\n * Allows to call scanner controls API while scanning.\r\n * Will be undefined if no scanning is runnig.\r\n */\r\n protected scannerControls: IScannerControls | undefined;\r\n\r\n /**\r\n * Returns the code reader scanner controls.\r\n */\r\n public getScannerControls(): IScannerControls {\r\n if (!this.scannerControls) {\r\n throw new Error('No scanning is running at the time.');\r\n }\r\n return this.scannerControls;\r\n }\r\n\r\n /**\r\n * Starts the decoding from the current or a new video element.\r\n *\r\n * @param deviceId The device's to be used Id\r\n * @param previewEl A new video element\r\n */\r\n public async scanFromDeviceObservable(\r\n deviceId?: string,\r\n previewEl?: HTMLVideoElement\r\n ): Promise<Observable<ResultAndError>> {\r\n const scan$ = new BehaviorSubject<ResultAndError>({});\r\n let ctrls;\r\n\r\n try {\r\n ctrls = await this.decodeFromVideoDevice(deviceId, previewEl, (result, error) => {\r\n if (!error) {\r\n scan$.next({ result });\r\n return;\r\n }\r\n console.error(error);\r\n const errorName = error.name;\r\n\r\n // stream cannot stop on fails.\r\n if (\r\n // scan Failure - found nothing, no error\r\n errorName === NotFoundException.name ||\r\n // scan Error - found the QR but got error on decoding\r\n errorName === ChecksumException.name ||\r\n errorName === FormatException.name ||\r\n error.message.includes('No MultiFormat Readers were able to detect the code.')\r\n ) {\r\n scan$.next({ error });\r\n return;\r\n }\r\n\r\n // probably fatal error\r\n scan$.error(error);\r\n this.scannerControls?.stop();\r\n this.scannerControls = undefined;\r\n return;\r\n });\r\n\r\n this.scannerControls = {\r\n ...ctrls,\r\n stop(): void {\r\n ctrls.stop();\r\n scan$.complete();\r\n }\r\n };\r\n } catch (e) {\r\n scan$.error(e);\r\n this.scannerControls?.stop();\r\n this.scannerControls = undefined;\r\n }\r\n\r\n return scan$.asObservable();\r\n }\r\n}\r\n@Injectable()\r\nexport class UserMediaBaseService {\r\n hasNavigator = false;\r\n isMediaDevicesSupported = false;\r\n\r\n _camerasSource = new BehaviorSubject<MediaDeviceInfo[]>([]);\r\n cameras$ = this._camerasSource\r\n .asObservable()\r\n .pipe(shareReplay(1))\r\n .pipe(filter((items) => items && items.length > 0));\r\n\r\n _permissionResponse = new Subject<DOMException>();\r\n permissionResponse$ = this._permissionResponse.asObservable();\r\n\r\n _hasDevicesSource = new BehaviorSubject<boolean>(false);\r\n hasDevices$ = this._hasDevicesSource.asObservable().pipe(shareReplay(1));\r\n\r\n _permissionSource = new BehaviorSubject<boolean>(false);\r\n permission$ = this._permissionSource.asObservable().pipe();\r\n\r\n _camerasNotFoundSource = new Subject<DOMException>();\r\n camerasNotFound$ = this._camerasNotFoundSource.asObservable().pipe(shareReplay(1));\r\n\r\n private _logService = inject(LogService);\r\n\r\n constructor() {\r\n this.hasNavigator = typeof navigator !== 'undefined';\r\n this.isMediaDevicesSupported = this.hasNavigator && !!navigator.mediaDevices;\r\n }\r\n\r\n async updateVideoInputDevices(): Promise<MediaDeviceInfo[]> {\r\n // permissions aren't needed to get devices, but to access them and their info\r\n const devices = (await BrowserCodeReader.listVideoInputDevices()) || [];\r\n const hasDevices = devices && devices.length > 0;\r\n\r\n // stores discovered devices and updates information\r\n this._hasDevicesSource.next(hasDevices);\r\n this._camerasSource.next([...devices]);\r\n\r\n if (!hasDevices) {\r\n const err = {\r\n code: DOMException.NOT_FOUND_ERR,\r\n message: 'Device not found.'\r\n };\r\n this._camerasNotFoundSource.next(err as DOMException);\r\n }\r\n\r\n return devices;\r\n }\r\n\r\n /**\r\n * Gets and registers all cammeras.\r\n */\r\n async askForPermission(): Promise<boolean> {\r\n if (!this.hasNavigator) {\r\n this._logService.error('user media', `Can't ask permission, navigator is not present.`);\r\n this._setPermission(false);\r\n }\r\n\r\n if (!this.isMediaDevicesSupported) {\r\n this._logService.error('user media', `Can't get user media, this is not supported.`);\r\n this._setPermission(false);\r\n }\r\n\r\n let stream: MediaStream | undefined;\r\n let permission = false;\r\n\r\n try {\r\n // Will try to ask for permission\r\n stream = await this._getAnyVideoDevice();\r\n permission = !!stream;\r\n } catch (err) {\r\n this._handlePermissionException(err as DOMException);\r\n } finally {\r\n this.terminateStream(stream);\r\n }\r\n\r\n this._setPermission(permission);\r\n return permission;\r\n }\r\n protected terminateStream(stream: MediaStream | undefined): void {\r\n if (stream) {\r\n stream.getTracks().forEach((t) => t.stop());\r\n }\r\n\r\n stream = undefined;\r\n }\r\n protected _setPermission(permission: boolean): void {\r\n this._permissionSource.next(permission);\r\n }\r\n protected _getAnyVideoDevice(): Promise<MediaStream> {\r\n return navigator.mediaDevices.getUserMedia({ video: true });\r\n }\r\n protected _handlePermissionException(err: DOMException): boolean {\r\n console.error('user media', 'Error when asking for permission.', err);\r\n let permission = false;\r\n\r\n switch (err.name) {\r\n // usually caused by not secure origins\r\n case 'NotSupportedError':\r\n this._logService.warn('user media', err.message);\r\n // could not claim\r\n permission = false;\r\n // can't check devices\r\n this._hasDevicesSource.next(false);\r\n break;\r\n\r\n // user denied permission\r\n case 'NotAllowedError':\r\n this._logService.warn('user media', err.message);\r\n // claimed and denied permission\r\n permission = false;\r\n // this means that input devices exists\r\n this._hasDevicesSource.next(true);\r\n break;\r\n\r\n // the device has no attached input devices\r\n case 'NotFoundError':\r\n this._logService.warn('user media', err.message);\r\n // no permissions claimed\r\n permission = false;\r\n // because there was no devices\r\n this._hasDevicesSource.next(false);\r\n // tells the listener about the error\r\n this._camerasNotFoundSource.next(err);\r\n break;\r\n\r\n case 'NotReadableError':\r\n this._logService.warn(\r\n 'user media',\r\n `Couldn't read the device(s)'s stream, it's probably in use by another app.`\r\n );\r\n // no permissions claimed\r\n permission = false;\r\n // there are devices, which I couldn't use\r\n this._hasDevicesSource.next(false);\r\n // tells the listener about the error\r\n this._camerasNotFoundSource.next(err);\r\n break;\r\n\r\n default:\r\n this._logService.warn(\r\n 'user media',\r\n 'I was not able to define if I have permissions for camera or not.',\r\n err\r\n );\r\n // unknown\r\n permission = false;\r\n // this.hasDevices.next(undefined;\r\n break;\r\n }\r\n\r\n this._setPermission(permission);\r\n\r\n // tells the listener about the error\r\n this._permissionResponse.next(err);\r\n\r\n return permission;\r\n }\r\n}\r\n@Injectable()\r\nexport class WebBarcodeService {\r\n userMediaService = inject(UserMediaBaseService);\r\n\r\n scanError$: Observable<Error>;\r\n scanFailure$: Observable<Error>;\r\n scanComplete$: Observable<Result>;\r\n scanSuccess$: Observable<string>;\r\n\r\n private _device: MediaDeviceInfo | undefined = undefined;\r\n private _videoEl: HTMLVideoElement;\r\n private _codeReader: BrowserMultiFormatContinuousReader | undefined = undefined;\r\n private _hints: Map<DecodeHintType, any> = new Map<DecodeHintType, any>();\r\n private _scanErrorSource = new Subject<Error>();\r\n private _scanFailureSource = new Subject<Error>();\r\n private _scanSubscription: any;\r\n private _scanCompleteSource = new Subject<Result>();\r\n private _scanSuccessSource = new Subject<Result>();\r\n private _options: {\r\n delayBetweenScanAttempts: number;\r\n delayBetweenScanSuccess: number;\r\n } = {\r\n delayBetweenScanAttempts: 50,\r\n delayBetweenScanSuccess: 500\r\n };\r\n\r\n /** Inserted by Angular inject() migration for backwards compatibility */\r\n\r\n constructor() {\r\n this.scanError$ = this._scanErrorSource.asObservable();\r\n this.scanFailure$ = this._scanFailureSource.asObservable();\r\n this.scanComplete$ = this._scanCompleteSource.asObservable();\r\n this.scanSuccess$ = this._scanSuccessSource.asObservable().pipe(map((c) => c.getText()));\r\n }\r\n\r\n public startScan(device: MediaDeviceInfo, videoEl: HTMLVideoElement, options = this._options): void {\r\n // instantly stops the scan before changing devices\r\n this.scanStop();\r\n\r\n // correctly sets the new (or none) device\r\n this._device = device || undefined;\r\n this._videoEl = videoEl;\r\n this._options = options;\r\n if (!this._device) {\r\n // cleans the video because user removed the device\r\n BrowserCodeReader.cleanVideoSource(videoEl);\r\n }\r\n if (this._scanSubscription) {\r\n throw new Error('There is already a scan proccess running.');\r\n }\r\n\r\n if (!this._device) {\r\n throw new Error('No device defined, cannot start scan, please define a device.');\r\n }\r\n\r\n // if enabled, starts scanning\r\n if (device) {\r\n this.scanFromDevice(device.deviceId);\r\n }\r\n }\r\n public setFormat(input: BarcodeFormat[]): void {\r\n if (typeof input === 'string') {\r\n throw new Error('Invalid formats, make sure the [formats] input is a binding.');\r\n }\r\n\r\n // formats may be set from html template as BarcodeFormat or string array\r\n const formats = input.map((f) => this.getBarcodeFormatOrFail(f));\r\n\r\n const hints = this._hints;\r\n\r\n // updates the hints\r\n hints.set(DecodeHintType.POSSIBLE_FORMATS, formats);\r\n\r\n // handles updating the codeReader\r\n this._hints = hints;\r\n }\r\n public scanStop(): void {\r\n if (this._scanSubscription) {\r\n this._codeReader?.getScannerControls().stop();\r\n this._scanSubscription?.unsubscribe();\r\n this._scanSubscription = undefined;\r\n }\r\n // this.torchCompatible.next(false);\r\n }\r\n\r\n public destroy(): void {\r\n // @note apenas necessario por enquanto causa da Torch\r\n this.scanStop();\r\n this._codeReader = undefined;\r\n this._device = undefined;\r\n }\r\n\r\n private getBarcodeFormatOrFail(format: string | BarcodeFormat): BarcodeFormat {\r\n return typeof format === 'string' ? BarcodeFormat[format.trim().toUpperCase()] : format;\r\n }\r\n private async scanFromDevice(deviceId: string): Promise<void> {\r\n const videoElement = this._videoEl;\r\n\r\n const codeReader = this.getCodeReader();\r\n\r\n const scanStream = await codeReader.scanFromDeviceObservable(deviceId, videoElement);\r\n\r\n if (!scanStream) {\r\n throw new Error('Undefined decoding stream, aborting.');\r\n }\r\n\r\n const next = (x: ResultAndError): void => this._onDecodeResult(x.result, x.error);\r\n const error = (err: any): void => this._onDecodeError(err);\r\n const complete = (): void => {};\r\n\r\n this._scanSubscription = scanStream.subscribe(next, error, complete);\r\n\r\n if (this._scanSubscription.closed) {\r\n return;\r\n }\r\n\r\n // const controls = codeReader.getScannerControls();\r\n // const hasTorchControl = typeof controls.switchTorch !== 'undefined';\r\n\r\n // this.torchCompatible.next(hasTorchControl);\r\n }\r\n /**\r\n * Handles decode errors.\r\n */\r\n private _onDecodeError(err: any): void {\r\n this._scanErrorSource.next(err);\r\n // this.reset();\r\n }\r\n /**\r\n * Handles decode results.\r\n */\r\n private _onDecodeResult(result: Result | undefined, error: Exception | undefined): void {\r\n if (result) {\r\n this._scanSuccessSource.next(result);\r\n } else {\r\n this._scanFailureSource.next(error as Error);\r\n }\r\n if (result) {\r\n this._scanCompleteSource.next(result);\r\n }\r\n }\r\n private getCodeReader(): BrowserMultiFormatContinuousReader {\r\n if (!this._codeReader) {\r\n this._codeReader = new BrowserMultiFormatContinuousReader(this._hints, this._options);\r\n }\r\n\r\n return this._codeReader;\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n ViewChild,\r\n inject\r\n} from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { BarcodeFormat } from '@zxing/library';\r\n\r\nimport { BaseComponent } from 'barsa-novin-ray-core';\r\nimport { WebBarcodeService } from '../barcode.service';\r\nimport { debounceTime, filter, takeUntil, tap } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'bdc-barcode-reader-video',\r\n templateUrl: './barcode-reader-video.component.html',\r\n styleUrls: ['./barcode-reader-video.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class BarcodeReaderVideoComponent extends BaseComponent implements OnInit, OnDestroy {\r\n @Input() allFormats: BarcodeFormat[];\r\n @Input()\r\n previewFitMode: 'fill' | 'contain' | 'cover' | 'scale-down' | 'none' = 'fill';\r\n\r\n @Output() scanSuccess = new EventEmitter<string>();\r\n\r\n @ViewChild('videoElement', { static: true })\r\n videoElement: ElementRef<HTMLVideoElement>;\r\n @Input() set selectedCamera(val: MediaDeviceInfo) {\r\n this._cameraSource.next(val);\r\n }\r\n private _cameraSource = new BehaviorSubject<MediaDeviceInfo | null>(null);\r\n private _webBarcodeService = inject(WebBarcodeService);\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._setFormat(this.allFormats);\r\n\r\n this._cameraSource\r\n .asObservable()\r\n .pipe(\r\n takeUntil(this._onDestroy$),\r\n debounceTime(500),\r\n filter((camera) => camera != null),\r\n\r\n tap((camera) => {\r\n this._stopScan();\r\n this._startScan(camera);\r\n })\r\n )\r\n .subscribe();\r\n\r\n this._webBarcodeService.scanSuccess$.subscribe((result) => {\r\n this.scanSuccess.emit(result);\r\n });\r\n }\r\n ngOnDestroy(): void {\r\n super.ngOnDestroy();\r\n this._webBarcodeService.scanStop();\r\n }\r\n\r\n private _setFormat(formats: BarcodeFormat[]): void {\r\n this._webBarcodeService.setFormat(formats);\r\n }\r\n private _stopScan(): void {\r\n this._webBarcodeService.scanStop();\r\n }\r\n private _startScan(camera): void {\r\n if (this.videoElement) {\r\n this._webBarcodeService.startScan(camera, this.videoElement.nativeElement);\r\n }\r\n }\r\n}\r\n","<video #videoElement [style.object-fit]=\"previewFitMode\">\r\n <p>{{ 'BrowserNotSupport' | bbbTranslate }}</p>\r\n</video>\r\n","import { AfterViewInit, ChangeDetectionStrategy, Component, inject } from '@angular/core';\r\nimport { DialogRef } from '@fundamental-ngx/core';\r\nimport { Observable, of } from 'rxjs';\r\n\r\nimport { BaseComponent } from 'barsa-novin-ray-core';\r\nimport { UserMediaBaseService } from '../barcode.service';\r\nimport { concatMap, delay, exhaustMap, finalize, takeUntil, tap } from 'rxjs/operators';\r\nimport { BarcodeFormat } from '@zxing/library';\r\n@Component({\r\n selector: 'bdc-barcode-reader-dialog',\r\n templateUrl: './barcode-reader-dialog.component.html',\r\n styleUrls: ['./barcode-reader-dialog.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class BarcodeReaderDialogComponent extends BaseComponent implements AfterViewInit {\r\n value = '';\r\n cameras$: Observable<MediaDeviceInfo[]>;\r\n format = [BarcodeFormat.QR_CODE];\r\n hasDevice$: Observable<boolean>;\r\n permission$: Observable<boolean>;\r\n loading: boolean;\r\n selectedCamera: MediaDeviceInfo;\r\n barcodeFormats: Array<BarcodeFormat>;\r\n selectedFormat: BarcodeFormat;\r\n\r\n private _dialogRef = inject(DialogRef);\r\n private _userMediaService = inject(UserMediaBaseService);\r\n constructor() {\r\n super();\r\n this.loading = true;\r\n this._dialogRef.loading(true);\r\n this.barcodeFormats = this._dialogRef.data?.barcodeFormats ?? [];\r\n this.selectedFormat = this.barcodeFormats.length > 0 ? this.barcodeFormats[0] : BarcodeFormat.QR_CODE;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n this._initialize();\r\n }\r\n\r\n onDismiss(): void {\r\n this._dialogRef.dismiss();\r\n }\r\n onOk(): void {\r\n this._close();\r\n }\r\n\r\n onCameraChange(value): void {\r\n this.selectedCamera = value;\r\n }\r\n onFormatChange(format): void {\r\n this.selectedFormat = format;\r\n }\r\n onScanSuccess(result): void {\r\n this.value = result;\r\n this._close();\r\n }\r\n onValueChanged(e): void {\r\n this.value = e.target.value;\r\n }\r\n private _close(): void {\r\n this._dialogRef.close(this.value);\r\n }\r\n private _initialize(): void {\r\n of(true)\r\n .pipe(\r\n takeUntil(this._onDestroy$),\r\n exhaustMap(() => this._userMediaService.askForPermission()),\r\n concatMap((permission) => {\r\n if (permission) {\r\n return this._userMediaService.updateVideoInputDevices();\r\n } else {\r\n return of(true);\r\n }\r\n }),\r\n finalize(() => {\r\n this.loading = false;\r\n this._dialogRef.loading(false);\r\n })\r\n )\r\n .subscribe();\r\n this.hasDevice$ = this._userMediaService.hasDevices$;\r\n this.permission$ = this._userMediaService.permission$;\r\n this.cameras$ = this._userMediaService.cameras$.pipe(\r\n delay(0),\r\n tap((cameras) => {\r\n this.selectedCamera = cameras.find((c) => c.label.indexOf('back') > -1) ?? cameras[0];\r\n })\r\n );\r\n }\r\n}\r\n","<fd-dialog>\r\n <fd-dialog-header>\r\n <h1 fd-title>{{ 'BarcodeReader' | bbbTranslate }} {{ selectedCamera?.label }}</h1>\r\n <button fd-dialog-close-button (click)=\"onDismiss()\"></button>\r\n </fd-dialog-header>\r\n <fd-dialog-body>\r\n @if (!loading) { @if (permission$ | async) { @if (hasDevice$ | async) { @if (selectedCamera) {\r\n <bdc-barcode-reader-video\r\n [format]=\"format\"\r\n [selectedCamera]=\"selectedCamera\"\r\n [allFormats]=\"barcodeFormats\"\r\n (scanSuccess)=\"onScanSuccess($event)\"\r\n ></bdc-barcode-reader-video>\r\n } } @else {\r\n <p>BrowserNotSupport</p>\r\n } } @else {\r\n <p>NoPermission</p>\r\n } }\r\n </fd-dialog-body>\r\n <fd-dialog-footer>\r\n <ng-template fdkTemplate=\"footer\">\r\n @if (cameras$ | async; as cameraList) {\r\n <div fd-bar-left>\r\n @if (cameraList.length > 1) {\r\n <fd-select\r\n [placeholder]=\"'Camera' | bbbTranslate\"\r\n (valueChange)=\"onCameraChange($event)\"\r\n [value]=\"selectedCamera\"\r\n >\r\n @for (camera of cameraList; track camera) {\r\n <fd-option [value]=\"camera\">{{ camera.label }}</fd-option>\r\n }\r\n </fd-select>\r\n }\r\n </div>\r\n <div fd-bar-right></div>\r\n }\r\n </ng-template>\r\n </fd-dialog-footer>\r\n</fd-dialog>\r\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { ContentDensity, DynamicPageResponsiveSize } from '@fundamental-ngx/core';\r\n\r\nimport { BarsaApi } from 'barsa-novin-ray-core';\r\nimport { UiMoInfoSubFormUiComponent } from 'barsa-sap-ui';\r\n\r\nimport { BarcodeReaderDialogComponent } from '../barcode-reader-dialog/barcode-reader-dialog.component';\r\nimport { BarcodeFormat } from '@zxing/library';\r\n@Component({\r\n selector: 'bdc-barcode-reader',\r\n templateUrl: './barcode-reader.component.html',\r\n styleUrls: ['./barcode-reader.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class BarcodeReaderComponent extends UiMoInfoSubFormUiComponent implements OnInit {\r\n public size: DynamicPageResponsiveSize = 'large';\r\n public barcodeValue: string;\r\n contentDensity$: Observable<ContentDensity>;\r\n barcodeFormat: Array<BarcodeFormat>;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.barcodeValue = this.context.Setting.FormPanelSetting.Data.Mo.Value;\r\n const format: string = this.context.Setting.CustomFieldInfo?.Format;\r\n if (format) {\r\n this.barcodeFormat = format\r\n .split(',')\r\n .filter((c) => c)\r\n .map((c) => Number(c) - 1);\r\n }\r\n this.size = BarsaApi.Bw.GetWindowSize();\r\n }\r\n\r\n onOpenBarcodeReader(): void {\r\n const data = { barcodeFormats: this.barcodeFormat };\r\n const dialogRef = this._dialogService.open(BarcodeReaderDialogComponent, {\r\n data,\r\n fullScreen: this.isMobileDevice ? false : true,\r\n verticalPadding: true,\r\n responsivePadding: true,\r\n mobile: this.isMobileDevice,\r\n mobileOuterSpacing: true\r\n });\r\n dialogRef.afterClosed.pipe(takeUntil(this._onDestroy$)).subscribe((value) => {\r\n if (value) {\r\n this._setFieldValue(value);\r\n }\r\n });\r\n }\r\n onValueChange(e): void {\r\n this._setFieldValue(e.target.value);\r\n }\r\n protected _addFormControl(formControl): void {\r\n this.customFormPanelUi = formControl;\r\n }\r\n private _setFieldValue(value: any): void {\r\n this.barcodeValue = value;\r\n const valueCustomFieldUi = this.context.formControl._dictFieldUi.Value;\r\n valueCustomFieldUi.value = value;\r\n valueCustomFieldUi.fireEvent('change', value);\r\n }\r\n}\r\n","<!-- <fd-input-group\r\n placement=\"after\"\r\n glyph=\"camera\"\r\n [placeholder]=\"'BarcodeReader' | bbbTranslate\"\r\n [button]=\"true\"\r\n ariaLabelledBy=\"fd-input-group-button-label-2\"\r\n (addOnButtonClicked)=\"onOpenBarcodeReader()\"\r\n (input)=\"onValueChange($event)\"\r\n>\r\n</fd-input-group> -->\r\n\r\n<fdp-input-group\r\n [placeholder]=\"'BarcodeReader' | bbbTranslate\"\r\n [value]=\"barcodeValue\"\r\n (input)=\"onValueChange($event)\"\r\n [name]=\"'barcode_' + id\"\r\n [disabled]=\"(disableOrReadonly$ | async)!!\"\r\n>\r\n <fdp-input-group-input type=\"text\"></fdp-input-group-input>\r\n <fdp-input-group-addon>\r\n <fdp-button glyph=\"camera\" (click)=\"onOpenBarcodeReader()\"></fdp-button>\r\n </fdp-input-group-addon>\r\n</fdp-input-group>\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'uiPerson',\r\n standalone: false\r\n})\r\nexport class UiPersonPipe implements PipeTransform {\r\n transform(value: unknown): string {\r\n let transform;\r\n switch (value) {\r\n case 'FirstName':\r\n transform = 'نام';\r\n break;\r\n case 'LastName':\r\n transform = 'نام خانوادگی';\r\n break;\r\n case 'NationalCode':\r\n transform = 'کد ملی';\r\n break;\r\n case 'FatherName':\r\n transform = 'نام پدر';\r\n break;\r\n case 'Birthplace':\r\n transform = 'محل تولد';\r\n break;\r\n case 'Mobile':\r\n transform = 'محل تولد';\r\n break;\r\n default:\r\n transform = '';\r\n break;\r\n }\r\n return transform;\r\n }\r\n}\r\n","import { AfterViewInit, ChangeDetectionStrategy, Component, OnInit, TemplateRef, ViewChild } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { DialogRef, PopoverBodyComponent, PopoverComponent } from '@fundamental-ngx/core';\r\n\r\nimport { FieldBaseComponent } from 'barsa-novin-ray-core';\r\nimport { Person, PersonFilter } from '../models/person';\r\n\r\n@Component({\r\n selector: 'bdc-ui-person',\r\n templateUrl: './ui-person.component.html',\r\n styleUrls: ['./ui-person.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class UiPersonComponent extends FieldBaseComponent implements OnInit, AfterViewInit {\r\n @ViewChild('popover') popoverDom: PopoverComponent;\r\n @ViewChild(PopoverBodyComponent) popoverBodyDom: PopoverBodyComponent;\r\n searchResult: Person[] = [];\r\n personCollection: Person[] = [\r\n {\r\n Id: 1,\r\n FirstName: 'zahra',\r\n LastName: 'darbandy',\r\n FatherName: 'ali',\r\n Birthplace: 'yazd',\r\n NationalCode: '123456789'\r\n },\r\n {\r\n Id: 2,\r\n FirstName: 'ali',\r\n LastName: 'kafdary',\r\n FatherName: 'reza',\r\n Birthplace: 'shiraz',\r\n NationalCode: '754123659'\r\n },\r\n {\r\n Id: 3,\r\n FirstName: 'sara',\r\n LastName: 'rezaee',\r\n FatherName: 'ali',\r\n Birthplace: 'tehran',\r\n NationalCode: '123456789'\r\n },\r\n {\r\n Id: 4,\r\n FirstName: 'علی',\r\n LastName: 'خزایی',\r\n FatherName: 'کمال',\r\n Birthplace: 'اصفهان',\r\n NationalCode: '452145698'\r\n },\r\n {\r\n Id: 5,\r\n FirstName: 'vahid',\r\n LastName: 'alipor',\r\n FatherName: 'ali',\r\n Birthplace: 'shiraz',\r\n NationalCode: '756982456'\r\n },\r\n {\r\n Id: 6,\r\n FirstName: 'mohammad',\r\n LastName: 'kamali',\r\n FatherName: 'vahid',\r\n Birthplace: 'ahvaz',\r\n NationalCode: '32165897'\r\n }\r\n ];\r\n\r\n selectedPerson: Person | null;\r\n dialogRef: DialogRef;\r\n\r\n filterItems: PersonFilter;\r\n isPopoverOpened: boolean;\r\n onClose$ = new Subject<void>();\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.value = {\r\n Id: 5,\r\n FirstName: 'وحید',\r\n LastName: 'علیپور',\r\n FatherName: 'علی',\r\n Birthplace: 'شیراز',\r\n NationalCode: '756982456',\r\n Mobile: '09175623898'\r\n };\r\n this.onClose$.pipe().subscribe(() => {\r\n // console.log('closed');\r\n });\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n this.onClose$ = this.popoverBodyDom.onClose;\r\n }\r\n\r\n filter(): void {\r\n this.searchResult = this.personCollection.filter(\r\n (person) =>\r\n person.FirstName.toLowerCase().includes(this.filterItems?.FirstName.toLowerCase() || '') &&\r\n person.LastName.toLowerCase().includes(this.filterItems?.LastName.toLowerCase() || '') &&\r\n person.NationalCode.toString().includes(this.filterItems?.NationalCode.toString() || '')\r\n );\r\n }\r\n\r\n select(person: Person): void {\r\n this.selectedPerson = person;\r\n }\r\n\r\n confirm(): void {\r\n this.value = this.selectedPerson ?? this.value;\r\n this.valueChange.emit(this.value);\r\n this.close();\r\n }\r\n\r\n close(): void {\r\n this.dialogRef.close();\r\n this.selectedPerson = null;\r\n }\r\n\r\n openDialog(template: TemplateRef<any>): void {\r\n this.resetTable();\r\n this.dialogRef = this._dialogService.open(template, {\r\n minHeight: '500px',\r\n minWidth: '700px',\r\n maxHeight: '1000px',\r\n maxWidth: '1500px',\r\n draggable: true,\r\n resizable: true,\r\n verticalPadding: false\r\n });\r\n this.dialogRef.loading(true);\r\n setTimeout(() => this.dialogRef.loading(false), 500);\r\n }\r\n\r\n resetTable(): void {\r\n this.filterItems = { FirstName: '', LastName: '', NationalCode: '' };\r\n this.filter();\r\n }\r\n\r\n edit(): void {}\r\n\r\n delete(): void {\r\n this.value = null;\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n openPopover(): void {\r\n if (!this.isPopoverOpened && this.value) {\r\n setTimeout(() => {\r\n this.popoverDom.open();\r\n }, 1000);\r\n }\r\n }\r\n\r\n openChange(isOpen: boolean): void {\r\n this.isPopoverOpened = isOpen;\r\n }\r\n}\r\n","<fd-popover [fillControlMode]=\"'equal'\" #popover (isOpenChange)=\"openChange($event)\">\r\n <fd-popover-control>\r\n <ul fd-list [compact]=\"true\">\r\n <li fd-list-item>\r\n <div fd-list-content>\r\n <div class=\"control-content\" (mouseover)=\"openPopover()\">\r\n <fd-icon glyph=\"person-placeholder\"></fd-icon>\r\n <div>\r\n <span>{{ value?.FirstName }}</span>\r\n </div>\r\n <div>\r\n <span>{{ value?.LastName }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n @if (value) {\r\n <button fd-button fdType=\"transparent\" glyph=\"user-edit\" (click)=\"edit()\"></button>\r\n <button fd-button fdType=\"transparent\" glyph=\"decline\" (click)=\"delete()\"></button>\r\n } @else {\r\n <button fd-button label=\"انتخاب شخص\" fdType=\"transparent\" (click)=\"openDialog(dialogTemplate)\"></button>\r\n }\r\n </li>\r\n </ul>\r\n </fd-popover-control>\r\n @if (value) {\r\n <fd-popover-body #popoverBody>\r\n <div class=\"resize-quick-view\">\r\n <fd-card cardType=\"quickView\">\r\n <fd-card-content>\r\n <fd-quick-view [id]=\"value.id\">\r\n <fd-quick-view-subheader>\r\n <fd-icon glyph=\"user\"></fd-icon>\r\n <fd-quick-view-subheader-title> مشخصات </fd-quick-view-subheader-title>\r\n </fd-quick-view-subheader>\r\n <fd-quick-view-group>\r\n @for (item of value | keyvalue; track item) {\r\n <fd-quick-view-group-item>\r\n @if (item.key !== 'Id') {\r\n <div class=\"popover-body-item\">\r\n <fd-quick-view-group-item-label>\r\n {{ (item.key | uiPerson) + ':' }}\r\n </fd-quick-view-group-item-label>\r\n <fd-quick-view-group-item-content>\r\n @switch (item.value) { @case ( item.key === 'Mobile' || item.key === 'Phone' ?\r\n item.key : '' ) {\r\n <a [href]=\"'tel:' + item.value\" [innerText]=\"item.value\" fd-link></a>\r\n } @case ('Email') {\r\n <a [href]=\"'mailto:' + item.value\" [innerText]=\"item.value\" fd-link></a>\r\n } @default {\r\n <div [innerText]=\"item.value\"></div>\r\n } }\r\n </fd-quick-view-group-item-content>\r\n </div>\r\n }\r\n </fd-quick-view-group-item>\r\n }\r\n </fd-quick-view-group>\r\n </fd-quick-view>\r\n </fd-card-content>\r\n </fd-card>\r\n </div>\r\n </fd-popover-body>\r\n }\r\n</fd-popover>\r\n\r\n<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #dialogTemplate>\r\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\r\n <fd-dialog-header>\r\n <h1 fd-title>جستجوی شخص</h1>\r\n <button fd-dialog-close-button (click)=\"dialog.dismiss('Close button')\"></button>\r\n </fd-dialog-header>\r\n\r\n <fd-dialog-body>\r\n <div class=\"filter\" (keydown.enter)=\"filter()\">\r\n <div fd-form-item>\r\n <label fd-form-label for=\"name\">نام</label>\r\n <input fd-form-control id=\"name\" [(ngModel)]=\"filterItems.FirstName\" />\r\n </div>\r\n <div fd-form-item>\r\n <label fd-form-label for=\"last-name\">نام خانوادگی</label>\r\n <input fd-form-control id=\"last-name\" [(ngModel)]=\"filterItems.LastName\" />\r\n </div>\r\n <div fd-form-item>\r\n <label fd-form-label for=\"national-code\">کدملی</label>\r\n <input fd-form-control id=\"national-code\" [(ngModel)]=\"filterItems.NationalCode\" />\r\n </div>\r\n\r\n <fd-button-bar fdkInitialFocus fdType=\"emphasized\" label=\"جستجو\" (click)=\"filter()\"> </fd-button-bar>\r\n </div>\r\n\r\n <table fd-table [noBorderX]=\"true\" [noBorderY]=\"true\">\r\n <thead fd-table-header>\r\n <tr fd-table-row>\r\n <th fd-table-cell>نام</th>\r\n <th fd-table-cell>نام خانوادگی</th>\r\n <th fd-table-cell>کد ملی</th>\r\n </tr>\r\n </thead>\r\n <tbody fd-table-body>\r\n @for (person of searchResult; track person) {\r\n <tr (click)=\"select(person)\" [class.selected]=\"selectedPerson?.Id === person?.Id\" fd-table-row>\r\n <td fd-table-cell>\r\n {{ person.FirstName }}\r\n </td>\r\n <td fd-table-cell>{{ person.LastName }}</td>\r\n <td fd-table-cell>{{ person.NationalCode }}</td>\r\n </tr>\r\n }\r\n </tbody>\r\n </table>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <ng-template fdkTemplate=\"footer\">\r\n <div fd-bar-right>\r\n <fd-button-bar fdType=\"emphasized\" label=\"تایید\" (click)=\"confirm()\"> </fd-button-bar>\r\n <fd-button-bar fdkInitialFocus label=\"انصراف\" (click)=\"close()\"> </fd-button-bar>\r\n </div>\r\n </ng-template>\r\n </fd-dialog-footer>\r\n </fd-dialog>\r\n</ng-template>\r\n","import { ChangeDetectionStrategy, Component, HostBinding, inject } from '@angular/core';\r\n\r\nimport { ReportBaseComponent, BarsaApi, MoReportValuePipe, MetaobjectDataModel } from 'barsa-novin-ray-core';\r\n@Component({\r\n selector: 'bdc-login-social-conncetions',\r\n templateUrl: './login-social-conncetions.component.html',\r\n styleUrls: ['./login-social-conncetions.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class LoginSocialConncetionsComponent extends ReportBaseComponent {\r\n @HostBinding('attr.rtl') rtl = BarsaApi.LoginFormData.IsRtl;\r\n\r\n private reportValuePipe = inject(MoReportValuePipe);\r\n\r\n onClick(mo: MetaobjectDataModel): void {\r\n const provider = this.reportValuePipe.transform('Name', mo, this.allColumns, true);\r\n\r\n const returnUrl = encodeURIComponent(window.location.href);\r\n BarsaApi.Bw.NavigateTo(`/api/openId/signin?provider=${provider}&returnUrl=${returnUrl}`);\r\n }\r\n}\r\n","@for (mo of moDataList$ | async; track mo) {\r\n<button\r\n fd-button\r\n [label]=\"'Display Text' | rval: mo:allColumns\"\r\n [fdType]=\"'FdType' | rval: mo:allColumns:true\"\r\n (click)=\"onClick(mo)\"\r\n>\r\n <img\r\n style=\"max-width: 28px\"\r\n [src]=\"('Logo' | rval: mo:allColumns)?.FileId | picFieldSrc: 'GetPictureFromFileInfo':null\"\r\n />\r\n</button>\r\n}\r\n","import { ChangeDetectionStrategy, Component, HostBinding, HostListener, OnInit } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map, takeUntil } from 'rxjs/operators';\r\nimport { BarsaApi, FormBaseComponent, FormPanelService, getDeviceIsMobile } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-login-form',\r\n templateUrl: './login-form.component.html',\r\n styleUrls: ['./login-form.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [FormPanelService],\r\n standalone: false\r\n})\r\nexport class LoginFormComponent extends FormBaseComponent implements OnInit {\r\n size$: Observable<'xl' | 'md' | 'sm'>;\r\n @HostBinding('class.desktopmode') _desktopmode = !getDeviceIsMobile();\r\n @HostListener('keydown.enter', ['$event'])\r\n onKeyEnter = (_): void => {\r\n const layoutItem = this._controlUiPipe.transform(' ورود', this.layout94);\r\n if (layoutItem) {\r\n layoutItem.FieldUi.fireEvent('click', layoutItem.FieldUi);\r\n }\r\n };\r\n\r\n ngOnInit(): void {\r\n this._activatedRoute.queryParams.pipe(takeUntil(this._onDestroy$)).subscribe((params) => {\r\n BarsaApi.Bw.SetCultureByDisplayName(params.culture);\r\n });\r\n super.ngOnInit();\r\n this.layout94$.subscribe((layout94) => {\r\n this.layout94 = layout94;\r\n });\r\n this.size$ = this._portalService.deviceSize$.pipe(\r\n map((deviceSize) => {\r\n switch (deviceSize) {\r\n case 's':\r\n return 'sm';\r\n case 'm':\r\n return 'md';\r\n default:\r\n return 'xl';\r\n }\r\n })\r\n );\r\n }\r\n}\r\n","@if (mo$ | async; as mo) { @if (mo.IsLogging) {\r\n<bsu-mask></bsu-mask>\r\n} @if ((size$ | async) === 'sm') {\r\n<fd-layout-grid [class.mobile]=\"isMobile\">\r\n <div [fdLayoutGridCol]=\"1\"></div>\r\n <div [fdLayoutGridCol]=\"10\">\r\n <bsu-ly-layout-container-of-root\r\n [config]=\"layout94$ | async\"\r\n [isPanel]=\"false\"\r\n [isRoot]=\"true\"\r\n [class.desktopMode]=\"!(isMobile === true)\"\r\n ></bsu-ly-layout-container-of-root>\r\n <div class=\"extra-grid-layout\"></div>\r\n </div>\r\n <div [fdLayoutGridCol]=\"1\"></div>\r\n</fd-layout-grid>\r\n} @else {\r\n<fd-dynamic-side-content [size]=\"(size$ | async)!!\">\r\n <fd-dynamic-side-content-side>\r\n <bsu-ly-layout-container-of-root\r\n [config]=\"layout94$ | async\"\r\n [isPanel]=\"false\"\r\n [isRoot]=\"true\"\r\n ></bsu-ly-layout-container-of-root>\r\n <div class=\"extra-side\"></div>\r\n </fd-dynamic-side-content-side>\r\n\r\n <fd-dynamic-side-content-main>\r\n <!-- <ng-container *ngIf=\"'عکس پس زمینه' | controlUi: layout94 as layoutConfig\">\r\n <bsu-layout-control\r\n [caption]=\"'عکس پس زمینه'\"\r\n [config]=\"layoutConfig\"\r\n [showLabel]=\"false\"\r\n [inlineEdit]=\"true\"\r\n ></bsu-layout-control>\r\n </ng-container> -->\r\n @if ('عکس پس زمینه' | controlUi: layout94; as layoutConfig) {\r\n <div\r\n id=\"bgLogin\"\r\n [style.backgroundImage]=\"\r\n 'url(' +\r\n (mo.Background?.FileId | picFieldSrc: 'PictureFileInfo':null:layoutConfig.FieldUi.Setting.FieldDefId) +\r\n ')'\r\n \"\r\n ></div>\r\n }\r\n <div class=\"extra-mainside\"></div>\r\n </fd-dynamic-side-content-main>\r\n</fd-dynamic-side-content>\r\n} }\r\n<div class=\"extra\"></div>\r\n","import {\r\n Component,\r\n OnInit,\r\n ChangeDetectionStrategy,\r\n ViewEncapsulation,\r\n AfterViewInit,\r\n ElementRef,\r\n ViewChild,\r\n Renderer2,\r\n ViewChildren,\r\n QueryList,\r\n ChangeDetectorRef,\r\n RendererStyleFlags2,\r\n Input,\r\n HostBinding,\r\n WritableSignal,\r\n signal,\r\n inject\r\n} from '@angular/core';\r\nimport { ViewportScroller } from '@angular/common';\r\nimport { Observable, takeUntil } from 'rxjs';\r\nimport { TabPanelComponent, TabSizes } from '@fundamental-ngx/core';\r\nimport { MetaobjectDataModel, AbbrevationDeviceSize } from 'barsa-novin-ray-core';\r\nimport { TilesViewerContainerComponent, TilesViewerService, TilesViewerGroupComponent, TilesService } from 'barsa-tiles';\r\n\r\n@Component({\r\n selector: 'bdc-service-desk-header',\r\n templateUrl: './service-desk-header.component.html',\r\n styleUrls: ['./service-desk-header.component.scss'],\r\n providers: [TilesViewerService, TilesService],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n standalone: false\r\n})\r\nexport class ServiceDeskHeaderComponent extends TilesViewerContainerComponent implements OnInit, AfterViewInit {\r\n @ViewChild('headerSpaceHolder', { static: true }) headerSpaceHolder: ElementRef<any>;\r\n @ViewChild('headerGrid', { static: true }) headerGrid: ElementRef<any>;\r\n @ViewChild('aboveSearch', { static: true }) aboveSearch: ElementRef<any>;\r\n @ViewChild('searchHolder', { static: true }) searchHolder: ElementRef<any>;\r\n @ViewChild('navHolder', { static: true }) navHolder: ElementRef<any>;\r\n @ViewChild('aboveContent', { static: true }) aboveContent: ElementRef<any>;\r\n @ViewChild('bgOuterHolder', { static: true }) bgOuterHolder: ElementRef<any>;\r\n @ViewChild('contentAndNav', { static: true }) contentAndNav: ElementRef<any>;\r\n @ViewChildren(TilesViewerGroupComponent, { read: ElementRef }) tilesViewerGroupElList: QueryList<ElementRef>;\r\n @ViewChildren(TabPanelComponent) tabPanelComponents: QueryList<TabPanelComponent>;\r\n @HostBinding('class.mode2') _mode2 = false;\r\n @HostBinding('class.service-desk-header') _cls = true;\r\n @Input() settings: ServiceDeskHeaderSetting;\r\n selectedTabIndex = 0;\r\n\r\n tabSize: TabSizes;\r\n searchTerm$: Observable<string>;\r\n searchTerm = '';\r\n deviceSize$: Observable<AbbrevationDeviceSize>;\r\n selectedAppTileGroup: WritableSignal<MetaobjectDataModel[]> = signal([]);\r\n isStackContent2 = signal(false);\r\n appGroups: any[] = [];\r\n imageUrl: string;\r\n private _enableScroll = false;\r\n private _disableIntersection: boolean;\r\n private observerList: { el: any; observer: IntersectionObserver }[] = [];\r\n private _lastScrollPos: number;\r\n private _firstVisiblity = false;\r\n private _renderer = inject(Renderer2);\r\n private _viewportScroller = inject(ViewportScroller);\r\n private _cdr = inject(ChangeDetectorRef);\r\n get heightOfSpaceHolder(): number {\r\n const x = this.navHolder.nativeElement.getBoundingClientRect().y;\r\n return x;\r\n }\r\n onVisibilityChange(_e): void {\r\n if (this._firstVisiblity) {\r\n return;\r\n }\r\n this._firstVisiblity = true;\r\n const stickyTopPosition = this.heightOfSpaceHolder;\r\n\r\n this._stickyDom(this.aboveContent.nativeElement, this.navHolder.nativeElement, -stickyTopPosition, 'sticky');\r\n this._stickyDom(\r\n this.aboveContent.nativeElement,\r\n this.bgOuterHolder.nativeElement,\r\n -stickyTopPosition,\r\n 'sticky',\r\n () => {\r\n this._renderer.setStyle(this.bgOuterHolder.nativeElement, 'height', stickyTopPosition + 'px');\r\n },\r\n () => {\r\n this._renderer.setStyle(this.bgOuterHolder.nativeElement, 'height', '100%');\r\n }\r\n );\r\n }\r\n /**\r\n *\r\n */\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.setGridTemplateRows();\r\n this._renderer.setStyle(this.navHolder.nativeElement, 'top', 'var(--shellbar-height)');\r\n // this._mode2 = this.settings.Mode2;\r\n this._mode2 = true;\r\n this.imageUrl = this._portalService.imageUrl || '/assets/back.jpg';\r\n let stackContent = true;\r\n if (this.settings) {\r\n stackContent = this.settings.StackContent;\r\n }\r\n this.stackContent = stackContent;\r\n this.isStackContent2.set(stackContent);\r\n this._portalService.searchTerm$.pipe(takeUntil(this._onDestroy$)).subscribe((term) => {\r\n this.searchTerm = term;\r\n this._cdr.detectChanges();\r\n });\r\n\r\n this.appTileGroups$.subscribe((appTileGroups) => {\r\n this._setSelectedAppTileGroup(appTileGroups, 0);\r\n appTileGroups.forEach((c) => this._tilesViewerService.loadAppTileGroup(c));\r\n this.appGroups = appTileGroups;\r\n });\r\n this.deviceSize$ = this._portalService.deviceSize$;\r\n }\r\n ngAfterViewInit(): void {\r\n const deviceSize = this._portalService.deviceSize;\r\n let stickyTopPosition = 20;\r\n if (deviceSize === 's') {\r\n stickyTopPosition = 60;\r\n }\r\n this._stickyDom(this.aboveSearch.nativeElement, this.searchHolder.nativeElement, -stickyTopPosition, 'sticky');\r\n\r\n this._stickyDom(\r\n this.aboveSearch.nativeElement,\r\n this.contentAndNav.nativeElement,\r\n -stickyTopPosition,\r\n 'navAndContent_tb',\r\n () => {\r\n this._renderer.removeAttribute(this.contentAndNav.nativeElement, 'first');\r\n },\r\n () => {\r\n this._renderer.setAttribute(this.contentAndNav.nativeElement, 'first', 'true');\r\n }\r\n );\r\n setTimeout(() => {\r\n this._enableScroll = true;\r\n }, 1000);\r\n this._portalService.navigationStart$.pipe(takeUntil(this._onDestroy$)).subscribe((event) => {\r\n this._lastScrollPos = window.scrollY;\r\n if (event === null) {\r\n return;\r\n }\r\n if (\r\n event?.url.split('/').length > 2 &&\r\n event?.url !== '/' &&\r\n event?.url.split('appgroupdialog').length < 2 &&\r\n !this._disableIntersection\r\n ) {\r\n this.prepareForm();\r\n }\r\n });\r\n this._portalService.navigationEnd$.pipe(takeUntil(this._onDestroy$)).subscribe((event) => {\r\n if (\r\n event &&\r\n (event?.url.split('/').length < 3 ||\r\n event?.url === '/' ||\r\n event.urlAfterRedirects?.split('/').length < 3)\r\n ) {\r\n this.unPrepareForm();\r\n }\r\n });\r\n }\r\n onSearchSubmit(): void {\r\n this._router.navigateByUrl('servicedesk/search?term=' + this.searchTerm);\r\n // var searchMo = BarsaApi.Bw.RunBlMethod('GetSearchMo', this.searchTerm);\r\n // BarsaApi.Bw.Form.Show({ Mo: searchMo });\r\n }\r\n prepareForm(): void {\r\n this._disableIntersection = true;\r\n this._cdr.detach();\r\n this.disconnectIntersctionObserverList();\r\n this._renderer.addClass(this.searchHolder.nativeElement, 'sticky');\r\n this._renderer.addClass(this.contentAndNav.nativeElement, 'hide');\r\n this.visibleContent(false);\r\n const flags = RendererStyleFlags2.Important;\r\n this._renderer.setStyle(document.body, 'overflow', 'hidden', flags);\r\n this.scrollToTop();\r\n }\r\n unPrepareForm(): void {\r\n // this.setHeightSearchHolder(this.heightOfSpaceHolder);\r\n this.visibleContent(true);\r\n // this._renderer.removeClass(this.searchHolder.nativeElement, 'sticky');\r\n\r\n this._renderer.removeClass(this.searchHolder.nativeElement, 'hide');\r\n this._renderer.removeClass(this.contentAndNav.nativeElement, 'hide');\r\n const flags = RendererStyleFlags2.Important;\r\n this._renderer.setStyle(document.body, 'overflow', 'auto', flags);\r\n this.scrollToTop();\r\n this._cdr.markForCheck();\r\n this._cdr.reattach();\r\n this._disableIntersection = false;\r\n this.connectIntersctionObserverList();\r\n }\r\n setHeightSearchHolder(height): void {\r\n this._renderer.setStyle(this.headerSpaceHolder.nativeElement, 'height', `${height}px`);\r\n }\r\n visibleContent(visible: boolean): void {\r\n this._renderer.setStyle(this.contentAndNav.nativeElement, 'display', visible ? 'flex' : 'none');\r\n }\r\n\r\n setGridTemplateRows(): void {\r\n this._renderer.setStyle(\r\n this.headerGrid.nativeElement,\r\n 'grid-template-rows',\r\n `minmax(78px, 15%) 46px 32px 1fr auto 12%; height:var(--shellbar-height)`\r\n );\r\n this._renderer.setStyle(this.headerSpaceHolder.nativeElement, 'height', `var(--shellbar-height)`);\r\n }\r\n onSelectedTabChange3(selectedTab: TabPanelComponent, appTileGroups: MetaobjectDataModel[]): void {\r\n this._setSelectedAppTileGroup(appTileGroups, +selectedTab.id);\r\n const tablistCmp = (selectedTab as any)._tabsComponent;\r\n if (tablistCmp) {\r\n tablistCmp._disableScrollSpy = true;\r\n }\r\n this.scrollToTop();\r\n if (selectedTab.id === '0') {\r\n return;\r\n }\r\n const elementRefOfselectedTileGroup: HTMLElement = this.tilesViewerGroupElList.get(\r\n Number(selectedTab.id)\r\n )?.nativeElement;\r\n\r\n elementRefOfselectedTileGroup.scrollIntoView({\r\n block: 'start'\r\n });\r\n }\r\n private _setSelectedAppTileGroup(appTileGroups: MetaobjectDataModel[], index: number): void {\r\n if (!this.settings) {\r\n return;\r\n }\r\n const { StackContent } = this.settings;\r\n const apptileGroups = StackContent !== false ? appTileGroups : [appTileGroups[index]];\r\n apptileGroups && this.selectedAppTileGroup.set(apptileGroups);\r\n }\r\n private scrollToLastPos(): void {\r\n this._viewportScroller.scrollToPosition([0, this._lastScrollPos]);\r\n }\r\n private scrollToTop(): void {\r\n if (this._enableScroll) {\r\n this._viewportScroller.scrollToPosition([0, this.heightOfSpaceHolder - this.heightOfSpaceHolder]);\r\n }\r\n }\r\n private disconnectIntersctionObserverList(): void {\r\n this.observerList.forEach((c) => c.observer.disconnect());\r\n }\r\n private connectIntersctionObserverList(): void {\r\n this.observerList.forEach((c) => c.observer.observe(c.el));\r\n }\r\n private _setBackground(): void {}\r\n private _stickyDom(\r\n above,\r\n holder,\r\n marginTop,\r\n className,\r\n visibleCallback?: () => void,\r\n hiddenCallBack?: () => void\r\n ): void {\r\n const handler = (entries): void => {\r\n if (this._disableIntersection) {\r\n return;\r\n }\r\n if (!entries[0].isIntersecting) {\r\n this._renderer.addClass(holder, className);\r\n if (typeof visibleCallback === 'function') {\r\n visibleCallback();\r\n }\r\n } else {\r\n this._renderer.removeClass(holder, className);\r\n if (typeof hiddenCallBack === 'function') {\r\n hiddenCallBack();\r\n }\r\n }\r\n };\r\n const options = {\r\n rootMargin: `${marginTop}px 0px 0px 0px`,\r\n threshold: 0.1\r\n };\r\n const observer = new window.IntersectionObserver(handler, options);\r\n\r\n observer.observe(above);\r\n this.observerList.push({ el: above, observer });\r\n }\r\n}\r\n\r\ninterface ServiceDeskHeaderSetting extends MetaobjectDataModel {\r\n HideSearch: boolean;\r\n HideTabs: boolean;\r\n StackContent: boolean;\r\n}\r\n","<div\r\n id=\"headerGrid\"\r\n style=\"grid-template-rows: minmax(1px, 15%) 48px 32px 1fr auto 12%; height: 148px\"\r\n #headerGrid\r\n cssRootVariable\r\n [cssVariableValue]=\"'var(--shellbar-height)'\"\r\n [cssVariableName]=\"'--absolute-page-top'\"\r\n>\r\n <div class=\"companyLogoHolder_aboveSearch\" #aboveSearch></div>\r\n <div id=\"searchHolder\" style=\"grid-row: 2\" #searchHolder></div>\r\n</div>\r\n<div id=\"headerSpaceHolder\" #headerSpaceHolder>\r\n <div id=\"bgOuterHolder\" #bgOuterHolder>\r\n <div id=\"bgInnerHolder\" style=\"height: 100vh\">\r\n <div class=\"backgroundImage\" id=\"backgroundImage\">\r\n <img class=\"picture\" [attr.src]=\"imageUrl\" loading=\"lazy\" />\r\n <span id=\"backgroundImageOverlay\" class=\"overlay\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div id=\"contentHolderAndNav\" first=\"true\" #contentAndNav fillEmptySpace [setMinHeight]=\"true\">\r\n <div class=\"aboveContent\" #aboveContent></div>\r\n <div id=\"contentHolder\">\r\n <div\r\n class=\"nav content-feed\"\r\n #navHolder\r\n [style.display]=\"settings?.HideTileGroupsNav ? 'none' : null\"\r\n intersectionObserver\r\n [intersectionThreshold]=\"0.5\"\r\n (visibilityChange)=\"onVisibilityChange($event)\"\r\n >\r\n <div class=\"nav-container\">\r\n <ng-container\r\n *ngTemplateOutlet=\"renderTabs; context: { $implicit: (appTileGroups$ | async)!! }\"\r\n ></ng-container>\r\n </div>\r\n </div>\r\n <div class=\"nav_surrogate\"></div>\r\n <div class=\"content-feed\">\r\n <ng-container\r\n *ngTemplateOutlet=\"renderGroups; context: { $implicit: selectedAppTileGroup() }\"\r\n ></ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n<ng-template #renderTabs let-appTileGroups>\r\n <fd-tab-list\r\n [size]=\"tabSize\"\r\n [collapseOverflow]=\"tabSize === 's' || appTileGroups.length > 5\"\r\n [expandOverflowText]=\"'More' | bbbTranslate\"\r\n (selectedTabChange)=\"onSelectedTabChange3($event, appTileGroups)\"\r\n [stackContent]=\"isStackContent2()\"\r\n >\r\n @for (appTileGroup of appTileGroups; track appTileGroup; let i = $index;) {\r\n <fd-tab [id]=\"'' + i\" [title]=\"appTileGroup.navigatorTitle\"> </fd-tab>\r\n }\r\n </fd-tab-list>\r\n</ng-template>\r\n<ng-template #renderGroups let-appTileGroups>\r\n @for (appTileGroup of appTileGroups; track appTileGroup; let i = $index,isLast=$last) {\r\n <bt-tiles-viewer-group\r\n [class]=\"deviceSize$ | async\"\r\n [attr.islast]=\"isLast\"\r\n [attr.index]=\"i\"\r\n [appTileGroup]=\"appTileGroup\"\r\n [edit]=\"false\"\r\n [stackContent]=\"true\"\r\n [isAppTileSubGroup]=\"false\"\r\n [deviceSize]=\"(deviceSize$ | async)!!\"\r\n ></bt-tiles-viewer-group>\r\n }\r\n</ng-template>\r\n","import { Component, OnInit, ChangeDetectionStrategy, ViewChild, ElementRef, HostBinding } from '@angular/core';\r\nimport { FilePictureInfoModel, BaseItemContentPropsComponent, UiReportViewBaseSetting } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-card-content-image-and-title',\r\n templateUrl: './card-content-image-and-title.component.html',\r\n styleUrls: ['./card-content-image-and-title.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class CardContentImageAndTitleComponent\r\n extends BaseItemContentPropsComponent<UiReportViewBaseSetting>\r\n implements OnInit\r\n{\r\n @ViewChild('iconRef', { static: false }) iconRef: ElementRef;\r\n\r\n @HostBinding('style.background-color') backgroundColor: string | null = null;\r\n @HostBinding('style.color') color: string | null = null;\r\n\r\n backgroundColorSetting: string;\r\n title: string;\r\n subtitle: string;\r\n icon: string;\r\n colorSetting: string;\r\n picture: FilePictureInfoModel;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n const parameters = this.parameters;\r\n if (parameters != null) {\r\n this.color = this.colorSetting = parameters.Color;\r\n this.backgroundColor = this.backgroundColorSetting = parameters.BackgroundColor;\r\n\r\n this.picture = this._rval.transform(parameters.Picture, this.mo, this.allColumns);\r\n this.title = this._rval.transform(parameters.Title, this.mo, this.allColumns);\r\n this.subtitle = this._rval.transform(parameters.Subtitle, this.mo, this.allColumns);\r\n this.icon = this._rval.transform(parameters.Icon, this.mo, this.allColumns);\r\n\r\n this.prepareNumberSign();\r\n }\r\n }\r\n\r\n private prepareNumberSign(): void {\r\n if (this.color && Number(this.colorSetting[0])) {\r\n this.color = '#' + this.colorSetting;\r\n }\r\n\r\n if (this.backgroundColor && Number(this.backgroundColorSetting[0])) {\r\n this.backgroundColor = '#' + this.backgroundColorSetting;\r\n }\r\n }\r\n}\r\n","<div class=\"card-content\" #elemRef>\r\n <div class=\"item-data\">\r\n @if (picture) {\r\n <img\r\n [imgLazy]=\"picture.FileId | picFieldSrc: 'ID':null:'':100:70\"\r\n height=\"70\"\r\n width=\"100\"\r\n [alt]=\"title | bbbTranslate\"\r\n />\r\n } @else { @if (icon) {\r\n <fd-icon #iconRef [glyph]=\"icon\" [style.color]=\"color\"> </fd-icon>\r\n } }\r\n </div>\r\n <h5 fd-title class=\"item-data fd-title--wrap\" [style.color]=\"color\">\r\n {{ title | bbbTranslate }}\r\n </h5>\r\n @if (subtitle) {\r\n <h6 fd-title class=\"item-data fd-title--wrap\" [style.color]=\"color\">\r\n {{ subtitle | bbbTranslate }}\r\n </h6>\r\n }\r\n</div>\r\n","import { Component, OnInit, ChangeDetectionStrategy, Output, EventEmitter } from '@angular/core';\r\nimport { BaseItemContentPropsComponent, UiReportViewBaseSetting } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-card-header-logo-title-subtitle',\r\n templateUrl: './card-header-logo-title-subtitle.component.html',\r\n styleUrls: ['./card-header-logo-title-subtitle.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class CardHeaderLogoTitleSubtitleComponent\r\n extends BaseItemContentPropsComponent<UiReportViewBaseSetting>\r\n implements OnInit\r\n{\r\n @Output() events = new EventEmitter<{ title: string; data?: any }>();\r\n\r\n title: string;\r\n subtitle: string;\r\n fontIcon: string;\r\n imageIcon: { FileId: string };\r\n hasIcon: boolean;\r\n isIconImage: boolean;\r\n titleDbName: string;\r\n subtitleDbName: string;\r\n avatarCircle: boolean;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.titleDbName =\r\n this._findColumnPipe.transform(this.allColumns, this.parameters.Title)?.Name || this.parameters.Title;\r\n this.subtitleDbName =\r\n this._findColumnPipe.transform(this.allColumns, this.parameters.Subtitle)?.Name || this.parameters.Subtitle;\r\n const parameters = this.parameters;\r\n if (parameters != null) {\r\n this.title = this._rval.transform(parameters.Title, this.mo, this.allColumns, true);\r\n this.subtitle = this._rval.transform(parameters.Subtitle, this.mo, this.allColumns, true);\r\n this.fontIcon = parameters.FontIcon ?? 'person-placeholder';\r\n this.imageIcon = this._rval.transform(parameters.FontIcon, this.mo, this.allColumns);\r\n this.isIconImage = typeof this.imageIcon === 'object';\r\n this.hasIcon = parameters.HasIcon;\r\n this.avatarCircle = true;\r\n if (typeof parameters.AvatarCircle !== 'undefined') {\r\n this.avatarCircle = parameters.AvatarCircle;\r\n }\r\n }\r\n }\r\n}\r\n","<fd-card-header\r\n [class.hide-border]=\"parameters.HideBorder\"\r\n (click)=\"!isCheckList && events.emit({ title: 'rowCheck' })\"\r\n>\r\n <fd-card-main-header>\r\n @if (hasIcon) {\r\n <fd-avatar\r\n [circle]=\"avatarCircle\"\r\n size=\"s\"\r\n ariaLabel=\"avatar image\"\r\n title=\"avatar image\"\r\n alterIcon=\"content|alt|backup|default-icon\"\r\n [glyph]=\"fontIcon\"\r\n [image]=\"isIconImage ? (imageIcon?.FileId | picFieldSrc: 'GetPictureFromFileInfo':null) : ''\"\r\n ></fd-avatar>\r\n }\r\n <div fd-card-title [style.justify-content]=\"'end'\" style=\"display:flex\">\r\n <div style=\"display: flex; justify-content: start; flex-grow: 1\">\r\n @if (isCheckList) {\r\n <fd-checkbox\r\n [name]=\"mo.$Caption\"\r\n [ngModel]=\"isChecked\"\r\n (ngModelChange)=\"events.emit({ title: 'rowCheck' })\"\r\n ></fd-checkbox>\r\n } @if (setting.ContextMenuInFooter && contextMenuItems && contextMenuItems.length > 0) {\r\n <div\r\n ulvContextMenu\r\n [allColumns]=\"allColumns\"\r\n [menuItems]=\"contextMenuItems\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [mo]=\"mo\"\r\n (commandClick)=\"events.emit({ title: 'ulvCommand' })\"\r\n ></div>\r\n }\r\n <h2\r\n #hEl \r\n class=\"fd-card__title\"\r\n [hostEl]=\"hEl\"\r\n [styleIndex]=\"styleIndex\"\r\n [dbName]=\"titleDbName\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n >\r\n {{ title | bbbTranslate }}\r\n </h2>\r\n </div>\r\n @if (canView) {\r\n <button\r\n fd-button\r\n (click)=\"$event.preventDefault(); $event.stopPropagation(); events.emit({ title: 'rowClick' })\"\r\n [glyph]=\"navigationArrow\"\r\n fdType=\"transparent\"\r\n ></button>\r\n }\r\n </div>\r\n\r\n <h3\r\n fd-card-subtitle\r\n #hEl\r\n [hostEl]=\"hEl\"\r\n [styleIndex]=\"styleIndex\"\r\n [dbName]=\"subtitleDbName\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n >\r\n {{ subtitle | bbbTranslate }}\r\n </h3>\r\n </fd-card-main-header>\r\n</fd-card-header>\r\n<div></div>\r\n","import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\r\nimport { FormPropsBaseComponent, MoForReportModel } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-form-content-quick-view',\r\n templateUrl: './form-content-quick-view.component.html',\r\n styleUrls: ['./form-content-quick-view.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class FormContentQuickViewComponent extends FormPropsBaseComponent implements OnInit {\r\n groups = {};\r\n title: string;\r\n subtitle: string;\r\n fontIcon: string;\r\n imageUrl: string;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n const groups = {};\r\n this.title = this._controlUiPipe.transform(this.settings?.Title, this.layout94)?.FieldUi?.value;\r\n this.subtitle = this._controlUiPipe.transform(this.settings?.Subtitle, this.layout94)?.FieldUi?.value;\r\n const fontIcon = this._controlUiPipe.transform(this.settings?.FontIcon, this.layout94)?.FieldUi;\r\n if (fontIcon) {\r\n const { imageUrl, value } = fontIcon;\r\n this.imageUrl = imageUrl;\r\n this.fontIcon = value;\r\n }\r\n const settingGroups: MoForReportModel = this.settings?.Groups;\r\n if (settingGroups) {\r\n settingGroups.MoDataList.forEach((c) => {\r\n groups[c.Title] = (c.ListFields as string)\r\n .split(',')\r\n .map((d) => ({\r\n caption: d,\r\n fieldUi: this._controlUiPipe.transform(d, this.layout94)\r\n }))\r\n .map((d) => ({ ...d, value: this.getFieldValue(d.fieldUi?.FieldUi?.value) }))\r\n .map((d) => ({ ...d, type: this.getFieldType(d.value) }));\r\n });\r\n }\r\n this.groups = groups;\r\n }\r\n getFieldValue(value): any {\r\n if (!value) {\r\n return value;\r\n }\r\n const t: string = value.toString();\r\n if (t.indexOf(',') > -1) {\r\n return t.split(',');\r\n }\r\n return value;\r\n }\r\n getIsPhone(value): boolean {\r\n if (value.startsWith('0') || (value.startsWith('+') && !Number.isNaN(value.substring(1, value.length)))) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n getIsEmail(value): boolean {\r\n if (value.indexOf('@') > -1) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n getIsWebsite(value): boolean {\r\n if (value.startsWith('http') || value.startsWith('https')) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n getFieldType(value: any): any {\r\n if (typeof value === 'string') {\r\n if (this.getIsWebsite(value)) {\r\n return 0;\r\n }\r\n if (this.getIsPhone(value)) {\r\n return 1;\r\n }\r\n if (this.getIsEmail(value)) {\r\n return 2;\r\n }\r\n return 3;\r\n } else if (Array.isArray(value)) {\r\n if (value.length) {\r\n if (this.getIsPhone(value[0])) {\r\n return 4;\r\n }\r\n if (this.getIsEmail(value[0])) {\r\n return 5;\r\n }\r\n if (this.getIsWebsite(value[0])) {\r\n return 6;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","<fd-quick-view>\r\n <fd-quick-view-subheader>\r\n <fd-avatar\r\n title=\"avatar\"\r\n [glyph]=\"fontIcon\"\r\n [image]=\"imageUrl\"\r\n [size]=\"'s'\"\r\n [border]=\"settings.ShowLogoBorder\"\r\n [transparent]=\"settings.TransparentLogo\"\r\n [colorAccent]=\"settings.AccentColor\"\r\n ></fd-avatar>\r\n <fd-quick-view-subheader-title>\r\n {{ title | bbbTranslate }}\r\n </fd-quick-view-subheader-title>\r\n <fd-quick-view-subheader-subtitle>\r\n {{ subtitle | bbbTranslate }}\r\n </fd-quick-view-subheader-subtitle>\r\n </fd-quick-view-subheader>\r\n\r\n @for (group of groups | keyvalue; track group) {\r\n <fd-quick-view-group [attr.aria-labelledby]=\"group.key\">\r\n <fd-quick-view-group-title [id]=\"group.key\">\r\n {{ group.key | bbbTranslate }}\r\n </fd-quick-view-group-title>\r\n @for (item of $any(group).value; track item) {\r\n <fd-quick-view-group-item>\r\n <fd-quick-view-group-item-label>\r\n {{ item.caption | bbbTranslate }}\r\n </fd-quick-view-group-item-label>\r\n <fd-quick-view-group-item-content>\r\n @switch (item.type) { @case (6) {\r\n <div style=\"display: flex; flex-direction: column; row-gap: 3px\">\r\n @for (website of item.value; track website) {\r\n <a\r\n [href]=\"website\"\r\n [innerText]=\"website | bbbTranslate\"\r\n fd-link\r\n fd-quick-view-group-item-content-element\r\n ></a>\r\n }\r\n </div>\r\n } @case (0) {\r\n <a\r\n [href]=\"item.value\"\r\n [innerText]=\"item.value | bbbTranslate\"\r\n fd-link\r\n fd-quick-view-group-item-content-element\r\n ></a>\r\n } @case (1) {\r\n <a\r\n [href]=\"'tel:' + item.value\"\r\n [innerText]=\"item.value | bbbTranslate\"\r\n fd-link\r\n fd-quick-view-group-item-content-element\r\n ></a>\r\n } @case (4) {\r\n <div style=\"display: flex; flex-direction: column; row-gap: 3px\">\r\n @for (tel of item.value; track tel) {\r\n <a [href]=\"'tel:' + tel\" [innerText]=\"tel\" fd-link fd-quick-view-group-item-content-element></a>\r\n }\r\n </div>\r\n } @case (5) {\r\n <div style=\"display: flex; flex-direction: column; row-gap: 3px\">\r\n @for (email of item.value; track email) {\r\n <a\r\n style=\"direction: ltr; font-family: monospace\"\r\n [href]=\"'mailto:' + email\"\r\n [innerText]=\"email\"\r\n fd-link\r\n fd-quick-view-group-item-content-element\r\n ></a>\r\n }\r\n </div>\r\n } @case (2) {\r\n <a\r\n style=\"direction: ltr; font-family: monospace\"\r\n [href]=\"'mailto:' + item.value\"\r\n [innerText]=\"item.value\"\r\n fd-link\r\n fd-quick-view-group-item-content-element\r\n ></a>\r\n } @default {\r\n <div [innerText]=\"item.value | bbbTranslate\" fd-quick-view-group-item-content-element></div>\r\n } }\r\n </fd-quick-view-group-item-content>\r\n </fd-quick-view-group-item>\r\n }\r\n </fd-quick-view-group>\r\n }\r\n</fd-quick-view>\r\n","import {\r\n Component,\r\n OnInit,\r\n ChangeDetectionStrategy,\r\n ViewChild,\r\n ViewChildren,\r\n QueryList,\r\n ElementRef\r\n} from '@angular/core';\r\nimport {\r\n BarsaApi,\r\n GeneralControlInfoModel,\r\n MetaobjectDataModel,\r\n FormPropsBaseComponent,\r\n FindLayoutSettingFromLayout94\r\n} from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-service-desk-servcie-detail',\r\n templateUrl: './service-desk-servcie-detail.component.html',\r\n styleUrls: ['./service-desk-servcie-detail.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class ServiceDeskServcieDetailComponent extends FormPropsBaseComponent implements OnInit {\r\n @ViewChild('tabContainerRef') tabContainerRef: ElementRef;\r\n @ViewChildren('tablesRef') tablesRef: QueryList<ElementRef>;\r\n filteredControls: FieldsInfo[];\r\n firstArray: FieldsInfo[] = [];\r\n secondArray: FieldsInfo[] = [];\r\n valueSharhKhedmat: any;\r\n moByCaption = {};\r\n khadamatmortabet: MetaobjectDataModel[];\r\n services: GeneralControlInfoModel[];\r\n controlCount: number;\r\n isOdd: boolean;\r\n fieldsCaption: FieldsInfo[] = [];\r\n value = '';\r\n rahnamayTasviri: any;\r\n israhnamayTasviri = false;\r\n selectedTab: number;\r\n khadamatmortabetReport: { ReportId: string; TypeDefId: string };\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n\r\n const $FieldDict = this.fieldDict;\r\n if (!$FieldDict) {\r\n return;\r\n }\r\n this._prepare($FieldDict, this.mo);\r\n }\r\n\r\n onDownload(item): void {\r\n if (item.Attachment) {\r\n BarsaApi.Common.File.DownloadFileId(item.Attachment.Files[0].Id);\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n this.alignTablesTr();\r\n }\r\n onKhadamatMortabet(item): void {\r\n BarsaApi.Bw.Form.Show({\r\n MoId: item.Id,\r\n TypeDefId: this.khadamatmortabetReport.TypeDefId,\r\n MoContext: { ReportId: this.khadamatmortabetReport.ReportId }\r\n });\r\n }\r\n private alignTablesTr(): void {\r\n setTimeout(() => {\r\n const tablesRef = this.tablesRef.toArray();\r\n const firstTableEl = tablesRef[0].nativeElement as HTMLElement;\r\n const secondTableEl = tablesRef[1].nativeElement as HTMLElement;\r\n\r\n const trFirstTable = firstTableEl.querySelectorAll('tr');\r\n const trSecondTable = secondTableEl.querySelectorAll('tr');\r\n\r\n trFirstTable.forEach((tr, index) => {\r\n if (index < trSecondTable.length) {\r\n const trSecond = trSecondTable[index];\r\n if (tr.offsetHeight > trSecond.offsetHeight) {\r\n trSecond.style.height = `${tr.offsetHeight}px`;\r\n } else {\r\n tr.style.height = `${trSecond.offsetHeight}px`;\r\n }\r\n }\r\n });\r\n }, 0);\r\n }\r\n\r\n private _prepare($FieldDict: { [key: string]: string }, mo: MetaobjectDataModel): void {\r\n const leftside = FindLayoutSettingFromLayout94(this.layout94, 'جدول چپ');\r\n const rightside = FindLayoutSettingFromLayout94(this.layout94, 'جدول راست');\r\n\r\n leftside?.items[0]?.items?.forEach((item2) => {\r\n const key = item2.Caption;\r\n const fieldName = item2.ControlId;\r\n const item: FieldsInfo = { caption: key, fieldName };\r\n if (\r\n key === 'آدرس سایت' ||\r\n (typeof mo[fieldName] === 'string' &&\r\n (mo[fieldName].startsWith('https://') || mo[fieldName].startsWith('http://')))\r\n ) {\r\n item.type = 'Link';\r\n }\r\n if (typeof mo[fieldName] === 'object') {\r\n if (mo[fieldName].$Type === 'Common.MetaObjectListWeb') {\r\n item.type = 'MoList';\r\n } else if (mo[fieldName].Ext) {\r\n item.type = 'Image';\r\n } else if (mo[fieldName].Files) {\r\n item.type = 'Files';\r\n } else {\r\n item.type = 'Relation';\r\n }\r\n }\r\n this.firstArray.push(item);\r\n });\r\n rightside?.items[0]?.items?.forEach((item2) => {\r\n const key = item2.Caption;\r\n const fieldName = item2.ControlId;\r\n const item: FieldsInfo = { caption: key, fieldName };\r\n if (\r\n key === 'آدرس سایت' ||\r\n (typeof mo[fieldName] === 'string' &&\r\n (mo[fieldName].startsWith('https://') || mo[fieldName].startsWith('http://')))\r\n ) {\r\n item.type = 'Link';\r\n }\r\n if (typeof mo[fieldName] === 'object') {\r\n if (mo[fieldName].$Type === 'Common.MetaObjectListWeb') {\r\n item.type = 'MoList';\r\n } else if (mo[fieldName].Ext) {\r\n item.type = 'Image';\r\n } else if (mo[fieldName].Files) {\r\n item.type = 'Files';\r\n } else {\r\n item.type = 'Relation';\r\n }\r\n }\r\n this.secondArray.push(item);\r\n });\r\n this.rahnamayTasviri = this._sanitizer.bypassSecurityTrustResourceUrl(mo[$FieldDict['راهنمای تصویری']]);\r\n if (this.rahnamayTasviri) {\r\n this.israhnamayTasviri = true;\r\n }\r\n\r\n // this.firstArray = filteredControls.slice(0, controlCountMiddle);\r\n // this.secondArray = filteredControls.slice(controlCountMiddle, controlCount);\r\n this.khadamatmortabet = mo[$FieldDict['خدمات مرتبط']]?.MoDataList ?? [];\r\n this.khadamatmortabetReport = mo[$FieldDict['خدمات مرتبط']];\r\n\r\n // this.isOdd = controlCount % 2 === 0;\r\n this.isOdd = false;\r\n }\r\n}\r\ninterface FieldsInfo {\r\n type?: string;\r\n caption: string;\r\n fieldName: string;\r\n}\r\n","<fd-dynamic-page [size]=\"isMobile ? 'small' : 'large'\">\r\n <fd-dynamic-page-header\r\n [class.simple-title]=\"true\"\r\n [title]=\"''\"\r\n [class.p-b0]=\"true\"\r\n [class.hide]=\"true\"\r\n [class.no-toolbar-items]=\"true\"\r\n>\r\n</fd-dynamic-page-header>\r\n<fd-dynamic-page-subheader style=\"display: none\"> </fd-dynamic-page-subheader>\r\n <fd-tab-list\r\n [collapseOverflow]=\"true\"\r\n [stackContent]=\"false\"\r\n maxContentHeight=\"auto\"\r\n [expandOverflowText]=\"'More' | bbbTranslate\"\r\n #tablist\r\n >\r\n <fd-tab [title]=\"'شناسنامه خدمت' | bbbTranslate\" selected>\r\n <fd-dynamic-page-content>\r\n <fd-layout-grid class=\"row\" style=\"margin: 0\">\r\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"6\" [colLg]=\"6\" [colXl]=\"6\" style=\"padding: 0\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderTable;\r\n context: {\r\n $implicit: firstArray,\r\n showKhadamatMortabet: isOdd,\r\n classNames: 'firstTable'\r\n }\r\n \"\r\n >\r\n </ng-container>\r\n </div>\r\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"6\" [colLg]=\"6\" [colXl]=\"6\" style=\"padding: 0\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderTable;\r\n context: {\r\n $implicit: secondArray,\r\n showKhadamatMortabet: !isOdd,\r\n classNames: 'secondTable'\r\n }\r\n \"\r\n >\r\n </ng-container>\r\n </div>\r\n </fd-layout-grid>\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n <fd-tab [title]=\"'پیشنیازهای اخذ خدمت' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('پیشنیازهای اخذ خدمت' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'پیشنیازهای اخذ خدمت' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n <fd-tab [title]=\"'شرايط اخذ خدمت' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('شرایط اخذ خدمت' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'شرایط اخذ خدمت' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab [title]=\"'مراحل اخذ خدمت' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('مراحل اخذ خدمت' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'مراحل اخذ خدمت' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n } @if ('فرآیند مجوز' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control [caption]=\"'فرآیند مجوز' | bbbTranslate\" [config]=\"configUi\"></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab [title]=\"'مدارک مورد نیاز اخذ خدمت' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('مدارک مورد نیاز اخذ خدمت' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'مدارک مورد نیاز اخذ خدمت' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab [title]=\"'هزینه های خدمت' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('هزینه های خدمت' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'هزینه های خدمت' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n <fd-tab [title]=\"'مبانی قانونی ارائه خدمت' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('مبانی قانونی ارائه خدمت' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'مبانی قانونی ارائه خدمت' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab [title]=\"'واحدهای ارائه دهنده خدمت' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('واحدهای سازمانی ارائه دهنده' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'واحدهای سازمانی ارائه دهنده' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab [title]=\"'دستگاه های استعلام دهنده' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('استعلام سازمان ها' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'استعلام سازمان ها' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n @if ('SLA و راهنمای خدمت' | controlUi: layout94; as configUi) {\r\n <fd-tab [title]=\"'SLA و راهنمای خدمت' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if (configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'SLA و راهنمای خدمت' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n }\r\n </fd-tab-list>\r\n\r\n <fd-dynamic-page-footer> </fd-dynamic-page-footer>\r\n</fd-dynamic-page>\r\n\r\n<ng-template #renderTable let-array let-showKhadamatMortabet=\"showKhadamatMortabet\" let-classNames=\"classNames\">\r\n <table #tablesRef class=\"table-grid\" [ngClass]=\"classNames\">\r\n @for (controlItem of array; track controlItem) {\r\n <tr>\r\n <th>{{ controlItem.caption | bbbTranslate }}</th>\r\n <td>\r\n @switch (controlItem.type) { @case ('Link') {\r\n <a dir=\"ltr\" target=\"_blank\" [href]=\"mo[controlItem.fieldName]\">{{ mo[controlItem.fieldName] }}</a>\r\n } @case ('Relation') {\r\n {{ controlItem.fieldName | val: mo:true | bbbTranslate }}\r\n } @case ('MoList') { @for (item of mo[controlItem.fieldName]?.MoDataList; track item) {\r\n <div class=\"links\">\r\n <fd-icon class=\"fd-icon-link\" [glyph]=\"'chain-link'\" style=\"color: #0854a0\"></fd-icon>\r\n <!-- <fd-icon class=\"fd-icon-link\" [glyph]=\"'pdf-attachment'\"></fd-icon> -->\r\n <a (click)=\"onDownload(item)\">{{ item.$Caption }}</a>\r\n </div>\r\n } } @case ('Image') {\r\n {{ mo[controlItem.fieldName].Ext }}\r\n } @case ('Files') {\r\n {{ mo[controlItem.fieldName].Files }}\r\n } @default {\r\n {{ mo[controlItem.fieldName + '$Caption'] || mo[controlItem.fieldName] | bbbTranslate }}\r\n } }\r\n </td>\r\n </tr>\r\n }\r\n <!-- <ng-container *ngIf=\"showKhadamatMortabet\">\r\n <tr>\r\n <th>خدمات مرتبط</th>\r\n <td>\r\n <div class=\"links\" *ngFor=\"let item of khadamatmortabet\">\r\n <a (click)=\"onKhadamatMortabet(item)\">{{ item.$Caption }}</a>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-container> -->\r\n </table>\r\n</ng-template>\r\n","import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\r\nimport { MetaobjectDataModel, ReportViewBaseComponent } from 'barsa-novin-ray-core';\r\nimport { ServiceDeskViewOfServicesSetting } from '../models';\r\n\r\n@Component({\r\n selector: 'bdc-service-desk-view-of-services',\r\n templateUrl: './service-desk-view-of-services.component.html',\r\n styleUrls: ['./service-desk-view-of-services.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class ServiceDeskViewOfServicesComponent\r\n extends ReportViewBaseComponent<ServiceDeskViewOfServicesSetting>\r\n implements OnInit\r\n{\r\n fieldIcon: string;\r\n fieldTitle: string;\r\n fieldDynamicCommand: string;\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.fieldIcon = this.viewSetting.FieldIcon;\r\n this.fieldTitle = this.viewSetting.FieldTitle;\r\n this.fieldDynamicCommand = this.viewSetting.FieldDynamicCommand;\r\n this.contextMenuItems?.forEach((c) => {\r\n const parameters = c.Command.CustomUi?.Parameters;\r\n if (parameters) {\r\n // parameters.OnlyIcon = true;\r\n }\r\n });\r\n }\r\n onRowClick2(e: { mo: MetaobjectDataModel; index: number }, dynamicCommand: any): void {\r\n if (dynamicCommand) {\r\n return;\r\n }\r\n super.onRowClick(e);\r\n }\r\n}\r\n","<div class=\"services\">\r\n <div class=\"service-list\">\r\n <fd-layout-grid>\r\n <div fdLayoutGridRow>\r\n @for (mo of moDataList | multipleGroupBy: groupby; track mo; let i = $index) { @if (mo.$Group ||\r\n mo.$Group === '') {\r\n <div [fdLayoutGridCol]=\"12\">\r\n <h3\r\n fd-title\r\n style=\"\r\n padding: 0 0 0.4rem 0;\r\n border-bottom: var(--sapList_BorderWidth) solid var(--sapList_BorderColor);\r\n \"\r\n >\r\n {{ mo.$Group }}\r\n </h3>\r\n </div>\r\n } @if (!mo.$Group) {\r\n <div [fdLayoutGridCol]=\"12\" [colSm]=\"12\" [colMd]=\"3\" [colLg]=\"3\" [colXl]=\"3\">\r\n <div class=\"item\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicCommand;\r\n context: {\r\n $implicit: mo,\r\n index: i,\r\n dynCommand: fieldDynamicCommand | rval: mo:allColumns,\r\n title: fieldTitle | rval: mo:allColumns | bbbTranslate\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n </div>\r\n } }\r\n </div>\r\n </fd-layout-grid>\r\n </div>\r\n</div>\r\n<ng-template #dynamicCommand let-mo let-index=\"index\" let-dynCommand=\"dynCommand\" let-title=\"title\">\r\n <button\r\n fd-button\r\n [dynCommand]=\"dynCommand\"\r\n [mo]=\"mo\"\r\n [enableCommand]=\"dynCommand\"\r\n style=\"width: 100%; max-height: 2.3rem; height: 2.3rem; border-radius: 0\"\r\n [fdType]=\"'emphasized'\"\r\n (click)=\"onRowClick2({ mo, index },dynCommand)\"\r\n [title]=\"title\"\r\n >\r\n <span class=\"item-icon\">\r\n <fd-icon glyph=\"product\"></fd-icon>\r\n </span>\r\n <span class=\"item-content\"> {{ title }}</span>\r\n <span class=\"item-icon-arrow\">\r\n @if (fieldIcon) {\r\n <fd-icon [glyph]=\"fieldIcon\"></fd-icon>\r\n }\r\n </span>\r\n </button>\r\n <div style=\"padding: 10px; border-top: 1px solid #ccc\">\r\n <bsu-ulv-context-menu\r\n [disableOverflowContextMenu]=\"true\"\r\n [mo]=\"mo\"\r\n [index]=\"index\"\r\n [styleIndex]=\"mo.$StyleIndex\"\r\n [menuItems]=\"contextMenuItems\"\r\n [allColumns]=\"allColumns\"\r\n (commandClick)=\"this.ulvCommandClick.emit({ mo, index })\"\r\n ></bsu-ulv-context-menu>\r\n </div>\r\n</ng-template>\r\n","import { Component, OnInit, ChangeDetectionStrategy, Input } from '@angular/core';\r\nimport { BaseComponent, MetaobjectDataModel, ReportViewColumn } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-service-desk-card-content-mojavezhay-akhz-shode',\r\n templateUrl: './service-desk-card-content-mojavezhay-akhz-shode.component.html',\r\n styleUrls: ['./service-desk-card-content-mojavezhay-akhz-shode.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class ServiceDeskCardContentMojavezhayAkhzShodeComponent extends BaseComponent implements OnInit {\r\n @Input() mo: MetaobjectDataModel;\r\n @Input() allColumns: ReportViewColumn[];\r\n @Input() parameters: MetaobjectDataModel;\r\n @Input() rtl: boolean;\r\n fieldTitle: string;\r\n titleOfValue: string;\r\n fieldValue: string;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.fieldTitle = this.parameters.FieldTitle;\r\n this.titleOfValue = this.parameters.TitleOfValue;\r\n this.fieldValue = this.parameters.FieldValue;\r\n }\r\n}\r\n","<div style=\"display: flex; flex-direction: row; width: 100%\">\r\n <h2\r\n fd-title\r\n style=\"\r\n width: 60%;\r\n text-align: right;\r\n font-size: 12px;\r\n font-weight: 600;\r\n padding: 0px 16px 0 0;\r\n text-overflow: ellipsis;\r\n overflow: hidden;\r\n white-space: nowrap;\r\n \"\r\n >\r\n {{ fieldTitle | rval: mo:allColumns:true }}\r\n </h2>\r\n <h3\r\n fd-title\r\n style=\"\r\n width: 40%;\r\n text-align: left;\r\n font-size: 12px;\r\n font-weight: 600;\r\n padding: 0px 5px 0 10px;\r\n text-overflow: ellipsis;\r\n overflow: hidden;\r\n white-space: nowrap;\r\n display: flex;\r\n \"\r\n >\r\n <div style=\"width: 100%; font-weight: 400\">{{ titleOfValue }}:</div>\r\n <div style=\"padding-right: 5px; text-align: left\">\r\n {{ fieldValue | rval: mo:allColumns }}\r\n </div>\r\n </h3>\r\n</div>\r\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\nimport { CardHeaderLogoTitleSubtitleComponent } from '../card-header-logo-title-subtitle/card-header-logo-title-subtitle.component';\r\n@Component({\r\n selector: 'bdc-card-header-big-image-title-and-subtitle',\r\n templateUrl: './card-header-big-image-title-and-subtitle.component.html',\r\n styleUrls: ['./card-header-big-image-title-and-subtitle.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class CardHeaderBigImageTitleAndSubtitleComponent extends CardHeaderLogoTitleSubtitleComponent {}\r\n","<fd-card-header [class.hide-border]=\"parameters.HideBorder\">\r\n <fd-card-main-header>\r\n @if (hasIcon) {\r\n <fd-avatar\r\n [circle]=\"avatarCircle\"\r\n size=\"s\"\r\n ariaLabel=\"avatar image\"\r\n title=\"avatar image\"\r\n [glyph]=\"fontIcon\"\r\n [image]=\"isIconImage ? (imageIcon?.FileId | picFieldSrc: 'GetPictureFromFileInfo':null) : ''\"\r\n ></fd-avatar>\r\n }\r\n <div fd-card-title [style.justify-content]=\"'end'\" style=\"display:flex\">\r\n <div style=\"display: flex; justify-content: start; flex-grow: 1\">\r\n @if (isCheckList) {\r\n <fd-checkbox\r\n [name]=\"mo.$Caption\"\r\n [ngModel]=\"isChecked\"\r\n (ngModelChange)=\"events.emit({ title: 'rowCheck' })\"\r\n ></fd-checkbox>\r\n } @if (!setting.ContextMenuInFooter && contextMenuItems && contextMenuItems.length > 0) {\r\n <div\r\n ulvContextMenu\r\n [allColumns]=\"allColumns\"\r\n [menuItems]=\"contextMenuItems\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [mo]=\"mo\"\r\n [styleIndex]=\"styleIndex\"\r\n (commandClick)=\"events.emit({ title: 'ulvCommand' })\"\r\n ></div>\r\n }\r\n <h2\r\n #hEl\r\n class=\"fd-card__title\"\r\n [hostEl]=\"hEl\"\r\n [dbName]=\"titleDbName\"\r\n [styleIndex]=\"styleIndex\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n >\r\n {{ title }}\r\n </h2>\r\n </div>\r\n @if (canView && !hideOpenIcon) {\r\n <button\r\n fd-button\r\n (click)=\"events.emit({ title: 'rowClick' })\"\r\n [glyph]=\"navigationArrow\"\r\n fdType=\"transparent\"\r\n ></button>\r\n }\r\n </div>\r\n\r\n <h3\r\n fd-card-subtitle\r\n #hEl\r\n [hostEl]=\"hEl\"\r\n [dbName]=\"subtitleDbName\"\r\n [styleIndex]=\"styleIndex\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n >\r\n {{ subtitle }}\r\n </h3>\r\n </fd-card-main-header>\r\n</fd-card-header>\r\n<div></div>\r\n","import {\r\n Component,\r\n OnInit,\r\n ChangeDetectionStrategy,\r\n ViewChild,\r\n ViewChildren,\r\n QueryList,\r\n ElementRef\r\n} from '@angular/core';\r\nimport { BarsaApi, FormPropsBaseComponent, MetaobjectDataModel } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-service-desk-form-layout-content-mojavez',\r\n templateUrl: './service-desk-form-layout-content-mojavez.component.html',\r\n styleUrls: ['./service-desk-form-layout-content-mojavez.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class ServiceDeskFormLayoutContentMojavezComponent extends FormPropsBaseComponent implements OnInit {\r\n @ViewChild('tabContainerRef') tabContainerRef: ElementRef;\r\n @ViewChildren('tablesRef', { read: ElementRef }) tablesRef: QueryList<ElementRef>;\r\n\r\n fieldsCaption: FieldsInfo[] = [];\r\n Mojavez: MetaobjectDataModel[];\r\n\r\n firstArray: FieldsInfo[];\r\n secondArray: FieldsInfo[];\r\n isOdd: boolean;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n\r\n let fieldDict: string[] = [];\r\n if (this.fieldDict) {\r\n fieldDict = Object.keys(this.fieldDict);\r\n }\r\n if (fieldDict) {\r\n fieldDict.forEach((key) => {\r\n if (this.fieldDict) {\r\n const fieldName = this.fieldDict[key];\r\n const item: FieldsInfo = { caption: key, fieldName, value: '' };\r\n const customFiledUi = this._controlUiPipe.transform(key, this.layout94);\r\n item.value = this.mo[fieldName];\r\n const originalXtype = customFiledUi?.FieldUi?.originalXtype;\r\n if (key === 'آدرس سایت') {\r\n item.type = 'Link';\r\n }\r\n if (this.mo[fieldName + '$Caption']) {\r\n item.type = 'Caption';\r\n item.value = this.mo[fieldName + '$Caption'];\r\n } else if (typeof item.value === 'object') {\r\n if (item.value.$Type === 'Common.MetaObjectListWeb') {\r\n item.type = 'MoList';\r\n } else if (item.value.Ext) {\r\n item.type = 'Image';\r\n } else if (originalXtype === 'Ui.FileLinearListBox') {\r\n item.type = 'Files';\r\n } else {\r\n item.type = 'Relation';\r\n }\r\n if (key === 'خدمات قابل انجام') {\r\n item.type = 'MoList2';\r\n }\r\n }\r\n this.fieldsCaption.push(item);\r\n }\r\n });\r\n }\r\n\r\n this.fieldsCaption = this.fieldsCaption.filter(\r\n (c) => c.caption !== 'عنوان مجوز' && c.caption !== 'نقش اشخاص در مجوز' && c.caption !== 'فرزند'\r\n );\r\n const controlCount = this.fieldsCaption.length;\r\n const controlCountMiddle = Math.ceil(this.fieldsCaption.length / 2);\r\n\r\n this.firstArray = this.fieldsCaption.slice(0, controlCountMiddle);\r\n this.secondArray = this.fieldsCaption.slice(controlCountMiddle, controlCount);\r\n\r\n this.isOdd = controlCount % 2 === 0;\r\n }\r\n ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n this.alignTablesTr();\r\n }\r\n onLink(item): void {\r\n if (item.F34) {\r\n window.open(item.F42);\r\n } else {\r\n BarsaApi.Bw.Msg.Info('سامانه ای تعریف نشده است');\r\n }\r\n }\r\n\r\n onDownload(item): void {\r\n BarsaApi.Common.File.DownloadFileId(item.Id);\r\n }\r\n private alignTablesTr(): void {\r\n setTimeout(() => {\r\n const tablesRef = this.tablesRef.toArray();\r\n const firstTableEl = tablesRef[0].nativeElement as HTMLElement;\r\n const secondTableEl = tablesRef[1].nativeElement as HTMLElement;\r\n\r\n const trFirstTable = firstTableEl.querySelectorAll('tr');\r\n const trSecondTable = secondTableEl.querySelectorAll('tr');\r\n\r\n trFirstTable.forEach((tr, index) => {\r\n if (index < trSecondTable.length) {\r\n const trSecond = trSecondTable[index];\r\n if (tr.offsetHeight > trSecond.offsetHeight) {\r\n trSecond.style.height = `${tr.offsetHeight}px`;\r\n } else {\r\n tr.style.height = `${trSecond.offsetHeight}px`;\r\n }\r\n }\r\n });\r\n }, 0);\r\n }\r\n}\r\ninterface FieldsInfo {\r\n type?: string;\r\n caption: string;\r\n fieldName: string;\r\n value: any;\r\n}\r\n","<fd-layout-grid>\r\n <div [fdLayoutGridCol]=\"6\" style=\"padding: 0\">\r\n <ng-container *ngTemplateOutlet=\"renderTable; context: { $implicit: firstArray, classNames: 'firstTable' }\">\r\n </ng-container>\r\n </div>\r\n <div [fdLayoutGridCol]=\"6\" style=\"padding: 0\">\r\n <ng-container *ngTemplateOutlet=\"renderTable; context: { $implicit: secondArray, classNames: 'secondTable' }\">\r\n </ng-container>\r\n </div>\r\n</fd-layout-grid>\r\n\r\n<ng-template #renderTable let-array let-classNames=\"classNames\">\r\n <table fd-table #tablesRef class=\"table-grid\" [ngClass]=\"classNames\">\r\n @for (controlItem of array; track controlItem) {\r\n <tr fd-table-row>\r\n <th fd-tabel-cell>{{ controlItem.caption }}</th>\r\n <td fd-tabel-cell>\r\n @switch (controlItem.type) { @case ('Link') {\r\n <a target=\"_blank\" [href]=\"controlItem.value\">{{ controlItem.value }}</a>\r\n } @case ('Relation') {\r\n {{ controlItem.value.$Caption }}\r\n } @case ('MoList') { @for (item of controlItem.value.MoDataList; track item) {\r\n <div class=\"links\">\r\n <fd-icon class=\"fd-icon-link\" [glyph]=\"'pdf-attachment'\"></fd-icon>\r\n <a (click)=\"onDownload(item)\">{{ item.$Caption }}</a>\r\n </div>\r\n } } @case ('MoList2') { @for (item of controlItem.value.MoDataList; track item) {\r\n <div class=\"links\">\r\n <fd-icon class=\"fd-icon-link\" [glyph]=\"'chain-link'\"></fd-icon>\r\n <a (click)=\"onLink(item)\">{{ item.$Caption }}</a>\r\n </div>\r\n } } @case ('Caption') {\r\n {{ controlItem.value }}\r\n } @case ('Image') {\r\n {{ controlItem.value.Ext }}\r\n } @case ('Files') { @for (item of controlItem.value.Files; track item) {\r\n <div class=\"links\">\r\n <fd-icon class=\"fd-icon-link\" [glyph]=\"'pdf-attachment'\"></fd-icon>\r\n <a (click)=\"onDownload(item)\">{{ item.FileName }}</a>\r\n </div>\r\n } } @default {\r\n {{ controlItem.value }}\r\n } }\r\n </td>\r\n </tr>\r\n }\r\n </table>\r\n</ng-template>\r\n","import { Component, OnInit, ChangeDetectionStrategy, TemplateRef, inject } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { ButtonType, DialogConfig, DialogService } from '@fundamental-ngx/core';\r\nimport { BarsaApi, BaseFormToolbaritemPropsComponent } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-ulv-context-menu-item-show-file-content',\r\n templateUrl: './ulv-context-menu-item-show-file-content.component.html',\r\n styleUrls: ['./ulv-context-menu-item-show-file-content.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class UlvContextMenuItemShowFileContentComponent extends BaseFormToolbaritemPropsComponent implements OnInit {\r\n fileType: string;\r\n file: any;\r\n videoUrl: string;\r\n text: string;\r\n disabled = false;\r\n compact: boolean;\r\n icon: string;\r\n iconOnly: boolean;\r\n fdType: ButtonType;\r\n private _dialogService = inject(DialogService);\r\n private _sanitize = inject(DomSanitizer);\r\n /** Inserted by Angular inject() migration for backwards compatibility */\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n const mo = this.mo;\r\n this.text = this.parameters.ButtonText;\r\n this.fdType = this.parameters.FdType$Caption;\r\n this.compact = this.parameters.Compact;\r\n this.icon = this.parameters.Icon;\r\n this.iconOnly = this.parameters.IconOnly;\r\n this.fileType = this._reportValuePipe.transform(this.parameters.FieldType, mo, this.allColumns); // نوع\r\n this.file = this._reportValuePipe.transform(this.parameters.FieldFile, mo, this.allColumns);\r\n this.videoUrl = this._reportValuePipe.transform(this.parameters.FieldVideoUrl, mo, this.allColumns);\r\n if (this.fileType === '1' && this.file.Files?.length === 0) {\r\n this.disabled = true;\r\n }\r\n\r\n if (this.fileType === '2' && this.videoUrl) {\r\n this.disabled = true;\r\n }\r\n }\r\n openDialog(dialog: TemplateRef<any>): void {\r\n let finalUrl;\r\n if (this.fileType === '1') {\r\n finalUrl = this._sanitize.bypassSecurityTrustResourceUrl(\r\n BarsaApi.Common.File.CreateAttachmentUrl(this.file.Files[0].Id, true)\r\n );\r\n }\r\n if (this.fileType === '2') {\r\n finalUrl = this._sanitize.bypassSecurityTrustResourceUrl(this.videoUrl);\r\n }\r\n const isMobile = this.deviceName === 'mobile';\r\n const x: DialogConfig = {\r\n data: {\r\n url: finalUrl,\r\n isVideo: this.fileType === '2',\r\n responsivePadding: true,\r\n mobile: isMobile\r\n }\r\n };\r\n\r\n if (!isMobile) {\r\n x.width = '60%';\r\n x.height = '56%';\r\n }\r\n this._dialogService.open(dialog, x);\r\n }\r\n}\r\n","<button\r\n fd-button\r\n [compact]=\"compact\"\r\n [label]=\"iconOnly ? '' : (text | bbbTranslate)\"\r\n [fdType]=\"fdType\"\r\n [glyph]=\"icon\"\r\n [compact]=\"compact\"\r\n (click)=\"openDialog(pdfDialog)\"\r\n></button>\r\n\r\n<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #pdfDialog>\r\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\" #dialogTplRef>\r\n <fd-dialog-header>\r\n <ng-template fdkTemplate=\"header\">\r\n <div fd-bar-left></div>\r\n <div fd-bar-right>\r\n @if (dialogConfig.height !== '100vh') {\r\n <fd-button-bar\r\n ariaLabel=\"fullscreen\"\r\n fullscreenDialog\r\n [glyph]=\"(dialog.fullScreen | async) === true ? 'exitfullscreen' : 'resize'\"\r\n (click)=\"dialog.toggleFullScreen()\"\r\n ></fd-button-bar>\r\n }\r\n <fd-button-bar ariaLabel=\"close\" glyph=\"decline\" (click)=\"dialog.dismiss()\"></fd-button-bar>\r\n </div>\r\n </ng-template>\r\n </fd-dialog-header>\r\n\r\n <fd-dialog-body class=\"ulvmenu-file-content\">\r\n @if (!dialogConfig.data.isVideo && dialogConfig.data.url) {\r\n <object [data]=\"dialogConfig.data.url\" type=\"application/pdf\" width=\"100%\" height=\"98%\"></object>\r\n } @if (dialogConfig.data.isVideo) {\r\n <video controls style=\"width: 100%; height: 98%\">\r\n <source [src]=\"dialogConfig.data.url\" type=\"video/mp4\" />\r\n Your browser does not support HTML video.\r\n </video>\r\n }\r\n </fd-dialog-body>\r\n </fd-dialog>\r\n</ng-template>\r\n","import { Component, ChangeDetectionStrategy, AfterViewInit, OnDestroy } from '@angular/core';\r\nimport { FieldBaseComponent } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-resend-verification-code',\r\n templateUrl: './resend-verification-code.component.html',\r\n styleUrls: ['./resend-verification-code.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class ResendVerificationCodeComponent extends FieldBaseComponent implements AfterViewInit, OnDestroy {\r\n caption = '00:00';\r\n timer = 1;\r\n minutes = '0';\r\n seconds = '0';\r\n interval$: any | null;\r\n\r\n _baseTimeLeft = 120;\r\n _timeLeftCounter = 0;\r\n ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n this._timeLeftCounter = this._baseTimeLeft;\r\n this.caption = `(${this.caption})`;\r\n this._startTimer();\r\n }\r\n ngOnDestroy(): void {\r\n super.ngOnDestroy();\r\n if (this.interval$) {\r\n clearInterval(this.interval$);\r\n }\r\n }\r\n onClick(): void {\r\n this.context.fireEvent('click', this.context);\r\n }\r\n onStartTimer(): void {\r\n this._startTimer();\r\n }\r\n\r\n private _startTimer(): void {\r\n this.interval$ = setInterval(() => {\r\n if (this._timeLeftCounter > 0) {\r\n this._timeLeftCounter--;\r\n\r\n this.minutes = Math.floor(this._timeLeftCounter / 60).toString();\r\n this.seconds = Math.round(this._timeLeftCounter % 60).toString();\r\n this.minutes = Number(this.minutes) < 10 ? '0' + this.minutes : this.minutes;\r\n this.seconds = Number(this.seconds) < 10 ? '0' + this.seconds : this.seconds;\r\n this.caption = `(${this.minutes}:${this.seconds})`;\r\n } else {\r\n this._timeLeftCounter = this._baseTimeLeft;\r\n this.caption = `${this.caption}`;\r\n if (this.interval$ != null) {\r\n clearInterval(this.interval$);\r\n this.interval$ = null;\r\n }\r\n }\r\n this._cdr.detectChanges();\r\n }, 1000);\r\n }\r\n}\r\n","<button\r\n (click)=\"onClick()\"\r\n fd-button\r\n [disabled]=\"interval$ === null ? null : true\"\r\n (click)=\"onStartTimer()\"\r\n [label]=\"interval$ === null ? ('ارسال مجدد' | bbbTranslate) : caption\"\r\n glyph=\"iphone\"\r\n></button>\r\n","import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\r\nimport { ButtonType } from '@fundamental-ngx/core';\r\nimport { UiCheckBoxComponent } from 'barsa-sap-ui';\r\n\r\n@Component({\r\n selector: 'bdc-checkbox-button',\r\n templateUrl: './checkbox-button.component.html',\r\n styleUrls: ['./checkbox-button.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class CheckboxButtonComponent extends UiCheckBoxComponent implements OnInit {\r\n fdType: ButtonType;\r\n trueIcon: string;\r\n falseIcon: string;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.trueIcon = this.parameters?.TrueIcon;\r\n this.fdType = this.parameters?.FdType$Caption;\r\n this.falseIcon = this.parameters?.FalseIcon;\r\n }\r\n onClick(): void {\r\n this._valueChanged(!this.value);\r\n }\r\n}\r\n","<button\r\n [disabled]=\"(disableOrReadonly$ | async)!!\"\r\n fd-button\r\n [glyph]=\"value ? trueIcon : falseIcon\"\r\n [fdType]=\"fdType\"\r\n (click)=\"onClick()\"\r\n></button>\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { BarcodeFormat } from '@zxing/library';\r\n\r\n@Pipe({\r\n name: 'barcodeFormat',\r\n standalone: false\r\n})\r\nexport class BarcodeFormatPipe implements PipeTransform {\r\n transform(value: number): string {\r\n let format = '';\r\n for (const enumMember of Object.keys(BarcodeFormat)) {\r\n const isValueProperty = parseInt(enumMember, 10) >= 0;\r\n if (isValueProperty && Number(enumMember) === value) {\r\n format = BarcodeFormat[enumMember];\r\n }\r\n }\r\n return format;\r\n }\r\n}\r\n","import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\r\nimport { TabPanelComponent } from '@fundamental-ngx/core';\r\nimport { ReportViewBaseComponent, UiReportViewBaseSetting } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-report-tab-view',\r\n templateUrl: './report-tab-view.component.html',\r\n styleUrls: ['./report-tab-view.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class ReportTabViewComponent extends ReportViewBaseComponent<UiReportViewBaseSetting> implements OnInit {\r\n fieldTitle: string;\r\n fieldIcon: string;\r\n fieldState: string;\r\n mode: string;\r\n arrowRight: string;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.arrowRight = this.rtl ? 'navigation-left-arrow' : 'navigation-right-arrow';\r\n this.fieldTitle = this.viewSetting.FieldTitle;\r\n this.fieldIcon = this.viewSetting.FieldIcon;\r\n this.fieldState = this.viewSetting.FieldState;\r\n this.mode = this.viewSetting.Mode$Caption;\r\n }\r\n onSelectedTabChange(e: TabPanelComponent): void {\r\n const index = this.moDataList.findIndex((c) => c.Id === e.id);\r\n const mo = this.moDataList[index];\r\n super.onRowCheck({ mo, index });\r\n }\r\n}\r\n","<fd-tab-list [expandOverflowText]=\"'More' | bbbTranslate\" (selectedTabChange)=\"onSelectedTabChange($event)\">\r\n @for (mo of moDataList; track mo) {\r\n <fd-tab [title]=\"mo.$Caption\" [id]=\"mo.Id\"> </fd-tab>\r\n }\r\n</fd-tab-list>\r\n","import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\r\nimport { ReportViewBaseComponent, UiReportViewBaseSetting } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-report-line-chart-view',\r\n templateUrl: './report-line-chart-view.component.html',\r\n styleUrls: ['./report-line-chart-view.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class ReportLineChartViewComponent extends ReportViewBaseComponent<UiReportViewBaseSetting> implements OnInit {}\r\n","<div\r\n beChartLineTime\r\n [moDataList]=\"moDataList\"\r\n [groupByField]=\"'SlaveAddress'\"\r\n [dateTimeField]=\"'DateTime'\"\r\n [valueField]=\"'Value'\"\r\n></div>\r\n","import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\r\n\r\nimport { CardHeaderLogoTitleSubtitleComponent } from '../card-header-logo-title-subtitle/card-header-logo-title-subtitle.component';\r\n\r\n@Component({\r\n selector: 'bdc-card-header-kpi',\r\n templateUrl: './card-header-kpi.component.html',\r\n styleUrls: ['./card-header-kpi.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class CardHeaderKpiComponent extends CardHeaderLogoTitleSubtitleComponent implements OnInit {\r\n kpiValue: string;\r\n kpiStatus: 'positive' | 'negative' | 'critical' | 'informative';\r\n kpiAnalyticalLabel: string;\r\n kpiAnalyticalContent: string;\r\n kpiAnalayticalSymbol: string;\r\n ngOnInit(): void {\r\n const parentField = this.parameters.InheritanceInfo?.ParentFieldName;\r\n if (parentField) {\r\n const val = this.parameters[parentField];\r\n if (val) {\r\n Object.keys(val).forEach((c) => {\r\n if (!c.startsWith('$') && c !== 'Id') {\r\n this.parameters[c] = val[c];\r\n }\r\n });\r\n }\r\n }\r\n super.ngOnInit();\r\n\r\n const parameters = this.parameters;\r\n if (parameters != null) {\r\n this.kpiValue = this._rval.transform(parameters.KpiValue, this.mo, this.allColumns, true);\r\n this.kpiStatus = this._rval.transform(parameters.KpiStatus, this.mo, this.allColumns, true);\r\n this.kpiAnalyticalLabel = parameters.KpiAnalyticalLabel;\r\n this.kpiAnalayticalSymbol = this._rval.transform(parameters.KpiAnalayticalSymbol, this.mo, this.allColumns);\r\n this.kpiAnalyticalContent = this._rval.transform(parameters.KpiAnalyticalContent, this.mo, this.allColumns);\r\n }\r\n }\r\n}\r\n","<fd-card-header>\r\n <fd-card-main-header>\r\n <div fd-card-title [style.justify-content]=\"'end'\">\r\n <div style=\"display: flex; justify-content: start; flex-grow: 1\">\r\n @if (isCheckList) {\r\n <fd-checkbox\r\n [name]=\"mo.$Caption\"\r\n [ngModel]=\"isChecked\"\r\n (ngModelChange)=\"events.emit({ title: 'rowCheck' })\"\r\n ></fd-checkbox>\r\n }\r\n <h2\r\n #hEl\r\n class=\"fd-card__title\"\r\n [hostEl]=\"hEl\"\r\n [dbName]=\"titleDbName\"\r\n [styleIndex]=\"styleIndex\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n >\r\n {{ title }}\r\n </h2>\r\n @if (!setting.ContextMenuInFooter && contextMenuItems && contextMenuItems.length > 0) {\r\n <div\r\n ulvContextMenu\r\n [allColumns]=\"allColumns\"\r\n [menuItems]=\"contextMenuItems\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [styleIndex]=\"styleIndex\"\r\n [mo]=\"mo\"\r\n (commandClick)=\"events.emit({ title: 'ulvCommand' })\"\r\n ></div>\r\n }\r\n </div>\r\n @if (canView) {\r\n <button\r\n fd-button\r\n (click)=\"events.emit({ title: 'rowClick' })\"\r\n [glyph]=\"navigationArrow\"\r\n fdType=\"transparent\"\r\n ></button>\r\n }\r\n </div>\r\n\r\n <fd-card-kpi-header>\r\n <strong fd-card-kpi-value [status]=\"kpiStatus\">{{ kpiValue }}</strong>\r\n <span\r\n fd-card-kpi-scale-icon\r\n [glyph]=\"kpiStatus === 'positive' ? 'up' : 'down'\"\r\n fd-object-status\r\n [status]=\"kpiStatus\"\r\n aria-label=\"up arrow\"\r\n title=\"up arrow\"\r\n ></span>\r\n <span fd-card-kpi-scale-text fd-object-status status=\"positive\">°C</span>\r\n\r\n <div fd-card-kpi-analytics>\r\n <label fd-card-kpi-analytics-label>{{ kpiAnalyticalLabel }}</label>\r\n <span fd-card-kpi-analytics-content>{{ kpiAnalyticalContent }}{{ kpiAnalayticalSymbol }}</span>\r\n </div>\r\n </fd-card-kpi-header>\r\n\r\n <h4 fd-card-second-subtitle>{{ subtitle }}</h4>\r\n </fd-card-main-header>\r\n</fd-card-header>\r\n","import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\r\nimport { BarsaApi, BaseItemContentPropsComponent, UiReportViewBaseSetting } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-card-content-line-chart',\r\n templateUrl: './card-content-line-chart.component.html',\r\n styleUrls: ['./card-content-line-chart.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class CardContentLineChartComponent\r\n extends BaseItemContentPropsComponent<UiReportViewBaseSetting>\r\n implements OnInit\r\n{\r\n chartOption: any;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n const parameters = this.parameters;\r\n const { MethodParametersFieldName, RunBlMethodName } = parameters;\r\n const methodParameters: any = [];\r\n MethodParametersFieldName.split(',').forEach((c) => {\r\n const value = this.mo[c];\r\n if (typeof value === 'object' && value.Id) {\r\n methodParameters.push(value.Id);\r\n } else {\r\n methodParameters.push(value);\r\n }\r\n });\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: methodParameters,\r\n Method: RunBlMethodName,\r\n SuccessFn: (chartOption: string) => {\r\n this.chartOption = JSON.parse(chartOption);\r\n this._cdr.detectChanges();\r\n },\r\n FailFn: () => {}\r\n });\r\n }\r\n}\r\n","@if (chartOption) {\r\n<div class=\"card-content\" #elemRef>\r\n <div beChartLineTime [chartOption]=\"chartOption\"></div>\r\n</div>\r\n}\r\n","import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\r\nimport { BarsaApi, FormPropsBaseComponent } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-form-chart-content',\r\n templateUrl: './form-chart-content.component.html',\r\n styleUrls: ['./form-chart-content.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class FormChartContentComponent extends FormPropsBaseComponent implements OnInit {\r\n chartOption: any;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n const settings = this.settings;\r\n const { MethodParametersFieldName, RunBlMethodName } = settings;\r\n const methodParameters: any = [];\r\n MethodParametersFieldName.split(',').forEach((c) => {\r\n const value = this.mo[c];\r\n if (typeof value === 'object' && value.Id) {\r\n methodParameters.push(value.Id);\r\n } else {\r\n methodParameters.push(value);\r\n }\r\n });\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: methodParameters,\r\n Method: RunBlMethodName,\r\n SuccessFn: (chartOption: string) => {\r\n this.chartOption = JSON.parse(chartOption);\r\n this._cdr.detectChanges();\r\n },\r\n FailFn: () => {}\r\n });\r\n }\r\n}\r\n","@if (chartOption) {\r\n<div beChartLineTime [chartOption]=\"chartOption\"></div>\r\n}\r\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\nimport { ReportViewBaseComponent, UiReportViewBaseSetting } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-table-view-vertical-columns',\r\n templateUrl: './table-view-vertical-columns.component.html',\r\n styleUrls: ['./table-view-vertical-columns.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class TableViewVerticalColumnsComponent extends ReportViewBaseComponent<UiReportViewBaseSetting> {}\r\n","@for (mo of moDataList | multipleGroupBy: groupby; track mo; let index = $index) { @if (mo.$Group) {\r\n<h3>{{ mo.$Group }}</h3>\r\n<ng-container *ngTemplateOutlet=\"tplTable; context: { $implicit: mo.$Children, index: index }\"></ng-container>\r\n} }\r\n<ng-template #tplTable let-children let-index=\"index\">\r\n <table fd-table [style.margin-top]=\"index > 0 ? '2rem' : 0\">\r\n <tbody fd-table-body>\r\n @for (column of columns; track column) {\r\n <tr fd-table-row>\r\n <th fd-table-cell>\r\n <strong>{{ column.Alias }}:</strong>\r\n </th>\r\n @for (mo of children; track mo; let index = $index) {\r\n <td\r\n fd-table-cell\r\n #tdEl\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [hostEl]=\"tdEl\"\r\n [styleIndex]=\"mo.$StyleIndex\"\r\n [dbName]=\"column.Name\"\r\n >\r\n <bsu-column-renderer\r\n [mo]=\"mo\"\r\n [column]=\"column\"\r\n [value]=\"column | columnValue: mo | bbbTranslate\"\r\n [icon]=\"column | columnIcon: mo\"\r\n [editMode]=\"false\"\r\n [isChecked]=\"false\"\r\n [isNewInlineMo]=\"false\"\r\n [index]=\"index\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [formLayoutShowLabel]=\"false\"\r\n [deviceSize]=\"deviceSize\"\r\n ></bsu-column-renderer>\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </tbody>\r\n </table>\r\n</ng-template>\r\n","import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\r\nimport { FieldBaseComponent } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-query-string-observable',\r\n templateUrl: './query-string-observable.component.html',\r\n styleUrls: ['./query-string-observable.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class QueryStringObservableComponent extends FieldBaseComponent implements OnInit {\r\n caption: string;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._activatedRoute.queryParams.subscribe((queryParams) => {\r\n const value = queryParams[this.Setting.ControlName];\r\n if (value) {\r\n this.value = value;\r\n this.valueChange.emit(this.value);\r\n }\r\n });\r\n }\r\n}\r\n","","import { Component, OnInit, ChangeDetectionStrategy, inject } from '@angular/core';\r\nimport { ActivatedRoute, Params, Router } from '@angular/router';\r\nimport { BarsaApi, BaseComponent, PortalService } from 'barsa-novin-ray-core';\r\nimport { takeUntil } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'bdc-query-string-form-observable',\r\n templateUrl: './query-string-form-observable.component.html',\r\n styleUrls: ['./query-string-form-observable.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class QueryStringFormObservableComponent extends BaseComponent implements OnInit {\r\n private _activatedRoute = inject(ActivatedRoute);\r\n private _router = inject(Router);\r\n private _portalService = inject(PortalService);\r\n\r\n /** Inserted by Angular inject() migration for backwards compatibility */\r\n \r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._portalService.navigationEnd$.pipe(takeUntil(this._onDestroy$)).subscribe((event) => {\r\n if (event?.url.endsWith('/query')) {\r\n this._router.navigate(['../']);\r\n }\r\n });\r\n const params: Params = this._activatedRoute.snapshot.queryParams;\r\n\r\n const strActionList = params['actionList'];\r\n if (strActionList) {\r\n const actionList: Array<ActionListModel> = JSON.parse(strActionList.replaceAll(\"'\", '\"'));\r\n if (actionList) {\r\n BarsaApi.Ul.WorkflowPanelCtrlr.RunWorkflowActionList(actionList, null);\r\n }\r\n }\r\n }\r\n}\r\ninterface ActionListModel {\r\n ActionType: string;\r\n ActivityRunId: string;\r\n MoId: string;\r\n OpenByWorkflow: string;\r\n TypeDefId: string;\r\n}\r\n","","import { Component, OnInit, ChangeDetectionStrategy, ViewContainerRef, ViewChild } from '@angular/core';\r\nimport { BaseItemContentPropsComponent, UiReportViewBaseSetting } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-g4b-details',\r\n templateUrl: './g4b-details.component.html',\r\n styleUrls: ['./g4b-details.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class G4bDetailsComponent extends BaseItemContentPropsComponent<UiReportViewBaseSetting> implements OnInit {\r\n @ViewChild('container', { static: true, read: ViewContainerRef }) _containerRef: ViewContainerRef;\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._containerRef.createEmbeddedView(this.setting.$detailsFormItems, {\r\n $implicit: this.setting.$detailsColumns,\r\n mo: this.mo,\r\n inlineEditMode: this.inlineEditMode,\r\n isNewInlineMo: this.isNewInlineMo,\r\n layout94: this.layout94$\r\n });\r\n }\r\n}\r\n","<div #container></div>\r\n<!-- <fd-info-label [label]=\"'وضعیت درخواست'\" [color]=\"'1'\" [title]=\"'وضعیت درخواست'\"></fd-info-label> -->\r\n<div fd-form-item class=\"status-wrapper\" style=\"width: 100%; padding-bottom: 1rem\" [attr.deviceSize]=\"deviceSize\">\r\n <label fd-form-label>وضعیت درخواست </label>\r\n <fd-micro-process-flow class=\"flow\">\r\n <fd-micro-process-flow-item [state]=\"'positive'\">\r\n <div class=\"flow-item\">\r\n <!-- <fd-micro-process-flow-icon\r\n fd-micro-process-flow-focusable-item\r\n [glyph]=\"'accept'\"\r\n ></fd-micro-process-flow-icon> -->\r\n <!-- <h4 fd-title class=\"fd-object-number--informative\">شروع درخواست</h4> -->\r\n <button\r\n style=\"pointer-events: none; border: none\"\r\n fd-button\r\n [fdType]=\"'positive'\"\r\n [label]=\"'شروع درخواست'\"\r\n [glyph]=\"'accept'\"\r\n ></button>\r\n </div>\r\n </fd-micro-process-flow-item>\r\n <fd-micro-process-flow-item>\r\n <div class=\"flow-item\">\r\n <button fd-button [fdType]=\"'standard'\" [label]=\"'تکمیل مدارک توسط متقاضی'\" [glyph]=\"''\"></button>\r\n </div>\r\n </fd-micro-process-flow-item>\r\n <fd-micro-process-flow-item>\r\n <div class=\"flow-item\">\r\n <!-- <fd-micro-process-flow-icon\r\n fd-micro-process-flow-focusable-item\r\n [glyph]=\"'less'\"\r\n ></fd-micro-process-flow-icon> -->\r\n <button\r\n [disabled]=\"true\"\r\n fd-button\r\n [fdType]=\"'transparent'\"\r\n [label]=\"'تایید مدارک توسط دستگاه مربوطه'\"\r\n [glyph]=\"''\"\r\n ></button>\r\n </div>\r\n </fd-micro-process-flow-item>\r\n <fd-micro-process-flow-item>\r\n <div class=\"flow-item\">\r\n <!-- <fd-micro-process-flow-icon\r\n fd-micro-process-flow-focusable-item\r\n [glyph]=\"'less'\"\r\n ></fd-micro-process-flow-icon> -->\r\n <button\r\n [disabled]=\"true\"\r\n fd-button\r\n [fdType]=\"'transparent'\"\r\n [label]=\"'تعیین وضعیت صدور مجوز'\"\r\n [glyph]=\"''\"\r\n ></button>\r\n </div>\r\n </fd-micro-process-flow-item>\r\n </fd-micro-process-flow>\r\n</div>\r\n","import { Component, OnInit, ChangeDetectionStrategy, SimpleChanges } from '@angular/core';\r\nimport { BaseItemContentPropsComponent, UiReportViewBaseSetting, MetaobjectDataModel } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-avatar',\r\n templateUrl: './avatar.component.html',\r\n styleUrls: ['./avatar.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class AvatarComponent extends BaseItemContentPropsComponent<UiReportViewBaseSetting> implements OnInit {\r\n pictureId: string;\r\n subtitle: string;\r\n status: number;\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._setProps(this.mo);\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { mo } = changes;\r\n if (mo && !mo.firstChange) {\r\n this._setProps(mo.currentValue);\r\n\r\n this._cdr.detectChanges();\r\n }\r\n }\r\n protected _setProps(_mo: MetaobjectDataModel): void {\r\n this.pictureId = this.mo[this.parameters.FieldName]?.FileId;\r\n\r\n this.status = this.mo[this.parameters.IsOnline]; \r\n }\r\n}\r\n","@if(mo){\r\n<fd-card>\r\n <fd-card-header>\r\n <fd-card-main-header>\r\n <fd-avatar\r\n [placeholder]=\"!mo[parameters?.FieldName]\"\r\n [size]=\"deviceSize === 'l' || deviceSize === 'xl' ? 's' : 'xs'\"\r\n [glyph]=\"parameters?.DefaultIcon || null\"\r\n [circle]=\"parameters?.Circle\"\r\n [placeHolder]=\"parameters?.DefaultIcon!!\"\r\n [image]=\"pictureId ? (pictureId | picFieldSrc: 'PictureFileInfo':mo.Id:column.FieldDefId) : null\"\r\n alterIcon=\"alt|content|backup|default-icon\"\r\n ></fd-avatar>\r\n <h2 fd-card-title nowraptext width=\"90%\">\r\n {{ !parameters?.Title ? '' : (parameters?.Title | val: mo:true | bbbTranslate) }}\r\n </h2>\r\n <h3 fd-card-subtitle nowraptext>\r\n {{ !parameters?.Subtitle ? '' : (parameters.Subtitle | val: mo:true | bbbTranslate) }}\r\n </h3>\r\n @if(status){\r\n <div\r\n class=\"tw-absolute tw-bottom-0 tw-right-0 tw-border-2 tw-border-default tw-size-4 tw-rounded-full\"\r\n [class.tw-bg-green-600]=\"status\"\r\n ></div>\r\n }\r\n </fd-card-main-header>\r\n </fd-card-header>\r\n</fd-card>\r\n}\r\n","import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\r\nimport { BaseItemContentPropsComponent, UiReportViewBaseSetting } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-g4b-estelam',\r\n templateUrl: './g4b-estelam.component.html',\r\n styleUrls: ['./g4b-estelam.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class G4bEstelamComponent extends BaseItemContentPropsComponent<UiReportViewBaseSetting> implements OnInit {\r\n natijeh = 1;\r\n options = ['رد استعلام', 'تایید استعلام', 'در انتظار پاسخ'];\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n }\r\n onClick(e): void {\r\n if (this.isChecked) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n }\r\n }\r\n}\r\n","<div fd-form-item class=\"textarea\">\r\n <label fd-form-label for=\"input-2\">پاسخ استعلام</label>\r\n <textarea fd-form-control style=\"height: 1.8rem\"></textarea>\r\n</div>\r\n\r\n<div fd-form-item>\r\n <label fd-form-label for=\"input-2\">وضعیت</label>\r\n <fd-segmented-button [(ngModel)]=\"natijeh\" (click)=\"onClick($event)\">\r\n <button fd-button [label]=\"'در انتظار پاسخ'\" value=\"1\" [fdType]=\"'standard'\"></button>\r\n <button fd-button [label]=\"'تایید استعلام'\" value=\"2\" [fdType]=\"'positive'\"></button>\r\n <button fd-button [label]=\"'رد استعلام'\" value=\"3\" [fdType]=\"'negative'\"></button>\r\n </fd-segmented-button>\r\n</div>\r\n<!-- <div fd-form-item>\r\n <label fd-form-label for=\"input-2\">وضعیت</label>\r\n <fd-select placeholder=\"Select value\" stateMessage=\"Success message\" state=\"success\">\r\n <li fd-option *ngFor=\"let option of options\" [value]=\"option\">{{ option }}</li>\r\n </fd-select>\r\n</div> -->\r\n","import { Component, OnInit, ChangeDetectionStrategy, inject } from '@angular/core';\r\nimport { DateService, FieldBaseComponent, getDateService, LogService } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-timer-count-down',\r\n templateUrl: './timer-count-down.component.html',\r\n styleUrls: ['./timer-count-down.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: DateService,\r\n useFactory: getDateService,\r\n deps: [LogService]\r\n }\r\n ],\r\n standalone: false\r\n})\r\nexport class TimerCountDownComponent extends FieldBaseComponent implements OnInit {\r\n countDownText: string;\r\n _interval: any;\r\n protected override _dateService = inject(DateService, { self: true });\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._setCountDown(this.value);\r\n }\r\n ngOnDestroy(): void {\r\n super.ngOnDestroy();\r\n if (this._interval) {\r\n clearInterval(this._interval);\r\n }\r\n }\r\n protected _setValue(value: any): void {\r\n super._setValue(value);\r\n this._setCountDown(value);\r\n }\r\n protected _setCountDown(value: string | Date | any): void {\r\n const keysInValue = Object.keys(value);\r\n let _tempValue = value;\r\n if (keysInValue.length) {\r\n const findKeyDate = keysInValue.find((c) => !isNaN(Date.parse(value[c])));\r\n if (findKeyDate) {\r\n _tempValue = new Date(value[findKeyDate]);\r\n }\r\n }\r\n const exp = this._dateService.getMoment(_tempValue);\r\n if (this._interval) {\r\n clearInterval(this._interval);\r\n this._interval = null;\r\n }\r\n this._interval = setInterval((): void => {\r\n const now = this._dateService.getMoment(new Date());\r\n const diffDuration = this._dateService.duration(exp.diff(now));\r\n const month = diffDuration.months();\r\n const days = diffDuration.days();\r\n const hours = diffDuration.hours().toLocaleString('en-US', {\r\n minimumIntegerDigits: 2,\r\n useGrouping: false\r\n });\r\n const minutes = diffDuration.minutes().toLocaleString('en-US', {\r\n minimumIntegerDigits: 2,\r\n useGrouping: false\r\n });\r\n const seconds = diffDuration.seconds().toLocaleString('en-US', {\r\n minimumIntegerDigits: 2,\r\n useGrouping: false\r\n });\r\n this.countDownText = `\r\n ${this._getMonthText(month)} \r\n ${this._daysText(days)} \r\n ${this._getTimeText(hours, minutes, seconds)}`;\r\n this._cdr.detectChanges();\r\n }, 1000);\r\n }\r\n private _getMonthText(month): string {\r\n return month > 0 ? `${month} ماه` : '';\r\n }\r\n private _daysText(days): string {\r\n return days > 0 ? `${days} روز` : '';\r\n }\r\n private _getTimeText(hours, minutes, seconds): string {\r\n if (hours < 0 || minutes < 0 || seconds < 0) {\r\n if (this.parameters?.ExpireViewMode) {\r\n switch (this.parameters.ExpireViewMode) {\r\n case 1:\r\n return `00:00:00`;\r\n break;\r\n case 2:\r\n return `پایان یافته`;\r\n break;\r\n case 3:\r\n return '';\r\n break;\r\n case 4: // نمایش زمان گذشته\r\n return `${hours}:${minutes}:${seconds}`;\r\n break;\r\n }\r\n }\r\n return `00:00:00`;\r\n }\r\n return `${hours}:${minutes}:${seconds}`;\r\n }\r\n}\r\n","<span>{{ countDownText }}</span>\r\n","import { Component, ChangeDetectionStrategy, Input, Output, EventEmitter, SimpleChanges, OnInit } from '@angular/core';\r\nimport { BaseComponent } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-micro-proccess-flow',\r\n templateUrl: './micro-proccess-flow.component.html',\r\n styleUrls: ['./micro-proccess-flow.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class MicroProccessFlowComponent extends BaseComponent implements OnInit {\r\n @Input() items: Array<FlowItem>;\r\n @Input() selected: string;\r\n @Input() readonly: boolean;\r\n @Input() idIskey: boolean;\r\n @Output() selectedChange = new EventEmitter<FlowItem>();\r\n selectedIndex: number;\r\n maxWidth: number;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._setIndex(this.selected, this.items);\r\n this.maxWidth = (this._el.nativeElement as HTMLElement).offsetWidth;\r\n }\r\n onItemClick(item: FlowItem): void {\r\n this.selectedChange.emit(item);\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { selected, items } = changes;\r\n if (selected && !selected.firstChange) {\r\n this._setIndex(selected.currentValue, this.items);\r\n } else if (items && !items.firstChange) {\r\n this._setIndex(this.selected, items.currentValue);\r\n }\r\n }\r\n protected _setIndex(val: string, items: FlowItem[]): void {\r\n this.selectedIndex = items.findIndex((c) => (this.idIskey ? c.id === val : c.label === val));\r\n }\r\n}\r\nexport interface FlowItem {\r\n id: string;\r\n label: string;\r\n icon: string;\r\n}\r\n","<fd-micro-process-flow class=\"flow\" [style.max-width.px]=\"maxWidth\">\r\n @for (item of items; track item; let i = $index) {\r\n <fd-micro-process-flow-item [state]=\"i <= selectedIndex ? 'positive' : 'none'\">\r\n <div class=\"flow-item\">\r\n @if (selectedIndex > -1) {\r\n <button\r\n [class.reached]=\"i <= selectedIndex\"\r\n fd-button\r\n [fdType]=\"i <= selectedIndex ? 'positive' : i === selectedIndex + 1 ? 'standard' : 'transparent'\"\r\n [label]=\"item.label\"\r\n [glyph]=\"i <= selectedIndex ? 'accept' : null\"\r\n [disabled]=\"readonly || (i > selectedIndex + 1 && selectedIndex > -1)\"\r\n (click)=\"onItemClick(item)\"\r\n ></button>\r\n } @if (selectedIndex === -1) {\r\n <button\r\n [class.reached]=\"false\"\r\n fd-button\r\n [fdType]=\"'transparent'\"\r\n [label]=\"item.label\"\r\n [glyph]=\"null\"\r\n [disabled]=\"readonly\"\r\n (click)=\"onItemClick(item)\"\r\n ></button>\r\n }\r\n </div>\r\n </fd-micro-process-flow-item>\r\n }\r\n</fd-micro-process-flow>\r\n","import { PipeTransform, Pipe } from '@angular/core';\r\nimport { MetaobjectDataModel } from 'barsa-novin-ray-core';\r\nimport { FlowItem } from '../micro-proccess-flow/micro-proccess-flow.component';\r\n\r\n@Pipe({\r\n name: 'moListToFlowItem',\r\n standalone: false\r\n})\r\nexport class MoListToFlowItemPipe implements PipeTransform {\r\n constructor() {}\r\n transform(moList: MetaobjectDataModel[]): FlowItem[] {\r\n const flowItems: FlowItem[] = moList.map((item: MetaobjectDataModel) => ({\r\n icon: '',\r\n id: item.Id,\r\n label: item.$Caption\r\n }));\r\n return flowItems;\r\n }\r\n}\r\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\nimport { UiMoInfoUlvComboComponent } from 'barsa-sap-ui';\r\nimport { FlowItem } from '../micro-proccess-flow/micro-proccess-flow.component';\r\n\r\n@Component({\r\n selector: 'bdc-mo-info-micro-proccess-flow',\r\n templateUrl: './mo-info-micro-proccess-flow.component.html',\r\n styleUrls: ['./mo-info-micro-proccess-flow.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class MoInfoMicroProccessFlowComponent extends UiMoInfoUlvComboComponent {\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._triggerClick('Normal');\r\n }\r\n onSelectedChange(item: FlowItem): void {\r\n this._raiseValueChanged(item.label);\r\n }\r\n}\r\n","<bdc-micro-proccess-flow\r\n [items]=\"\r\n (loading$ | async) === true\r\n | moInfoUlvMoList\r\n : isDataLoadedFirstTime\r\n : ulvAdapter?.Setting?.Data?.MoDataList\r\n : UlvUi?.Setting?.Data?.MoDataList\r\n : ulvAdapter?.Setting?.Data?.Paging\r\n : UlvUi?.Setting?.Data?.Paging\r\n | moListToFlowItem\r\n \"\r\n [selected]=\"value\"\r\n (selectedChange)=\"onSelectedChange($event)\"\r\n></bdc-micro-proccess-flow>\r\n","import { PipeTransform, Pipe } from '@angular/core';\r\nimport { RowDataOption } from 'barsa-novin-ray-core';\r\nimport { FlowItem } from '../micro-proccess-flow/micro-proccess-flow.component';\r\n\r\n@Pipe({\r\n name: 'datasourceToFlowItem',\r\n standalone: false\r\n})\r\nexport class DataSourceToFlowItemPipe implements PipeTransform {\r\n constructor() {}\r\n transform(datasource: RowDataOption[]): FlowItem[] {\r\n const flowItems: FlowItem[] = datasource.map((item: RowDataOption) => ({\r\n icon: '',\r\n id: item.id,\r\n label: item.txt\r\n }));\r\n return flowItems;\r\n }\r\n}\r\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\nimport { UiSimpleComboComponent } from 'barsa-sap-ui';\r\nimport { FlowItem } from '../micro-proccess-flow/micro-proccess-flow.component';\r\n\r\n@Component({\r\n selector: 'bdc-enum-info-micro-proccess-flow',\r\n templateUrl: './enum-info-micro-proccess-flow.component.html',\r\n styleUrls: ['./enum-info-micro-proccess-flow.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class EnumInfoMicroProccessFlowComponent extends UiSimpleComboComponent {\r\n onSelectedChange(item: FlowItem): void {\r\n this._handleValueChange(item.id);\r\n }\r\n}\r\n","<bdc-micro-proccess-flow\r\n [items]=\"context.store.data[context.store.root] | datasourceToFlowItem\"\r\n [selected]=\"value\"\r\n [idIskey]=\"true\"\r\n [readonly]=\"(disableOrReadonly$ | async) === true\"\r\n (selectedChange)=\"onSelectedChange($event)\"\r\n></bdc-micro-proccess-flow>\r\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\nimport { UploadService } from 'barsa-novin-ray-core';\r\nimport { UiPicturesInfoComponent } from 'barsa-sap-ui';\r\n\r\n@Component({\r\n selector: 'bdc-ui-pictures-carousel',\r\n templateUrl: './ui-pictures-carousel.component.html',\r\n styleUrls: ['./ui-pictures-carousel.component.scss'],\r\n providers: [UploadService],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class UiPicturesCarouselComponent extends UiPicturesInfoComponent {}\r\n","@if (mediaData$ | async; as mediaData) {\r\n<fd-carousel carouselIndicatorsOrientation=\"top\" width=\"100%\">\r\n @for (media of mediaData; track media; let i = $index) {\r\n <fd-carousel-item>\r\n <img [imgLazy]=\"media.mediaUrl\" [src]=\"media.mediaUrl\" />\r\n </fd-carousel-item>\r\n }\r\n</fd-carousel>\r\n} @else {\r\n<div style=\"width: 100%; position: relative\">\r\n <bsu-mask></bsu-mask>\r\n</div>\r\n}\r\n","import { Component, ChangeDetectionStrategy, OnInit, HostListener } from '@angular/core';\r\nimport { FieldBaseComponent } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-ui-num-rate',\r\n templateUrl: './ui-num-rate.component.html',\r\n styleUrls: ['./ui-num-rate.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class UiNumRateComponent extends FieldBaseComponent implements OnInit {\r\n @HostListener('keydown', ['$event'])\r\n onKeyDown(e: KeyboardEvent): void {\r\n const validValues = ['1', '2', '3', '4', '5'];\r\n if (validValues.indexOf(e.key) > -1) {\r\n this._onRatingChanged(+e.key);\r\n }\r\n }\r\n onRatingChanged(val: number): void {\r\n this._onRatingChanged(val);\r\n }\r\n _setValue(val: any): void {\r\n if (typeof val === 'string') {\r\n if (isNaN(+val[0])) {\r\n val = val.substring(1, val.length);\r\n }\r\n if (isNaN(+val)) {\r\n return;\r\n }\r\n }\r\n super._setValue(val);\r\n }\r\n private _onRatingChanged(val: number): void {\r\n this.value = val;\r\n this.valueChange.emit(this.value);\r\n }\r\n}\r\n","<fd-rating-indicator\r\n [ariaLabel]=\"Setting.NullText || ''\"\r\n [size]=\"parameters?.SizeValue$Caption\"\r\n [value]=\"value\"\r\n [disabled]=\"(disableOrReadonly$ | async) === true\"\r\n [displayMode]=\"parameters?.DisplayMode\"\r\n [dynamicTextIndicator]=\"parameters?.TextIndicator\"\r\n (ratingChanged)=\"onRatingChanged($event)\"\r\n></fd-rating-indicator>\r\n","import { ChangeDetectionStrategy, Component, inject, OnInit, TemplateRef, ViewChild } from '@angular/core';\r\nimport { AudioRecordingService, BarsaApi, UploadService, VideoRecordingService } from 'barsa-novin-ray-core';\r\nimport { UiPdfViewerComponent } from 'barsa-sap-ui';\r\n\r\n@Component({\r\n selector: 'bdc-media-file-uploader',\r\n templateUrl: './media-file-uploader.component.html',\r\n styleUrls: ['./media-file-uploader.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [AudioRecordingService, VideoRecordingService, UploadService],\r\n standalone: false\r\n})\r\nexport class MediaFileUploaderComponent extends UiPdfViewerComponent implements OnInit {\r\n @ViewChild('videoElement') videoElement: any;\r\n @ViewChild('photoElement') photoElement: any;\r\n @ViewChild('container', { read: TemplateRef })\r\n dialogContainer: TemplateRef<any>;\r\n\r\n isPlaying = false;\r\n displayControls = true;\r\n isRecording = false;\r\n recordedTime;\r\n fileBlob;\r\n fileName;\r\n audioStream;\r\n videoStream: MediaStream;\r\n audioConf = { audio: true };\r\n videoConf = { video: { facingMode: 'user', width: 320 }, audio: true };\r\n glyph: string;\r\n recordType = 'audio';\r\n protected override _audioRecorder = inject(AudioRecordingService, { self: true });\r\n protected override _videoRecoder = inject(VideoRecordingService, { self: true });\r\n get video(): HTMLMediaElement {\r\n return this.videoElement?.nativeElement;\r\n }\r\n get fileInput(): HTMLInputElement {\r\n return this.photoElement?.nativeElement;\r\n }\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._videoRecoder.recordingFailed().subscribe(() => {\r\n this.isRecording = false;\r\n this._cdr.detectChanges();\r\n });\r\n\r\n this._videoRecoder.getRecordedTime().subscribe((time) => {\r\n this.recordedTime = time;\r\n this._cdr.detectChanges();\r\n });\r\n\r\n this._videoRecoder.getStream().subscribe((stream) => {\r\n this.videoStream = stream;\r\n this._cdr.detectChanges();\r\n });\r\n\r\n this._videoRecoder.getRecordedBlob().subscribe((data) => {\r\n this.fileBlob = data.blob;\r\n this.fileName = data.title;\r\n this.valueUrl = this._domSanitizer.bypassSecurityTrustUrl(data.url);\r\n this._cdr.detectChanges();\r\n });\r\n\r\n this._audioRecorder.recordingFailed().subscribe(() => {\r\n this.isRecording = false;\r\n this._cdr.detectChanges();\r\n });\r\n\r\n this._audioRecorder.getRecordedTime().subscribe((time) => {\r\n this.recordedTime = time;\r\n this._cdr.detectChanges();\r\n });\r\n\r\n this._audioRecorder.getRecordedBlob().subscribe((data) => {\r\n this.fileBlob = data.blob;\r\n this.fileName = data.title;\r\n this.valueUrl = this._domSanitizer.bypassSecurityTrustUrl(URL.createObjectURL(data.blob));\r\n this._cdr.detectChanges();\r\n });\r\n let glyph = '';\r\n switch (this.recordType) {\r\n case 'audio':\r\n glyph = 'attachment-audio';\r\n break;\r\n case 'video':\r\n glyph = 'attachment-video';\r\n break;\r\n default:\r\n glyph = 'attachment-photo';\r\n break;\r\n }\r\n this.glyph = glyph;\r\n this.fileName = this.value?.FileName;\r\n this.recordType = this.parameters?.MediaType$Caption || 'audio';\r\n }\r\n\r\n onDelete(): void {\r\n super.onDelete();\r\n this.onClearRecord();\r\n }\r\n onClearRecord(): void {\r\n this.abortVideoRecording();\r\n this.abortAudioRecording();\r\n this.fileBlob = null;\r\n this.valueUrl = null;\r\n this._cdr.detectChanges();\r\n }\r\n onToggleRecord(): void {\r\n if (this.recordType === 'audio') {\r\n if (this.isRecording) {\r\n this.stopAudioRecording();\r\n } else {\r\n this.startAudioRecording();\r\n }\r\n } else if (this.recordType === 'video') {\r\n this.video.hidden = false;\r\n if (this.isRecording) {\r\n this.stopVideoRecording();\r\n } else {\r\n this.startVideoRecording();\r\n }\r\n } else if (this.recordType === 'photo') {\r\n }\r\n }\r\n onTakePhoto(): void {\r\n if (this.fileInput?.files?.length) {\r\n const file = this.fileInput.files.item(0);\r\n if (file) {\r\n this.fileName = file.name;\r\n this._uploadFile([file]).subscribe();\r\n }\r\n }\r\n }\r\n onUpload(): void {\r\n const videoFile: File = new File([this.fileBlob], this.fileName);\r\n this._uploadFile([videoFile]).subscribe();\r\n }\r\n startVideoRecording(): void {\r\n if (!this.isRecording) {\r\n this.video.controls = false;\r\n this.isRecording = true;\r\n this._videoRecoder\r\n .startRecording(this.videoConf)\r\n .then((stream) => {\r\n // this.video.src = window.URL.createObjectURL(stream);\r\n this.video.srcObject = stream;\r\n this.video.play();\r\n })\r\n .catch(function (err) {\r\n console.log(err.name + ': ' + err.message);\r\n });\r\n }\r\n }\r\n\r\n abortVideoRecording(): void {\r\n if (this.isRecording && this.recordType === 'video') {\r\n this.isRecording = false;\r\n this._videoRecoder.abortRecording();\r\n }\r\n if (this.video) {\r\n const video = this.video;\r\n video.controls = false;\r\n video.hidden = true;\r\n }\r\n }\r\n\r\n stopVideoRecording(): void {\r\n if (this.isRecording && this.recordType === 'video') {\r\n this._videoRecoder.stopRecording();\r\n const video: any = this.video;\r\n video.srcObject = this.valueUrl;\r\n video.controls = true;\r\n this.isRecording = false;\r\n }\r\n }\r\n\r\n clearVideoRecordedData(): void {\r\n this.valueUrl = null;\r\n const video = this.video;\r\n video.srcObject = null;\r\n video.controls = false;\r\n this._cdr.detectChanges();\r\n }\r\n\r\n downloadVideoRecordedData(): void {\r\n this._downloadFile(this.fileBlob, 'video/mp4', this.fileName);\r\n }\r\n\r\n startAudioRecording(): void {\r\n if (!this.isRecording) {\r\n this.isRecording = true;\r\n this._audioRecorder.startRecording();\r\n }\r\n }\r\n\r\n abortAudioRecording(): void {\r\n if (this.isRecording && this.recordType === 'audio') {\r\n this.isRecording = false;\r\n this._audioRecorder.abortRecording();\r\n }\r\n }\r\n\r\n stopAudioRecording(): void {\r\n if (this.isRecording && this.recordType === 'audio') {\r\n this._audioRecorder.stopRecording();\r\n this.isRecording = false;\r\n }\r\n }\r\n\r\n clearAudioRecordedData(): void {\r\n this.valueUrl = null;\r\n }\r\n\r\n downloadAudioRecordedData(): void {\r\n this._downloadFile(this.fileBlob, 'audio/mp3', this.fileName);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.abortAudioRecording();\r\n }\r\n\r\n _downloadFile(data: any, type: string, filename: string): any {\r\n const blob = new Blob([data], { type });\r\n const url = window.URL.createObjectURL(blob);\r\n // this.video.srcObject = stream;\r\n // const url = data;\r\n const anchor = document.createElement('a');\r\n anchor.download = filename;\r\n anchor.href = url;\r\n document.body.appendChild(anchor);\r\n anchor.click();\r\n document.body.removeChild(anchor);\r\n }\r\n protected _downloadFileIdCompleted(response): void {\r\n super._downloadFileIdCompleted(response);\r\n if (this.valueUrl) {\r\n if (this.recordType === 'video') {\r\n this.video.controls = true;\r\n }\r\n }\r\n }\r\n protected _refresh(_?: boolean): void {\r\n if (BarsaApi.Ext.isEmpty(this.value)) {\r\n return;\r\n }\r\n const fileId = this.value.Id;\r\n this.DownloadFileId(fileId, true, '', null, false);\r\n }\r\n}\r\n","<fd-card class=\"upload\" [ngClass]=\"recordType\">\r\n <fd-card-content class=\"file-content\">\r\n <div [class.no-recording]=\"!isRecording && valueUrl\" [ngClass]=\"recordType\" class=\"media-wrapper\">\r\n <div class=\"icon\">\r\n @if (!value && !valueUrl && !isRecording) {\r\n <i style=\"left: 45%; position: absolute\" fd-nested-list-icon [glyph]=\"glyph\"></i>\r\n }\r\n </div>\r\n @if (recordType === 'video') {\r\n <video #videoElement [class.video-novalue]=\"!valueUrl\">\r\n @if (!isRecording && valueUrl) {\r\n <source [src]=\"valueUrl\" />\r\n } @if (!value && !valueUrl && !isRecording) {\r\n <i style=\"left: 45%; position: absolute\" fd-nested-list-icon [glyph]=\"glyph\"></i>\r\n }\r\n </video>\r\n } @if (!isRecording && valueUrl && recordType === 'audio') {\r\n <audio controls>\r\n <source [src]=\"valueUrl\" type=\"audio/mp3\" />\r\n </audio>\r\n } @if (recordType === 'photo') {\r\n <input\r\n #photoElement\r\n type=\"file\"\r\n accept=\"image/*\"\r\n id=\"file-input\"\r\n capture=\"environment\"\r\n (change)=\"onTakePhoto()\"\r\n />\r\n }\r\n </div>\r\n @if (isRecording || valueUrl) {\r\n <div class=\"media-info\">\r\n <div>\r\n {{ !isRecording ? '' : ('Recording' | bbbTranslate) }} <strong>{{ recordedTime }}</strong>\r\n </div>\r\n <div>{{ fileName }}</div>\r\n </div>\r\n } @if (uploadingState$ | async; as uploadingState) { @if (uploadingState.state === 'Uploading') {\r\n <div class=\"progress\">\r\n <div>\r\n <fd-progress-indicator\r\n state=\"informative\"\r\n [valueNow]=\"uploadingState?.progress\"\r\n ></fd-progress-indicator>\r\n </div>\r\n </div>\r\n } }\r\n <div class=\"btn-wrapper\">\r\n @if (!value && !valueUrl) {\r\n <button\r\n class=\"btn-record\"\r\n fd-button\r\n [glyph]=\"isRecording ? 'stop' : 'record'\"\r\n [fdType]=\"isRecording ? 'attention' : 'ghost'\"\r\n (click)=\"onToggleRecord()\"\r\n ></button>\r\n } @if (!value && valueUrl) {\r\n <div class=\"btn-toolbar\">\r\n <button fd-button [glyph]=\"'delete'\" fdType=\"negative\" (click)=\"onClearRecord()\"></button>\r\n <button fd-button [label]=\"'Upload' | bbbTranslate\" [glyph]=\"'upload'\" (click)=\"onUpload()\"></button>\r\n </div>\r\n } @if (value) {\r\n <div class=\"btn-toolbar\">\r\n @if (value) {\r\n <button fd-button [glyph]=\"'delete'\" fdType=\"negative\" (click)=\"onDelete()\"></button>\r\n } @if (value) {\r\n <button fd-button [glyph]=\"'download'\" fdType=\"standard\" (click)=\"onDownload()\"></button>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </fd-card-content>\r\n</fd-card>\r\n","import { ChangeDetectionStrategy, Component, OnChanges, OnInit, SimpleChanges } from '@angular/core';\r\nimport {\r\n BaseItemContentPropsComponent,\r\n createGridEditorFormPanel,\r\n UiReportViewBaseSetting,\r\n FormComponentParams,\r\n MetaobjectDataModel,\r\n BarsaApi\r\n} from 'barsa-novin-ray-core';\r\nimport { Subject, debounceTime, switchMap, takeUntil } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'bdc-subform-in-row-report',\r\n templateUrl: './subform-in-row-report.component.html',\r\n styleUrls: ['./subform-in-row-report.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class SubformInRowReportComponent\r\n extends BaseItemContentPropsComponent<UiReportViewBaseSetting>\r\n implements OnInit, OnChanges\r\n{\r\n formPanelCtrl: any;\r\n loaded: boolean;\r\n params: FormComponentParams;\r\n parameters: SubformInRowReportSetting;\r\n suggestionList$ = new Subject<void>();\r\n errorMessage: string;\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.suggestionList$\r\n .asObservable()\r\n .pipe(\r\n takeUntil(this._onDestroy$),\r\n debounceTime(500),\r\n switchMap(\r\n (_ulvParams) =>\r\n new Promise<void>((resolve, reject) => {\r\n formPanelCtrl.Save(false, (err) => {\r\n if (err) {\r\n reject(err);\r\n }\r\n this.UlvMainCtrlr.RefreshRowsByMosNoSelectionChange([formPanelCtrl.Mo], [], []);\r\n resolve();\r\n });\r\n })\r\n )\r\n )\r\n .subscribe();\r\n\r\n const userDefineViewId = this.parameters?.ViewTypeValue?.Id;\r\n this.params = {\r\n moId: this.mo.Id,\r\n typeDefId: this.typeDefId,\r\n isSimple: true,\r\n viewId: userDefineViewId\r\n };\r\n const formPanelCtrl = createGridEditorFormPanel(\r\n this.formSetting,\r\n { ...this.mo },\r\n this.typeDefId,\r\n null,\r\n false\r\n // BarsaApi.Common.Util.TryGetValue(this.context.Setting, 'Extra.Relation')\r\n );\r\n\r\n this.formPanelCtrl = formPanelCtrl;\r\n if (this.parameters?.AutoSaveOnChange) {\r\n formPanelCtrl.on({\r\n scope: this,\r\n ValueChange: () => {\r\n this.suggestionList$.next();\r\n }\r\n });\r\n }\r\n formPanelCtrl.FormRequestParams = {\r\n MoId: this.mo.Id,\r\n MoContext: { ViewId: userDefineViewId }\r\n };\r\n formPanelCtrl.LoadAndCreate(\r\n { MoId: this.mo.Id, TypeDefId: this.typeDefId, TypeViewId: userDefineViewId },\r\n false,\r\n true,\r\n (t, e, r) => {\r\n console.log(t, e, r);\r\n const error = BarsaApi.Common.Util.TryGetValue(t, 'Data.ResponseData.error');\r\n if (error) {\r\n this.loaded = false;\r\n this.errorMessage = error.userMessage;\r\n } else {\r\n this.loaded = true;\r\n }\r\n this._cdr.detectChanges();\r\n }\r\n );\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n super.ngOnChanges(changes);\r\n const { mo } = changes;\r\n if (mo && !mo.firstChange) {\r\n BarsaApi.Common.Merger.FastMerge(this.formPanelCtrl.Mo, mo.currentValue);\r\n this.formPanelCtrl.SetValue(this.formPanelCtrl.Mo);\r\n }\r\n }\r\n}\r\ninterface SubformInRowReportSetting extends MetaobjectDataModel {\r\n TypeDefValue: MetaobjectDataModel;\r\n ViewTypeValue: MetaobjectDataModel;\r\n AutoSaveOnChange: boolean;\r\n}\r\n","@if (loaded) {\r\n<bnrc-form [formPanelCtrl]=\"formPanelCtrl\" class=\"subform-in-row\" [params]=\"params\"></bnrc-form>\r\n} @if(errorMessage){\r\n<span\r\n fd-object-status\r\n status=\"negative\"\r\n [label]=\"errorMessage\"\r\n [title]=\"errorMessage\"\r\n [attr.aria-label]=\"errorMessage\"\r\n></span>\r\n}\r\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\nimport { FormPropsBaseComponent } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-master-detail-card-form',\r\n templateUrl: './master-detail-card-form.component.html',\r\n styleUrls: ['./master-detail-card-form.component.css'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class MasterDetailCardFormComponent extends FormPropsBaseComponent implements OnInit {\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n }\r\n}\r\n","<fd-card class=\"master-tab\">\r\n <bsu-ly-tab-page [config]=\"modernTabs[0]\"></bsu-ly-tab-page>\r\n</fd-card>\r\n<fd-card class=\"details-tab\">\r\n <bsu-ly-tab-page [config]=\"modernTabs[1]\"></bsu-ly-tab-page>\r\n</fd-card>\r\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\nimport { BarsaApi, MetaobjectDataModel, BaseFormToolbaritemPropsComponent } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-report-button-view',\r\n templateUrl: './report-button-view.component.html',\r\n styleUrls: ['./report-button-view.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class ReportButtonViewComponent extends BaseFormToolbaritemPropsComponent implements OnInit {\r\n loaded = false;\r\n moDataList: MetaobjectDataModel[];\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n }\r\n onMainActionClick(menu): void {\r\n if (this.parameters.MetaReport) {\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [this.parameters.MetaReport.Id],\r\n Method: '_PortalExecuteReport',\r\n SuccessFn: (moDataList: MetaobjectDataModel[]) => {\r\n this.moDataList = moDataList;\r\n menu.open();\r\n },\r\n FailFn: () => {}\r\n });\r\n }\r\n }\r\n onButtonClick(_btn: MetaobjectDataModel): void {}\r\n}\r\n","<!-- <fd-split-button\r\nfd-toolbar-item\r\n[fdType]=\"'transparent'\"\r\n[mainAction]=\"{\r\n keepMainAction: true,\r\n mainActionTitle: 'Choose' | bbbTranslate\r\n}\"\r\n>\r\n<fd-menu>\r\n <li fd-menu-item *ngFor=\"let mo of moDataList;let index=index\">\r\n <div fd-menu-interactive (click)=\"onRowCheck({mo,index})\">\r\n <span fd-menu-title>\r\n <fd-icon [glyph]=\"viewSetting.Icon | rval: mo:allColumns:true \"> </fd-icon>\r\n </span>\r\n </div>\r\n </li>\r\n</fd-menu>\r\n</fd-split-button> -->\r\n\r\n<fd-split-button\r\n fd-toolbar-item\r\n [mainAction]=\"{ mainActionTitle: parameters.MainActionTitle, keepMainAction: true }\"\r\n [fdType]=\"parameters.FdType$Caption\"\r\n (click)=\"onMainActionClick(menu)\"\r\n>\r\n <fd-menu #menu>\r\n @for (mo of moDataList; track mo; let index = $index) {\r\n <li fd-menu-item (click)=\"onButtonClick(mo)\">\r\n <div fd-menu-interactive>\r\n <fd-menu-addon position=\"before\"> </fd-menu-addon>\r\n <span fd-menu-title>{{ mo.$Caption | bbbTranslate }}</span>\r\n </div>\r\n </li>\r\n }\r\n </fd-menu>\r\n</fd-split-button>\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n Output,\r\n SimpleChanges,\r\n inject\r\n} from '@angular/core';\r\nimport {\r\n AbbrevationDeviceSize,\r\n AudioMimeType,\r\n BaseComponent,\r\n FileAttachmentInfo,\r\n ImageMimeType,\r\n PreventDefaulEvent,\r\n VideoMimeType,\r\n AllFilesMimeType,\r\n PictureFieldSourcePipe,\r\n isImage,\r\n getIcon,\r\n IUploadingState\r\n} from 'barsa-novin-ray-core';\r\nimport { DocumentItem } from '../models';\r\n\r\n@Component({\r\n selector: 'bdc-barsa-document-list-item',\r\n templateUrl: './barsa-document-list-item.component.html',\r\n styleUrls: ['./barsa-document-list-item.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class BarsaDocumentListItemComponent extends BaseComponent implements OnChanges {\r\n @Input() documentItem: DocumentItem;\r\n\r\n @Input() deviceSize: AbbrevationDeviceSize;\r\n @Input() files: FileAttachmentInfo[];\r\n @Input() accepted: boolean;\r\n @Input() rejectedReason: string;\r\n @Input() readonly: boolean;\r\n @Input() status: number;\r\n @Input() uploadingState: IUploadingState;\r\n\r\n @Output() statusChanged = new EventEmitter<{ value: number; rejectedText: string }>();\r\n @Output() rejectTextChange = new EventEmitter<string>();\r\n @Output() fileSelectionChange = new EventEmitter<File[]>();\r\n @Output() removeFile = new EventEmitter<FileAttachmentInfo>();\r\n @Output() fullscreen = new EventEmitter<null | FileAttachmentInfo>();\r\n @Output() download = new EventEmitter<FileAttachmentInfo>();\r\n @Output() downloadAll = new EventEmitter<void>();\r\n\r\n hasFiles = false;\r\n firstImageUrl: any;\r\n private _cdr = inject(ChangeDetectorRef);\r\n private _picFieldSrc = inject(PictureFieldSourcePipe);\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n const documentItem = this.documentItem;\r\n documentItem.$ValidExtensions = ` \r\n ${documentItem.SupportImage ? ImageMimeType : ''},\r\n ${documentItem.SupportAudio ? AudioMimeType : ''},\r\n ${documentItem.SupportVideo ? VideoMimeType : ''},\r\n ${documentItem.SupportFile ? AllFilesMimeType : ''}\r\n `;\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n super.ngOnChanges(changes);\r\n const { files } = changes;\r\n files && Array.isArray(files.currentValue) && this._setFirstImage(files.currentValue);\r\n this._detectChanges();\r\n }\r\n onReject(e: number): void {\r\n this.statusChanged.emit({ value: e, rejectedText: e === 2 ? '' : this.rejectedReason });\r\n }\r\n onRejectedTextChange(e): void {\r\n this.rejectTextChange.emit(e.target.value);\r\n }\r\n onPreventClick(e): void {\r\n PreventDefaulEvent(e);\r\n }\r\n onFileSelection(files: File[]): void {\r\n this.fileSelectionChange.emit(files);\r\n }\r\n\r\n protected _setFirstImage(files: FileAttachmentInfo[]): void {\r\n files.length &&\r\n (this.firstImageUrl = isImage(files[0].Type)\r\n ? this._picFieldSrc.transform(files[0].Id, 'ID', null, '', 120, 120)\r\n : getIcon(files[0].Type));\r\n }\r\n protected _detectChanges(): void {\r\n this._cdr.detectChanges();\r\n }\r\n}\r\n","<!-- <li fd-list-item style=\"padding: 0.5rem 1rem\">\r\n<span fd-list-thumbnail>\r\n <fd-icon *ngIf=\"documentItem.FontIcon\" [glyph]=\"documentItem.FontIcon\"></fd-icon>\r\n <fd-avatar\r\n *ngIf=\"documentItem.Avatar\"\r\n size=\"s\"\r\n [image]=\"documentItem.Avatar.FileId | picFieldSrc: 'ID':null:''\"\r\n [clickable]=\"true\"\r\n ></fd-avatar\r\n ></span>\r\n\r\n <div fd-list-content>\r\n <div fd-list-title>\r\n <div style=\"display: flex; column-gap: 3px\">\r\n <strong\r\n >{{ documentItem.Title }}\r\n <span fd-object-status status=\"negative\" *ngIf=\"documentItem.IsRequired\"\r\n >*({{ 'اجباری' | bbbTranslate }})\r\n </span>\r\n </strong>\r\n <div\r\n *ngIf=\"documentItem.$Accepted === false || documentItem.$Accepted === true\"\r\n style=\"display: flex; column-gap: 3px; flex-wrap: wrap; align-items: center\"\r\n >\r\n <span\r\n fd-object-status\r\n [status]=\"accepted ? 'positive' : 'negative'\"\r\n [label]=\"accepted ? acceptedText : rejectedText\"\r\n [clickable]=\"true\"\r\n [inverted]=\"true\"\r\n [aria-label]=\"accepted ? acceptedText : rejectedText\"\r\n ></span>\r\n <fd-popover title=\"Rejected document\" *ngIf=\"rejectedReason && !accepted\">\r\n <fd-popover-control>\r\n <span\r\n fd-object-status\r\n status=\"negative\"\r\n glyph=\"question-mark\"\r\n glyphAriaLabel=\"Negative\"\r\n title=\"Rejected document\"\r\n ></span>\r\n </fd-popover-control>\r\n <fd-popover-body>\r\n <fd-message-strip type=\"error\" [dismissible]=\"false\">\r\n {{ rejectedReason }}\r\n </fd-message-strip>\r\n </fd-popover-body>\r\n </fd-popover>\r\n </div>\r\n </div>\r\n </div>\r\n <div fd-list-byline [twoCol]=\"true\" [class.smallSize]=\"deviceSize === 's'\">\r\n <div fd-list-byline-left>\r\n <div style=\"display: flex; flex-direction: column; row-gap: 5px; flex-wrap: wrap\">\r\n <span>\r\n {{ documentItem.Description }}\r\n </span>\r\n <div style=\"display: flex; flex-wrap: wrap; column-gap: 3px; align-items: center\">\r\n <ng-container *ngIf=\"hasFiles\">\r\n <button fd-button [fdType]=\"'transparent'\" glyph=\"show\" (click)=\"onFullscreen()\"></button>\r\n <ng-container *ngFor=\"let file of files\">\r\n <fd-token\r\n [readOnly]=\"readonly\"\r\n *ngIf=\"!file.IsDeleted\"\r\n (onCloseClick)=\"onRemoveFile(file)\"\r\n >{{ file.FileName }}</fd-token\r\n >\r\n </ng-container>\r\n </ng-container>\r\n <button\r\n fd-button\r\n *ngIf=\"documentItem.MaxFileCount && !readonly\"\r\n glyph=\"attachment\"\r\n [label]=\"'AttachFile' | bbbTranslate\"\r\n (click)=\"!readonly && uploader.open()\"\r\n ></button>\r\n <fd-file-uploader\r\n #uploader\r\n [style.display]=\"'none'\"\r\n fd-toolbar-item\r\n [id]=\"documentItem.ItemKey\"\r\n [name]=\"'pictures_' + documentItem.ItemKey\"\r\n [accept]=\"documentItem.$ValidExtensions\"\r\n [fileLimit]=\"documentItem.MaxFileCount\"\r\n [multiple]=\"documentItem.MaxFileCount > 0\"\r\n (selectedFilesChanged)=\"onFileSelection($event)\"\r\n ></fd-file-uploader>\r\n </div>\r\n </div>\r\n </div>\r\n <div fd-list-byline-right *ngIf=\"documentItem.CanAccept\">\r\n <bdc-accept-reject\r\n [rejectedReason]=\"rejectedReason\"\r\n [positiveText]=\"acceptedText\"\r\n [negativeText]=\"rejectedText\"\r\n [deviceSize]=\"deviceSize\"\r\n [readonly]=\"readonly\"\r\n ></bdc-accept-reject>\r\n </div>\r\n </div>\r\n </div>\r\n </li> -->\r\n\r\n<tr fd-table-row>\r\n <td fd-table-cell>\r\n @if (documentItem.Avatar && !files.length) {\r\n <fd-avatar\r\n size=\"s\"\r\n [image]=\"documentItem.Avatar.FileId | picFieldSrc: 'ID':null:'':64:64\"\r\n [clickable]=\"true\"\r\n [transparent]=\"true\"\r\n ></fd-avatar>\r\n } @else { @if (files.length) {\r\n <fd-avatar [transparent]=\"true\" size=\"s\" [image]=\"firstImageUrl\" [clickable]=\"true\"></fd-avatar>\r\n } @if (!files.length) {\r\n <fd-avatar [transparent]=\"true\" size=\"s\" [glyph]=\"documentItem.FontIcon\" [clickable]=\"true\"></fd-avatar>\r\n } }\r\n </td>\r\n <td fd-table-cell style=\"min-width: 140px\">\r\n <p fd-table-text>\r\n <strong\r\n >{{ documentItem.Title }}\r\n @if (documentItem.IsRequired) {\r\n <span fd-object-status status=\"negative\">*({{ 'اجباری' | bbbTranslate }}) </span>\r\n }\r\n </strong>\r\n </p>\r\n <div>\r\n <span>\r\n {{ documentItem.Description }}\r\n </span>\r\n </div>\r\n </td>\r\n\r\n <td fd-table-cell>\r\n <ng-container>\r\n <!-- <ul fd-list>\r\n <li fd-list-item *ngFor=\"let file of files; let ind = index\">\r\n <span fd-list-title>\r\n {{ file.FileName }}\r\n </span>\r\n <span fd-list-secondary>\r\n <button ariaLabel=\"Remove\" title=\"Remove\" fd-button glyph=\"delete\" ></button>\r\n </span>\r\n </li>\r\n </ul> -->\r\n <div style=\"display: flex; align-items: flex-start; column-gap: 3px; row-gap: 3px; flex-direction: column\">\r\n @for (file of files; track file;let index=$index) {\r\n <!-- <span><fd-icon glyph=\"attachment\"></fd-icon><a fd-link>{{file.FileName}}</a></span> -->\r\n @if (!file.IsDeleted) {\r\n <bsu-file-viewer-popover\r\n [file]=\"file\"\r\n [index]=\"index\"\r\n [deviceSize]=\"deviceSize\"\r\n [canDownload]=\"true\"\r\n (remove)=\"removeFile.emit(file)\"\r\n ></bsu-file-viewer-popover>\r\n } }\r\n <!-- <button\r\n fd-button\r\n *ngIf=\"+documentItem.MaxFileCount && !readonly\"\r\n glyph=\"add\"\r\n (click)=\"!readonly && uploader.open()\"\r\n ></button> -->\r\n </div>\r\n <!-- <p *ngFor=\"let file of files\" fd-table-text>\r\n <fd-action-sheet >\r\n <fd-action-sheet-control>\r\n <button\r\n fd-button\r\n glyph=\"settings\"\r\n title=\"Open Action Sheet Mobile\"\r\n id=\"fd-action-sheet-mobile-control\"\r\n aria-haspopup=\"menu\"\r\n [label]=\"file.FileName ||''\"\r\n aria-controls=\"fd-action-sheet-mobile-body\"\r\n ></button>\r\n </fd-action-sheet-control>\r\n\r\n <fd-action-sheet-body\r\n actionSheetBodyId=\"fd-action-sheet-mobile-body\"\r\n ariaLabelledBy=\"fd-action-sheet-mobile-control\"\r\n >\r\n <li fd-action-sheet-item label=\"Search\" glyph=\"search\"></li>\r\n <li fd-action-sheet-item label=\"Download\" glyph=\"download\" ></li>\r\n <li fd-action-sheet-item label=\"Accept\" glyph=\"accept\" ></li>\r\n <li fd-action-sheet-item label=\"Reject\" glyph=\"cancel\" ></li>\r\n <li fd-action-sheet-item label=\"Decide Later\" [isCloseButton]=\"true\"></li>\r\n <li fd-action-sheet-item label=\"Cancel\" [negative]=\"true\" [isCloseButton]=\"true\"></li>\r\n </fd-action-sheet-body>\r\n </fd-action-sheet>\r\n </p> -->\r\n </ng-container>\r\n </td>\r\n <td fd-table-cell>\r\n <div class=\"status\" style=\"position: relative\">\r\n @if (+documentItem.MaxFileCount && !readonly) {\r\n <button\r\n fd-button\r\n glyph=\"attachment\"\r\n [label]=\"'AttachFile' | bbbTranslate\"\r\n [disabled]=\"uploadingState?.key === documentItem.Title && uploadingState?.uploading\"\r\n (click)=\"!readonly && uploader.open()\"\r\n >\r\n @if (uploadingState?.key === documentItem.Title && uploadingState?.uploading) {\r\n <bsu-mask [marginTop]=\"'3px'\"></bsu-mask>\r\n }\r\n </button>\r\n }\r\n <button\r\n fd-button\r\n glyph=\"show\"\r\n fullscreenFiles\r\n [files]=\"files\"\r\n [title]=\"documentItem.Title\"\r\n [fd-inline-help]=\"'مشاهده همه' | bbbTranslate\"\r\n [aria-describedby]=\"'مشاهده همه' | bbbTranslate\"\r\n [ariaLabel]=\"'مشاهده همه' | bbbTranslate\"\r\n fullscreenFiles\r\n [disabled]=\"!files.length\"\r\n [files]=\"files\"\r\n ></button>\r\n <button\r\n fd-button\r\n glyph=\"download\"\r\n [fd-inline-help]=\"'دانلود همه' | bbbTranslate\"\r\n [aria-describedby]=\"'دانلود همه' | bbbTranslate\"\r\n [ariaLabel]=\"'دانلود همه' | bbbTranslate\"\r\n downloadFiles\r\n [disabled]=\"!files.length\"\r\n [files]=\"files\"\r\n (click)=\"downloadAll.emit()\"\r\n ></button>\r\n </div>\r\n </td>\r\n <td fd-table-cell>\r\n <fd-action-sheet #actionSheet>\r\n <fd-action-sheet-control>\r\n <ng-container *ngTemplateOutlet=\"statusTpl\"></ng-container>\r\n </fd-action-sheet-control>\r\n <fd-action-sheet-body>\r\n <li\r\n fd-action-sheet-item\r\n [label]=\"'Accept' | bbbTranslate\"\r\n glyph=\"accept\"\r\n (click)=\"actionSheet.close(); onReject(2)\"\r\n ></li>\r\n <li\r\n fd-action-sheet-item\r\n [label]=\"'Reject' | bbbTranslate\"\r\n glyph=\"cancel\"\r\n (click)=\"actionSheet.close(); onReject(3)\"\r\n ></li>\r\n </fd-action-sheet-body>\r\n </fd-action-sheet>\r\n\r\n @if (status === 3) {\r\n <p fd-table-text maxWidth=\"400px\">\r\n @if (readonly && rejectedReason) {\r\n <span> {{ rejectedReason | bbbTranslate }} </span>\r\n } @if (!readonly) {\r\n <input\r\n fd-form-control\r\n [value]=\"rejectedReason | bbbTranslate\"\r\n [placeholder]=\"'دلایل رد مدرک' | bbbTranslate\"\r\n />\r\n }\r\n </p>\r\n }\r\n </td>\r\n</tr>\r\n\r\n<fd-file-uploader\r\n #uploader\r\n [style.display]=\"'none'\"\r\n fd-toolbar-item\r\n [id]=\"documentItem.ItemKey\"\r\n [name]=\"'pictures_' + documentItem.ItemKey\"\r\n [accept]=\"documentItem.$ValidExtensions\"\r\n [fileLimit]=\"documentItem.MaxFileCount\"\r\n [multiple]=\"documentItem.MaxFileCount > 0\"\r\n (selectedFilesChanged)=\"onFileSelection($event)\"\r\n></fd-file-uploader>\r\n<ng-template #statusTpl>\r\n <div class=\"status\">\r\n <button fd-button fdType=\"transparent\">\r\n @if (status === 1) {\r\n <span\r\n fd-object-status\r\n [label]=\"'[پیوست مدارک]' | bbbTranslate\"\r\n [aria-label]=\"'[پیوست مدارک]' | bbbTranslate\"\r\n ></span>\r\n } @if (status === 2) {\r\n <span\r\n fd-object-status\r\n glyph=\"message-success\"\r\n status=\"positive\"\r\n [label]=\"'Accepted' | bbbTranslate\"\r\n [label]=\"'Accepted' | bbbTranslate\"\r\n ></span>\r\n } @if (status === 3) {\r\n <span\r\n fd-object-status\r\n glyph=\"cancel\"\r\n status=\"negative\"\r\n [label]=\"'Rejected' | bbbTranslate\"\r\n [aria-label]=\"'Rejected' | bbbTranslate\"\r\n ></span>\r\n }\r\n </button>\r\n </div>\r\n</ng-template>\r\n","import { ChangeDetectionStrategy, Component, OnChanges, OnInit, SimpleChanges } from '@angular/core';\r\nimport {\r\n FilesValidationHelper,\r\n LinearListHelper,\r\n MetaobjectDataModel,\r\n ReportViewBaseComponent,\r\n ReportViewColumn,\r\n UploadService,\r\n FileAttachmentInfo,\r\n IUploadingState\r\n} from 'barsa-novin-ray-core';\r\nimport { Observable } from 'rxjs';\r\nimport { DocumentItem, DocumentsSetting } from '../models';\r\n\r\n@Component({\r\n selector: 'bdc-barsa-documents',\r\n templateUrl: './barsa-documents.component.html',\r\n styleUrls: ['./barsa-documents.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [UploadService],\r\n standalone: false\r\n})\r\nexport class BarsaDocumentsComponent extends ReportViewBaseComponent<DocumentsSetting> implements OnInit, OnChanges {\r\n keyColumn: ReportViewColumn;\r\n fileColumn: ReportViewColumn;\r\n statusColumn: ReportViewColumn;\r\n rejectedReasonColumn: ReportViewColumn;\r\n acceptedColumn: ReportViewColumn;\r\n selectedMo: MetaobjectDataModel;\r\n uploadingState$: Observable<IUploadingState>;\r\n\r\n protected _filesValidationHelper: FilesValidationHelper;\r\n protected _linearHelper: LinearListHelper;\r\n\r\n get documentItems(): Array<DocumentItem> {\r\n if (this.customFieldInfo) {\r\n return this.customFieldInfo.DocumentItems.MoDataList as Array<DocumentItem>;\r\n } else {\r\n return this.viewSetting.FilesSetting.DocumentItems.MoDataList as Array<DocumentItem>;\r\n }\r\n }\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n const { moDataList, viewSetting, allColumns } = this;\r\n\r\n this._initColumnField(allColumns, viewSetting);\r\n this._subscribeOnUploadFile(this.fileColumn);\r\n this._mapDocumentItem(moDataList, this.documentItems);\r\n this._checkMandatory();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n super.ngOnChanges(changes);\r\n const { moDataList } = changes;\r\n if (moDataList && !moDataList.firstChange) {\r\n if (moDataList && !moDataList.firstChange) {\r\n this._mapDocumentItem(moDataList.currentValue, this.documentItems);\r\n this.detectChanges();\r\n }\r\n }\r\n }\r\n ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n setTimeout(() => {\r\n for (let i = 0; i < this.documentItems.length - this.moDataList.length; i++) {\r\n this.createNewMo.emit();\r\n }\r\n });\r\n }\r\n onFileSelection(files: File[], documentItem: DocumentItem, mo: MetaobjectDataModel): void {\r\n this.selectedMo = mo;\r\n this._uploadFile(files, documentItem);\r\n }\r\n onRemoveFile(file: FileAttachmentInfo, mo: MetaobjectDataModel): void {\r\n const fileDbName = this.fileColumn.Name;\r\n let files = mo[fileDbName].Files;\r\n if (file.IsNew) {\r\n files = files.filter((c) => c.Id !== file.Id);\r\n } else {\r\n const existFile = files.find((c) => c.Id === file.Id);\r\n existFile.IsDeleted = true;\r\n }\r\n mo[fileDbName].Files = [...files];\r\n this._updateMo(mo);\r\n }\r\n onStatusChanged(e: { value: number; rejectedText: string }, mo: MetaobjectDataModel): void {\r\n mo[this.statusColumn.Name] = e.value;\r\n mo[this.rejectedReasonColumn.Name] = e.rejectedText;\r\n this._updateMo(mo);\r\n }\r\n onRejectedTextChange(text: string, mo: MetaobjectDataModel): void {\r\n mo[this.rejectedReasonColumn.Name] = text;\r\n this._updateMo(mo);\r\n }\r\n _checkMandatory(): void {\r\n const moDataList = this.moDataList;\r\n const items = this.documentItems.filter((c) => c.IsRequired);\r\n let mandatory = items.length > 0;\r\n const mandatory2 = items\r\n .map((item) => moDataList.find((c) => c[this.keyColumn.Name] === item.ItemKey))\r\n .filter((item) => item)\r\n .some((mo) => mo[this.fileColumn.Name].Files.filter((c) => !c.IsDeleted).length === 0);\r\n mandatory = mandatory && mandatory2;\r\n this.mandatory.emit(mandatory);\r\n }\r\n _mapDocumentItem(moDataList: Array<MetaobjectDataModel>, documentItems: Array<DocumentItem>): void {\r\n const keyName = this.keyColumn.Name;\r\n moDataList.forEach((mo, _index) => {\r\n let documentItem = documentItems.find((c) => c.ItemKey === mo[keyName]); // find setting that matches with mo by itemKey\r\n if (documentItem) {\r\n mo.$documentItem = documentItem;\r\n } else {\r\n documentItem = documentItems.find(\r\n (item) => moDataList.map((c) => c[keyName]).indexOf(item.ItemKey) < 0\r\n ); // find a setting has not have $RelatedMo yet\r\n if (documentItem) {\r\n mo[keyName] = documentItem.ItemKey;\r\n mo.$documentItem = documentItem;\r\n this.updateMo.emit(mo);\r\n }\r\n }\r\n });\r\n }\r\n protected _initColumnField(allColumns: ReportViewColumn[], viewSetting: DocumentsSetting): void {\r\n const keyColumn = this._findColumnByDbName.transform(allColumns, viewSetting.ItemKeyField);\r\n const fileColumn = this._findColumnByDbName.transform(allColumns, viewSetting.FileField);\r\n const acceptedColumn = this._findColumnByDbName.transform(allColumns, viewSetting.AcceptedField);\r\n const rejectedReasonColumn = this._findColumnByDbName.transform(allColumns, viewSetting.RejectedReasonField);\r\n const statusColumn = this._findColumnByDbName.transform(allColumns, viewSetting.StatusField);\r\n !keyColumn && this._columnNotExistsInReport(viewSetting.ItemKeyField);\r\n !fileColumn && this._columnNotExistsInReport(viewSetting.FileField);\r\n !rejectedReasonColumn && this._columnNotExistsInReport(viewSetting.RejectedReasonField);\r\n !acceptedColumn && this._columnNotExistsInReport(viewSetting.AcceptedField);\r\n !statusColumn && this._columnNotExistsInReport(viewSetting.StatusField);\r\n\r\n keyColumn && (this.keyColumn = keyColumn);\r\n fileColumn && (this.fileColumn = fileColumn);\r\n acceptedColumn && (this.acceptedColumn = acceptedColumn);\r\n rejectedReasonColumn && (this.rejectedReasonColumn = rejectedReasonColumn);\r\n statusColumn && (this.statusColumn = statusColumn);\r\n }\r\n protected _subscribeOnUploadFile(fileColumn: ReportViewColumn): void {\r\n this._filesValidationHelper = new FilesValidationHelper(0, 0, 0);\r\n if (this._uploadService) {\r\n this._createLinearHelper(this._uploadService, this._filesValidationHelper, fileColumn.FieldDefId);\r\n this.uploadingState$ = this._uploadService.uploadingState$;\r\n } else {\r\n throw new Error('UploadService not provided.');\r\n }\r\n\r\n this._linearHelper.newFileUploaded$.subscribe((file) => {\r\n const mo = this.moDataList.find((c) => c.Id === this.selectedMo.Id);\r\n if (mo) {\r\n mo[fileColumn.Name].Files = [...mo[fileColumn.Name].Files, file];\r\n this._updateMo(mo);\r\n }\r\n });\r\n }\r\n protected _updateMo(mo: MetaobjectDataModel): void {\r\n mo.$NewInlineMo = undefined;\r\n if (mo.$State === 'Unchanged') {\r\n mo.$State = 'Modified';\r\n }\r\n this.updateMo.emit(mo);\r\n this._checkMandatory();\r\n }\r\n protected _createLinearHelper(\r\n uploadService: UploadService,\r\n filesValidationHelper: FilesValidationHelper,\r\n fieldDefId: string\r\n ): void {\r\n this._linearHelper = new LinearListHelper(uploadService, filesValidationHelper, fieldDefId);\r\n }\r\n protected _uploadFile(files: File[], documentItem: DocumentItem): void {\r\n const filesValidationHelper = this._filesValidationHelper;\r\n filesValidationHelper.maxFileCount = +documentItem.MaxFileCount;\r\n filesValidationHelper.maxFileSize = +documentItem.EachFileSize;\r\n filesValidationHelper.maxTotalFileSize = +documentItem.MaxFileSize;\r\n this._linearHelper.uploadToServer(files, documentItem.Title);\r\n }\r\n protected _columnNotExistsInReport(columnCaption): void {\r\n throw new Error(`can not find ${columnCaption} column in report.please add it to report columns.`);\r\n }\r\n}\r\n","<!-- <ul fd-list [byline]=\"true\" fdCompact [selection]=\"false\"> -->\r\n<table fd-table aria-label=\"Default\" [allCellsFocusable]=\"true\" [noBorderX]=\"true\">\r\n <thead fd-table-header>\r\n <tr fd-table-row>\r\n <th fd-table-cell>{{ 'عکس' | bbbTranslate }}</th>\r\n <th fd-table-cell style=\"min-width: 140px; width: auto\">{{ 'نوع مدرک' | bbbTranslate }}</th>\r\n <th fd-table-cell style=\"width: 99%\">{{ 'الصاق فایل' | bbbTranslate }}</th>\r\n <th fd-table-cell></th>\r\n <th fd-table-cell style=\"width: 400px; min-width: 400px; max-width: 400px\">{{ 'وضعیت' | bbbTranslate }}</th>\r\n </tr>\r\n </thead>\r\n <tbody fd-table-body>\r\n @for (mo of moDataList; track _trackByRow($index, mo)) { @if (mo.$documentItem) {\r\n <bdc-barsa-document-list-item\r\n [documentItem]=\"mo.$documentItem\"\r\n [accepted]=\"mo[acceptedColumn.Name]\"\r\n [files]=\"mo[fileColumn.Name].Files\"\r\n [uploadingState]=\"(uploadingState$ | async)!!\"\r\n [rejectedReason]=\"mo[rejectedReasonColumn.Name]\"\r\n [fileDbName]=\"fileColumn.Name\"\r\n [status]=\"+mo[statusColumn.Name]\"\r\n [deviceSize]=\"deviceSize\"\r\n [readonly]=\"!access.Edit\"\r\n [deviceSize]=\"deviceSize\"\r\n (removeFile)=\"onRemoveFile($event, mo)\"\r\n (fileSelectionChange)=\"onFileSelection($event, mo.$documentItem, mo)\"\r\n (rejectTextChange)=\"onRejectedTextChange($event, mo)\"\r\n (statusChanged)=\"onStatusChanged($event, mo)\"\r\n ></bdc-barsa-document-list-item>\r\n } }\r\n <!-- </ul> -->\r\n </tbody>\r\n</table>\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n inject\r\n} from '@angular/core';\r\nimport { AbbrevationDeviceSize, BaseComponent, getUniqueId } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-accept-reject',\r\n templateUrl: './accept-reject.component.html',\r\n styleUrls: ['./accept-reject.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class AcceptRejectComponent extends BaseComponent implements OnInit {\r\n @Input() negativeText: string;\r\n @Input() positiveText: string;\r\n @Input() rejectedReason: string;\r\n @Input() acceptedText: string;\r\n @Input() deviceSize: AbbrevationDeviceSize;\r\n @Input() readonly: boolean;\r\n @Input() rejected: boolean;\r\n @Output() rejectedChanged = new EventEmitter<{ accept: boolean; error: string }>();\r\n\r\n id = getUniqueId(3);\r\n applied = false;\r\n\r\n private _cdr = inject(ChangeDetectorRef);\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._initilaize();\r\n }\r\n onReject(): void {\r\n this._raiseEvent(true, true, this.rejectedReason);\r\n }\r\n onReset(): void {\r\n this._raiseEvent(false, false);\r\n }\r\n onAccept(): void {\r\n this._raiseEvent(true, false);\r\n }\r\n protected _initilaize(): void {\r\n if (this.rejectedReason) {\r\n this.rejected = true;\r\n this.applied = true;\r\n }\r\n }\r\n protected _raiseEvent(applied: boolean, rejected: boolean, rejectedReason = ''): void {\r\n this.applied = applied;\r\n this.rejected = rejected;\r\n this.rejectedReason = rejectedReason;\r\n this.rejectedChanged.emit({ accept: rejected, error: rejectedReason });\r\n this._cdr.detectChanges();\r\n }\r\n}\r\n","@if (!applied && !readonly) {\r\n<div>\r\n <button\r\n fd-button\r\n [label]=\"positiveText | bbbTranslate\"\r\n fdType=\"positive\"\r\n glyph=\"message-success\"\r\n ariaLabel=\"positive\"\r\n value=\"yes\"\r\n style=\"margin: 0 5px\"\r\n (click)=\"onAccept()\"\r\n ></button>\r\n <fd-popover [focusTrapped]=\"true\" [focusAutoCapture]=\"true\" [mobile]=\"deviceSize === 's'\" #popover>\r\n <fd-popover-control>\r\n <button\r\n fd-button\r\n [label]=\"negativeText | bbbTranslate\"\r\n glyph=\"message-error\"\r\n fdType=\"negative\"\r\n ariaLabel=\"Negative\"\r\n value=\"no\"\r\n ></button>\r\n </fd-popover-control>\r\n <fd-popover-body style=\"min-width: 320px\">\r\n <div fd-popover-body-header>\r\n <div fd-bar [cozy]=\"true\" id=\"popover-bar-header-1\">\r\n <div fd-bar-left>\r\n <span\r\n fd-object-status\r\n status=\"negative\"\r\n glyph=\"message-error\"\r\n glyphAriaLabel=\"Negative\"\r\n title=\"Negative\"\r\n ></span>\r\n <fd-bar-element>علت رد</fd-bar-element>\r\n </div>\r\n </div>\r\n </div>\r\n <div fd-form-item>\r\n <fd-form-input-message-group>\r\n <textarea fd-form-control [id]=\"id\" [(ngModel)]=\"rejectedReason\"></textarea>\r\n </fd-form-input-message-group>\r\n </div>\r\n <div fd-popover-body-footer>\r\n <div fd-bar barDesign=\"footer\">\r\n <div fd-bar-right>\r\n <fd-button-bar\r\n [label]=\"'Ok' | bbbTranslate\"\r\n fdType=\"emphasized\"\r\n (click)=\"popover.close(); onReject()\"\r\n ></fd-button-bar>\r\n <fd-button-bar [label]=\"'Cancel' | bbbTranslate\" (click)=\"popover.close()\"></fd-button-bar>\r\n </div>\r\n </div>\r\n </div>\r\n </fd-popover-body>\r\n </fd-popover>\r\n</div>\r\n} @if (readonly || applied) {\r\n<div>\r\n <span>{{ rejected ? rejectedReason : ('✓' + acceptedText | bbbTranslate) }}</span>\r\n <button fd-button glyph=\"decline\" fdType=\"transparent\" (click)=\"onReset()\"></button>\r\n</div>\r\n}\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnInit, inject } from '@angular/core';\r\nimport { BaseComponent, PortalService, MetaobjectDataModel, AbbrevationDeviceSize } from 'barsa-novin-ray-core';\r\nimport { withLatestFrom } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'bdc-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class FooterComponent extends BaseComponent implements OnInit {\r\n @Input() settings: MetaobjectDataModel;\r\n rtl: boolean;\r\n footer: MetaobjectDataModel;\r\n deviceSize: AbbrevationDeviceSize;\r\n private _portalService = inject(PortalService);\r\n private _cdr = inject(ChangeDetectorRef);\r\n\r\n constructor() {\r\n super();\r\n\r\n this._portalService.rtl$\r\n .pipe(withLatestFrom(this._portalService.deviceSize$))\r\n .subscribe(([rtl, deviceSize]) => {\r\n this.rtl = rtl;\r\n this.deviceSize = deviceSize;\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n const { RelatedMo } = this.settings;\r\n if (!RelatedMo) {\r\n return;\r\n }\r\n this._portalService.loadMo(RelatedMo.Id, RelatedMo.$TypeDefId).subscribe((result) => {\r\n this.footer = result?.Data?.Mo;\r\n this._cdr.detectChanges();\r\n });\r\n }\r\n}\r\n","@if (footer) {\r\n<div fd-bar barDesign=\"footer\" [size]=\"'m_l'\" [class.rtl]=\"rtl\" class=\"footer\" [class.mobile]=\"deviceSize === 's'\">\r\n <div fd-bar-left class=\"left\">\r\n <a\r\n fd-button\r\n glyph=\"email\"\r\n [fd-inline-help]=\"('ایمیل پشتیبانی' | bbbTranslate) + ': ' + footer.Email\"\r\n [href]=\"'mailto:' + footer.Email\"\r\n fdType=\"transparent\"\r\n >\r\n </a>\r\n <a\r\n fd-button\r\n glyph=\"headset\"\r\n [fd-inline-help]=\"('شماره پشتیبانی' | bbbTranslate) + ': ' + footer.TelNumber\"\r\n [href]=\"'tel:' + footer.TelNumber\"\r\n fdType=\"transparent\"\r\n ></a>\r\n <fd-popover>\r\n <fd-popover-control>\r\n <button\r\n fd-button\r\n glyph=\"vertical-waterfall-chart\"\r\n [title]=\"'آمار بازدید' | bbbTranslate\"\r\n aria-haspopup=\"menu\"\r\n fdType=\"transparent\"\r\n [fd-inline-help]=\"'آمار بازدید' | bbbTranslate\"\r\n tabindex=\"0\"\r\n ></button>\r\n </fd-popover-control>\r\n <fd-popover-body>\r\n <ul fd-list>\r\n <li fd-list-item class=\"all\">\r\n <i fd-list-icon glyph=\"bar-chart\"></i>\r\n <span fd-list-title>{{\"تعداد بازدیدکنندگان کل\" | bbbTranslate}}<strong>120</strong></span>\r\n </li>\r\n <li fd-list-item class=\"today\">\r\n <i fd-list-icon glyph=\"bar-chart\"></i>\r\n <span fd-list-title>{{\"تعداد بازدیدکنندگان امروز\" | bbbTranslate}} <strong>76</strong></span>\r\n </li>\r\n <li fd-list-item class=\"online\">\r\n <i fd-list-icon glyph=\"bar-chart\"></i>\r\n <span fd-list-title>{{\"تعداد کاربران آنللاین\" | bbbTranslate}} <strong>10</strong></span>\r\n </li>\r\n </ul>\r\n </fd-popover-body>\r\n </fd-popover>\r\n <fd-popover>\r\n <fd-popover-control>\r\n <button\r\n [fd-inline-help]=\"'کانال ارتباطی' | bbbTranslate\"\r\n tabindex=\"0\"\r\n fd-button\r\n glyph=\"paper-plane\"\r\n id=\"fd-action-sheet-default-control\"\r\n aria-haspopup=\"menu\"\r\n fdType=\"transparent\"\r\n ></button>\r\n </fd-popover-control>\r\n <fd-popover-body>\r\n <ul fd-list>\r\n @for (socialNetwork of footer.SocialNetworks.MoDataList; track socialNetwork) {\r\n <li fd-list-item>\r\n <a fd-list-link [href]=\"socialNetwork.Url\" style=\"display: flex; column-gap: 5px\">\r\n <i fd-list-icon class=\"sap-icon--1\"\r\n ><img [src]=\"socialNetwork.Image?.FileId | picFieldSrc: 'ID':null:'':16:16\" />\r\n </i>\r\n <span fd-list-title>{{ socialNetwork.Title | bbbTranslate }}</span>\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n </fd-popover-body>\r\n </fd-popover>\r\n <fd-bar-element>\r\n <a fd-link [href]=\"footer.SiteAddress\" tabindex=\"0\" class=\"!tw-flex !tw-items-center\"\r\n ><fd-icon glyph=\"world\"> </fd-icon> <span style=\"padding: 0 5px\">{{ footer.SiteTitle | bbbTranslate }}</span></a\r\n >\r\n </fd-bar-element>\r\n </div>\r\n @if (deviceSize !== 's') {\r\n <div fd-bar-middle class=\"middle\">\r\n <fd-bar-element> {{ footer.Copyright | bbbTranslate }}</fd-bar-element>\r\n </div>\r\n } \r\n @if (deviceSize !== 's' && deviceSize !== 'm') {\r\n <div fd-bar-right class=\"right\"></div>\r\n }\r\n</div>\r\n}\r\n<!-- \r\n@else if(footer?.Mode2){\r\n<div class=\"tw-relative tw-mt-16\">\r\n <svg class=\"tw-absolute tw-top-0 tw-w-full tw-h-6 tw--mt-5 sm:tw--mt-10 sm:tw-h-16 text-deep-purple-accent-400\" preserveAspectRatio=\"none\" viewBox=\"0 0 1440 54\">\r\n <path fill=\"--sapShellColor\" d=\"M0 22L120 16.7C240 11 480 1.00001 720 0.700012C960 1.00001 1200 11 1320 16.7L1440 22V54H1320C1200 54 960 54 720 54C480 54 240 54 120 54H0V22Z\"></path>\r\n </svg>\r\n <div class=\"tw-px-4 tw-pt-12 tw-mx-auto sm:tw-max-w-xl md:tw-max-w-full lg:tw-max-w-screen-xl md:tw-px-24 lg:tw-px-8\">\r\n <div class=\"tw-grid tw-gap-16 tw-row-gap-10 tw-mb-8 lg:tw-grid-cols-6\">\r\n <div class=\"md:tw-max-w-md lg:tw-col-span-2\">\r\n <a href=\"/\" aria-label=\"رفتن به خانه\" title=\"شرکت\" class=\"tw-inline-flex tw-items-center\">\r\n <svg class=\"tw-w-8 text-teal-accent-400\" viewBox=\"0 0 24 24\" stroke-linejoin=\"round\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-miterlimit=\"10\" stroke=\"currentColor\" fill=\"none\">\r\n <rect x=\"3\" y=\"1\" width=\"7\" height=\"12\"></rect>\r\n <rect x=\"3\" y=\"17\" width=\"7\" height=\"6\"></rect>\r\n <rect x=\"14\" y=\"1\" width=\"7\" height=\"6\"></rect>\r\n <rect x=\"14\" y=\"11\" width=\"7\" height=\"12\"></rect>\r\n </svg>\r\n <span class=\"tw-ml-2 tw-text-xl tw-font-bold tw-tracking-wide tw-text-gray-100 tw-uppercase\">شرکت</span>\r\n </a>\r\n <div class=\"tw-mt-4 lg:tw-max-w-sm\">\r\n <p class=\"tw-text-sm text-deep-purple-50\">\r\n ما متعهد به ارائه بهترین خدمات و محصولات با بالاترین کیفیت هستیم تا نیازهای شما را برآورده کنیم.\r\n </p>\r\n <p class=\"tw-mt-4 tw-text-sm text-deep-purple-50\">\r\n همراه با تیمی متخصص، در تلاشیم تا رضایت مشتریان را جلب کنیم و تجربهای بینظیر فراهم سازیم.\r\n </p>\r\n </div>\r\n </div>\r\n <div class=\"tw-grid tw-grid-cols-2 tw-gap-5 tw-row-gap-8 lg:tw-col-span-4 md:tw-grid-cols-4\">\r\n <div>\r\n <p class=\"tw-font-semibold tw-tracking-wide text-teal-accent-400\">دستهبندی</p>\r\n <ul class=\"tw-mt-2 tw-space-y-2\">\r\n <li><a href=\"/\" class=\"tw-transition-colors tw-duration-300 text-deep-purple-50 hover:text-teal-accent-400\">اخبار</a></li>\r\n <li><a href=\"/\" class=\"tw-transition-colors tw-duration-300 text-deep-purple-50 hover:text-teal-accent-400\">جهان</a></li>\r\n <li><a href=\"/\" class=\"tw-transition-colors tw-duration-300 text-deep-purple-50 hover:text-teal-accent-400\">بازیها</a></li>\r\n <li><a href=\"/\" class=\"tw-transition-colors tw-duration-300 text-deep-purple-50 hover:text-teal-accent-400\">مراجع</a></li>\r\n </ul>\r\n </div>\r\n <div>\r\n <p class=\"tw-font-semibold tw-tracking-wide text-teal-accent-400\">دیجیتال</p>\r\n <ul class=\"tw-mt-2 tw-space-y-2\">\r\n <li><a href=\"/\" class=\"tw-transition-colors tw-duration-300 text-deep-purple-50 hover:text-teal-accent-400\">وب</a></li>\r\n <li><a href=\"/\" class=\"tw-transition-colors tw-duration-300 text-deep-purple-50 hover:text-teal-accent-400\">تجارت الکترونیک</a></li>\r\n <li><a href=\"/\" class=\"tw-transition-colors tw-duration-300 text-deep-purple-50 hover:text-teal-accent-400\">کسب و کار</a></li>\r\n <li><a href=\"/\" class=\"tw-transition-colors tw-duration-300 text-deep-purple-50 hover:text-teal-accent-400\">سرگرمی</a></li>\r\n </ul>\r\n </div>\r\n <div>\r\n <p class=\"tw-font-semibold tw-tracking-wide text-teal-accent-400\">دیجیتال</p>\r\n <ul class=\"tw-mt-2 tw-space-y-2\">\r\n <li><a href=\"/\" class=\"tw-transition-colors tw-duration-300 text-deep-purple-50 hover:text-teal-accent-400\">وب</a></li>\r\n <li><a href=\"/\" class=\"tw-transition-colors tw-duration-300 text-deep-purple-50 hover:text-teal-accent-400\">تجارت الکترونیک</a></li>\r\n <li><a href=\"/\" class=\"tw-transition-colors tw-duration-300 text-deep-purple-50 hover:text-teal-accent-400\">کسب و کار</a></li>\r\n <li><a href=\"/\" class=\"tw-transition-colors tw-duration-300 text-deep-purple-50 hover:text-teal-accent-400\">سرگرمی</a></li>\r\n </ul>\r\n </div>\r\n <div>\r\n <p class=\"tw-font-semibold tw-tracking-wide text-teal-accent-400\">دیجیتال</p>\r\n <ul class=\"tw-mt-2 tw-space-y-2\">\r\n <li><a href=\"/\" class=\"tw-transition-colors tw-duration-300 text-deep-purple-50 hover:text-teal-accent-400\">وب</a></li>\r\n <li><a href=\"/\" class=\"tw-transition-colors tw-duration-300 text-deep-purple-50 hover:text-teal-accent-400\">تجارت الکترونیک</a></li>\r\n <li><a href=\"/\" class=\"tw-transition-colors tw-duration-300 text-deep-purple-50 hover:text-teal-accent-400\">کسب و کار</a></li>\r\n <li><a href=\"/\" class=\"tw-transition-colors tw-duration-300 text-deep-purple-50 hover:text-teal-accent-400\">سرگرمی</a></li>\r\n </ul>\r\n </div> \r\n </div>\r\n </div>\r\n <div class=\"tw-flex tw-flex-col tw-justify-between tw-pt-5 tw-pb-10 tw-border-t border-deep-purple-accent-200 sm:tw-flex-row\">\r\n <p class=\"tw-text-sm tw-text-gray-100\">© حق نشر ۲۰۲۵ تمامی حقوق محفوظ است.</p>\r\n </div>\r\n </div>\r\n </div>\r\n} -->","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n AfterViewInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n SimpleChanges,\r\n signal\r\n} from '@angular/core';\r\nimport { BaseComponent } from 'barsa-novin-ray-core';\r\n\r\ndeclare const head: any;\r\ndeclare const L: any;\r\n\r\n@Component({\r\n selector: 'bdc-barsa-geographic-location',\r\n templateUrl: './barsa-geographic-location.component.html',\r\n styleUrls: ['./barsa-geographic-location.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class BarsaGeographicLocationComponent extends BaseComponent implements AfterViewInit {\r\n @Input() disableOrReadonly: boolean;\r\n @Input() setAutomaticLocation: boolean;\r\n @Input() showLocationButton: boolean;\r\n @Input() showFullscreenButton: boolean;\r\n @Input() showExitFullscreenButton: boolean;\r\n @Input() draggable: boolean;\r\n\r\n @Input() defaultLocation: number[];\r\n @Input() latitude: number;\r\n @Input() longitude: number;\r\n @Output() move = new EventEmitter<any>();\r\n @Output() moveEnd = new EventEmitter<any>();\r\n @Output() fullscreen = new EventEmitter();\r\n @Output() exitFullscreen = new EventEmitter();\r\n @Output() errorEvent = new EventEmitter();\r\n @Output() markerChange = new EventEmitter<{ latitude; longitude }>();\r\n\r\n signalMap = signal(null);\r\n private _map: any;\r\n private _marker: any;\r\n\r\n private _navigatorOptions = {\r\n enableHighAccuracy: true,\r\n timeout: 5000,\r\n maximumAge: 0\r\n };\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n super.ngOnChanges(changes);\r\n const { longitude, latitude } = changes;\r\n if (latitude?.firstChange === false || longitude?.firstChange === false) {\r\n this._setGeoLocation(\r\n {\r\n latitude: latitude.currentValue,\r\n longitude: longitude.currentValue\r\n },\r\n this.disableOrReadonly,\r\n this.latitude !== latitude.currentValue || this.longitude !== longitude.currentValue,\r\n false\r\n );\r\n }\r\n }\r\n ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n head.load(\r\n [\r\n 'Lib/leaflet/leaflet.css',\r\n 'Lib/leaflet/leaflet-src.js',\r\n 'Lib/leaflet/SearchControl.js',\r\n 'Lib/leaflet/BeautifyMarker-master/leaflet-beautify-marker-icon.css',\r\n 'Lib/leaflet/BeautifyMarker-master/leaflet-beautify-marker-icon.js',\r\n 'Lib/leaflet/BeautifyMarker-master/leaflet-beautify-marker.js',\r\n 'Lib/leaflet/BeautifyMarker-master/leaflet-beautify-marker-icon-barsa.js'\r\n ],\r\n () => this._initilaize()\r\n );\r\n }\r\n // {\r\n // latlng,\r\n // point,\r\n // x,\r\n // y,\r\n // marker,\r\n // data\r\n // }\r\n onLongPress({ latlng }: { latlng: { lat: number; lng: number } }): void {\r\n this._setGeoLocation({ latitude: latlng.lat, longitude: latlng.lng }, this.disableOrReadonly, false, true);\r\n }\r\n onCurrentLocation(): void {\r\n if (this.disableOrReadonly) {\r\n return;\r\n }\r\n this._getNavigatorCurrentPosition();\r\n }\r\n onFullscreen(): void {\r\n this.fullscreen.emit();\r\n }\r\n onExitFullscreen(): void {\r\n this.exitFullscreen.emit();\r\n }\r\n protected _addMarkers(disableOrReadonly: boolean, pos: number[]): void {\r\n this._setGeoLocation({ latitude: pos[0], longitude: pos[1] }, disableOrReadonly);\r\n }\r\n\r\n protected _initilaize(): void {\r\n this._map = L.map(this._el.nativeElement);\r\n this.signalMap.set(this._map);\r\n const location = this.defaultLocation;\r\n if (this.latitude) {\r\n location[0] = Number(this.latitude);\r\n location[1] = Number(this.longitude);\r\n }\r\n this._setGeoLocation(\r\n {\r\n latitude: location[0],\r\n longitude: location[1]\r\n },\r\n this.disableOrReadonly,\r\n true,\r\n false\r\n );\r\n\r\n if (!this.disableOrReadonly && this.setAutomaticLocation && !this.latitude) {\r\n // درصورتی که از قبل مقدار نداشته باشد\r\n this._getNavigatorCurrentPosition();\r\n }\r\n }\r\n protected _onErrorNavigatorLocation(err): void {\r\n this.errorEvent.emit(err);\r\n }\r\n protected _setGeoLocation(\r\n position: { latitude: any; longitude: any },\r\n disableOrReadonly = false,\r\n setView = false,\r\n fireEvent = true\r\n ): void {\r\n if (this._marker) {\r\n this._map.removeLayer(this._marker);\r\n this._marker = null;\r\n }\r\n\r\n const { latitude, longitude } = position;\r\n\r\n L.tileLayer('https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token={accessToken}', {\r\n attribution: '',\r\n maxZoom: 18,\r\n id: 'mapbox/streets-v11',\r\n tileSize: 512,\r\n zoomOffset: -1,\r\n accessToken:\r\n 'pk.eyJ1IjoibXJlemFkZXZlbG9wZXIiLCJhIjoiY2p6anlrdTE2MDBxdjNtczZtYWFqbHFmdiJ9.SzniRy2KH6U3gdbOFnwA7Q'\r\n }).addTo(this._map);\r\n if (setView) {\r\n this._map.setView([latitude, longitude], 18);\r\n }\r\n const marker = this._createMarker(\r\n '0',\r\n { mo: 'test' },\r\n latitude,\r\n longitude,\r\n 'my location',\r\n '',\r\n !disableOrReadonly && this.draggable === true\r\n );\r\n marker.addTo(this._map);\r\n this._marker = marker;\r\n if (!disableOrReadonly && fireEvent) {\r\n this.markerChange.emit({ latitude, longitude });\r\n }\r\n }\r\n protected _getNavigatorCurrentPosition(): void {\r\n if (navigator.geolocation) {\r\n navigator.geolocation.getCurrentPosition(\r\n (position) =>\r\n this._setGeoLocation(\r\n { latitude: position.coords.latitude, longitude: position.coords.longitude },\r\n this.disableOrReadonly,\r\n true\r\n ),\r\n (err) => this._onErrorNavigatorLocation(err),\r\n this._navigatorOptions\r\n );\r\n }\r\n }\r\n protected _createMarker(id, mo, lat, lng, text, icon, draggable): any {\r\n const markerCfg = {\r\n Id: id,\r\n Data: mo,\r\n title: text,\r\n draggable,\r\n icon: L.divIcon({\r\n html: icon\r\n ? `<fd-icon style=\"font-size:1rem\" class=\"sap-icon--${icon}\"></fd-icon>`\r\n : `<img style=\"width:32px\" src=\"${'assets/svg/location-sign.svg'}\"/>`,\r\n iconSize: [20, 20],\r\n className: 'my-location'\r\n })\r\n };\r\n\r\n // var marker = L.BeautifyMarker.marker([Number(lat), Number(lng)], {\r\n const marker = L.marker([Number(lat), Number(lng)], markerCfg);\r\n\r\n marker.on('moveend', (e) => {\r\n this._onMoveEnd(e);\r\n });\r\n marker.on('move', (e) => {\r\n this._onMove(e);\r\n });\r\n\r\n return marker;\r\n }\r\n\r\n protected _onMove(e): void {\r\n this.move.emit(e);\r\n }\r\n protected _onMoveEnd(e): void {\r\n this.moveEnd.emit(e);\r\n }\r\n}\r\n","@if(signalMap()){\r\n<div\r\n style=\"position: absolute; z-index: 1000; display: flex; flex-direction: column; row-gap: 5px; left: 0; bottom: 0\"\r\n [leafletLongPress]=\"signalMap()\"\r\n (longPress)=\"onLongPress($event)\"\r\n>\r\n @if (showFullscreenButton) {\r\n <button fd-button glyph=\"resize\" fdType=\"positive\" (click)=\"onFullscreen()\"></button>\r\n } @if (showExitFullscreenButton) {\r\n <button fd-button glyph=\"exitfullscreen\" fdType=\"positive\" (click)=\"onExitFullscreen()\"></button>\r\n } @if (showLocationButton || disableOrReadonly) {\r\n <button fd-button glyph=\"map\" fdType=\"positive\" (click)=\"onCurrentLocation()\"></button>\r\n }\r\n</div>\r\n}\r\n","import { ChangeDetectionStrategy, Component, inject, OnInit, TemplateRef, ViewChild } from '@angular/core';\r\nimport { DialogService } from '@fundamental-ngx/core';\r\nimport { BarsaApi } from 'barsa-novin-ray-core';\r\nimport { UiMoInfoSubFormUiComponent } from 'barsa-sap-ui';\r\n\r\n@Component({\r\n selector: 'bdc-geographic-location',\r\n templateUrl: './geographic-location.component.html',\r\n styleUrls: ['./geographic-location.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class GeographicLocationComponent extends UiMoInfoSubFormUiComponent implements OnInit {\r\n @ViewChild('confirmationDialog') dialogTemplate: TemplateRef<any>;\r\n fullscreen = false;\r\n\r\n latValue;\r\n lngValue;\r\n customFormPanelUi: any;\r\n protected _dialogService = inject(DialogService);\r\n private _movePos: { latitude: any; longitude: any };\r\n get latitudeUi(): any {\r\n return this.customFormPanelUi._dictFieldUi.Latitude;\r\n }\r\n get longitudeUi(): any {\r\n return this.customFormPanelUi._dictFieldUi.Longitude;\r\n }\r\n\r\n openDialog(dialog: TemplateRef<any>): void {\r\n this._dialogService.open(dialog, {\r\n responsivePadding: true,\r\n width: '100svw',\r\n height: '100svh',\r\n mobile: true,\r\n ariaLabelledBy: 'map',\r\n ariaDescribedBy: 'choose location',\r\n focusTrapped: true\r\n });\r\n }\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._setDefaultLatAndLong(this.latitudeUi?.value, this.longitudeUi?.value);\r\n }\r\n onFullscreen(): void {\r\n this.fullscreen = true;\r\n this.openDialog(this.dialogTemplate);\r\n }\r\n\r\n onExistFullscreen(): void {\r\n this.fullscreen = false;\r\n this._cdr.detectChanges();\r\n }\r\n onOpenChange(isOpen): void {\r\n this.fullscreen = isOpen;\r\n }\r\n onErrorNavigatorLocation(err): void {\r\n const err2 = `خطا در دریافت موقعیت مکانی جاری. (${err.message})`;\r\n BarsaApi.Bw.Toast.Error(err2);\r\n }\r\n onMove(e): void {\r\n this._movePos = { latitude: e.latlng.lat, longitude: e.latlng.lng };\r\n }\r\n onMoveEnd(_e): void {\r\n this._handleMarkerChange(this._movePos);\r\n }\r\n onMarkerChange(e: { latitude; longitude }): void {\r\n this._handleMarkerChange(e);\r\n }\r\n protected _handleMarkerChange(e: { latitude; longitude }): void {\r\n const { latitude, longitude } = e;\r\n this.latitudeUi.value = latitude;\r\n this.longitudeUi.value = longitude;\r\n this._valueChanged();\r\n }\r\n protected _setDefaultLatAndLong(lat: number, lng: number): void {\r\n if (lat && lng) {\r\n this.latValue = lat;\r\n this.lngValue = lng;\r\n }\r\n }\r\n protected _titleChanged(): void {\r\n this._setDefaultLatAndLong(this.latitudeUi?.value, this.longitudeUi?.value);\r\n }\r\n protected _valueChanged(): void {\r\n this.latitudeUi.fireEvent('change', this.latitudeUi, this.latitudeUi.value);\r\n this.longitudeUi.fireEvent('change', this.longitudeUi, this.longitudeUi.value);\r\n }\r\n}\r\n","@if (customFormPanelUi) {\r\n<bnrc-form style=\"display: none\" *untilInView=\"el\" [customFormPanelUi]=\"customFormPanelUi\"></bnrc-form>\r\n} @if (!fullscreen) {\r\n<ng-container *ngTemplateOutlet=\"map; context: { inDialog: false }\"></ng-container>\r\n}\r\n\r\n<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #confirmationDialog>\r\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\r\n <fd-dialog-body>\r\n <ng-container *ngTemplateOutlet=\"map; context: { inDialog: true, dialog: dialog }\"></ng-container>\r\n </fd-dialog-body>\r\n </fd-dialog>\r\n</ng-template>\r\n\r\n<ng-template #map let-inDialog=\"inDialog\" let-dialog=\"dialog\">\r\n <bdc-barsa-geographic-location \r\n [style.height]=\"inDialog ? '100svh !important' : null\"\r\n [defaultLocation]=\"[35.7568, 51.412]\"\r\n [latitude]=\"latValue\"\r\n [longitude]=\"lngValue\"\r\n [showExitFullscreenButton]=\"inDialog\"\r\n [showFullscreenButton]=\"!inDialog && customFieldInfo.ShowFullscreenButton\"\r\n [showLocationButton]=\"customFieldInfo.ShowLocationButton\"\r\n [setAutomaticLocation]=\"customFieldInfo.GetCurrentLocation\"\r\n [disableOrReadonly]=\"(disableOrReadonly$ | async) === true\"\r\n [draggable]=\"customFieldInfo.Draggable === true\"\r\n (fullscreen)=\"onFullscreen()\"\r\n (markerChange)=\"onMarkerChange($event)\"\r\n (move)=\"onMove($event)\"\r\n (errorEvent)=\"onErrorNavigatorLocation($event)\"\r\n (moveEnd)=\"onMoveEnd($event)\"\r\n (exitFullscreen)=\"onExistFullscreen(); dialog && dialog.close('Continue')\"\r\n ></bdc-barsa-geographic-location>\r\n</ng-template>\r\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\nimport { MetaobjectDataModel, ReportViewBaseComponent } from 'barsa-novin-ray-core';\r\n\r\nimport { MicroProcessFlowViewSetting } from '../models';\r\n@Component({\r\n selector: 'bdc-token-report-view',\r\n templateUrl: './token-report-view.component.html',\r\n styleUrls: ['./token-report-view.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class TokenReportViewComponent extends ReportViewBaseComponent<MicroProcessFlowViewSetting> implements OnInit {\r\n fieldTitle: string;\r\n fieldIcon: string;\r\n fieldState: string;\r\n mode: string;\r\n arrowRight: string;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n }\r\n onRemoveItem(mo: MetaobjectDataModel, index: number): void {\r\n this.rowCheck.emit({ mo, index });\r\n let itemId = 'RemoveFromList';\r\n if (this.viewSetting?.DeleteAction === '1') {\r\n itemId = 'Delete';\r\n }\r\n\r\n this.executeToolbarButton.emit({ itemId });\r\n }\r\n}\r\n","@for (mo of moDataList | multipleGroupBy: groupby; track mo; let index = $index; let last = $last) { @if (!mo.parent ||\r\nmo.parent?.expanded) {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n itemTemplate;\r\n context: {\r\n $implicit: mo,\r\n index: index,\r\n last: last,\r\n columns: columns,\r\n moDataList: moDataList,\r\n moDataListCount: moDataList.length\r\n }\r\n \"\r\n></ng-container>\r\n} }\r\n<ng-template\r\n #itemTemplate\r\n let-mo\r\n let-index=\"index\"\r\n let-last=\"last\"\r\n let-columns=\"columns\"\r\n let-moDataListCount=\"moDataListCount\"\r\n let-moDataList=\"moDataList\"\r\n>\r\n <fd-token fdCozy (onCloseClick)=\"onRemoveItem(mo, index)\" [readOnly]=\"false\">{{\r\n columns[0].Caption | rval: mo:columns:true\r\n }}</fd-token>\r\n</ng-template>\r\n","import { ChangeDetectionStrategy, Component, Input, OnInit, TemplateRef, inject } from '@angular/core';\r\nimport { DialogService } from '@fundamental-ngx/core';\r\nimport { LayoutSetting, MetaobjectDataModel, BarsaApi } from 'barsa-novin-ray-core';\r\nimport { ColumnRendererComponent } from 'barsa-sap-ui';\r\n\r\n@Component({\r\n selector: 'bdc-column-form-viewer',\r\n templateUrl: './column-form-viewer.component.html',\r\n styleUrls: ['./column-form-viewer.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class ColumnFormViewerComponent extends ColumnRendererComponent implements OnInit {\r\n @Input() layout94: LayoutSetting;\r\n @Input() parameters: MetaobjectDataModel;\r\n isOpen = false;\r\n dom: HTMLElement;\r\n formParam;\r\n confirmationReason: string;\r\n loadForm = false;\r\n loading = true;\r\n newPage = false;\r\n private _dialogService = inject(DialogService); \r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n const columnMo = this.mo[this.column.Name];\r\n if (!columnMo) {\r\n return;\r\n }\r\n this.newPage = this.parameters.NewPage;\r\n this.formParam = {\r\n moId: columnMo.Id,\r\n typeDefId: columnMo.$TypeDefId,\r\n viewId: this.parameters.MetaView?.Id\r\n };\r\n }\r\n openPopover(): void {\r\n this.isOpen = true;\r\n this.loadForm = true;\r\n }\r\n\r\n onFormRendered(popover): void {\r\n this.loading = false;\r\n if (this.newPage) {\r\n return;\r\n }\r\n popover.close();\r\n setTimeout(() => {\r\n popover.open();\r\n });\r\n }\r\n openMoInNewPage(): void {\r\n const columnMo = this.mo[this.column.Name];\r\n BarsaApi.Bw.Form.Show({\r\n MoId: columnMo.Id,\r\n MoContext: {\r\n ViewId: this.parameters.MetaView?.Id\r\n }\r\n });\r\n }\r\n openDialog(dialog: TemplateRef<any>, container: HTMLElement): void {\r\n const dialogRef = this._dialogService.open(dialog, {\r\n responsivePadding: true,\r\n focusTrapped: true,\r\n backdropClickCloseable: true,\r\n closeOnNavigation: true,\r\n hasBackdrop: false,\r\n container,\r\n escKeyCloseable: true,\r\n mobile: this.deviceSize === 's'\r\n });\r\n\r\n dialogRef.afterClosed.subscribe(\r\n (result) => {\r\n this.confirmationReason = 'Dialog closed with result: ' + result;\r\n },\r\n (error) => {\r\n this.confirmationReason = 'Dialog dismissed with result: ' + error;\r\n }\r\n );\r\n }\r\n}\r\n","<ng-container *ngTemplateOutlet=\"newPage || deviceSize === 's' ? renderColumn : popoverTpl\"> </ng-container>\r\n<ng-template #popoverTpl>\r\n <fd-popover\r\n #popover\r\n [closeOnOutsideClick]=\"true\"\r\n [noArrow]=\"false\"\r\n placement=\"bottom-start\"\r\n [title]=\"column.Caption\"\r\n >\r\n <fd-popover-control>\r\n <ng-container *ngTemplateOutlet=\"renderColumn\"></ng-container>\r\n </fd-popover-control>\r\n <fd-popover-body class=\"popover-form-inColumn\">\r\n @if (loading && loadForm) {\r\n <div style=\"position: relative; height: 80px; width: 100%\">\r\n <bsu-mask [top]=\"'50%'\"></bsu-mask>\r\n </div>\r\n } @if (this.mo.Id && loadForm) {\r\n <bnrc-form\r\n [params]=\"formParam\"\r\n (formRendered)=\"onFormRendered(popover)\"\r\n (formClose)=\"popover.close()\"\r\n class=\"form-inColumn\"\r\n ></bnrc-form>\r\n }\r\n </fd-popover-body>\r\n </fd-popover>\r\n</ng-template>\r\n<ng-template #renderColumn>\r\n <bsu-column-renderer\r\n [mo]=\"mo\"\r\n [column]=\"column\"\r\n [value]=\"column | columnValue: mo | bbbTranslate\"\r\n [icon]=\"column | columnIcon: mo\"\r\n [editMode]=\"editMode\"\r\n [isChecked]=\"isChecked\"\r\n [index]=\"index\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [formLayoutShowLabel]=\"false\"\r\n [deviceSize]=\"deviceSize\"\r\n [controlUi]=\"column.Caption | controlUi: layout94:column.Name\"\r\n (click)=\"newPage || deviceSize === 's' ? openMoInNewPage() : openPopover()\"\r\n ></bsu-column-renderer>\r\n</ng-template>\r\n","import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\r\n\r\nimport {\r\n BaseViewItemPropsComponent,\r\n MetaobjectDataModel,\r\n TypeUlvMainCtrlr,\r\n FormComponentParams,\r\n BarsaApi\r\n} from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-form-report-view-item',\r\n templateUrl: './form-report-view-item.component.html',\r\n styleUrls: ['./form-report-view-item.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class FormReportViewItemComponent extends BaseViewItemPropsComponent implements OnInit {\r\n @Input() mo: MetaobjectDataModel;\r\n @Input() UlvMainCtrlr: TypeUlvMainCtrlr;\r\n @Input() fieldDict: Record<string, string>;\r\n @Input() saveOnValueChanged: boolean;\r\n formParams: FormComponentParams;\r\n toolbarItems: any[] = [];\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.mo.$FieldDict = this.fieldDict;\r\n delete this.mo.$Wrapper;\r\n const meFormSetting = JSON.parse(JSON.stringify(this.formSetting));\r\n const mo = new BarsaApi.Common.MetaObjectWeb(this.mo);\r\n\r\n meFormSetting.Data = { Mo: this.mo };\r\n const formpanelCtrlrParams = this.UlvMainCtrlr.DataCtrlr.GetEditFormParams(mo, false, false, null, null);\r\n this.formParams = {\r\n ...formpanelCtrlrParams,\r\n formSetting: meFormSetting,\r\n moId: this.mo.Id,\r\n typeDefId: this.typeDefId,\r\n isSimple: true,\r\n viewId: meFormSetting.View.TypeViewId\r\n };\r\n }\r\n onMoChanged(mo: MetaobjectDataModel): void {\r\n this.UlvMainCtrlr.RefreshRowsByMosNoSelectionChange([mo], [], []);\r\n }\r\n}\r\n","<bnrc-form\r\n class=\"form-report-view-item\"\r\n [params]=\"formParams\"\r\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\r\n (moChanged)=\"onMoChanged($event)\"\r\n [saveOnChange]=\"saveOnValueChanged\"\r\n></bnrc-form>\r\n","import { ChangeDetectionStrategy, Component, OnInit, ViewChild, ViewContainerRef } from '@angular/core';\r\n\r\nimport { ReportViewBaseComponent, BarsaApi, FormSetting, MetaobjectDataModel } from 'barsa-novin-ray-core';\r\nimport { FormReportViewSetting } from '../models';\r\n\r\n@Component({\r\n selector: 'bdc-form-report-view',\r\n templateUrl: './form-report-view.component.html',\r\n styleUrls: ['./form-report-view.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class FormReportViewComponent extends ReportViewBaseComponent<FormReportViewSetting> implements OnInit {\r\n @ViewChild('containerRef', { static: true, read: ViewContainerRef }) containerRef: ViewContainerRef;\r\n formSettingItem: FormSetting;\r\n parameters: FormReportViewSetting;\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n const x = BarsaApi.Bw.RunBlMethod(\r\n 'GetSerializeFormSetting',\r\n this.parameters?.MetaTypeDefValue.Id || this.typeViewId\r\n );\r\n this.formSettingItem = BarsaApi.Ext.decode(x);\r\n }\r\n _trackByRow(_index: number, row: MetaobjectDataModel): string {\r\n return `${row.Id}`;\r\n }\r\n}\r\n","@if (moDataList?.length) { @if (formSettingItem) { @for (mo of moDataList; track _trackByRow(index, mo); let index =\r\n$index; let last = $last) {\r\n<bdc-form-report-view-item\r\n [setting]=\"viewSetting\"\r\n [formSetting]=\"formSettingItem\"\r\n [fieldDict]=\"fieldDict\"\r\n [typeDefId]=\"typeDefId\"\r\n [columnsCount]=\"columnsCount\"\r\n [allColumns]=\"allColumns\"\r\n [columns]=\"columns\"\r\n [moDataList]=\"moDataList\"\r\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\r\n [index]=\"index\"\r\n [mo]=\"mo\"\r\n [rtl]=\"rtl\"\r\n [saveOnValueChanged]=\"viewSetting.SaveOnValueChanged\"\r\n (editFormPanelSave)=\"onEditFormPanelSave($event)\"\r\n (editFormPanelCancel)=\"onEditFormPanelCancel(mo)\"\r\n (click)=\"onRowCheck({mo, index})\"\r\n>\r\n</bdc-form-report-view-item>\r\n} } } @else {\r\n<bsu-no-data></bsu-no-data>\r\n}\r\n","import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\r\nimport { FormPropsBaseComponent, FormPanelService } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-form-card',\r\n templateUrl: './form-card.component.html',\r\n styleUrls: ['./form-card.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [FormPanelService],\r\n standalone: false\r\n})\r\nexport class FormCardComponent extends FormPropsBaseComponent implements OnInit {\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n }\r\n}\r\n","<fd-card cardType=\"object\">\r\n @if (toolbarItems) {\r\n <!-- <fd-card-header *ngIf=\"toolbarVisible !== false && toolbarItems.length\">\r\n <div fd-card-title></div>\r\n <div fd-card-subtitle style=\"width: 100%\"></div>\r\n </fd-card-header> -->\r\n }\r\n <fd-card-content>\r\n <bsu-ly-layout-container-of-root\r\n [config]=\"layout94\"\r\n [isPanel]=\"false\"\r\n [isRoot]=\"true\"\r\n ></bsu-ly-layout-container-of-root>\r\n </fd-card-content>\r\n</fd-card>\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n Input,\r\n OnInit,\r\n inject,\r\n ElementRef,\r\n Renderer2,\r\n WritableSignal,\r\n signal,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport { ProgressIndicatorState } from '@fundamental-ngx/core';\r\nimport {\r\n LayoutSetting,\r\n MetaobjectDataModel,\r\n PortalService,\r\n BarsaApi,\r\n ColumnValueOfParametersPipe\r\n} from 'barsa-novin-ray-core';\r\nimport { ColumnRendererComponent } from 'barsa-sap-ui';\r\n\r\n@Component({\r\n selector: 'bdc-column-progressbar',\r\n templateUrl: './column-progressbar.component.html',\r\n styleUrls: ['./column-progressbar.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class ColumnProgressbarComponent extends ColumnRendererComponent implements OnInit {\r\n @Input() layout94: LayoutSetting;\r\n @Input() parameters: ColumnProgressbarSettings;\r\n\r\n _el = inject(ElementRef);\r\n _renderer2 = inject(Renderer2);\r\n _portalService = inject(PortalService);\r\n _columnValueOfParametersPipe = inject(ColumnValueOfParametersPipe);\r\n isRtl = true;\r\n\r\n maxValue: WritableSignal<string> = signal('100');\r\n customUntitValueNow: WritableSignal<number> = signal(0);\r\n unit: WritableSignal<string> = signal('MB');\r\n valueText: WritableSignal<string> = signal('');\r\n state: WritableSignal<ProgressIndicatorState> = signal('informative');\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._setMaxValue(this.mo);\r\n this._setState();\r\n this._setUnit();\r\n this._setValueText();\r\n this._setRtl();\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n super.ngOnChanges(changes);\r\n const { mo } = changes;\r\n if (mo && !mo.firstChange) {\r\n this._setMaxValue(mo.currentValue);\r\n this._setColor(mo.currentValue);\r\n this._setValueText();\r\n }\r\n }\r\n ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n this._setColor(this.mo);\r\n }\r\n _setRtl(): void {\r\n this.isRtl = this._portalService.isRtl;\r\n }\r\n _setState(): void {\r\n this.state.set(this.parameters.State$Caption);\r\n }\r\n _setUnit(): void {\r\n if (this.parameters?.Units) {\r\n this.unit.set(this.parameters.Units);\r\n }\r\n }\r\n _setValueText(): void {\r\n const t = String.fromCharCode(0x202a);\r\n this.valueText.set(\r\n this.isRtl\r\n ? `${t} ${this.parameters?.HideMaxValue ? '' : this.maxValue()} ${\r\n BarsaApi.BBB[this.unit()] || this.unit()\r\n } ${this.signalValue()}`\r\n : `${this.signalValue()} ${BarsaApi.BBB[this.unit()] || this.unit()} ${this.maxValue()}`\r\n );\r\n }\r\n _setMaxValue(mo: MetaobjectDataModel): void {\r\n const { MaxValue, MaxValueField } = this.parameters;\r\n if (MaxValue || MaxValueField) {\r\n this.maxValue.set(\r\n this._columnValueOfParametersPipe.transform(this.allColumns, mo, MaxValueField, MaxValue)\r\n );\r\n }\r\n }\r\n _setColor(mo: MetaobjectDataModel): void {\r\n const { Color, ColorField } = this.parameters;\r\n if (Color || ColorField) {\r\n const color = this._columnValueOfParametersPipe.transform(this.allColumns, mo, ColorField, Color);\r\n const dom = this._el.nativeElement as HTMLElement;\r\n const x = dom.querySelector('.fd-progress-indicator__progress-bar');\r\n if (x) {\r\n this._renderer2.setStyle(x, 'background-color', color);\r\n }\r\n }\r\n }\r\n}\r\ninterface ColumnProgressbarSettings extends MetaobjectDataModel {\r\n ColorField: string;\r\n Color: string;\r\n Units: string;\r\n MaxValue: string;\r\n MaxValueField: string;\r\n State: number;\r\n State$Caption: ProgressIndicatorState;\r\n ValueText: string;\r\n}\r\n","<fd-progress-indicator\r\n [state]=\"state()\"\r\n [valueNow]=\"signalValue() | strToNum\"\r\n [valueMax]=\"maxValue() | strToNum\"\r\n [unit]=\"unit()\"\r\n [valueText]=\"valueText()\"\r\n></fd-progress-indicator>\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n Input,\r\n OnInit,\r\n SimpleChanges,\r\n inject,\r\n signal,\r\n WritableSignal\r\n} from '@angular/core';\r\nimport { GenericTagType } from '@fundamental-ngx/core';\r\nimport { LayoutSetting, MetaobjectDataModel, ColumnValueOfParametersPipe } from 'barsa-novin-ray-core';\r\nimport { ColumnRendererComponent } from 'barsa-sap-ui';\r\n\r\n@Component({\r\n selector: 'bdc-column-chip',\r\n templateUrl: './column-chip.component.html',\r\n styleUrls: ['./column-chip.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class ColumnChipComponent extends ColumnRendererComponent implements OnInit {\r\n @Input() layout94: LayoutSetting;\r\n @Input() parameters: MetaobjectDataModel;\r\n state: WritableSignal<GenericTagType> = signal('success');\r\n _columnValueOfParametersPipe = inject(ColumnValueOfParametersPipe);\r\n chipValue: WritableSignal<any> = signal(this.value);\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._setStateField(this.mo);\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n super.ngOnChanges(changes);\r\n const { mo } = changes;\r\n if (mo && !mo.firstChange) {\r\n this._setStateField(mo.currentValue);\r\n }\r\n }\r\n _setStateField(mo): void {\r\n const { State$Caption, StateField } = this.parameters;\r\n if (State$Caption || StateField) {\r\n const x = this._columnValueOfParametersPipe.transform(this.allColumns, mo, StateField, State$Caption, true);\r\n if (x !== this.state()) {\r\n this.state.set(x);\r\n }\r\n }\r\n }\r\n}\r\n","@if(value){\r\n<div\r\n fd-generic-tag\r\n [type]=\"state()\"\r\n [class.hidename]=\"!parameters?.ShowColumnCaption\"\r\n [name]=\"parameters?.ShowColumnCaption ? column.Alias : ''\"\r\n [value]=\"signalValue()\"\r\n [attr.title]=\"value\"\r\n></div>\r\n}\r\n","import { Component, Input, Renderer2, inject } from '@angular/core';\r\nimport { BaseComponent, MetaobjectDataModel } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-pie-progress',\r\n standalone: false,\r\n templateUrl: './pie-progress.component.html',\r\n styleUrl: './pie-progress.component.scss'\r\n})\r\nexport class PieProgressComponent extends BaseComponent {\r\n settings: PieProgressSettings;\r\n @Input() mo: MetaobjectDataModel;\r\n protected _renderer2 = inject(Renderer2);\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n if (this.settings.ChartHeight) {\r\n this._renderer2.setStyle(this._el.nativeElement, 'height', this.settings.ChartHeight);\r\n }\r\n }\r\n}\r\ninterface PieProgressSettings {\r\n ChartInstance: MetaobjectDataModel;\r\n ChartHeight: string;\r\n}\r\n"," @if(mo){\r\n <div *untilInView=\"el\" echartRenderer [chartInstanceId]=\"settings.ChartInstance.Id\" [parentMo]=\"mo\"></div>\r\n }\r\n","import { ComponentFactoryResolver, CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA, inject } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { FundamentalNgxCoreModule } from '@fundamental-ngx/core';\r\n\r\nimport { BarsaNovinRayCoreModule, BaseModule, DynamicComponentService } from 'barsa-novin-ray-core';\r\nimport { BarsaSapUiModule } from 'barsa-sap-ui';\r\nimport { BarsaTilesModule } from 'barsa-tiles';\r\nimport { BarsaEchartsModule } from 'barsa-echarts';\r\nimport { LoginFormComponent } from './login-form/login-form.component';\r\nimport { LoginSocialConncetionsComponent } from './login-social-conncetions/login-social-conncetions.component';\r\nimport { UiPersonComponent } from './ui-person/ui-person.component';\r\nimport { UiPersonPipe } from './ui-person/ui-person.pipe';\r\nimport { BarcodeReaderComponent } from './barcode-reader/barcode-reader.component';\r\nimport { BarcodeReaderDialogComponent } from './barcode-reader-dialog/barcode-reader-dialog.component';\r\nimport { BarcodeReaderVideoComponent } from './barcode-reader-video/barcode-reader-video.component';\r\nimport { UserMediaBaseService, WebBarcodeService } from './barcode.service';\r\nimport { SettingFormComponent } from './setting-form/setting-form.component';\r\nimport { MicroProcessFlowViewComponent } from './micro-process-flow-view/micro-process-flow-view.component';\r\nimport { UiEnumSegmentedButtonComponent } from './ui-enum-segmented-button/ui-enum-segmented-button.component';\r\nimport { TabProcessViewComponent } from './tab-process-view/tab-process-view.component';\r\nimport { UiTextFieldSearchComponent } from './ui-text-field-search/ui-text-field-search.component';\r\nimport { BarcodeFormatPipe } from './barcode-format-pipe';\r\nimport { ServiceDeskHeaderComponent } from './service-desk-header/service-desk-header.component';\r\nimport { CardContentImageAndTitleComponent } from './card-content-image-and-title/card-content-image-and-title.component';\r\nimport { CardHeaderLogoTitleSubtitleComponent } from './card-header-logo-title-subtitle/card-header-logo-title-subtitle.component';\r\nimport { FormContentQuickViewComponent } from './form-content-quick-view/form-content-quick-view.component';\r\nimport { ServiceDeskServcieDetailComponent } from './service-desk-servcie-detail/service-desk-servcie-detail.component';\r\nimport { ServiceDeskViewOfServicesComponent } from './service-desk-view-of-services/service-desk-view-of-services.component';\r\nimport { ServiceDeskCardContentMojavezhayAkhzShodeComponent } from './service-desk-card-content-mojavezhay-akhz-shode/service-desk-card-content-mojavezhay-akhz-shode.component';\r\nimport { CardHeaderBigImageTitleAndSubtitleComponent } from './card-header-big-image-title-and-subtitle/card-header-big-image-title-and-subtitle.component';\r\nimport { ServiceDeskFormLayoutContentMojavezComponent } from './service-desk-form-layout-content-mojavez/service-desk-form-layout-content-mojavez.component';\r\nimport { UlvContextMenuItemShowFileContentComponent } from './ulv-context-menu-item-show-file-content/ulv-context-menu-item-show-file-content.component';\r\nimport { ResendVerificationCodeComponent } from './resend-verification-code/resend-verification-code.component';\r\nimport { CheckboxButtonComponent } from './checkbox-button/checkbox-button.component';\r\nimport { ReportTabViewComponent } from './report-tab-view/report-tab-view.component';\r\nimport { ReportLineChartViewComponent } from './report-line-chart-view/report-line-chart-view.component';\r\nimport { CardHeaderKpiComponent } from './card-header-kpi/card-header-kpi.component';\r\nimport { CardContentLineChartComponent } from './card-content-line-chart/card-content-line-chart.component';\r\nimport { FormChartContentComponent } from './form-chart-content/form-chart-content.component';\r\nimport { TableViewVerticalColumnsComponent } from './table-view-vertical-columns/table-view-vertical-columns.component';\r\nimport { QueryStringObservableComponent } from './query-string-observable/query-string-observable.component';\r\nimport { QueryStringFormObservableComponent } from './query-string-form-observable/query-string-form-observable.component';\r\nimport { G4bDetailsComponent } from './g4b-details/g4b-details.component';\r\nimport { AvatarComponent } from './avatar/avatar.component';\r\nimport { G4bEstelamComponent } from './g4b-estelam/g4b-estelam.component';\r\nimport { TimerCountDownComponent } from './timer-count-down/timer-count-down.component';\r\nimport { MoInfoMicroProccessFlowComponent } from './mo-info-micro-proccess-flow/mo-info-micro-proccess-flow.component';\r\nimport { MicroProccessFlowComponent } from './micro-proccess-flow/micro-proccess-flow.component';\r\nimport { EnumInfoMicroProccessFlowComponent } from './enum-info-micro-proccess-flow/enum-info-micro-proccess-flow.component';\r\n\r\nimport { DataSourceToFlowItemPipe, MoListToFlowItemPipe } from './pipes';\r\nimport { UiPicturesCarouselComponent } from './ui-pictures-carousel/ui-pictures-carousel.component';\r\nimport { UiNumRateComponent } from './ui-num-rate/ui-num-rate.component';\r\nimport { MediaFileUploaderComponent } from './media-file-uploader/media-file-uploader.component';\r\nimport { SubformInRowReportComponent } from './subform-in-row-report/subform-in-row-report.component';\r\nimport { MasterDetailCardFormComponent } from './master-detail-card-form/master-detail-card-form.component';\r\nimport { ReportButtonViewComponent } from './report-button-view/report-button-view.component';\r\nimport { BarsaDocumentsComponent } from './barsa-documents/barsa-documents.component';\r\nimport { BarsaDocumentListItemComponent } from './barsa-document-list-item/barsa-document-list-item.component';\r\nimport { AcceptRejectComponent } from './accept-reject/accept-reject.component';\r\nimport { FooterComponent } from './footer/footer.component';\r\nimport { GeographicLocationComponent } from './geographic-location/geographic-location.component';\r\nimport { BarsaGeographicLocationComponent } from './barsa-geographic-location/barsa-geographic-location.component';\r\nimport { TokenReportViewComponent } from './token-report-view/token-report-view.component';\r\nimport { ColumnFormViewerComponent } from './column-form-viewer/column-form-viewer.component';\r\nimport { PlatformInputGroupModule } from '@fundamental-ngx/platform';\r\nimport { FormReportViewComponent } from './form-report-view/form-report-view.component';\r\nimport { FormReportViewItemComponent } from './form-report-view-item/form-report-view-item.component';\r\nimport { FormCardComponent } from './form-card/form-card.component';\r\nimport { ColumnProgressbarComponent } from './column-progressbar/column-progressbar.component';\r\nimport { ColumnChipComponent } from '../public-api';\r\nimport { PieProgressComponent } from './pie-progress/pie-progress.component';\r\n\r\nconst components = [\r\n LoginFormComponent,\r\n LoginSocialConncetionsComponent,\r\n UiPersonComponent,\r\n BarcodeReaderComponent,\r\n BarcodeReaderDialogComponent,\r\n BarcodeReaderVideoComponent,\r\n SettingFormComponent,\r\n MicroProcessFlowViewComponent,\r\n UiEnumSegmentedButtonComponent,\r\n TabProcessViewComponent,\r\n UiTextFieldSearchComponent,\r\n ServiceDeskHeaderComponent,\r\n CardContentImageAndTitleComponent,\r\n CardHeaderLogoTitleSubtitleComponent,\r\n FormContentQuickViewComponent,\r\n ServiceDeskServcieDetailComponent,\r\n ServiceDeskViewOfServicesComponent,\r\n ServiceDeskCardContentMojavezhayAkhzShodeComponent,\r\n CardHeaderBigImageTitleAndSubtitleComponent,\r\n ServiceDeskFormLayoutContentMojavezComponent,\r\n UlvContextMenuItemShowFileContentComponent,\r\n ResendVerificationCodeComponent,\r\n CheckboxButtonComponent,\r\n ReportTabViewComponent,\r\n ReportLineChartViewComponent,\r\n CardHeaderKpiComponent,\r\n CardContentLineChartComponent,\r\n FormChartContentComponent,\r\n TableViewVerticalColumnsComponent,\r\n QueryStringObservableComponent,\r\n QueryStringFormObservableComponent,\r\n G4bDetailsComponent,\r\n AvatarComponent,\r\n G4bEstelamComponent,\r\n TimerCountDownComponent,\r\n MoInfoMicroProccessFlowComponent,\r\n MicroProccessFlowComponent,\r\n EnumInfoMicroProccessFlowComponent,\r\n UiPicturesCarouselComponent,\r\n UiNumRateComponent,\r\n MediaFileUploaderComponent,\r\n SubformInRowReportComponent,\r\n MasterDetailCardFormComponent,\r\n ReportButtonViewComponent,\r\n BarsaDocumentsComponent,\r\n BarsaDocumentListItemComponent,\r\n AcceptRejectComponent,\r\n FooterComponent,\r\n GeographicLocationComponent,\r\n BarsaGeographicLocationComponent,\r\n TokenReportViewComponent,\r\n ColumnFormViewerComponent,\r\n FormReportViewComponent,\r\n FormReportViewItemComponent,\r\n FormCardComponent,\r\n ColumnProgressbarComponent,\r\n ColumnChipComponent,\r\n PieProgressComponent\r\n];\r\n\r\nconst pipes = [UiPersonPipe, BarcodeFormatPipe, MoListToFlowItemPipe, DataSourceToFlowItemPipe];\r\n@NgModule({\r\n declarations: [...components, ...pipes, PieProgressComponent],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA],\r\n imports: [\r\n CommonModule,\r\n BarsaNovinRayCoreModule,\r\n ReactiveFormsModule,\r\n BarsaSapUiModule,\r\n BarsaEchartsModule,\r\n BarsaTilesModule,\r\n FundamentalNgxCoreModule,\r\n PlatformInputGroupModule,\r\n FormsModule\r\n ],\r\n providers: [UserMediaBaseService, WebBarcodeService],\r\n exports: [...components]\r\n})\r\nexport class BarsaDevelopComponentsModule extends BaseModule {\r\n protected dcm: DynamicComponentService;\r\n protected cfr: ComponentFactoryResolver;\r\n\r\n protected dynamicComponents = [...components];\r\n\r\n /** Inserted by Angular inject() migration for backwards compatibility */\r\n \r\n constructor() {\r\n const dcm = inject(DynamicComponentService);\r\n const cfr = inject(ComponentFactoryResolver);\r\n\r\n super(dcm, cfr, 'BarsaDevelopComponentsModule');\r\n \r\n this.dcm = dcm;\r\n this.cfr = cfr;\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i5","i1","i2","i3","i4","debounceTime","i6.BarcodeReaderVideoComponent","i7","i8","i9","i11","i12","i13","i15","i16.UiPersonPipe","takeUntil","i6","i1.MicroProccessFlowComponent","i4.MoListToFlowItemPipe","i3.DataSourceToFlowItemPipe","i10","i2.BarsaDocumentListItemComponent","i4.BarsaGeographicLocationComponent","i2.FormReportViewItemComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"barsa-develop-components.mjs","sources":["../../../projects/barsa-develop-components/src/lib/ui-text-field-search/ui-text-field-search.component.ts","../../../projects/barsa-develop-components/src/lib/ui-text-field-search/ui-text-field-search.component.html","../../../projects/barsa-develop-components/src/lib/tab-process-view/tab-process-view.component.ts","../../../projects/barsa-develop-components/src/lib/tab-process-view/tab-process-view.component.html","../../../projects/barsa-develop-components/src/lib/ui-enum-segmented-button/ui-enum-segmented-button.component.ts","../../../projects/barsa-develop-components/src/lib/ui-enum-segmented-button/ui-enum-segmented-button.component.html","../../../projects/barsa-develop-components/src/lib/micro-process-flow-view/micro-process-flow-view.component.ts","../../../projects/barsa-develop-components/src/lib/micro-process-flow-view/micro-process-flow-view.component.html","../../../projects/barsa-develop-components/src/lib/setting-form/setting-form.component.ts","../../../projects/barsa-develop-components/src/lib/setting-form/setting-form.component.html","../../../projects/barsa-develop-components/src/lib/barcode.service.ts","../../../projects/barsa-develop-components/src/lib/barcode-reader-video/barcode-reader-video.component.ts","../../../projects/barsa-develop-components/src/lib/barcode-reader-video/barcode-reader-video.component.html","../../../projects/barsa-develop-components/src/lib/barcode-reader-dialog/barcode-reader-dialog.component.ts","../../../projects/barsa-develop-components/src/lib/barcode-reader-dialog/barcode-reader-dialog.component.html","../../../projects/barsa-develop-components/src/lib/barcode-reader/barcode-reader.component.ts","../../../projects/barsa-develop-components/src/lib/barcode-reader/barcode-reader.component.html","../../../projects/barsa-develop-components/src/lib/ui-person/ui-person.pipe.ts","../../../projects/barsa-develop-components/src/lib/ui-person/ui-person.component.ts","../../../projects/barsa-develop-components/src/lib/ui-person/ui-person.component.html","../../../projects/barsa-develop-components/src/lib/login-social-conncetions/login-social-conncetions.component.ts","../../../projects/barsa-develop-components/src/lib/login-social-conncetions/login-social-conncetions.component.html","../../../projects/barsa-develop-components/src/lib/login-form/login-form.component.ts","../../../projects/barsa-develop-components/src/lib/login-form/login-form.component.html","../../../projects/barsa-develop-components/src/lib/service-desk-header/service-desk-header.component.ts","../../../projects/barsa-develop-components/src/lib/service-desk-header/service-desk-header.component.html","../../../projects/barsa-develop-components/src/lib/card-content-image-and-title/card-content-image-and-title.component.ts","../../../projects/barsa-develop-components/src/lib/card-content-image-and-title/card-content-image-and-title.component.html","../../../projects/barsa-develop-components/src/lib/card-header-logo-title-subtitle/card-header-logo-title-subtitle.component.ts","../../../projects/barsa-develop-components/src/lib/card-header-logo-title-subtitle/card-header-logo-title-subtitle.component.html","../../../projects/barsa-develop-components/src/lib/form-content-quick-view/form-content-quick-view.component.ts","../../../projects/barsa-develop-components/src/lib/form-content-quick-view/form-content-quick-view.component.html","../../../projects/barsa-develop-components/src/lib/service-desk-servcie-detail/service-desk-servcie-detail.component.ts","../../../projects/barsa-develop-components/src/lib/service-desk-servcie-detail/service-desk-servcie-detail.component.html","../../../projects/barsa-develop-components/src/lib/service-desk-view-of-services/service-desk-view-of-services.component.ts","../../../projects/barsa-develop-components/src/lib/service-desk-view-of-services/service-desk-view-of-services.component.html","../../../projects/barsa-develop-components/src/lib/service-desk-card-content-mojavezhay-akhz-shode/service-desk-card-content-mojavezhay-akhz-shode.component.ts","../../../projects/barsa-develop-components/src/lib/service-desk-card-content-mojavezhay-akhz-shode/service-desk-card-content-mojavezhay-akhz-shode.component.html","../../../projects/barsa-develop-components/src/lib/card-header-big-image-title-and-subtitle/card-header-big-image-title-and-subtitle.component.ts","../../../projects/barsa-develop-components/src/lib/card-header-big-image-title-and-subtitle/card-header-big-image-title-and-subtitle.component.html","../../../projects/barsa-develop-components/src/lib/service-desk-form-layout-content-mojavez/service-desk-form-layout-content-mojavez.component.ts","../../../projects/barsa-develop-components/src/lib/service-desk-form-layout-content-mojavez/service-desk-form-layout-content-mojavez.component.html","../../../projects/barsa-develop-components/src/lib/ulv-context-menu-item-show-file-content/ulv-context-menu-item-show-file-content.component.ts","../../../projects/barsa-develop-components/src/lib/ulv-context-menu-item-show-file-content/ulv-context-menu-item-show-file-content.component.html","../../../projects/barsa-develop-components/src/lib/resend-verification-code/resend-verification-code.component.ts","../../../projects/barsa-develop-components/src/lib/resend-verification-code/resend-verification-code.component.html","../../../projects/barsa-develop-components/src/lib/checkbox-button/checkbox-button.component.ts","../../../projects/barsa-develop-components/src/lib/checkbox-button/checkbox-button.component.html","../../../projects/barsa-develop-components/src/lib/barcode-format-pipe.ts","../../../projects/barsa-develop-components/src/lib/report-tab-view/report-tab-view.component.ts","../../../projects/barsa-develop-components/src/lib/report-tab-view/report-tab-view.component.html","../../../projects/barsa-develop-components/src/lib/report-line-chart-view/report-line-chart-view.component.ts","../../../projects/barsa-develop-components/src/lib/report-line-chart-view/report-line-chart-view.component.html","../../../projects/barsa-develop-components/src/lib/card-header-kpi/card-header-kpi.component.ts","../../../projects/barsa-develop-components/src/lib/card-header-kpi/card-header-kpi.component.html","../../../projects/barsa-develop-components/src/lib/card-content-line-chart/card-content-line-chart.component.ts","../../../projects/barsa-develop-components/src/lib/card-content-line-chart/card-content-line-chart.component.html","../../../projects/barsa-develop-components/src/lib/form-chart-content/form-chart-content.component.ts","../../../projects/barsa-develop-components/src/lib/form-chart-content/form-chart-content.component.html","../../../projects/barsa-develop-components/src/lib/table-view-vertical-columns/table-view-vertical-columns.component.ts","../../../projects/barsa-develop-components/src/lib/table-view-vertical-columns/table-view-vertical-columns.component.html","../../../projects/barsa-develop-components/src/lib/query-string-observable/query-string-observable.component.ts","../../../projects/barsa-develop-components/src/lib/query-string-observable/query-string-observable.component.html","../../../projects/barsa-develop-components/src/lib/query-string-form-observable/query-string-form-observable.component.ts","../../../projects/barsa-develop-components/src/lib/query-string-form-observable/query-string-form-observable.component.html","../../../projects/barsa-develop-components/src/lib/g4b-details/g4b-details.component.ts","../../../projects/barsa-develop-components/src/lib/g4b-details/g4b-details.component.html","../../../projects/barsa-develop-components/src/lib/avatar/avatar.component.ts","../../../projects/barsa-develop-components/src/lib/avatar/avatar.component.html","../../../projects/barsa-develop-components/src/lib/g4b-estelam/g4b-estelam.component.ts","../../../projects/barsa-develop-components/src/lib/g4b-estelam/g4b-estelam.component.html","../../../projects/barsa-develop-components/src/lib/timer-count-down/timer-count-down.component.ts","../../../projects/barsa-develop-components/src/lib/timer-count-down/timer-count-down.component.html","../../../projects/barsa-develop-components/src/lib/micro-proccess-flow/micro-proccess-flow.component.ts","../../../projects/barsa-develop-components/src/lib/micro-proccess-flow/micro-proccess-flow.component.html","../../../projects/barsa-develop-components/src/lib/pipes/mo-list-to-flow-item.pipe.ts","../../../projects/barsa-develop-components/src/lib/mo-info-micro-proccess-flow/mo-info-micro-proccess-flow.component.ts","../../../projects/barsa-develop-components/src/lib/mo-info-micro-proccess-flow/mo-info-micro-proccess-flow.component.html","../../../projects/barsa-develop-components/src/lib/pipes/datasource-to-flow-item.ts","../../../projects/barsa-develop-components/src/lib/enum-info-micro-proccess-flow/enum-info-micro-proccess-flow.component.ts","../../../projects/barsa-develop-components/src/lib/enum-info-micro-proccess-flow/enum-info-micro-proccess-flow.component.html","../../../projects/barsa-develop-components/src/lib/ui-pictures-carousel/ui-pictures-carousel.component.ts","../../../projects/barsa-develop-components/src/lib/ui-pictures-carousel/ui-pictures-carousel.component.html","../../../projects/barsa-develop-components/src/lib/ui-num-rate/ui-num-rate.component.ts","../../../projects/barsa-develop-components/src/lib/ui-num-rate/ui-num-rate.component.html","../../../projects/barsa-develop-components/src/lib/media-file-uploader/media-file-uploader.component.ts","../../../projects/barsa-develop-components/src/lib/media-file-uploader/media-file-uploader.component.html","../../../projects/barsa-develop-components/src/lib/subform-in-row-report/subform-in-row-report.component.ts","../../../projects/barsa-develop-components/src/lib/subform-in-row-report/subform-in-row-report.component.html","../../../projects/barsa-develop-components/src/lib/master-detail-card-form/master-detail-card-form.component.ts","../../../projects/barsa-develop-components/src/lib/master-detail-card-form/master-detail-card-form.component.html","../../../projects/barsa-develop-components/src/lib/report-button-view/report-button-view.component.ts","../../../projects/barsa-develop-components/src/lib/report-button-view/report-button-view.component.html","../../../projects/barsa-develop-components/src/lib/barsa-document-list-item/barsa-document-list-item.component.ts","../../../projects/barsa-develop-components/src/lib/barsa-document-list-item/barsa-document-list-item.component.html","../../../projects/barsa-develop-components/src/lib/barsa-documents/barsa-documents.component.ts","../../../projects/barsa-develop-components/src/lib/barsa-documents/barsa-documents.component.html","../../../projects/barsa-develop-components/src/lib/accept-reject/accept-reject.component.ts","../../../projects/barsa-develop-components/src/lib/accept-reject/accept-reject.component.html","../../../projects/barsa-develop-components/src/lib/footer/footer.component.ts","../../../projects/barsa-develop-components/src/lib/footer/footer.component.html","../../../projects/barsa-develop-components/src/lib/barsa-geographic-location/barsa-geographic-location.component.ts","../../../projects/barsa-develop-components/src/lib/barsa-geographic-location/barsa-geographic-location.component.html","../../../projects/barsa-develop-components/src/lib/geographic-location/geographic-location.component.ts","../../../projects/barsa-develop-components/src/lib/geographic-location/geographic-location.component.html","../../../projects/barsa-develop-components/src/lib/token-report-view/token-report-view.component.ts","../../../projects/barsa-develop-components/src/lib/token-report-view/token-report-view.component.html","../../../projects/barsa-develop-components/src/lib/column-form-viewer/column-form-viewer.component.ts","../../../projects/barsa-develop-components/src/lib/column-form-viewer/column-form-viewer.component.html","../../../projects/barsa-develop-components/src/lib/form-report-view-item/form-report-view-item.component.ts","../../../projects/barsa-develop-components/src/lib/form-report-view-item/form-report-view-item.component.html","../../../projects/barsa-develop-components/src/lib/form-report-view/form-report-view.component.ts","../../../projects/barsa-develop-components/src/lib/form-report-view/form-report-view.component.html","../../../projects/barsa-develop-components/src/lib/form-card/form-card.component.ts","../../../projects/barsa-develop-components/src/lib/form-card/form-card.component.html","../../../projects/barsa-develop-components/src/lib/column-progressbar/column-progressbar.component.ts","../../../projects/barsa-develop-components/src/lib/column-progressbar/column-progressbar.component.html","../../../projects/barsa-develop-components/src/lib/column-chip/column-chip.component.ts","../../../projects/barsa-develop-components/src/lib/column-chip/column-chip.component.html","../../../projects/barsa-develop-components/src/lib/pie-progress/pie-progress.component.ts","../../../projects/barsa-develop-components/src/lib/pie-progress/pie-progress.component.html","../../../projects/barsa-develop-components/src/lib/barsa-develop-components.module.ts","../../../projects/barsa-develop-components/src/barsa-develop-components.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { MetaobjectDataModel } from 'barsa-novin-ray-core';\r\nimport { DeviceInfoFieldBaseComponent } from 'barsa-sap-ui';\r\nimport { debounceTime, distinctUntilChanged, Subject } from 'rxjs';\r\n@Component({\r\n selector: 'bdc-ui-text-field-search',\r\n templateUrl: './ui-text-field-search.component.html',\r\n styleUrls: ['./ui-text-field-search.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class UiTextFieldSearchComponent extends DeviceInfoFieldBaseComponent {\r\n @Input() value: string;\r\n _debouncer = new Subject<string>();\r\n parameters: UiTextFieldSearchSettings;\r\n @Input() get MinSize(): { width: number; height: number } {\r\n // this call from outside.corejs\r\n return { width: 0, height: 30 };\r\n }\r\n searchTerm: string;\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._debouncer.pipe(debounceTime(300), distinctUntilChanged()).subscribe((value) => {\r\n this.value = value;\r\n this.valueChange.emit(value);\r\n });\r\n }\r\n onAutoSearch(): void {\r\n this.parameters?.RaiseValueChangeOnlyClick === false && this._valueChange(this.searchTerm);\r\n }\r\n onSearchSubmit(): void {\r\n this._valueChange(this.searchTerm);\r\n }\r\n _valueChange(value: string): void {\r\n this._debouncer.next(value);\r\n }\r\n}\r\ninterface UiTextFieldSearchSettings extends MetaobjectDataModel {\r\n RaiseValueChangeOnlyClick: boolean;\r\n}\r\n","<fd-input-group\r\n style=\"width: 100%\"\r\n fd-toolbar-item\r\n type=\"search\"\r\n glyph=\"search\"\r\n [glyphAriaLabel]=\"'Search' | bbbTranslate\"\r\n [placeholder]=\"'Search' | bbbTranslate\"\r\n [button]=\"true\"\r\n [disabled]=\"false\"\r\n [(ngModel)]=\"searchTerm\"\r\n fdCozy\r\n (addOnButtonClicked)=\"onSearchSubmit()\"\r\n (keydown.enter)=\"onSearchSubmit()\"\r\n (keyup)=\"onAutoSearch()\"\r\n>\r\n</fd-input-group>\r\n","import { ChangeDetectionStrategy, Component, OnInit, ViewChild } from '@angular/core';\r\nimport { takeUntil } from 'rxjs/operators';\r\n\r\nimport { ReportViewBaseComponent, MetaobjectDataModel } from 'barsa-novin-ray-core';\r\nimport { TabProcessViewSetting } from '../models';\r\nimport { TabListComponent, TabPanelComponent } from '@fundamental-ngx/core';\r\n@Component({\r\n selector: 'bdc-tab-process-view',\r\n templateUrl: './tab-process-view.component.html',\r\n styleUrls: ['./tab-process-view.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class TabProcessViewComponent extends ReportViewBaseComponent<TabProcessViewSetting> implements OnInit {\r\n @ViewChild(TabListComponent) tabList: TabListComponent;\r\n fieldTitle: string;\r\n fieldIcon: string;\r\n fieldState: string;\r\n mode: string;\r\n arrowRight: string;\r\n fieldSubtitle: string;\r\n defaultIcon: string;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.arrowRight = this.rtl ? 'navigation-left-arrow' : 'navigation-right-arrow';\r\n this.fieldTitle = this.viewSetting.FieldTitle;\r\n this.fieldSubtitle = this.viewSetting.FieldSubtitle;\r\n this.fieldIcon = this.viewSetting.FieldIcon;\r\n this.defaultIcon = this.viewSetting.DefaultIcon;\r\n this._ulvMainService.moDataList$.pipe(takeUntil(this._onDestroy$)).subscribe((moDataList) => {\r\n if (moDataList) {\r\n const selectedIndex = moDataList.findIndex((c) => c.$IsChecked);\r\n if (this.tabList && selectedIndex > -1) {\r\n setTimeout(() => this.tabList.tabPanels.toArray()[selectedIndex].open(true), 0);\r\n }\r\n }\r\n });\r\n }\r\n onTabChange2(e: MetaobjectDataModel): void {\r\n const index = this.moDataList.findIndex((c) => c.Id === e.Id);\r\n const mo = this.moDataList[index];\r\n if (mo.$IsChecked) {\r\n return;\r\n }\r\n super.onRowCheck({ mo, index });\r\n }\r\n onTabChange(e: TabPanelComponent): void {\r\n const index = this.moDataList.findIndex((c) => c.Id === e.id);\r\n const mo = this.moDataList[index];\r\n super.onRowCheck({ mo, index });\r\n }\r\n}\r\n","@if (moDataList?.length) {\r\n<fd-tab-list\r\n mode=\"process\"\r\n [style.min-height]=\"moDataList?.length ? '3.8rem' : null\"\r\n [expandOverflowText]=\"'More' | bbbTranslate\"\r\n>\r\n @for (item of moDataList; track item; let index = $index; let last = $last) {\r\n <fd-tab [id]=\"item.Id\" [active]=\"item.$IsChecked\">\r\n <ng-template fd-tab-title-template>\r\n <span\r\n (click)=\"onTabChange2(item)\"\r\n fd-tab-icon\r\n [icon]=\"(fieldIcon | rval: item:allColumns) ? (fieldIcon | rval: item:allColumns) : defaultIcon\"\r\n ></span>\r\n <div fd-tab-process (click)=\"onTabChange2(item)\">\r\n <span fd-tab-label>{{ fieldTitle | rval: item:allColumns }}</span>\r\n <span fd-tab-label>{{ fieldSubtitle | rval: item:allColumns }}</span>\r\n </div>\r\n </ng-template>\r\n </fd-tab>\r\n }\r\n</fd-tab-list>\r\n} @else {\r\n<div style=\"min-height: 3.8rem; background-color: var(--sapObjectHeader_Background)\"></div>\r\n}\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\nimport { FieldBaseComponent } from 'barsa-novin-ray-core';\r\n@Component({\r\n selector: 'bdc-ui-enum-segmented-button',\r\n templateUrl: './ui-enum-segmented-button.component.html',\r\n styleUrls: ['./ui-enum-segmented-button.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class UiEnumSegmentedButtonComponent extends FieldBaseComponent {\r\n caption: string;\r\n\r\n onValueChange(value): void {\r\n const selectedValue = value;\r\n this.setValue(selectedValue);\r\n }\r\n\r\n protected setValue(selectedValue: any): void {\r\n this.value = selectedValue;\r\n this.valueChange.emit(this.value);\r\n this.fireContextEvent('select', this.value);\r\n }\r\n}\r\n","<fd-segmented-button style=\"width: 100%\" [(ngModel)]=\"value\" (ngModelChange)=\"onValueChange($event)\">\r\n @for (item of context.store.data[context.store.root]; track item) { @if (item.id !== '0') {\r\n <button\r\n [disabled]=\"(disableOrReadonly$ | async) === true ? true : false\"\r\n fd-button\r\n [label]=\"item.txt\"\r\n [value]=\"item.id\"\r\n ></button>\r\n } }\r\n</fd-segmented-button>\r\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\nimport { ReportViewBaseComponent } from 'barsa-novin-ray-core';\r\n\r\nimport { MicroProcessFlowViewSetting } from '../models';\r\n@Component({\r\n selector: 'bdc-micro-process-flow-view',\r\n templateUrl: './micro-process-flow-view.component.html',\r\n styleUrls: ['./micro-process-flow-view.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class MicroProcessFlowViewComponent\r\n extends ReportViewBaseComponent<MicroProcessFlowViewSetting>\r\n implements OnInit\r\n{\r\n fieldTitle: string;\r\n fieldIcon: string;\r\n fieldState: string;\r\n mode: string;\r\n arrowRight: string;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.arrowRight = this.rtl ? 'navigation-left-arrow' : 'navigation-right-arrow';\r\n this.fieldTitle = this.viewSetting.FieldTitle;\r\n this.fieldIcon = this.viewSetting.FieldIcon;\r\n this.fieldState = this.viewSetting.FieldState;\r\n this.mode = this.viewSetting.ModeValue$Caption;\r\n }\r\n}\r\n","<fd-micro-process-flow style=\"max-width: 100%\">\r\n @for (item of moDataList; track item; let index = $index) {\r\n <fd-micro-process-flow-item>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n button;\r\n context: {\r\n $implicit: item,\r\n index: index,\r\n arrow: arrowRight\r\n }\r\n \"\r\n ></ng-container>\r\n </fd-micro-process-flow-item>\r\n }\r\n</fd-micro-process-flow>\r\n<ng-template #button let-mo let-index=\"index\" let-arrow=\"arrow\">\r\n <button\r\n fd-button\r\n (click)=\"onRowCheck({mo, index})\"\r\n fd-micro-process-flow-focusable-item\r\n [label]=\"fieldTitle | rval: mo:allColumns\"\r\n [fdType]=\"fieldState | rval: mo:allColumns\"\r\n [glyph]=\"fieldIcon | rval: mo:allColumns\"\r\n ></button>\r\n</ng-template>\r\n","import { AfterViewInit, ChangeDetectionStrategy, Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { FormBaseComponent, FormPanelService } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-setting-form',\r\n templateUrl: './setting-form.component.html',\r\n styleUrls: ['./setting-form.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [FormPanelService],\r\n standalone: false\r\n})\r\nexport class SettingFormComponent extends FormBaseComponent implements OnInit, AfterViewInit, OnDestroy {\r\n deviceSize: 'xl' | 'md' | 'sm' = 'xl';\r\n selectedSetting = false;\r\n rtl$: Observable<boolean>;\r\n groupSettingFieldCaption = 'گروه تنظیمات2';\r\n objectSettingFieldCaption = 'شی تنظیمات';\r\n private _groupSettingControlUi: any;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.rtl$ = this._portalService.rtl$;\r\n this._portalService.deviceSize$.pipe(takeUntil(this._onDestroy$)).subscribe((deviceSize) => {\r\n switch (deviceSize) {\r\n case 's':\r\n this.deviceSize = 'sm';\r\n break;\r\n case 'm':\r\n this.deviceSize = 'md';\r\n break;\r\n default:\r\n this.deviceSize = 'xl';\r\n }\r\n });\r\n }\r\n ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n const fieldUi: any = Object.values(this.listFieldUi).find(\r\n (c: any) => c.Setting.ControlFieldCaption === this.groupSettingFieldCaption\r\n );\r\n if (fieldUi) {\r\n fieldUi.viewerControl.on({\r\n rowselect: this._setSelectedSetting.bind(this)\r\n });\r\n }\r\n this._groupSettingControlUi = fieldUi;\r\n }\r\n ngOnDestroy(): void {\r\n super.ngOnDestroy();\r\n if (this._groupSettingControlUi) {\r\n this._groupSettingControlUi.viewerControl.un('rowselect', this._setSelectedSetting);\r\n }\r\n }\r\n onSettingClick(): void {}\r\n onBack(): void {\r\n this.selectedSetting = false;\r\n }\r\n _setSelectedSetting(): void {\r\n this.selectedSetting = true;\r\n }\r\n}\r\n","@if (mo$ | async; as mo) { @if (layout94$ | async; as layout) { @if (deviceSize === 'sm') {\r\n<div style=\"display: flex; flex-direction: column\">\r\n @if (selectedSetting) {\r\n <div style=\"width: 100%\">\r\n <button\r\n fd-button\r\n [fdType]=\"'transparent'\"\r\n [glyph]=\"(rtl$ | async)!! ? 'arrow-left' : 'arrow-right'\"\r\n (click)=\"onBack()\"\r\n ></button>\r\n </div>\r\n }\r\n <div [class.hide]=\"selectedSetting\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderSetting;\r\n context: {\r\n $implicit: layout,\r\n isMobile: true\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n <div [class.hide]=\"!selectedSetting\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderForm;\r\n context: {\r\n $implicit: layout,\r\n isMobile: true\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n</div>\r\n} @else {\r\n<fd-dynamic-side-content [size]=\"deviceSize\">\r\n <fd-dynamic-side-content-side>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderSetting;\r\n context: {\r\n $implicit: layout,\r\n isMobile: false\r\n }\r\n \"\r\n ></ng-container>\r\n </fd-dynamic-side-content-side>\r\n <fd-dynamic-side-content-main>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderForm;\r\n context: {\r\n $implicit: layout,\r\n isMobile: false\r\n }\r\n \"\r\n ></ng-container>\r\n </fd-dynamic-side-content-main>\r\n</fd-dynamic-side-content>\r\n} }\r\n<ng-template #renderForm let-layout let-isMobile=\"isMobile\">\r\n @if (objectSettingFieldCaption | controlUi: layout; as layoutConfig) {\r\n <bsu-layout-control\r\n (click)=\"onSettingClick()\"\r\n class=\"form-setting\"\r\n [class.is-mobile]=\"isMobile\"\r\n [caption]=\"objectSettingFieldCaption\"\r\n [config]=\"layoutConfig\"\r\n [focus]=\"true\"\r\n ></bsu-layout-control>\r\n }\r\n</ng-template>\r\n<ng-template #renderSetting let-layout let-isMobile=\"isMobile\">\r\n @if (groupSettingFieldCaption | controlUi: layout; as layoutConfig) {\r\n <bsu-layout-control\r\n class=\"list-setting\"\r\n [class.is-mobile]=\"isMobile\"\r\n [caption]=\"groupSettingFieldCaption\"\r\n [config]=\"layoutConfig\"\r\n ></bsu-layout-control>\r\n }\r\n</ng-template>\r\n} @else {\r\n<bsu-mask></bsu-mask>\r\n}\r\n","import { Result, Exception, DecodeHintType, BarcodeFormat } from '@zxing/library';\r\nimport { ChecksumException, FormatException, NotFoundException } from '@zxing/library';\r\nimport { BrowserCodeReader, BrowserMultiFormatReader, IScannerControls } from '@zxing/browser';\r\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\r\nimport { LogService } from 'barsa-novin-ray-core';\r\nimport { filter, map, shareReplay } from 'rxjs/operators';\r\nimport { Injectable, inject } from '@angular/core';\r\n\r\nexport interface ResultAndError {\r\n result?: Result;\r\n error?: Exception;\r\n}\r\n\r\n/**\r\n * Based on zxing-typescript BrowserCodeReader\r\n */\r\nexport class BrowserMultiFormatContinuousReader extends BrowserMultiFormatReader {\r\n /**\r\n * Allows to call scanner controls API while scanning.\r\n * Will be undefined if no scanning is runnig.\r\n */\r\n protected scannerControls: IScannerControls | undefined;\r\n\r\n /**\r\n * Returns the code reader scanner controls.\r\n */\r\n public getScannerControls(): IScannerControls {\r\n if (!this.scannerControls) {\r\n throw new Error('No scanning is running at the time.');\r\n }\r\n return this.scannerControls;\r\n }\r\n\r\n /**\r\n * Starts the decoding from the current or a new video element.\r\n *\r\n * @param deviceId The device's to be used Id\r\n * @param previewEl A new video element\r\n */\r\n public async scanFromDeviceObservable(\r\n deviceId?: string,\r\n previewEl?: HTMLVideoElement\r\n ): Promise<Observable<ResultAndError>> {\r\n const scan$ = new BehaviorSubject<ResultAndError>({});\r\n let ctrls;\r\n\r\n try {\r\n ctrls = await this.decodeFromVideoDevice(deviceId, previewEl, (result, error) => {\r\n if (!error) {\r\n scan$.next({ result });\r\n return;\r\n }\r\n console.error(error);\r\n const errorName = error.name;\r\n\r\n // stream cannot stop on fails.\r\n if (\r\n // scan Failure - found nothing, no error\r\n errorName === NotFoundException.name ||\r\n // scan Error - found the QR but got error on decoding\r\n errorName === ChecksumException.name ||\r\n errorName === FormatException.name ||\r\n error.message.includes('No MultiFormat Readers were able to detect the code.')\r\n ) {\r\n scan$.next({ error });\r\n return;\r\n }\r\n\r\n // probably fatal error\r\n scan$.error(error);\r\n this.scannerControls?.stop();\r\n this.scannerControls = undefined;\r\n return;\r\n });\r\n\r\n this.scannerControls = {\r\n ...ctrls,\r\n stop(): void {\r\n ctrls.stop();\r\n scan$.complete();\r\n }\r\n };\r\n } catch (e) {\r\n scan$.error(e);\r\n this.scannerControls?.stop();\r\n this.scannerControls = undefined;\r\n }\r\n\r\n return scan$.asObservable();\r\n }\r\n}\r\n@Injectable()\r\nexport class UserMediaBaseService {\r\n hasNavigator = false;\r\n isMediaDevicesSupported = false;\r\n\r\n _camerasSource = new BehaviorSubject<MediaDeviceInfo[]>([]);\r\n cameras$ = this._camerasSource\r\n .asObservable()\r\n .pipe(shareReplay(1))\r\n .pipe(filter((items) => items && items.length > 0));\r\n\r\n _permissionResponse = new Subject<DOMException>();\r\n permissionResponse$ = this._permissionResponse.asObservable();\r\n\r\n _hasDevicesSource = new BehaviorSubject<boolean>(false);\r\n hasDevices$ = this._hasDevicesSource.asObservable().pipe(shareReplay(1));\r\n\r\n _permissionSource = new BehaviorSubject<boolean>(false);\r\n permission$ = this._permissionSource.asObservable().pipe();\r\n\r\n _camerasNotFoundSource = new Subject<DOMException>();\r\n camerasNotFound$ = this._camerasNotFoundSource.asObservable().pipe(shareReplay(1));\r\n\r\n private _logService = inject(LogService);\r\n\r\n constructor() {\r\n this.hasNavigator = typeof navigator !== 'undefined';\r\n this.isMediaDevicesSupported = this.hasNavigator && !!navigator.mediaDevices;\r\n }\r\n\r\n async updateVideoInputDevices(): Promise<MediaDeviceInfo[]> {\r\n // permissions aren't needed to get devices, but to access them and their info\r\n const devices = (await BrowserCodeReader.listVideoInputDevices()) || [];\r\n const hasDevices = devices && devices.length > 0;\r\n\r\n // stores discovered devices and updates information\r\n this._hasDevicesSource.next(hasDevices);\r\n this._camerasSource.next([...devices]);\r\n\r\n if (!hasDevices) {\r\n const err = {\r\n code: DOMException.NOT_FOUND_ERR,\r\n message: 'Device not found.'\r\n };\r\n this._camerasNotFoundSource.next(err as DOMException);\r\n }\r\n\r\n return devices;\r\n }\r\n\r\n /**\r\n * Gets and registers all cammeras.\r\n */\r\n async askForPermission(): Promise<boolean> {\r\n if (!this.hasNavigator) {\r\n this._logService.error('user media', `Can't ask permission, navigator is not present.`);\r\n this._setPermission(false);\r\n }\r\n\r\n if (!this.isMediaDevicesSupported) {\r\n this._logService.error('user media', `Can't get user media, this is not supported.`);\r\n this._setPermission(false);\r\n }\r\n\r\n let stream: MediaStream | undefined;\r\n let permission = false;\r\n\r\n try {\r\n // Will try to ask for permission\r\n stream = await this._getAnyVideoDevice();\r\n permission = !!stream;\r\n } catch (err) {\r\n this._handlePermissionException(err as DOMException);\r\n } finally {\r\n this.terminateStream(stream);\r\n }\r\n\r\n this._setPermission(permission);\r\n return permission;\r\n }\r\n protected terminateStream(stream: MediaStream | undefined): void {\r\n if (stream) {\r\n stream.getTracks().forEach((t) => t.stop());\r\n }\r\n\r\n stream = undefined;\r\n }\r\n protected _setPermission(permission: boolean): void {\r\n this._permissionSource.next(permission);\r\n }\r\n protected _getAnyVideoDevice(): Promise<MediaStream> {\r\n return navigator.mediaDevices.getUserMedia({ video: true });\r\n }\r\n protected _handlePermissionException(err: DOMException): boolean {\r\n console.error('user media', 'Error when asking for permission.', err);\r\n let permission = false;\r\n\r\n switch (err.name) {\r\n // usually caused by not secure origins\r\n case 'NotSupportedError':\r\n this._logService.warn('user media', err.message);\r\n // could not claim\r\n permission = false;\r\n // can't check devices\r\n this._hasDevicesSource.next(false);\r\n break;\r\n\r\n // user denied permission\r\n case 'NotAllowedError':\r\n this._logService.warn('user media', err.message);\r\n // claimed and denied permission\r\n permission = false;\r\n // this means that input devices exists\r\n this._hasDevicesSource.next(true);\r\n break;\r\n\r\n // the device has no attached input devices\r\n case 'NotFoundError':\r\n this._logService.warn('user media', err.message);\r\n // no permissions claimed\r\n permission = false;\r\n // because there was no devices\r\n this._hasDevicesSource.next(false);\r\n // tells the listener about the error\r\n this._camerasNotFoundSource.next(err);\r\n break;\r\n\r\n case 'NotReadableError':\r\n this._logService.warn(\r\n 'user media',\r\n `Couldn't read the device(s)'s stream, it's probably in use by another app.`\r\n );\r\n // no permissions claimed\r\n permission = false;\r\n // there are devices, which I couldn't use\r\n this._hasDevicesSource.next(false);\r\n // tells the listener about the error\r\n this._camerasNotFoundSource.next(err);\r\n break;\r\n\r\n default:\r\n this._logService.warn(\r\n 'user media',\r\n 'I was not able to define if I have permissions for camera or not.',\r\n err\r\n );\r\n // unknown\r\n permission = false;\r\n // this.hasDevices.next(undefined;\r\n break;\r\n }\r\n\r\n this._setPermission(permission);\r\n\r\n // tells the listener about the error\r\n this._permissionResponse.next(err);\r\n\r\n return permission;\r\n }\r\n}\r\n@Injectable()\r\nexport class WebBarcodeService {\r\n userMediaService = inject(UserMediaBaseService);\r\n\r\n scanError$: Observable<Error>;\r\n scanFailure$: Observable<Error>;\r\n scanComplete$: Observable<Result>;\r\n scanSuccess$: Observable<string>;\r\n\r\n private _device: MediaDeviceInfo | undefined = undefined;\r\n private _videoEl: HTMLVideoElement;\r\n private _codeReader: BrowserMultiFormatContinuousReader | undefined = undefined;\r\n private _hints: Map<DecodeHintType, any> = new Map<DecodeHintType, any>();\r\n private _scanErrorSource = new Subject<Error>();\r\n private _scanFailureSource = new Subject<Error>();\r\n private _scanSubscription: any;\r\n private _scanCompleteSource = new Subject<Result>();\r\n private _scanSuccessSource = new Subject<Result>();\r\n private _options: {\r\n delayBetweenScanAttempts: number;\r\n delayBetweenScanSuccess: number;\r\n } = {\r\n delayBetweenScanAttempts: 50,\r\n delayBetweenScanSuccess: 500\r\n };\r\n\r\n /** Inserted by Angular inject() migration for backwards compatibility */\r\n\r\n constructor() {\r\n this.scanError$ = this._scanErrorSource.asObservable();\r\n this.scanFailure$ = this._scanFailureSource.asObservable();\r\n this.scanComplete$ = this._scanCompleteSource.asObservable();\r\n this.scanSuccess$ = this._scanSuccessSource.asObservable().pipe(map((c) => c.getText()));\r\n }\r\n\r\n public startScan(device: MediaDeviceInfo, videoEl: HTMLVideoElement, options = this._options): void {\r\n // instantly stops the scan before changing devices\r\n this.scanStop();\r\n\r\n // correctly sets the new (or none) device\r\n this._device = device || undefined;\r\n this._videoEl = videoEl;\r\n this._options = options;\r\n if (!this._device) {\r\n // cleans the video because user removed the device\r\n BrowserCodeReader.cleanVideoSource(videoEl);\r\n }\r\n if (this._scanSubscription) {\r\n throw new Error('There is already a scan proccess running.');\r\n }\r\n\r\n if (!this._device) {\r\n throw new Error('No device defined, cannot start scan, please define a device.');\r\n }\r\n\r\n // if enabled, starts scanning\r\n if (device) {\r\n this.scanFromDevice(device.deviceId);\r\n }\r\n }\r\n public setFormat(input: BarcodeFormat[]): void {\r\n if (typeof input === 'string') {\r\n throw new Error('Invalid formats, make sure the [formats] input is a binding.');\r\n }\r\n\r\n // formats may be set from html template as BarcodeFormat or string array\r\n const formats = input.map((f) => this.getBarcodeFormatOrFail(f));\r\n\r\n const hints = this._hints;\r\n\r\n // updates the hints\r\n hints.set(DecodeHintType.POSSIBLE_FORMATS, formats);\r\n\r\n // handles updating the codeReader\r\n this._hints = hints;\r\n }\r\n public scanStop(): void {\r\n if (this._scanSubscription) {\r\n this._codeReader?.getScannerControls().stop();\r\n this._scanSubscription?.unsubscribe();\r\n this._scanSubscription = undefined;\r\n }\r\n // this.torchCompatible.next(false);\r\n }\r\n\r\n public destroy(): void {\r\n // @note apenas necessario por enquanto causa da Torch\r\n this.scanStop();\r\n this._codeReader = undefined;\r\n this._device = undefined;\r\n }\r\n\r\n private getBarcodeFormatOrFail(format: string | BarcodeFormat): BarcodeFormat {\r\n return typeof format === 'string' ? BarcodeFormat[format.trim().toUpperCase()] : format;\r\n }\r\n private async scanFromDevice(deviceId: string): Promise<void> {\r\n const videoElement = this._videoEl;\r\n\r\n const codeReader = this.getCodeReader();\r\n\r\n const scanStream = await codeReader.scanFromDeviceObservable(deviceId, videoElement);\r\n\r\n if (!scanStream) {\r\n throw new Error('Undefined decoding stream, aborting.');\r\n }\r\n\r\n const next = (x: ResultAndError): void => this._onDecodeResult(x.result, x.error);\r\n const error = (err: any): void => this._onDecodeError(err);\r\n const complete = (): void => {};\r\n\r\n this._scanSubscription = scanStream.subscribe(next, error, complete);\r\n\r\n if (this._scanSubscription.closed) {\r\n return;\r\n }\r\n\r\n // const controls = codeReader.getScannerControls();\r\n // const hasTorchControl = typeof controls.switchTorch !== 'undefined';\r\n\r\n // this.torchCompatible.next(hasTorchControl);\r\n }\r\n /**\r\n * Handles decode errors.\r\n */\r\n private _onDecodeError(err: any): void {\r\n this._scanErrorSource.next(err);\r\n // this.reset();\r\n }\r\n /**\r\n * Handles decode results.\r\n */\r\n private _onDecodeResult(result: Result | undefined, error: Exception | undefined): void {\r\n if (result) {\r\n this._scanSuccessSource.next(result);\r\n } else {\r\n this._scanFailureSource.next(error as Error);\r\n }\r\n if (result) {\r\n this._scanCompleteSource.next(result);\r\n }\r\n }\r\n private getCodeReader(): BrowserMultiFormatContinuousReader {\r\n if (!this._codeReader) {\r\n this._codeReader = new BrowserMultiFormatContinuousReader(this._hints, this._options);\r\n }\r\n\r\n return this._codeReader;\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n ViewChild,\r\n inject\r\n} from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { BarcodeFormat } from '@zxing/library';\r\n\r\nimport { BaseComponent } from 'barsa-novin-ray-core';\r\nimport { WebBarcodeService } from '../barcode.service';\r\nimport { debounceTime, filter, takeUntil, tap } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'bdc-barcode-reader-video',\r\n templateUrl: './barcode-reader-video.component.html',\r\n styleUrls: ['./barcode-reader-video.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class BarcodeReaderVideoComponent extends BaseComponent implements OnInit, OnDestroy {\r\n @Input() allFormats: BarcodeFormat[];\r\n @Input()\r\n previewFitMode: 'fill' | 'contain' | 'cover' | 'scale-down' | 'none' = 'fill';\r\n\r\n @Output() scanSuccess = new EventEmitter<string>();\r\n\r\n @ViewChild('videoElement', { static: true })\r\n videoElement: ElementRef<HTMLVideoElement>;\r\n @Input() set selectedCamera(val: MediaDeviceInfo) {\r\n this._cameraSource.next(val);\r\n }\r\n private _cameraSource = new BehaviorSubject<MediaDeviceInfo | null>(null);\r\n private _webBarcodeService = inject(WebBarcodeService);\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._setFormat(this.allFormats);\r\n\r\n this._cameraSource\r\n .asObservable()\r\n .pipe(\r\n takeUntil(this._onDestroy$),\r\n debounceTime(500),\r\n filter((camera) => camera != null),\r\n\r\n tap((camera) => {\r\n this._stopScan();\r\n this._startScan(camera);\r\n })\r\n )\r\n .subscribe();\r\n\r\n this._webBarcodeService.scanSuccess$.subscribe((result) => {\r\n this.scanSuccess.emit(result);\r\n });\r\n }\r\n ngOnDestroy(): void {\r\n super.ngOnDestroy();\r\n this._webBarcodeService.scanStop();\r\n }\r\n\r\n private _setFormat(formats: BarcodeFormat[]): void {\r\n this._webBarcodeService.setFormat(formats);\r\n }\r\n private _stopScan(): void {\r\n this._webBarcodeService.scanStop();\r\n }\r\n private _startScan(camera): void {\r\n if (this.videoElement) {\r\n this._webBarcodeService.startScan(camera, this.videoElement.nativeElement);\r\n }\r\n }\r\n}\r\n","<video #videoElement [style.object-fit]=\"previewFitMode\">\r\n <p>{{ 'BrowserNotSupport' | bbbTranslate }}</p>\r\n</video>\r\n","import { AfterViewInit, ChangeDetectionStrategy, Component, inject } from '@angular/core';\r\nimport { DialogRef } from '@fundamental-ngx/core';\r\nimport { Observable, of } from 'rxjs';\r\n\r\nimport { BaseComponent } from 'barsa-novin-ray-core';\r\nimport { UserMediaBaseService } from '../barcode.service';\r\nimport { concatMap, delay, exhaustMap, finalize, takeUntil, tap } from 'rxjs/operators';\r\nimport { BarcodeFormat } from '@zxing/library';\r\n@Component({\r\n selector: 'bdc-barcode-reader-dialog',\r\n templateUrl: './barcode-reader-dialog.component.html',\r\n styleUrls: ['./barcode-reader-dialog.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class BarcodeReaderDialogComponent extends BaseComponent implements AfterViewInit {\r\n value = '';\r\n cameras$: Observable<MediaDeviceInfo[]>;\r\n format = [BarcodeFormat.QR_CODE];\r\n hasDevice$: Observable<boolean>;\r\n permission$: Observable<boolean>;\r\n loading: boolean;\r\n selectedCamera: MediaDeviceInfo;\r\n barcodeFormats: Array<BarcodeFormat>;\r\n selectedFormat: BarcodeFormat;\r\n\r\n private _dialogRef = inject(DialogRef);\r\n private _userMediaService = inject(UserMediaBaseService);\r\n constructor() {\r\n super();\r\n this.loading = true;\r\n this._dialogRef.loading(true);\r\n this.barcodeFormats = this._dialogRef.data?.barcodeFormats ?? [];\r\n this.selectedFormat = this.barcodeFormats.length > 0 ? this.barcodeFormats[0] : BarcodeFormat.QR_CODE;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n this._initialize();\r\n }\r\n\r\n onDismiss(): void {\r\n this._dialogRef.dismiss();\r\n }\r\n onOk(): void {\r\n this._close();\r\n }\r\n\r\n onCameraChange(value): void {\r\n this.selectedCamera = value;\r\n }\r\n onFormatChange(format): void {\r\n this.selectedFormat = format;\r\n }\r\n onScanSuccess(result): void {\r\n this.value = result;\r\n this._close();\r\n }\r\n onValueChanged(e): void {\r\n this.value = e.target.value;\r\n }\r\n private _close(): void {\r\n this._dialogRef.close(this.value);\r\n }\r\n private _initialize(): void {\r\n of(true)\r\n .pipe(\r\n takeUntil(this._onDestroy$),\r\n exhaustMap(() => this._userMediaService.askForPermission()),\r\n concatMap((permission) => {\r\n if (permission) {\r\n return this._userMediaService.updateVideoInputDevices();\r\n } else {\r\n return of(true);\r\n }\r\n }),\r\n finalize(() => {\r\n this.loading = false;\r\n this._dialogRef.loading(false);\r\n })\r\n )\r\n .subscribe();\r\n this.hasDevice$ = this._userMediaService.hasDevices$;\r\n this.permission$ = this._userMediaService.permission$;\r\n this.cameras$ = this._userMediaService.cameras$.pipe(\r\n delay(0),\r\n tap((cameras) => {\r\n this.selectedCamera = cameras.find((c) => c.label.indexOf('back') > -1) ?? cameras[0];\r\n })\r\n );\r\n }\r\n}\r\n","<fd-dialog>\r\n <fd-dialog-header>\r\n <h1 fd-title>{{ 'BarcodeReader' | bbbTranslate }} {{ selectedCamera?.label }}</h1>\r\n <button fd-dialog-close-button (click)=\"onDismiss()\"></button>\r\n </fd-dialog-header>\r\n <fd-dialog-body>\r\n @if (!loading) { @if (permission$ | async) { @if (hasDevice$ | async) { @if (selectedCamera) {\r\n <bdc-barcode-reader-video\r\n [format]=\"format\"\r\n [selectedCamera]=\"selectedCamera\"\r\n [allFormats]=\"barcodeFormats\"\r\n (scanSuccess)=\"onScanSuccess($event)\"\r\n ></bdc-barcode-reader-video>\r\n } } @else {\r\n <p>BrowserNotSupport</p>\r\n } } @else {\r\n <p>NoPermission</p>\r\n } }\r\n </fd-dialog-body>\r\n <fd-dialog-footer>\r\n <ng-template fdkTemplate=\"footer\">\r\n @if (cameras$ | async; as cameraList) {\r\n <div fd-bar-left>\r\n @if (cameraList.length > 1) {\r\n <fd-select\r\n [placeholder]=\"'Camera' | bbbTranslate\"\r\n (valueChange)=\"onCameraChange($event)\"\r\n [value]=\"selectedCamera\"\r\n >\r\n @for (camera of cameraList; track camera) {\r\n <fd-option [value]=\"camera\">{{ camera.label }}</fd-option>\r\n }\r\n </fd-select>\r\n }\r\n </div>\r\n <div fd-bar-right></div>\r\n }\r\n </ng-template>\r\n </fd-dialog-footer>\r\n</fd-dialog>\r\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { ContentDensity, DynamicPageResponsiveSize } from '@fundamental-ngx/core';\r\n\r\nimport { BarsaApi } from 'barsa-novin-ray-core';\r\nimport { UiMoInfoSubFormUiComponent } from 'barsa-sap-ui';\r\n\r\nimport { BarcodeReaderDialogComponent } from '../barcode-reader-dialog/barcode-reader-dialog.component';\r\nimport { BarcodeFormat } from '@zxing/library';\r\n@Component({\r\n selector: 'bdc-barcode-reader',\r\n templateUrl: './barcode-reader.component.html',\r\n styleUrls: ['./barcode-reader.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class BarcodeReaderComponent extends UiMoInfoSubFormUiComponent implements OnInit {\r\n public size: DynamicPageResponsiveSize = 'large';\r\n public barcodeValue: string;\r\n contentDensity$: Observable<ContentDensity>;\r\n barcodeFormat: Array<BarcodeFormat>;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.barcodeValue = this.context.Setting.FormPanelSetting.Data.Mo.Value;\r\n const format: string = this.context.Setting.CustomFieldInfo?.Format;\r\n if (format) {\r\n this.barcodeFormat = format\r\n .split(',')\r\n .filter((c) => c)\r\n .map((c) => Number(c) - 1);\r\n }\r\n this.size = BarsaApi.Bw.GetWindowSize();\r\n }\r\n\r\n onOpenBarcodeReader(): void {\r\n const data = { barcodeFormats: this.barcodeFormat };\r\n const dialogRef = this._dialogService.open(BarcodeReaderDialogComponent, {\r\n data,\r\n fullScreen: this.isMobileDevice ? false : true,\r\n verticalPadding: true,\r\n responsivePadding: true,\r\n mobile: this.isMobileDevice,\r\n mobileOuterSpacing: true\r\n });\r\n dialogRef.afterClosed.pipe(takeUntil(this._onDestroy$)).subscribe((value) => {\r\n if (value) {\r\n this._setFieldValue(value);\r\n }\r\n });\r\n }\r\n onValueChange(e): void {\r\n this._setFieldValue(e.target.value);\r\n }\r\n protected _addFormControl(formControl): void {\r\n this.customFormPanelUi = formControl;\r\n }\r\n private _setFieldValue(value: any): void {\r\n this.barcodeValue = value;\r\n const valueCustomFieldUi = this.context.formControl._dictFieldUi.Value;\r\n valueCustomFieldUi.value = value;\r\n valueCustomFieldUi.fireEvent('change', value);\r\n }\r\n}\r\n","<!-- <fd-input-group\r\n placement=\"after\"\r\n glyph=\"camera\"\r\n [placeholder]=\"'BarcodeReader' | bbbTranslate\"\r\n [button]=\"true\"\r\n ariaLabelledBy=\"fd-input-group-button-label-2\"\r\n (addOnButtonClicked)=\"onOpenBarcodeReader()\"\r\n (input)=\"onValueChange($event)\"\r\n>\r\n</fd-input-group> -->\r\n\r\n<fdp-input-group\r\n [placeholder]=\"'BarcodeReader' | bbbTranslate\"\r\n [value]=\"barcodeValue\"\r\n (input)=\"onValueChange($event)\"\r\n [name]=\"'barcode_' + id\"\r\n [disabled]=\"(disableOrReadonly$ | async)!!\"\r\n>\r\n <fdp-input-group-input type=\"text\"></fdp-input-group-input>\r\n <fdp-input-group-addon>\r\n <fdp-button glyph=\"camera\" (click)=\"onOpenBarcodeReader()\"></fdp-button>\r\n </fdp-input-group-addon>\r\n</fdp-input-group>\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'uiPerson',\r\n standalone: false\r\n})\r\nexport class UiPersonPipe implements PipeTransform {\r\n transform(value: unknown): string {\r\n let transform;\r\n switch (value) {\r\n case 'FirstName':\r\n transform = 'نام';\r\n break;\r\n case 'LastName':\r\n transform = 'نام خانوادگی';\r\n break;\r\n case 'NationalCode':\r\n transform = 'کد ملی';\r\n break;\r\n case 'FatherName':\r\n transform = 'نام پدر';\r\n break;\r\n case 'Birthplace':\r\n transform = 'محل تولد';\r\n break;\r\n case 'Mobile':\r\n transform = 'محل تولد';\r\n break;\r\n default:\r\n transform = '';\r\n break;\r\n }\r\n return transform;\r\n }\r\n}\r\n","import { AfterViewInit, ChangeDetectionStrategy, Component, OnInit, TemplateRef, ViewChild } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { DialogRef, PopoverBodyComponent, PopoverComponent } from '@fundamental-ngx/core';\r\n\r\nimport { FieldBaseComponent } from 'barsa-novin-ray-core';\r\nimport { Person, PersonFilter } from '../models/person';\r\n\r\n@Component({\r\n selector: 'bdc-ui-person',\r\n templateUrl: './ui-person.component.html',\r\n styleUrls: ['./ui-person.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class UiPersonComponent extends FieldBaseComponent implements OnInit, AfterViewInit {\r\n @ViewChild('popover') popoverDom: PopoverComponent;\r\n @ViewChild(PopoverBodyComponent) popoverBodyDom: PopoverBodyComponent;\r\n searchResult: Person[] = [];\r\n personCollection: Person[] = [\r\n {\r\n Id: 1,\r\n FirstName: 'zahra',\r\n LastName: 'darbandy',\r\n FatherName: 'ali',\r\n Birthplace: 'yazd',\r\n NationalCode: '123456789'\r\n },\r\n {\r\n Id: 2,\r\n FirstName: 'ali',\r\n LastName: 'kafdary',\r\n FatherName: 'reza',\r\n Birthplace: 'shiraz',\r\n NationalCode: '754123659'\r\n },\r\n {\r\n Id: 3,\r\n FirstName: 'sara',\r\n LastName: 'rezaee',\r\n FatherName: 'ali',\r\n Birthplace: 'tehran',\r\n NationalCode: '123456789'\r\n },\r\n {\r\n Id: 4,\r\n FirstName: 'علی',\r\n LastName: 'خزایی',\r\n FatherName: 'کمال',\r\n Birthplace: 'اصفهان',\r\n NationalCode: '452145698'\r\n },\r\n {\r\n Id: 5,\r\n FirstName: 'vahid',\r\n LastName: 'alipor',\r\n FatherName: 'ali',\r\n Birthplace: 'shiraz',\r\n NationalCode: '756982456'\r\n },\r\n {\r\n Id: 6,\r\n FirstName: 'mohammad',\r\n LastName: 'kamali',\r\n FatherName: 'vahid',\r\n Birthplace: 'ahvaz',\r\n NationalCode: '32165897'\r\n }\r\n ];\r\n\r\n selectedPerson: Person | null;\r\n dialogRef: DialogRef;\r\n\r\n filterItems: PersonFilter;\r\n isPopoverOpened: boolean;\r\n onClose$ = new Subject<void>();\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.value = {\r\n Id: 5,\r\n FirstName: 'وحید',\r\n LastName: 'علیپور',\r\n FatherName: 'علی',\r\n Birthplace: 'شیراز',\r\n NationalCode: '756982456',\r\n Mobile: '09175623898'\r\n };\r\n this.onClose$.pipe().subscribe(() => {\r\n // console.log('closed');\r\n });\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n this.onClose$ = this.popoverBodyDom.onClose;\r\n }\r\n\r\n filter(): void {\r\n this.searchResult = this.personCollection.filter(\r\n (person) =>\r\n person.FirstName.toLowerCase().includes(this.filterItems?.FirstName.toLowerCase() || '') &&\r\n person.LastName.toLowerCase().includes(this.filterItems?.LastName.toLowerCase() || '') &&\r\n person.NationalCode.toString().includes(this.filterItems?.NationalCode.toString() || '')\r\n );\r\n }\r\n\r\n select(person: Person): void {\r\n this.selectedPerson = person;\r\n }\r\n\r\n confirm(): void {\r\n this.value = this.selectedPerson ?? this.value;\r\n this.valueChange.emit(this.value);\r\n this.close();\r\n }\r\n\r\n close(): void {\r\n this.dialogRef.close();\r\n this.selectedPerson = null;\r\n }\r\n\r\n openDialog(template: TemplateRef<any>): void {\r\n this.resetTable();\r\n this.dialogRef = this._dialogService.open(template, {\r\n minHeight: '500px',\r\n minWidth: '700px',\r\n maxHeight: '1000px',\r\n maxWidth: '1500px',\r\n draggable: true,\r\n resizable: true,\r\n verticalPadding: false\r\n });\r\n this.dialogRef.loading(true);\r\n setTimeout(() => this.dialogRef.loading(false), 500);\r\n }\r\n\r\n resetTable(): void {\r\n this.filterItems = { FirstName: '', LastName: '', NationalCode: '' };\r\n this.filter();\r\n }\r\n\r\n edit(): void {}\r\n\r\n delete(): void {\r\n this.value = null;\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n openPopover(): void {\r\n if (!this.isPopoverOpened && this.value) {\r\n setTimeout(() => {\r\n this.popoverDom.open();\r\n }, 1000);\r\n }\r\n }\r\n\r\n openChange(isOpen: boolean): void {\r\n this.isPopoverOpened = isOpen;\r\n }\r\n}\r\n","<fd-popover [fillControlMode]=\"'equal'\" #popover (isOpenChange)=\"openChange($event)\">\r\n <fd-popover-control>\r\n <ul fd-list [compact]=\"true\">\r\n <li fd-list-item>\r\n <div fd-list-content>\r\n <div class=\"control-content\" (mouseover)=\"openPopover()\">\r\n <fd-icon glyph=\"person-placeholder\"></fd-icon>\r\n <div>\r\n <span>{{ value?.FirstName }}</span>\r\n </div>\r\n <div>\r\n <span>{{ value?.LastName }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n @if (value) {\r\n <button fd-button fdType=\"transparent\" glyph=\"user-edit\" (click)=\"edit()\"></button>\r\n <button fd-button fdType=\"transparent\" glyph=\"decline\" (click)=\"delete()\"></button>\r\n } @else {\r\n <button fd-button label=\"انتخاب شخص\" fdType=\"transparent\" (click)=\"openDialog(dialogTemplate)\"></button>\r\n }\r\n </li>\r\n </ul>\r\n </fd-popover-control>\r\n @if (value) {\r\n <fd-popover-body #popoverBody>\r\n <div class=\"resize-quick-view\">\r\n <fd-card cardType=\"quickView\">\r\n <fd-card-content>\r\n <fd-quick-view [id]=\"value.id\">\r\n <fd-quick-view-subheader>\r\n <fd-icon glyph=\"user\"></fd-icon>\r\n <fd-quick-view-subheader-title> مشخصات </fd-quick-view-subheader-title>\r\n </fd-quick-view-subheader>\r\n <fd-quick-view-group>\r\n @for (item of value | keyvalue; track item) {\r\n <fd-quick-view-group-item>\r\n @if (item.key !== 'Id') {\r\n <div class=\"popover-body-item\">\r\n <fd-quick-view-group-item-label>\r\n {{ (item.key | uiPerson) + ':' }}\r\n </fd-quick-view-group-item-label>\r\n <fd-quick-view-group-item-content>\r\n @switch (item.value) { @case ( item.key === 'Mobile' || item.key === 'Phone' ?\r\n item.key : '' ) {\r\n <a [href]=\"'tel:' + item.value\" [innerText]=\"item.value\" fd-link></a>\r\n } @case ('Email') {\r\n <a [href]=\"'mailto:' + item.value\" [innerText]=\"item.value\" fd-link></a>\r\n } @default {\r\n <div [innerText]=\"item.value\"></div>\r\n } }\r\n </fd-quick-view-group-item-content>\r\n </div>\r\n }\r\n </fd-quick-view-group-item>\r\n }\r\n </fd-quick-view-group>\r\n </fd-quick-view>\r\n </fd-card-content>\r\n </fd-card>\r\n </div>\r\n </fd-popover-body>\r\n }\r\n</fd-popover>\r\n\r\n<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #dialogTemplate>\r\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\r\n <fd-dialog-header>\r\n <h1 fd-title>جستجوی شخص</h1>\r\n <button fd-dialog-close-button (click)=\"dialog.dismiss('Close button')\"></button>\r\n </fd-dialog-header>\r\n\r\n <fd-dialog-body>\r\n <div class=\"filter\" (keydown.enter)=\"filter()\">\r\n <div fd-form-item>\r\n <label fd-form-label for=\"name\">نام</label>\r\n <input fd-form-control id=\"name\" [(ngModel)]=\"filterItems.FirstName\" />\r\n </div>\r\n <div fd-form-item>\r\n <label fd-form-label for=\"last-name\">نام خانوادگی</label>\r\n <input fd-form-control id=\"last-name\" [(ngModel)]=\"filterItems.LastName\" />\r\n </div>\r\n <div fd-form-item>\r\n <label fd-form-label for=\"national-code\">کدملی</label>\r\n <input fd-form-control id=\"national-code\" [(ngModel)]=\"filterItems.NationalCode\" />\r\n </div>\r\n\r\n <fd-button-bar fdkInitialFocus fdType=\"emphasized\" label=\"جستجو\" (click)=\"filter()\"> </fd-button-bar>\r\n </div>\r\n\r\n <table fd-table [noBorderX]=\"true\" [noBorderY]=\"true\">\r\n <thead fd-table-header>\r\n <tr fd-table-row>\r\n <th fd-table-cell>نام</th>\r\n <th fd-table-cell>نام خانوادگی</th>\r\n <th fd-table-cell>کد ملی</th>\r\n </tr>\r\n </thead>\r\n <tbody fd-table-body>\r\n @for (person of searchResult; track person) {\r\n <tr (click)=\"select(person)\" [class.selected]=\"selectedPerson?.Id === person?.Id\" fd-table-row>\r\n <td fd-table-cell>\r\n {{ person.FirstName }}\r\n </td>\r\n <td fd-table-cell>{{ person.LastName }}</td>\r\n <td fd-table-cell>{{ person.NationalCode }}</td>\r\n </tr>\r\n }\r\n </tbody>\r\n </table>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <ng-template fdkTemplate=\"footer\">\r\n <div fd-bar-right>\r\n <fd-button-bar fdType=\"emphasized\" label=\"تایید\" (click)=\"confirm()\"> </fd-button-bar>\r\n <fd-button-bar fdkInitialFocus label=\"انصراف\" (click)=\"close()\"> </fd-button-bar>\r\n </div>\r\n </ng-template>\r\n </fd-dialog-footer>\r\n </fd-dialog>\r\n</ng-template>\r\n","import { ChangeDetectionStrategy, Component, HostBinding, inject } from '@angular/core';\r\n\r\nimport { ReportBaseComponent, BarsaApi, MoReportValuePipe, MetaobjectDataModel } from 'barsa-novin-ray-core';\r\n@Component({\r\n selector: 'bdc-login-social-conncetions',\r\n templateUrl: './login-social-conncetions.component.html',\r\n styleUrls: ['./login-social-conncetions.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class LoginSocialConncetionsComponent extends ReportBaseComponent {\r\n @HostBinding('attr.rtl') rtl = BarsaApi.LoginFormData.IsRtl;\r\n\r\n private reportValuePipe = inject(MoReportValuePipe);\r\n\r\n onClick(mo: MetaobjectDataModel): void {\r\n const provider = this.reportValuePipe.transform('Name', mo, this.allColumns, true);\r\n\r\n const returnUrl = encodeURIComponent(window.location.href);\r\n BarsaApi.Bw.NavigateTo(`/api/openId/signin?provider=${provider}&returnUrl=${returnUrl}`);\r\n }\r\n}\r\n","@for (mo of moDataList$ | async; track mo) {\r\n<button\r\n fd-button\r\n [label]=\"'Display Text' | rval: mo:allColumns\"\r\n [fdType]=\"'FdType' | rval: mo:allColumns:true\"\r\n (click)=\"onClick(mo)\"\r\n>\r\n <img\r\n style=\"max-width: 28px\"\r\n [src]=\"('Logo' | rval: mo:allColumns)?.FileId | picFieldSrc: 'GetPictureFromFileInfo':null\"\r\n />\r\n</button>\r\n}\r\n","import { ChangeDetectionStrategy, Component, HostBinding, HostListener, OnInit } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map, takeUntil } from 'rxjs/operators';\r\nimport { BarsaApi, FormBaseComponent, FormPanelService, getDeviceIsMobile } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-login-form',\r\n templateUrl: './login-form.component.html',\r\n styleUrls: ['./login-form.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [FormPanelService],\r\n standalone: false\r\n})\r\nexport class LoginFormComponent extends FormBaseComponent implements OnInit {\r\n size$: Observable<'xl' | 'md' | 'sm'>;\r\n @HostBinding('class.desktopmode') _desktopmode = !getDeviceIsMobile();\r\n @HostListener('keydown.enter', ['$event'])\r\n onKeyEnter = (_): void => {\r\n const layoutItem = this._controlUiPipe.transform(' ورود', this.layout94);\r\n if (layoutItem) {\r\n layoutItem.FieldUi.fireEvent('click', layoutItem.FieldUi);\r\n }\r\n };\r\n\r\n ngOnInit(): void {\r\n this._activatedRoute.queryParams.pipe(takeUntil(this._onDestroy$)).subscribe((params) => {\r\n BarsaApi.Bw.SetCultureByDisplayName(params.culture);\r\n });\r\n super.ngOnInit();\r\n this.layout94$.subscribe((layout94) => {\r\n this.layout94 = layout94;\r\n });\r\n this.size$ = this._portalService.deviceSize$.pipe(\r\n map((deviceSize) => {\r\n switch (deviceSize) {\r\n case 's':\r\n return 'sm';\r\n case 'm':\r\n return 'md';\r\n default:\r\n return 'xl';\r\n }\r\n })\r\n );\r\n }\r\n}\r\n","@if (mo$ | async; as mo) { @if (mo.IsLogging) {\r\n<bsu-mask></bsu-mask>\r\n} @if ((size$ | async) === 'sm') {\r\n<fd-layout-grid [class.mobile]=\"isMobile\">\r\n <div [fdLayoutGridCol]=\"1\"></div>\r\n <div [fdLayoutGridCol]=\"10\">\r\n <bsu-ly-layout-container-of-root\r\n [config]=\"layout94$ | async\"\r\n [isPanel]=\"false\"\r\n [isRoot]=\"true\"\r\n [class.desktopMode]=\"!(isMobile === true)\"\r\n ></bsu-ly-layout-container-of-root>\r\n <div class=\"extra-grid-layout\"></div>\r\n </div>\r\n <div [fdLayoutGridCol]=\"1\"></div>\r\n</fd-layout-grid>\r\n} @else {\r\n<fd-dynamic-side-content [size]=\"(size$ | async)!!\">\r\n <fd-dynamic-side-content-side>\r\n <bsu-ly-layout-container-of-root\r\n [config]=\"layout94$ | async\"\r\n [isPanel]=\"false\"\r\n [isRoot]=\"true\"\r\n ></bsu-ly-layout-container-of-root>\r\n <div class=\"extra-side\"></div>\r\n </fd-dynamic-side-content-side>\r\n\r\n <fd-dynamic-side-content-main>\r\n <!-- <ng-container *ngIf=\"'عکس پس زمینه' | controlUi: layout94 as layoutConfig\">\r\n <bsu-layout-control\r\n [caption]=\"'عکس پس زمینه'\"\r\n [config]=\"layoutConfig\"\r\n [showLabel]=\"false\"\r\n [inlineEdit]=\"true\"\r\n ></bsu-layout-control>\r\n </ng-container> -->\r\n @if ('عکس پس زمینه' | controlUi: layout94; as layoutConfig) {\r\n <div\r\n id=\"bgLogin\"\r\n [style.backgroundImage]=\"\r\n 'url(' +\r\n (mo.Background?.FileId | picFieldSrc: 'PictureFileInfo':null:layoutConfig.FieldUi.Setting.FieldDefId) +\r\n ')'\r\n \"\r\n ></div>\r\n }\r\n <div class=\"extra-mainside\"></div>\r\n </fd-dynamic-side-content-main>\r\n</fd-dynamic-side-content>\r\n} }\r\n<div class=\"extra\"></div>\r\n","import {\r\n Component,\r\n OnInit,\r\n ChangeDetectionStrategy,\r\n ViewEncapsulation,\r\n AfterViewInit,\r\n ElementRef,\r\n ViewChild,\r\n Renderer2,\r\n ViewChildren,\r\n QueryList,\r\n ChangeDetectorRef,\r\n RendererStyleFlags2,\r\n Input,\r\n HostBinding,\r\n WritableSignal,\r\n signal,\r\n inject\r\n} from '@angular/core';\r\nimport { ViewportScroller } from '@angular/common';\r\nimport { Observable, takeUntil } from 'rxjs';\r\nimport { TabPanelComponent, TabSizes } from '@fundamental-ngx/core';\r\nimport { MetaobjectDataModel, AbbrevationDeviceSize } from 'barsa-novin-ray-core';\r\nimport { TilesViewerContainerComponent, TilesViewerService, TilesViewerGroupComponent, TilesService } from 'barsa-tiles';\r\n\r\n@Component({\r\n selector: 'bdc-service-desk-header',\r\n templateUrl: './service-desk-header.component.html',\r\n styleUrls: ['./service-desk-header.component.scss'],\r\n providers: [TilesViewerService, TilesService],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n standalone: false\r\n})\r\nexport class ServiceDeskHeaderComponent extends TilesViewerContainerComponent implements OnInit, AfterViewInit {\r\n @ViewChild('headerSpaceHolder', { static: true }) headerSpaceHolder: ElementRef<any>;\r\n @ViewChild('headerGrid', { static: true }) headerGrid: ElementRef<any>;\r\n @ViewChild('aboveSearch', { static: true }) aboveSearch: ElementRef<any>;\r\n @ViewChild('searchHolder', { static: true }) searchHolder: ElementRef<any>;\r\n @ViewChild('navHolder', { static: true }) navHolder: ElementRef<any>;\r\n @ViewChild('aboveContent', { static: true }) aboveContent: ElementRef<any>;\r\n @ViewChild('bgOuterHolder', { static: true }) bgOuterHolder: ElementRef<any>;\r\n @ViewChild('contentAndNav', { static: true }) contentAndNav: ElementRef<any>;\r\n @ViewChildren(TilesViewerGroupComponent, { read: ElementRef }) tilesViewerGroupElList: QueryList<ElementRef>;\r\n @ViewChildren(TabPanelComponent) tabPanelComponents: QueryList<TabPanelComponent>;\r\n @HostBinding('class.mode2') _mode2 = false;\r\n @HostBinding('class.service-desk-header') _cls = true;\r\n @Input() settings: ServiceDeskHeaderSetting;\r\n selectedTabIndex = 0;\r\n\r\n tabSize: TabSizes;\r\n searchTerm$: Observable<string>;\r\n searchTerm = '';\r\n deviceSize$: Observable<AbbrevationDeviceSize>;\r\n selectedAppTileGroup: WritableSignal<MetaobjectDataModel[]> = signal([]);\r\n isStackContent2 = signal(false);\r\n appGroups: any[] = [];\r\n imageUrl: string;\r\n private _enableScroll = false;\r\n private _disableIntersection: boolean;\r\n private observerList: { el: any; observer: IntersectionObserver }[] = [];\r\n private _lastScrollPos: number;\r\n private _firstVisiblity = false;\r\n private _renderer = inject(Renderer2);\r\n private _viewportScroller = inject(ViewportScroller);\r\n private _cdr = inject(ChangeDetectorRef);\r\n get heightOfSpaceHolder(): number {\r\n const x = this.navHolder.nativeElement.getBoundingClientRect().y;\r\n return x;\r\n }\r\n onVisibilityChange(_e): void {\r\n if (this._firstVisiblity) {\r\n return;\r\n }\r\n this._firstVisiblity = true;\r\n const stickyTopPosition = this.heightOfSpaceHolder;\r\n\r\n this._stickyDom(this.aboveContent.nativeElement, this.navHolder.nativeElement, -stickyTopPosition, 'sticky');\r\n this._stickyDom(\r\n this.aboveContent.nativeElement,\r\n this.bgOuterHolder.nativeElement,\r\n -stickyTopPosition,\r\n 'sticky',\r\n () => {\r\n this._renderer.setStyle(this.bgOuterHolder.nativeElement, 'height', stickyTopPosition + 'px');\r\n },\r\n () => {\r\n this._renderer.setStyle(this.bgOuterHolder.nativeElement, 'height', '100%');\r\n }\r\n );\r\n }\r\n /**\r\n *\r\n */\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.setGridTemplateRows();\r\n this._renderer.setStyle(this.navHolder.nativeElement, 'top', 'var(--shellbar-height)');\r\n // this._mode2 = this.settings.Mode2;\r\n this._mode2 = true;\r\n this.imageUrl = this._portalService.imageUrl || '/assets/back.jpg';\r\n let stackContent = true;\r\n if (this.settings) {\r\n stackContent = this.settings.StackContent;\r\n }\r\n this.stackContent = stackContent;\r\n this.isStackContent2.set(stackContent);\r\n this._portalService.searchTerm$.pipe(takeUntil(this._onDestroy$)).subscribe((term) => {\r\n this.searchTerm = term;\r\n this._cdr.detectChanges();\r\n });\r\n\r\n this.appTileGroups$.subscribe((appTileGroups) => {\r\n this._setSelectedAppTileGroup(appTileGroups, 0);\r\n appTileGroups.forEach((c) => this._tilesViewerService.loadAppTileGroup(c));\r\n this.appGroups = appTileGroups;\r\n });\r\n this.deviceSize$ = this._portalService.deviceSize$;\r\n }\r\n ngAfterViewInit(): void {\r\n const deviceSize = this._portalService.deviceSize;\r\n let stickyTopPosition = 20;\r\n if (deviceSize === 's') {\r\n stickyTopPosition = 60;\r\n }\r\n this._stickyDom(this.aboveSearch.nativeElement, this.searchHolder.nativeElement, -stickyTopPosition, 'sticky');\r\n\r\n this._stickyDom(\r\n this.aboveSearch.nativeElement,\r\n this.contentAndNav.nativeElement,\r\n -stickyTopPosition,\r\n 'navAndContent_tb',\r\n () => {\r\n this._renderer.removeAttribute(this.contentAndNav.nativeElement, 'first');\r\n },\r\n () => {\r\n this._renderer.setAttribute(this.contentAndNav.nativeElement, 'first', 'true');\r\n }\r\n );\r\n setTimeout(() => {\r\n this._enableScroll = true;\r\n }, 1000);\r\n this._portalService.navigationStart$.pipe(takeUntil(this._onDestroy$)).subscribe((event) => {\r\n this._lastScrollPos = window.scrollY;\r\n if (event === null) {\r\n return;\r\n }\r\n if (\r\n event?.url.split('/').length > 2 &&\r\n event?.url !== '/' &&\r\n event?.url.split('appgroupdialog').length < 2 &&\r\n !this._disableIntersection\r\n ) {\r\n this.prepareForm();\r\n }\r\n });\r\n this._portalService.navigationEnd$.pipe(takeUntil(this._onDestroy$)).subscribe((event) => {\r\n if (\r\n event &&\r\n (event?.url.split('/').length < 3 ||\r\n event?.url === '/' ||\r\n event.urlAfterRedirects?.split('/').length < 3)\r\n ) {\r\n this.unPrepareForm();\r\n }\r\n });\r\n }\r\n onSearchSubmit(): void {\r\n this._router.navigateByUrl('servicedesk/search?term=' + this.searchTerm);\r\n // var searchMo = BarsaApi.Bw.RunBlMethod('GetSearchMo', this.searchTerm);\r\n // BarsaApi.Bw.Form.Show({ Mo: searchMo });\r\n }\r\n prepareForm(): void {\r\n this._disableIntersection = true;\r\n this._cdr.detach();\r\n this.disconnectIntersctionObserverList();\r\n this._renderer.addClass(this.searchHolder.nativeElement, 'sticky');\r\n this._renderer.addClass(this.contentAndNav.nativeElement, 'hide');\r\n this.visibleContent(false);\r\n const flags = RendererStyleFlags2.Important;\r\n this._renderer.setStyle(document.body, 'overflow', 'hidden', flags);\r\n this.scrollToTop();\r\n }\r\n unPrepareForm(): void {\r\n // this.setHeightSearchHolder(this.heightOfSpaceHolder);\r\n this.visibleContent(true);\r\n // this._renderer.removeClass(this.searchHolder.nativeElement, 'sticky');\r\n\r\n this._renderer.removeClass(this.searchHolder.nativeElement, 'hide');\r\n this._renderer.removeClass(this.contentAndNav.nativeElement, 'hide');\r\n const flags = RendererStyleFlags2.Important;\r\n this._renderer.setStyle(document.body, 'overflow', 'auto', flags);\r\n this.scrollToTop();\r\n this._cdr.markForCheck();\r\n this._cdr.reattach();\r\n this._disableIntersection = false;\r\n this.connectIntersctionObserverList();\r\n }\r\n setHeightSearchHolder(height): void {\r\n this._renderer.setStyle(this.headerSpaceHolder.nativeElement, 'height', `${height}px`);\r\n }\r\n visibleContent(visible: boolean): void {\r\n this._renderer.setStyle(this.contentAndNav.nativeElement, 'display', visible ? 'flex' : 'none');\r\n }\r\n\r\n setGridTemplateRows(): void {\r\n this._renderer.setStyle(\r\n this.headerGrid.nativeElement,\r\n 'grid-template-rows',\r\n `minmax(78px, 15%) 46px 32px 1fr auto 12%; height:var(--shellbar-height)`\r\n );\r\n this._renderer.setStyle(this.headerSpaceHolder.nativeElement, 'height', `var(--shellbar-height)`);\r\n }\r\n onSelectedTabChange3(selectedTab: TabPanelComponent, appTileGroups: MetaobjectDataModel[]): void {\r\n this._setSelectedAppTileGroup(appTileGroups, +selectedTab.id);\r\n const tablistCmp = (selectedTab as any)._tabsComponent;\r\n if (tablistCmp) {\r\n tablistCmp._disableScrollSpy = true;\r\n }\r\n this.scrollToTop();\r\n if (selectedTab.id === '0') {\r\n return;\r\n }\r\n const elementRefOfselectedTileGroup: HTMLElement = this.tilesViewerGroupElList.get(\r\n Number(selectedTab.id)\r\n )?.nativeElement;\r\n\r\n elementRefOfselectedTileGroup.scrollIntoView({\r\n block: 'start'\r\n });\r\n }\r\n private _setSelectedAppTileGroup(appTileGroups: MetaobjectDataModel[], index: number): void {\r\n if (!this.settings) {\r\n return;\r\n }\r\n const { StackContent } = this.settings;\r\n const apptileGroups = StackContent !== false ? appTileGroups : [appTileGroups[index]];\r\n apptileGroups && this.selectedAppTileGroup.set(apptileGroups);\r\n }\r\n private scrollToLastPos(): void {\r\n this._viewportScroller.scrollToPosition([0, this._lastScrollPos]);\r\n }\r\n private scrollToTop(): void {\r\n if (this._enableScroll) {\r\n this._viewportScroller.scrollToPosition([0, this.heightOfSpaceHolder - this.heightOfSpaceHolder]);\r\n }\r\n }\r\n private disconnectIntersctionObserverList(): void {\r\n this.observerList.forEach((c) => c.observer.disconnect());\r\n }\r\n private connectIntersctionObserverList(): void {\r\n this.observerList.forEach((c) => c.observer.observe(c.el));\r\n }\r\n private _setBackground(): void {}\r\n private _stickyDom(\r\n above,\r\n holder,\r\n marginTop,\r\n className,\r\n visibleCallback?: () => void,\r\n hiddenCallBack?: () => void\r\n ): void {\r\n const handler = (entries): void => {\r\n if (this._disableIntersection) {\r\n return;\r\n }\r\n if (!entries[0].isIntersecting) {\r\n this._renderer.addClass(holder, className);\r\n if (typeof visibleCallback === 'function') {\r\n visibleCallback();\r\n }\r\n } else {\r\n this._renderer.removeClass(holder, className);\r\n if (typeof hiddenCallBack === 'function') {\r\n hiddenCallBack();\r\n }\r\n }\r\n };\r\n const options = {\r\n rootMargin: `${marginTop}px 0px 0px 0px`,\r\n threshold: 0.1\r\n };\r\n const observer = new window.IntersectionObserver(handler, options);\r\n\r\n observer.observe(above);\r\n this.observerList.push({ el: above, observer });\r\n }\r\n}\r\n\r\ninterface ServiceDeskHeaderSetting extends MetaobjectDataModel {\r\n HideSearch: boolean;\r\n HideTabs: boolean;\r\n StackContent: boolean;\r\n}\r\n","<div\r\n id=\"headerGrid\"\r\n style=\"grid-template-rows: minmax(1px, 15%) 48px 32px 1fr auto 12%; height: 148px\"\r\n #headerGrid\r\n cssRootVariable\r\n [cssVariableValue]=\"'var(--shellbar-height)'\"\r\n [cssVariableName]=\"'--absolute-page-top'\"\r\n>\r\n <div class=\"companyLogoHolder_aboveSearch\" #aboveSearch></div>\r\n <div id=\"searchHolder\" style=\"grid-row: 2\" #searchHolder></div>\r\n</div>\r\n<div id=\"headerSpaceHolder\" #headerSpaceHolder>\r\n <div id=\"bgOuterHolder\" #bgOuterHolder>\r\n <div id=\"bgInnerHolder\" style=\"height: 100vh\">\r\n <div class=\"backgroundImage\" id=\"backgroundImage\">\r\n <img class=\"picture\" [attr.src]=\"imageUrl\" loading=\"lazy\" />\r\n <span id=\"backgroundImageOverlay\" class=\"overlay\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div id=\"contentHolderAndNav\" first=\"true\" #contentAndNav fillEmptySpace [setMinHeight]=\"true\">\r\n <div class=\"aboveContent\" #aboveContent></div>\r\n <div id=\"contentHolder\">\r\n <div\r\n class=\"nav content-feed\"\r\n #navHolder\r\n [style.display]=\"settings?.HideTileGroupsNav ? 'none' : null\"\r\n intersectionObserver\r\n [intersectionThreshold]=\"0.5\"\r\n (visibilityChange)=\"onVisibilityChange($event)\"\r\n >\r\n <div class=\"nav-container\">\r\n <ng-container\r\n *ngTemplateOutlet=\"renderTabs; context: { $implicit: (appTileGroups$ | async)!! }\"\r\n ></ng-container>\r\n </div>\r\n </div>\r\n <div class=\"nav_surrogate\"></div>\r\n <div class=\"content-feed\">\r\n <ng-container\r\n *ngTemplateOutlet=\"renderGroups; context: { $implicit: selectedAppTileGroup() }\"\r\n ></ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n<ng-template #renderTabs let-appTileGroups>\r\n <fd-tab-list\r\n [size]=\"tabSize\"\r\n [collapseOverflow]=\"tabSize === 's' || appTileGroups.length > 5\"\r\n [expandOverflowText]=\"'More' | bbbTranslate\"\r\n (selectedTabChange)=\"onSelectedTabChange3($event, appTileGroups)\"\r\n [stackContent]=\"isStackContent2()\"\r\n >\r\n @for (appTileGroup of appTileGroups; track appTileGroup; let i = $index;) {\r\n <fd-tab [id]=\"'' + i\" [title]=\"appTileGroup.navigatorTitle\"> </fd-tab>\r\n }\r\n </fd-tab-list>\r\n</ng-template>\r\n<ng-template #renderGroups let-appTileGroups>\r\n @for (appTileGroup of appTileGroups; track appTileGroup; let i = $index,isLast=$last) {\r\n <bt-tiles-viewer-group\r\n [class]=\"deviceSize$ | async\"\r\n [attr.islast]=\"isLast\"\r\n [attr.index]=\"i\"\r\n [appTileGroup]=\"appTileGroup\"\r\n [edit]=\"false\"\r\n [stackContent]=\"true\"\r\n [isAppTileSubGroup]=\"false\"\r\n [deviceSize]=\"(deviceSize$ | async)!!\"\r\n ></bt-tiles-viewer-group>\r\n }\r\n</ng-template>\r\n","import { Component, OnInit, ChangeDetectionStrategy, ViewChild, ElementRef, HostBinding } from '@angular/core';\r\nimport { FilePictureInfoModel, BaseItemContentPropsComponent, UiReportViewBaseSetting } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-card-content-image-and-title',\r\n templateUrl: './card-content-image-and-title.component.html',\r\n styleUrls: ['./card-content-image-and-title.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class CardContentImageAndTitleComponent\r\n extends BaseItemContentPropsComponent<UiReportViewBaseSetting>\r\n implements OnInit\r\n{\r\n @ViewChild('iconRef', { static: false }) iconRef: ElementRef;\r\n\r\n @HostBinding('style.background-color') backgroundColor: string | null = null;\r\n @HostBinding('style.color') color: string | null = null;\r\n\r\n backgroundColorSetting: string;\r\n title: string;\r\n subtitle: string;\r\n icon: string;\r\n colorSetting: string;\r\n picture: FilePictureInfoModel;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n const parameters = this.parameters;\r\n if (parameters != null) {\r\n this.color = this.colorSetting = parameters.Color;\r\n this.backgroundColor = this.backgroundColorSetting = parameters.BackgroundColor;\r\n\r\n this.picture = this._rval.transform(parameters.Picture, this.mo, this.allColumns);\r\n this.title = this._rval.transform(parameters.Title, this.mo, this.allColumns);\r\n this.subtitle = this._rval.transform(parameters.Subtitle, this.mo, this.allColumns);\r\n this.icon = this._rval.transform(parameters.Icon, this.mo, this.allColumns);\r\n\r\n this.prepareNumberSign();\r\n }\r\n }\r\n\r\n private prepareNumberSign(): void {\r\n if (this.color && Number(this.colorSetting[0])) {\r\n this.color = '#' + this.colorSetting;\r\n }\r\n\r\n if (this.backgroundColor && Number(this.backgroundColorSetting[0])) {\r\n this.backgroundColor = '#' + this.backgroundColorSetting;\r\n }\r\n }\r\n}\r\n","<div class=\"card-content\" #elemRef>\r\n <div class=\"item-data\">\r\n @if (picture) {\r\n <img\r\n [imgLazy]=\"picture.FileId | picFieldSrc: 'ID':null:'':100:70\"\r\n height=\"70\"\r\n width=\"100\"\r\n [alt]=\"title | bbbTranslate\"\r\n />\r\n } @else { @if (icon) {\r\n <fd-icon #iconRef [glyph]=\"icon\" [style.color]=\"color\"> </fd-icon>\r\n } }\r\n </div>\r\n <h5 fd-title class=\"item-data fd-title--wrap\" [style.color]=\"color\">\r\n {{ title | bbbTranslate }}\r\n </h5>\r\n @if (subtitle) {\r\n <h6 fd-title class=\"item-data fd-title--wrap\" [style.color]=\"color\">\r\n {{ subtitle | bbbTranslate }}\r\n </h6>\r\n }\r\n</div>\r\n","import {\r\n Component,\r\n OnInit,\r\n ChangeDetectionStrategy,\r\n Output,\r\n EventEmitter,\r\n inject,\r\n ElementRef,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { CardHeaderComponent } from '@fundamental-ngx/core';\r\nimport { BaseItemContentPropsComponent, CardViewService, UiReportViewBaseSetting } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-card-header-logo-title-subtitle',\r\n templateUrl: './card-header-logo-title-subtitle.component.html',\r\n styleUrls: ['./card-header-logo-title-subtitle.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class CardHeaderLogoTitleSubtitleComponent\r\n extends BaseItemContentPropsComponent<UiReportViewBaseSetting>\r\n implements OnInit\r\n{\r\n @Output() events = new EventEmitter<{ title: string; data?: any }>();\r\n @ViewChild(CardHeaderComponent, { read: ElementRef }) _headerEl: ElementRef;\r\n title: string;\r\n subtitle: string;\r\n fontIcon: string;\r\n imageIcon: { FileId: string };\r\n hasIcon: boolean;\r\n isIconImage: boolean;\r\n titleDbName: string;\r\n subtitleDbName: string;\r\n avatarCircle: boolean;\r\n private _cardViewService = inject(CardViewService);\r\n setHeaderHeight = (): void => {\r\n this._setHeaderHeight();\r\n };\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.titleDbName =\r\n this._findColumnPipe.transform(this.allColumns, this.parameters.Title)?.Name || this.parameters.Title;\r\n this.subtitleDbName =\r\n this._findColumnPipe.transform(this.allColumns, this.parameters.Subtitle)?.Name || this.parameters.Subtitle;\r\n const parameters = this.parameters;\r\n if (parameters != null) {\r\n this.title = this._rval.transform(parameters.Title, this.mo, this.allColumns, true);\r\n this.subtitle = this._rval.transform(parameters.Subtitle, this.mo, this.allColumns, true);\r\n this.fontIcon = parameters.FontIcon ?? 'person-placeholder';\r\n this.imageIcon = this._rval.transform(parameters.FontIcon, this.mo, this.allColumns);\r\n this.isIconImage = typeof this.imageIcon === 'object';\r\n this.hasIcon = parameters.HasIcon;\r\n this.avatarCircle = true;\r\n if (typeof parameters.AvatarCircle !== 'undefined') {\r\n this.avatarCircle = parameters.AvatarCircle;\r\n }\r\n }\r\n }\r\n private _setHeaderHeight(): void {\r\n this._cardViewService.setHeaderHeight(this._headerEl.nativeElement.offsetHeight);\r\n }\r\n}\r\n","<fd-card-header\r\n [class.hide-border]=\"parameters.HideBorder\"\r\n (click)=\"!isCheckList && events.emit({ title: 'rowCheck' })\"\r\n [style.height.px]=\"maxHeightHeader ? maxHeightHeader : null\"\r\n>\r\n <fd-card-main-header>\r\n @if (hasIcon) {\r\n <fd-avatar\r\n [circle]=\"avatarCircle\"\r\n size=\"s\"\r\n ariaLabel=\"avatar image\"\r\n title=\"avatar image\"\r\n alterIcon=\"content|alt|backup|default-icon\"\r\n [glyph]=\"fontIcon\"\r\n [image]=\"isIconImage ? (imageIcon?.FileId | picFieldSrc: 'GetPictureFromFileInfo':null) : ''\"\r\n ></fd-avatar>\r\n }\r\n <div fd-card-title [style.justify-content]=\"'end'\" style=\"display: flex\">\r\n <div style=\"display: flex; justify-content: start; flex-grow: 1\">\r\n @if (isCheckList) {\r\n <fd-checkbox\r\n [name]=\"mo.$Caption\"\r\n [ngModel]=\"isChecked\"\r\n (ngModelChange)=\"events.emit({ title: 'rowCheck' })\"\r\n ></fd-checkbox>\r\n } @if (setting.ContextMenuInFooter && contextMenuItems && contextMenuItems.length > 0) {\r\n <div\r\n ulvContextMenu\r\n [allColumns]=\"allColumns\"\r\n [menuItems]=\"contextMenuItems\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [mo]=\"mo\"\r\n (commandClick)=\"events.emit({ title: 'ulvCommand' })\"\r\n ></div>\r\n }\r\n <h2\r\n #hEl\r\n class=\"fd-card__title\"\r\n [hostEl]=\"hEl\"\r\n [styleIndex]=\"styleIndex\"\r\n [dbName]=\"titleDbName\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n >\r\n {{ title | bbbTranslate }}\r\n </h2>\r\n </div>\r\n @if (canView) {\r\n <button\r\n fd-button\r\n (click)=\"$event.preventDefault(); $event.stopPropagation(); events.emit({ title: 'rowClick' })\"\r\n [glyph]=\"navigationArrow\"\r\n fdType=\"transparent\"\r\n ></button>\r\n }\r\n </div>\r\n\r\n <h3\r\n fd-card-subtitle\r\n #hEl\r\n [hostEl]=\"hEl\"\r\n [styleIndex]=\"styleIndex\"\r\n [dbName]=\"subtitleDbName\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n resizeHandler\r\n [fnResize]=\"setHeaderHeight\"\r\n >\r\n {{ subtitle | bbbTranslate }}\r\n </h3>\r\n </fd-card-main-header>\r\n</fd-card-header>\r\n<div></div>\r\n","import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\r\nimport { FormPropsBaseComponent, MoForReportModel } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-form-content-quick-view',\r\n templateUrl: './form-content-quick-view.component.html',\r\n styleUrls: ['./form-content-quick-view.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class FormContentQuickViewComponent extends FormPropsBaseComponent implements OnInit {\r\n groups = {};\r\n title: string;\r\n subtitle: string;\r\n fontIcon: string;\r\n imageUrl: string;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n const groups = {};\r\n this.title = this._controlUiPipe.transform(this.settings?.Title, this.layout94)?.FieldUi?.value;\r\n this.subtitle = this._controlUiPipe.transform(this.settings?.Subtitle, this.layout94)?.FieldUi?.value;\r\n const fontIcon = this._controlUiPipe.transform(this.settings?.FontIcon, this.layout94)?.FieldUi;\r\n if (fontIcon) {\r\n const { imageUrl, value } = fontIcon;\r\n this.imageUrl = imageUrl;\r\n this.fontIcon = value;\r\n }\r\n const settingGroups: MoForReportModel = this.settings?.Groups;\r\n if (settingGroups) {\r\n settingGroups.MoDataList.forEach((c) => {\r\n groups[c.Title] = (c.ListFields as string)\r\n .split(',')\r\n .map((d) => ({\r\n caption: d,\r\n fieldUi: this._controlUiPipe.transform(d, this.layout94)\r\n }))\r\n .map((d) => ({ ...d, value: this.getFieldValue(d.fieldUi?.FieldUi?.value) }))\r\n .map((d) => ({ ...d, type: this.getFieldType(d.value) }));\r\n });\r\n }\r\n this.groups = groups;\r\n }\r\n getFieldValue(value): any {\r\n if (!value) {\r\n return value;\r\n }\r\n const t: string = value.toString();\r\n if (t.indexOf(',') > -1) {\r\n return t.split(',');\r\n }\r\n return value;\r\n }\r\n getIsPhone(value): boolean {\r\n if (value.startsWith('0') || (value.startsWith('+') && !Number.isNaN(value.substring(1, value.length)))) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n getIsEmail(value): boolean {\r\n if (value.indexOf('@') > -1) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n getIsWebsite(value): boolean {\r\n if (value.startsWith('http') || value.startsWith('https')) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n getFieldType(value: any): any {\r\n if (typeof value === 'string') {\r\n if (this.getIsWebsite(value)) {\r\n return 0;\r\n }\r\n if (this.getIsPhone(value)) {\r\n return 1;\r\n }\r\n if (this.getIsEmail(value)) {\r\n return 2;\r\n }\r\n return 3;\r\n } else if (Array.isArray(value)) {\r\n if (value.length) {\r\n if (this.getIsPhone(value[0])) {\r\n return 4;\r\n }\r\n if (this.getIsEmail(value[0])) {\r\n return 5;\r\n }\r\n if (this.getIsWebsite(value[0])) {\r\n return 6;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","<fd-quick-view>\r\n <fd-quick-view-subheader>\r\n <fd-avatar\r\n title=\"avatar\"\r\n [glyph]=\"fontIcon\"\r\n [image]=\"imageUrl\"\r\n [size]=\"'s'\"\r\n [border]=\"settings.ShowLogoBorder\"\r\n [transparent]=\"settings.TransparentLogo\"\r\n [colorAccent]=\"settings.AccentColor\"\r\n ></fd-avatar>\r\n <fd-quick-view-subheader-title>\r\n {{ title | bbbTranslate }}\r\n </fd-quick-view-subheader-title>\r\n <fd-quick-view-subheader-subtitle>\r\n {{ subtitle | bbbTranslate }}\r\n </fd-quick-view-subheader-subtitle>\r\n </fd-quick-view-subheader>\r\n\r\n @for (group of groups | keyvalue; track group) {\r\n <fd-quick-view-group [attr.aria-labelledby]=\"group.key\">\r\n <fd-quick-view-group-title [id]=\"group.key\">\r\n {{ group.key | bbbTranslate }}\r\n </fd-quick-view-group-title>\r\n @for (item of $any(group).value; track item) {\r\n <fd-quick-view-group-item>\r\n <fd-quick-view-group-item-label>\r\n {{ item.caption | bbbTranslate }}\r\n </fd-quick-view-group-item-label>\r\n <fd-quick-view-group-item-content>\r\n @switch (item.type) { @case (6) {\r\n <div style=\"display: flex; flex-direction: column; row-gap: 3px\">\r\n @for (website of item.value; track website) {\r\n <a\r\n [href]=\"website\"\r\n [innerText]=\"website | bbbTranslate\"\r\n fd-link\r\n fd-quick-view-group-item-content-element\r\n ></a>\r\n }\r\n </div>\r\n } @case (0) {\r\n <a\r\n [href]=\"item.value\"\r\n [innerText]=\"item.value | bbbTranslate\"\r\n fd-link\r\n fd-quick-view-group-item-content-element\r\n ></a>\r\n } @case (1) {\r\n <a\r\n [href]=\"'tel:' + item.value\"\r\n [innerText]=\"item.value | bbbTranslate\"\r\n fd-link\r\n fd-quick-view-group-item-content-element\r\n ></a>\r\n } @case (4) {\r\n <div style=\"display: flex; flex-direction: column; row-gap: 3px\">\r\n @for (tel of item.value; track tel) {\r\n <a [href]=\"'tel:' + tel\" [innerText]=\"tel\" fd-link fd-quick-view-group-item-content-element></a>\r\n }\r\n </div>\r\n } @case (5) {\r\n <div style=\"display: flex; flex-direction: column; row-gap: 3px\">\r\n @for (email of item.value; track email) {\r\n <a\r\n style=\"direction: ltr; font-family: monospace\"\r\n [href]=\"'mailto:' + email\"\r\n [innerText]=\"email\"\r\n fd-link\r\n fd-quick-view-group-item-content-element\r\n ></a>\r\n }\r\n </div>\r\n } @case (2) {\r\n <a\r\n style=\"direction: ltr; font-family: monospace\"\r\n [href]=\"'mailto:' + item.value\"\r\n [innerText]=\"item.value\"\r\n fd-link\r\n fd-quick-view-group-item-content-element\r\n ></a>\r\n } @default {\r\n <div [innerText]=\"item.value | bbbTranslate\" fd-quick-view-group-item-content-element></div>\r\n } }\r\n </fd-quick-view-group-item-content>\r\n </fd-quick-view-group-item>\r\n }\r\n </fd-quick-view-group>\r\n }\r\n</fd-quick-view>\r\n","import {\r\n Component,\r\n OnInit,\r\n ChangeDetectionStrategy,\r\n ViewChild,\r\n ViewChildren,\r\n QueryList,\r\n ElementRef\r\n} from '@angular/core';\r\nimport {\r\n BarsaApi,\r\n GeneralControlInfoModel,\r\n MetaobjectDataModel,\r\n FormPropsBaseComponent,\r\n FindLayoutSettingFromLayout94\r\n} from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-service-desk-servcie-detail',\r\n templateUrl: './service-desk-servcie-detail.component.html',\r\n styleUrls: ['./service-desk-servcie-detail.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class ServiceDeskServcieDetailComponent extends FormPropsBaseComponent implements OnInit {\r\n @ViewChild('tabContainerRef') tabContainerRef: ElementRef;\r\n @ViewChildren('tablesRef') tablesRef: QueryList<ElementRef>;\r\n filteredControls: FieldsInfo[];\r\n firstArray: FieldsInfo[] = [];\r\n secondArray: FieldsInfo[] = [];\r\n valueSharhKhedmat: any;\r\n moByCaption = {};\r\n khadamatmortabet: MetaobjectDataModel[];\r\n services: GeneralControlInfoModel[];\r\n controlCount: number;\r\n isOdd: boolean;\r\n fieldsCaption: FieldsInfo[] = [];\r\n value = '';\r\n rahnamayTasviri: any;\r\n israhnamayTasviri = false;\r\n selectedTab: number;\r\n khadamatmortabetReport: { ReportId: string; TypeDefId: string };\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n\r\n const $FieldDict = this.fieldDict;\r\n if (!$FieldDict) {\r\n return;\r\n }\r\n this._prepare($FieldDict, this.mo);\r\n }\r\n\r\n onDownload(item): void {\r\n if (item.Attachment) {\r\n BarsaApi.Common.File.DownloadFileId(item.Attachment.Files[0].Id);\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n this.alignTablesTr();\r\n }\r\n onKhadamatMortabet(item): void {\r\n BarsaApi.Bw.Form.Show({\r\n MoId: item.Id,\r\n TypeDefId: this.khadamatmortabetReport.TypeDefId,\r\n MoContext: { ReportId: this.khadamatmortabetReport.ReportId }\r\n });\r\n }\r\n private alignTablesTr(): void {\r\n setTimeout(() => {\r\n const tablesRef = this.tablesRef.toArray();\r\n const firstTableEl = tablesRef[0].nativeElement as HTMLElement;\r\n const secondTableEl = tablesRef[1].nativeElement as HTMLElement;\r\n\r\n const trFirstTable = firstTableEl.querySelectorAll('tr');\r\n const trSecondTable = secondTableEl.querySelectorAll('tr');\r\n\r\n trFirstTable.forEach((tr, index) => {\r\n if (index < trSecondTable.length) {\r\n const trSecond = trSecondTable[index];\r\n if (tr.offsetHeight > trSecond.offsetHeight) {\r\n trSecond.style.height = `${tr.offsetHeight}px`;\r\n } else {\r\n tr.style.height = `${trSecond.offsetHeight}px`;\r\n }\r\n }\r\n });\r\n }, 0);\r\n }\r\n\r\n private _prepare($FieldDict: { [key: string]: string }, mo: MetaobjectDataModel): void {\r\n const leftside = FindLayoutSettingFromLayout94(this.layout94, 'جدول چپ');\r\n const rightside = FindLayoutSettingFromLayout94(this.layout94, 'جدول راست');\r\n\r\n leftside?.items[0]?.items?.forEach((item2) => {\r\n const key = item2.Caption;\r\n const fieldName = item2.ControlId;\r\n const item: FieldsInfo = { caption: key, fieldName };\r\n if (\r\n key === 'آدرس سایت' ||\r\n (typeof mo[fieldName] === 'string' &&\r\n (mo[fieldName].startsWith('https://') || mo[fieldName].startsWith('http://')))\r\n ) {\r\n item.type = 'Link';\r\n }\r\n if (typeof mo[fieldName] === 'object') {\r\n if (mo[fieldName].$Type === 'Common.MetaObjectListWeb') {\r\n item.type = 'MoList';\r\n } else if (mo[fieldName].Ext) {\r\n item.type = 'Image';\r\n } else if (mo[fieldName].Files) {\r\n item.type = 'Files';\r\n } else {\r\n item.type = 'Relation';\r\n }\r\n }\r\n this.firstArray.push(item);\r\n });\r\n rightside?.items[0]?.items?.forEach((item2) => {\r\n const key = item2.Caption;\r\n const fieldName = item2.ControlId;\r\n const item: FieldsInfo = { caption: key, fieldName };\r\n if (\r\n key === 'آدرس سایت' ||\r\n (typeof mo[fieldName] === 'string' &&\r\n (mo[fieldName].startsWith('https://') || mo[fieldName].startsWith('http://')))\r\n ) {\r\n item.type = 'Link';\r\n }\r\n if (typeof mo[fieldName] === 'object') {\r\n if (mo[fieldName].$Type === 'Common.MetaObjectListWeb') {\r\n item.type = 'MoList';\r\n } else if (mo[fieldName].Ext) {\r\n item.type = 'Image';\r\n } else if (mo[fieldName].Files) {\r\n item.type = 'Files';\r\n } else {\r\n item.type = 'Relation';\r\n }\r\n }\r\n this.secondArray.push(item);\r\n });\r\n this.rahnamayTasviri = this._sanitizer.bypassSecurityTrustResourceUrl(mo[$FieldDict['راهنمای تصویری']]);\r\n if (this.rahnamayTasviri) {\r\n this.israhnamayTasviri = true;\r\n }\r\n\r\n // this.firstArray = filteredControls.slice(0, controlCountMiddle);\r\n // this.secondArray = filteredControls.slice(controlCountMiddle, controlCount);\r\n this.khadamatmortabet = mo[$FieldDict['خدمات مرتبط']]?.MoDataList ?? [];\r\n this.khadamatmortabetReport = mo[$FieldDict['خدمات مرتبط']];\r\n\r\n // this.isOdd = controlCount % 2 === 0;\r\n this.isOdd = false;\r\n }\r\n}\r\ninterface FieldsInfo {\r\n type?: string;\r\n caption: string;\r\n fieldName: string;\r\n}\r\n","<fd-dynamic-page [size]=\"isMobile ? 'small' : 'large'\">\r\n <fd-dynamic-page-header\r\n [class.simple-title]=\"true\"\r\n [title]=\"''\"\r\n [class.p-b0]=\"true\"\r\n [class.hide]=\"true\"\r\n [class.no-toolbar-items]=\"true\"\r\n>\r\n</fd-dynamic-page-header>\r\n<fd-dynamic-page-subheader style=\"display: none\"> </fd-dynamic-page-subheader>\r\n <fd-tab-list\r\n [collapseOverflow]=\"true\"\r\n [stackContent]=\"false\"\r\n maxContentHeight=\"auto\"\r\n [expandOverflowText]=\"'More' | bbbTranslate\"\r\n #tablist\r\n >\r\n <fd-tab [title]=\"'شناسنامه خدمت' | bbbTranslate\" selected>\r\n <fd-dynamic-page-content>\r\n <fd-layout-grid class=\"row\" style=\"margin: 0\">\r\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"6\" [colLg]=\"6\" [colXl]=\"6\" style=\"padding: 0\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderTable;\r\n context: {\r\n $implicit: firstArray,\r\n showKhadamatMortabet: isOdd,\r\n classNames: 'firstTable'\r\n }\r\n \"\r\n >\r\n </ng-container>\r\n </div>\r\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"6\" [colLg]=\"6\" [colXl]=\"6\" style=\"padding: 0\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderTable;\r\n context: {\r\n $implicit: secondArray,\r\n showKhadamatMortabet: !isOdd,\r\n classNames: 'secondTable'\r\n }\r\n \"\r\n >\r\n </ng-container>\r\n </div>\r\n </fd-layout-grid>\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n <fd-tab [title]=\"'پیشنیازهای اخذ خدمت' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('پیشنیازهای اخذ خدمت' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'پیشنیازهای اخذ خدمت' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n <fd-tab [title]=\"'شرايط اخذ خدمت' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('شرایط اخذ خدمت' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'شرایط اخذ خدمت' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab [title]=\"'مراحل اخذ خدمت' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('مراحل اخذ خدمت' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'مراحل اخذ خدمت' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n } @if ('فرآیند مجوز' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control [caption]=\"'فرآیند مجوز' | bbbTranslate\" [config]=\"configUi\"></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab [title]=\"'مدارک مورد نیاز اخذ خدمت' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('مدارک مورد نیاز اخذ خدمت' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'مدارک مورد نیاز اخذ خدمت' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab [title]=\"'هزینه های خدمت' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('هزینه های خدمت' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'هزینه های خدمت' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n <fd-tab [title]=\"'مبانی قانونی ارائه خدمت' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('مبانی قانونی ارائه خدمت' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'مبانی قانونی ارائه خدمت' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab [title]=\"'واحدهای ارائه دهنده خدمت' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('واحدهای سازمانی ارائه دهنده' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'واحدهای سازمانی ارائه دهنده' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab [title]=\"'دستگاه های استعلام دهنده' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('استعلام سازمان ها' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'استعلام سازمان ها' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n @if ('SLA و راهنمای خدمت' | controlUi: layout94; as configUi) {\r\n <fd-tab [title]=\"'SLA و راهنمای خدمت' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if (configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'SLA و راهنمای خدمت' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n }\r\n </fd-tab-list>\r\n\r\n <fd-dynamic-page-footer> </fd-dynamic-page-footer>\r\n</fd-dynamic-page>\r\n\r\n<ng-template #renderTable let-array let-showKhadamatMortabet=\"showKhadamatMortabet\" let-classNames=\"classNames\">\r\n <table #tablesRef class=\"table-grid\" [ngClass]=\"classNames\">\r\n @for (controlItem of array; track controlItem) {\r\n <tr>\r\n <th>{{ controlItem.caption | bbbTranslate }}</th>\r\n <td>\r\n @switch (controlItem.type) { @case ('Link') {\r\n <a dir=\"ltr\" target=\"_blank\" [href]=\"mo[controlItem.fieldName]\">{{ mo[controlItem.fieldName] }}</a>\r\n } @case ('Relation') {\r\n {{ controlItem.fieldName | val: mo:true | bbbTranslate }}\r\n } @case ('MoList') { @for (item of mo[controlItem.fieldName]?.MoDataList; track item) {\r\n <div class=\"links\">\r\n <fd-icon class=\"fd-icon-link\" [glyph]=\"'chain-link'\" style=\"color: #0854a0\"></fd-icon>\r\n <!-- <fd-icon class=\"fd-icon-link\" [glyph]=\"'pdf-attachment'\"></fd-icon> -->\r\n <a (click)=\"onDownload(item)\">{{ item.$Caption }}</a>\r\n </div>\r\n } } @case ('Image') {\r\n {{ mo[controlItem.fieldName].Ext }}\r\n } @case ('Files') {\r\n {{ mo[controlItem.fieldName].Files }}\r\n } @default {\r\n {{ mo[controlItem.fieldName + '$Caption'] || mo[controlItem.fieldName] | bbbTranslate }}\r\n } }\r\n </td>\r\n </tr>\r\n }\r\n <!-- <ng-container *ngIf=\"showKhadamatMortabet\">\r\n <tr>\r\n <th>خدمات مرتبط</th>\r\n <td>\r\n <div class=\"links\" *ngFor=\"let item of khadamatmortabet\">\r\n <a (click)=\"onKhadamatMortabet(item)\">{{ item.$Caption }}</a>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-container> -->\r\n </table>\r\n</ng-template>\r\n","import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\r\nimport { MetaobjectDataModel, ReportViewBaseComponent } from 'barsa-novin-ray-core';\r\nimport { ServiceDeskViewOfServicesSetting } from '../models';\r\n\r\n@Component({\r\n selector: 'bdc-service-desk-view-of-services',\r\n templateUrl: './service-desk-view-of-services.component.html',\r\n styleUrls: ['./service-desk-view-of-services.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class ServiceDeskViewOfServicesComponent\r\n extends ReportViewBaseComponent<ServiceDeskViewOfServicesSetting>\r\n implements OnInit\r\n{\r\n fieldIcon: string;\r\n fieldTitle: string;\r\n fieldDynamicCommand: string;\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.fieldIcon = this.viewSetting.FieldIcon;\r\n this.fieldTitle = this.viewSetting.FieldTitle;\r\n this.fieldDynamicCommand = this.viewSetting.FieldDynamicCommand;\r\n this.contextMenuItems?.forEach((c) => {\r\n const parameters = c.Command.CustomUi?.Parameters;\r\n if (parameters) {\r\n // parameters.OnlyIcon = true;\r\n }\r\n });\r\n }\r\n onRowClick2(e: { mo: MetaobjectDataModel; index: number }, dynamicCommand: any): void {\r\n if (dynamicCommand) {\r\n return;\r\n }\r\n super.onRowClick(e);\r\n }\r\n}\r\n","<div class=\"services\">\r\n <div class=\"service-list\">\r\n <fd-layout-grid>\r\n <div fdLayoutGridRow>\r\n @for (mo of moDataList | multipleGroupBy: groupby; track mo; let i = $index) { @if (mo.$Group ||\r\n mo.$Group === '') {\r\n <div [fdLayoutGridCol]=\"12\">\r\n <h3\r\n fd-title\r\n style=\"\r\n padding: 0 0 0.4rem 0;\r\n border-bottom: var(--sapList_BorderWidth) solid var(--sapList_BorderColor);\r\n \"\r\n >\r\n {{ mo.$Group }}\r\n </h3>\r\n </div>\r\n } @if (!mo.$Group) {\r\n <div [fdLayoutGridCol]=\"12\" [colSm]=\"12\" [colMd]=\"3\" [colLg]=\"3\" [colXl]=\"3\">\r\n <div class=\"item\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicCommand;\r\n context: {\r\n $implicit: mo,\r\n index: i,\r\n dynCommand: fieldDynamicCommand | rval: mo:allColumns,\r\n title: fieldTitle | rval: mo:allColumns | bbbTranslate\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n </div>\r\n } }\r\n </div>\r\n </fd-layout-grid>\r\n </div>\r\n</div>\r\n<ng-template #dynamicCommand let-mo let-index=\"index\" let-dynCommand=\"dynCommand\" let-title=\"title\">\r\n <button\r\n fd-button\r\n [dynCommand]=\"dynCommand\"\r\n [mo]=\"mo\"\r\n [enableCommand]=\"dynCommand\"\r\n style=\"width: 100%; max-height: 2.3rem; height: 2.3rem; border-radius: 0\"\r\n [fdType]=\"'emphasized'\"\r\n (click)=\"onRowClick2({ mo, index },dynCommand)\"\r\n [title]=\"title\"\r\n >\r\n <span class=\"item-icon\">\r\n <fd-icon glyph=\"product\"></fd-icon>\r\n </span>\r\n <span class=\"item-content\"> {{ title }}</span>\r\n <span class=\"item-icon-arrow\">\r\n @if (fieldIcon) {\r\n <fd-icon [glyph]=\"fieldIcon\"></fd-icon>\r\n }\r\n </span>\r\n </button>\r\n <div style=\"padding: 10px; border-top: 1px solid #ccc\">\r\n <bsu-ulv-context-menu\r\n [disableOverflowContextMenu]=\"true\"\r\n [mo]=\"mo\"\r\n [index]=\"index\"\r\n [styleIndex]=\"mo.$StyleIndex\"\r\n [menuItems]=\"contextMenuItems\"\r\n [allColumns]=\"allColumns\"\r\n (commandClick)=\"this.ulvCommandClick.emit({ mo, index })\"\r\n ></bsu-ulv-context-menu>\r\n </div>\r\n</ng-template>\r\n","import { Component, OnInit, ChangeDetectionStrategy, Input } from '@angular/core';\r\nimport { BaseComponent, MetaobjectDataModel, ReportViewColumn } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-service-desk-card-content-mojavezhay-akhz-shode',\r\n templateUrl: './service-desk-card-content-mojavezhay-akhz-shode.component.html',\r\n styleUrls: ['./service-desk-card-content-mojavezhay-akhz-shode.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class ServiceDeskCardContentMojavezhayAkhzShodeComponent extends BaseComponent implements OnInit {\r\n @Input() mo: MetaobjectDataModel;\r\n @Input() allColumns: ReportViewColumn[];\r\n @Input() parameters: MetaobjectDataModel;\r\n @Input() rtl: boolean;\r\n fieldTitle: string;\r\n titleOfValue: string;\r\n fieldValue: string;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.fieldTitle = this.parameters.FieldTitle;\r\n this.titleOfValue = this.parameters.TitleOfValue;\r\n this.fieldValue = this.parameters.FieldValue;\r\n }\r\n}\r\n","<div style=\"display: flex; flex-direction: row; width: 100%\">\r\n <h2\r\n fd-title\r\n style=\"\r\n width: 60%;\r\n text-align: right;\r\n font-size: 12px;\r\n font-weight: 600;\r\n padding: 0px 16px 0 0;\r\n text-overflow: ellipsis;\r\n overflow: hidden;\r\n white-space: nowrap;\r\n \"\r\n >\r\n {{ fieldTitle | rval: mo:allColumns:true }}\r\n </h2>\r\n <h3\r\n fd-title\r\n style=\"\r\n width: 40%;\r\n text-align: left;\r\n font-size: 12px;\r\n font-weight: 600;\r\n padding: 0px 5px 0 10px;\r\n text-overflow: ellipsis;\r\n overflow: hidden;\r\n white-space: nowrap;\r\n display: flex;\r\n \"\r\n >\r\n <div style=\"width: 100%; font-weight: 400\">{{ titleOfValue }}:</div>\r\n <div style=\"padding-right: 5px; text-align: left\">\r\n {{ fieldValue | rval: mo:allColumns }}\r\n </div>\r\n </h3>\r\n</div>\r\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\nimport { CardHeaderLogoTitleSubtitleComponent } from '../card-header-logo-title-subtitle/card-header-logo-title-subtitle.component';\r\n@Component({\r\n selector: 'bdc-card-header-big-image-title-and-subtitle',\r\n templateUrl: './card-header-big-image-title-and-subtitle.component.html',\r\n styleUrls: ['./card-header-big-image-title-and-subtitle.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class CardHeaderBigImageTitleAndSubtitleComponent extends CardHeaderLogoTitleSubtitleComponent {}\r\n","<fd-card-header [class.hide-border]=\"parameters.HideBorder\">\r\n <fd-card-main-header>\r\n @if (hasIcon) {\r\n <fd-avatar\r\n [circle]=\"avatarCircle\"\r\n size=\"s\"\r\n ariaLabel=\"avatar image\"\r\n title=\"avatar image\"\r\n [glyph]=\"fontIcon\"\r\n [image]=\"isIconImage ? (imageIcon?.FileId | picFieldSrc: 'GetPictureFromFileInfo':null) : ''\"\r\n ></fd-avatar>\r\n }\r\n <div fd-card-title [style.justify-content]=\"'end'\" style=\"display: flex\">\r\n <div style=\"display: flex; justify-content: start; flex-grow: 1\">\r\n @if (isCheckList) {\r\n <fd-checkbox\r\n [name]=\"mo.$Caption\"\r\n [ngModel]=\"isChecked\"\r\n (ngModelChange)=\"events.emit({ title: 'rowCheck' })\"\r\n ></fd-checkbox>\r\n } @if (!setting.ContextMenuInFooter && contextMenuItems && contextMenuItems.length > 0) {\r\n <div\r\n ulvContextMenu\r\n [allColumns]=\"allColumns\"\r\n [menuItems]=\"contextMenuItems\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [mo]=\"mo\"\r\n [styleIndex]=\"styleIndex\"\r\n (commandClick)=\"events.emit({ title: 'ulvCommand' })\"\r\n ></div>\r\n }\r\n <h2\r\n #hEl\r\n class=\"fd-card__title\"\r\n [hostEl]=\"hEl\"\r\n [dbName]=\"titleDbName\"\r\n [styleIndex]=\"styleIndex\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n resizeHandler\r\n [fnResize]=\"setHeaderHeight\"\r\n [style.height.px]=\"maxHeightHeader\"\r\n >\r\n {{ title }}\r\n </h2>\r\n </div>\r\n @if (canView && !hideOpenIcon) {\r\n <button\r\n fd-button\r\n (click)=\"events.emit({ title: 'rowClick' })\"\r\n [glyph]=\"navigationArrow\"\r\n fdType=\"transparent\"\r\n ></button>\r\n }\r\n </div>\r\n\r\n <h3\r\n fd-card-subtitle\r\n #hEl\r\n [hostEl]=\"hEl\"\r\n [dbName]=\"subtitleDbName\"\r\n [styleIndex]=\"styleIndex\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n >\r\n {{ subtitle }}\r\n </h3>\r\n </fd-card-main-header>\r\n</fd-card-header>\r\n<div></div>\r\n","import {\r\n Component,\r\n OnInit,\r\n ChangeDetectionStrategy,\r\n ViewChild,\r\n ViewChildren,\r\n QueryList,\r\n ElementRef\r\n} from '@angular/core';\r\nimport { BarsaApi, FormPropsBaseComponent, MetaobjectDataModel } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-service-desk-form-layout-content-mojavez',\r\n templateUrl: './service-desk-form-layout-content-mojavez.component.html',\r\n styleUrls: ['./service-desk-form-layout-content-mojavez.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class ServiceDeskFormLayoutContentMojavezComponent extends FormPropsBaseComponent implements OnInit {\r\n @ViewChild('tabContainerRef') tabContainerRef: ElementRef;\r\n @ViewChildren('tablesRef', { read: ElementRef }) tablesRef: QueryList<ElementRef>;\r\n\r\n fieldsCaption: FieldsInfo[] = [];\r\n Mojavez: MetaobjectDataModel[];\r\n\r\n firstArray: FieldsInfo[];\r\n secondArray: FieldsInfo[];\r\n isOdd: boolean;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n\r\n let fieldDict: string[] = [];\r\n if (this.fieldDict) {\r\n fieldDict = Object.keys(this.fieldDict);\r\n }\r\n if (fieldDict) {\r\n fieldDict.forEach((key) => {\r\n if (this.fieldDict) {\r\n const fieldName = this.fieldDict[key];\r\n const item: FieldsInfo = { caption: key, fieldName, value: '' };\r\n const customFiledUi = this._controlUiPipe.transform(key, this.layout94);\r\n item.value = this.mo[fieldName];\r\n const originalXtype = customFiledUi?.FieldUi?.originalXtype;\r\n if (key === 'آدرس سایت') {\r\n item.type = 'Link';\r\n }\r\n if (this.mo[fieldName + '$Caption']) {\r\n item.type = 'Caption';\r\n item.value = this.mo[fieldName + '$Caption'];\r\n } else if (typeof item.value === 'object') {\r\n if (item.value.$Type === 'Common.MetaObjectListWeb') {\r\n item.type = 'MoList';\r\n } else if (item.value.Ext) {\r\n item.type = 'Image';\r\n } else if (originalXtype === 'Ui.FileLinearListBox') {\r\n item.type = 'Files';\r\n } else {\r\n item.type = 'Relation';\r\n }\r\n if (key === 'خدمات قابل انجام') {\r\n item.type = 'MoList2';\r\n }\r\n }\r\n this.fieldsCaption.push(item);\r\n }\r\n });\r\n }\r\n\r\n this.fieldsCaption = this.fieldsCaption.filter(\r\n (c) => c.caption !== 'عنوان مجوز' && c.caption !== 'نقش اشخاص در مجوز' && c.caption !== 'فرزند'\r\n );\r\n const controlCount = this.fieldsCaption.length;\r\n const controlCountMiddle = Math.ceil(this.fieldsCaption.length / 2);\r\n\r\n this.firstArray = this.fieldsCaption.slice(0, controlCountMiddle);\r\n this.secondArray = this.fieldsCaption.slice(controlCountMiddle, controlCount);\r\n\r\n this.isOdd = controlCount % 2 === 0;\r\n }\r\n ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n this.alignTablesTr();\r\n }\r\n onLink(item): void {\r\n if (item.F34) {\r\n window.open(item.F42);\r\n } else {\r\n BarsaApi.Bw.Msg.Info('سامانه ای تعریف نشده است');\r\n }\r\n }\r\n\r\n onDownload(item): void {\r\n BarsaApi.Common.File.DownloadFileId(item.Id);\r\n }\r\n private alignTablesTr(): void {\r\n setTimeout(() => {\r\n const tablesRef = this.tablesRef.toArray();\r\n const firstTableEl = tablesRef[0].nativeElement as HTMLElement;\r\n const secondTableEl = tablesRef[1].nativeElement as HTMLElement;\r\n\r\n const trFirstTable = firstTableEl.querySelectorAll('tr');\r\n const trSecondTable = secondTableEl.querySelectorAll('tr');\r\n\r\n trFirstTable.forEach((tr, index) => {\r\n if (index < trSecondTable.length) {\r\n const trSecond = trSecondTable[index];\r\n if (tr.offsetHeight > trSecond.offsetHeight) {\r\n trSecond.style.height = `${tr.offsetHeight}px`;\r\n } else {\r\n tr.style.height = `${trSecond.offsetHeight}px`;\r\n }\r\n }\r\n });\r\n }, 0);\r\n }\r\n}\r\ninterface FieldsInfo {\r\n type?: string;\r\n caption: string;\r\n fieldName: string;\r\n value: any;\r\n}\r\n","<fd-layout-grid>\r\n <div [fdLayoutGridCol]=\"6\" style=\"padding: 0\">\r\n <ng-container *ngTemplateOutlet=\"renderTable; context: { $implicit: firstArray, classNames: 'firstTable' }\">\r\n </ng-container>\r\n </div>\r\n <div [fdLayoutGridCol]=\"6\" style=\"padding: 0\">\r\n <ng-container *ngTemplateOutlet=\"renderTable; context: { $implicit: secondArray, classNames: 'secondTable' }\">\r\n </ng-container>\r\n </div>\r\n</fd-layout-grid>\r\n\r\n<ng-template #renderTable let-array let-classNames=\"classNames\">\r\n <table fd-table #tablesRef class=\"table-grid\" [ngClass]=\"classNames\">\r\n @for (controlItem of array; track controlItem) {\r\n <tr fd-table-row>\r\n <th fd-tabel-cell>{{ controlItem.caption }}</th>\r\n <td fd-tabel-cell>\r\n @switch (controlItem.type) { @case ('Link') {\r\n <a target=\"_blank\" [href]=\"controlItem.value\">{{ controlItem.value }}</a>\r\n } @case ('Relation') {\r\n {{ controlItem.value.$Caption }}\r\n } @case ('MoList') { @for (item of controlItem.value.MoDataList; track item) {\r\n <div class=\"links\">\r\n <fd-icon class=\"fd-icon-link\" [glyph]=\"'pdf-attachment'\"></fd-icon>\r\n <a (click)=\"onDownload(item)\">{{ item.$Caption }}</a>\r\n </div>\r\n } } @case ('MoList2') { @for (item of controlItem.value.MoDataList; track item) {\r\n <div class=\"links\">\r\n <fd-icon class=\"fd-icon-link\" [glyph]=\"'chain-link'\"></fd-icon>\r\n <a (click)=\"onLink(item)\">{{ item.$Caption }}</a>\r\n </div>\r\n } } @case ('Caption') {\r\n {{ controlItem.value }}\r\n } @case ('Image') {\r\n {{ controlItem.value.Ext }}\r\n } @case ('Files') { @for (item of controlItem.value.Files; track item) {\r\n <div class=\"links\">\r\n <fd-icon class=\"fd-icon-link\" [glyph]=\"'pdf-attachment'\"></fd-icon>\r\n <a (click)=\"onDownload(item)\">{{ item.FileName }}</a>\r\n </div>\r\n } } @default {\r\n {{ controlItem.value }}\r\n } }\r\n </td>\r\n </tr>\r\n }\r\n </table>\r\n</ng-template>\r\n","import { Component, OnInit, ChangeDetectionStrategy, TemplateRef, inject } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { ButtonType, DialogConfig, DialogService } from '@fundamental-ngx/core';\r\nimport { BarsaApi, BaseFormToolbaritemPropsComponent } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-ulv-context-menu-item-show-file-content',\r\n templateUrl: './ulv-context-menu-item-show-file-content.component.html',\r\n styleUrls: ['./ulv-context-menu-item-show-file-content.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class UlvContextMenuItemShowFileContentComponent extends BaseFormToolbaritemPropsComponent implements OnInit {\r\n fileType: string;\r\n file: any;\r\n videoUrl: string;\r\n text: string;\r\n disabled = false;\r\n compact: boolean;\r\n icon: string;\r\n iconOnly: boolean;\r\n fdType: ButtonType;\r\n private _dialogService = inject(DialogService);\r\n private _sanitize = inject(DomSanitizer);\r\n /** Inserted by Angular inject() migration for backwards compatibility */\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n const mo = this.mo;\r\n this.text = this.parameters.ButtonText;\r\n this.fdType = this.parameters.FdType$Caption;\r\n this.compact = this.parameters.Compact;\r\n this.icon = this.parameters.Icon;\r\n this.iconOnly = this.parameters.IconOnly;\r\n this.fileType = this._reportValuePipe.transform(this.parameters.FieldType, mo, this.allColumns); // نوع\r\n this.file = this._reportValuePipe.transform(this.parameters.FieldFile, mo, this.allColumns);\r\n this.videoUrl = this._reportValuePipe.transform(this.parameters.FieldVideoUrl, mo, this.allColumns);\r\n if (this.fileType === '1' && this.file.Files?.length === 0) {\r\n this.disabled = true;\r\n }\r\n\r\n if (this.fileType === '2' && this.videoUrl) {\r\n this.disabled = true;\r\n }\r\n }\r\n openDialog(dialog: TemplateRef<any>): void {\r\n let finalUrl;\r\n if (this.fileType === '1') {\r\n finalUrl = this._sanitize.bypassSecurityTrustResourceUrl(\r\n BarsaApi.Common.File.CreateAttachmentUrl(this.file.Files[0].Id, true)\r\n );\r\n }\r\n if (this.fileType === '2') {\r\n finalUrl = this._sanitize.bypassSecurityTrustResourceUrl(this.videoUrl);\r\n }\r\n const isMobile = this.deviceName === 'mobile';\r\n const x: DialogConfig = {\r\n data: {\r\n url: finalUrl,\r\n isVideo: this.fileType === '2',\r\n responsivePadding: true,\r\n mobile: isMobile\r\n }\r\n };\r\n\r\n if (!isMobile) {\r\n x.width = '60%';\r\n x.height = '56%';\r\n }\r\n this._dialogService.open(dialog, x);\r\n }\r\n}\r\n","<button\r\n fd-button\r\n [compact]=\"compact\"\r\n [label]=\"iconOnly ? '' : (text | bbbTranslate)\"\r\n [fdType]=\"fdType\"\r\n [glyph]=\"icon\"\r\n [compact]=\"compact\"\r\n (click)=\"openDialog(pdfDialog)\"\r\n></button>\r\n\r\n<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #pdfDialog>\r\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\" #dialogTplRef>\r\n <fd-dialog-header>\r\n <ng-template fdkTemplate=\"header\">\r\n <div fd-bar-left></div>\r\n <div fd-bar-right>\r\n @if (dialogConfig.height !== '100vh') {\r\n <fd-button-bar\r\n ariaLabel=\"fullscreen\"\r\n fullscreenDialog\r\n [glyph]=\"(dialog.fullScreen | async) === true ? 'exitfullscreen' : 'resize'\"\r\n (click)=\"dialog.toggleFullScreen()\"\r\n ></fd-button-bar>\r\n }\r\n <fd-button-bar ariaLabel=\"close\" glyph=\"decline\" (click)=\"dialog.dismiss()\"></fd-button-bar>\r\n </div>\r\n </ng-template>\r\n </fd-dialog-header>\r\n\r\n <fd-dialog-body class=\"ulvmenu-file-content\">\r\n @if (!dialogConfig.data.isVideo && dialogConfig.data.url) {\r\n <object [data]=\"dialogConfig.data.url\" type=\"application/pdf\" width=\"100%\" height=\"98%\"></object>\r\n } @if (dialogConfig.data.isVideo) {\r\n <video controls style=\"width: 100%; height: 98%\">\r\n <source [src]=\"dialogConfig.data.url\" type=\"video/mp4\" />\r\n Your browser does not support HTML video.\r\n </video>\r\n }\r\n </fd-dialog-body>\r\n </fd-dialog>\r\n</ng-template>\r\n","import { Component, ChangeDetectionStrategy, AfterViewInit, OnDestroy } from '@angular/core';\r\nimport { FieldBaseComponent } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-resend-verification-code',\r\n templateUrl: './resend-verification-code.component.html',\r\n styleUrls: ['./resend-verification-code.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class ResendVerificationCodeComponent extends FieldBaseComponent implements AfterViewInit, OnDestroy {\r\n caption = '00:00';\r\n timer = 1;\r\n minutes = '0';\r\n seconds = '0';\r\n interval$: any | null;\r\n\r\n _baseTimeLeft = 120;\r\n _timeLeftCounter = 0;\r\n ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n this._timeLeftCounter = this._baseTimeLeft;\r\n this.caption = `(${this.caption})`;\r\n this._startTimer();\r\n }\r\n ngOnDestroy(): void {\r\n super.ngOnDestroy();\r\n if (this.interval$) {\r\n clearInterval(this.interval$);\r\n }\r\n }\r\n onClick(): void {\r\n this.context.fireEvent('click', this.context);\r\n }\r\n onStartTimer(): void {\r\n this._startTimer();\r\n }\r\n\r\n private _startTimer(): void {\r\n this.interval$ = setInterval(() => {\r\n if (this._timeLeftCounter > 0) {\r\n this._timeLeftCounter--;\r\n\r\n this.minutes = Math.floor(this._timeLeftCounter / 60).toString();\r\n this.seconds = Math.round(this._timeLeftCounter % 60).toString();\r\n this.minutes = Number(this.minutes) < 10 ? '0' + this.minutes : this.minutes;\r\n this.seconds = Number(this.seconds) < 10 ? '0' + this.seconds : this.seconds;\r\n this.caption = `(${this.minutes}:${this.seconds})`;\r\n } else {\r\n this._timeLeftCounter = this._baseTimeLeft;\r\n this.caption = `${this.caption}`;\r\n if (this.interval$ != null) {\r\n clearInterval(this.interval$);\r\n this.interval$ = null;\r\n }\r\n }\r\n this._cdr.detectChanges();\r\n }, 1000);\r\n }\r\n}\r\n","<button\r\n (click)=\"onClick()\"\r\n fd-button\r\n [disabled]=\"interval$ === null ? null : true\"\r\n (click)=\"onStartTimer()\"\r\n [label]=\"interval$ === null ? ('ارسال مجدد' | bbbTranslate) : caption\"\r\n glyph=\"iphone\"\r\n></button>\r\n","import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\r\nimport { ButtonType } from '@fundamental-ngx/core';\r\nimport { UiCheckBoxComponent } from 'barsa-sap-ui';\r\n\r\n@Component({\r\n selector: 'bdc-checkbox-button',\r\n templateUrl: './checkbox-button.component.html',\r\n styleUrls: ['./checkbox-button.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class CheckboxButtonComponent extends UiCheckBoxComponent implements OnInit {\r\n fdType: ButtonType;\r\n trueIcon: string;\r\n falseIcon: string;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.trueIcon = this.parameters?.TrueIcon;\r\n this.fdType = this.parameters?.FdType$Caption;\r\n this.falseIcon = this.parameters?.FalseIcon;\r\n }\r\n onClick(): void {\r\n this._valueChanged(!this.value);\r\n }\r\n}\r\n","<button\r\n [disabled]=\"(disableOrReadonly$ | async)!!\"\r\n fd-button\r\n [glyph]=\"value ? trueIcon : falseIcon\"\r\n [fdType]=\"fdType\"\r\n (click)=\"onClick()\"\r\n></button>\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { BarcodeFormat } from '@zxing/library';\r\n\r\n@Pipe({\r\n name: 'barcodeFormat',\r\n standalone: false\r\n})\r\nexport class BarcodeFormatPipe implements PipeTransform {\r\n transform(value: number): string {\r\n let format = '';\r\n for (const enumMember of Object.keys(BarcodeFormat)) {\r\n const isValueProperty = parseInt(enumMember, 10) >= 0;\r\n if (isValueProperty && Number(enumMember) === value) {\r\n format = BarcodeFormat[enumMember];\r\n }\r\n }\r\n return format;\r\n }\r\n}\r\n","import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\r\nimport { TabPanelComponent } from '@fundamental-ngx/core';\r\nimport { ReportViewBaseComponent, UiReportViewBaseSetting } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-report-tab-view',\r\n templateUrl: './report-tab-view.component.html',\r\n styleUrls: ['./report-tab-view.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class ReportTabViewComponent extends ReportViewBaseComponent<UiReportViewBaseSetting> implements OnInit {\r\n fieldTitle: string;\r\n fieldIcon: string;\r\n fieldState: string;\r\n mode: string;\r\n arrowRight: string;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.arrowRight = this.rtl ? 'navigation-left-arrow' : 'navigation-right-arrow';\r\n this.fieldTitle = this.viewSetting.FieldTitle;\r\n this.fieldIcon = this.viewSetting.FieldIcon;\r\n this.fieldState = this.viewSetting.FieldState;\r\n this.mode = this.viewSetting.Mode$Caption;\r\n }\r\n onSelectedTabChange(e: TabPanelComponent): void {\r\n const index = this.moDataList.findIndex((c) => c.Id === e.id);\r\n const mo = this.moDataList[index];\r\n super.onRowCheck({ mo, index });\r\n }\r\n}\r\n","<fd-tab-list [expandOverflowText]=\"'More' | bbbTranslate\" (selectedTabChange)=\"onSelectedTabChange($event)\">\r\n @for (mo of moDataList; track mo) {\r\n <fd-tab [title]=\"mo.$Caption\" [id]=\"mo.Id\"> </fd-tab>\r\n }\r\n</fd-tab-list>\r\n","import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\r\nimport { ReportViewBaseComponent, UiReportViewBaseSetting } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-report-line-chart-view',\r\n templateUrl: './report-line-chart-view.component.html',\r\n styleUrls: ['./report-line-chart-view.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class ReportLineChartViewComponent extends ReportViewBaseComponent<UiReportViewBaseSetting> implements OnInit {}\r\n","<div\r\n beChartLineTime\r\n [moDataList]=\"moDataList\"\r\n [groupByField]=\"'SlaveAddress'\"\r\n [dateTimeField]=\"'DateTime'\"\r\n [valueField]=\"'Value'\"\r\n></div>\r\n","import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\r\n\r\nimport { CardHeaderLogoTitleSubtitleComponent } from '../card-header-logo-title-subtitle/card-header-logo-title-subtitle.component';\r\n\r\n@Component({\r\n selector: 'bdc-card-header-kpi',\r\n templateUrl: './card-header-kpi.component.html',\r\n styleUrls: ['./card-header-kpi.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class CardHeaderKpiComponent extends CardHeaderLogoTitleSubtitleComponent implements OnInit {\r\n kpiValue: string;\r\n kpiStatus: 'positive' | 'negative' | 'critical' | 'informative';\r\n kpiAnalyticalLabel: string;\r\n kpiAnalyticalContent: string;\r\n kpiAnalayticalSymbol: string;\r\n ngOnInit(): void {\r\n const parentField = this.parameters.InheritanceInfo?.ParentFieldName;\r\n if (parentField) {\r\n const val = this.parameters[parentField];\r\n if (val) {\r\n Object.keys(val).forEach((c) => {\r\n if (!c.startsWith('$') && c !== 'Id') {\r\n this.parameters[c] = val[c];\r\n }\r\n });\r\n }\r\n }\r\n super.ngOnInit();\r\n\r\n const parameters = this.parameters;\r\n if (parameters != null) {\r\n this.kpiValue = this._rval.transform(parameters.KpiValue, this.mo, this.allColumns, true);\r\n this.kpiStatus = this._rval.transform(parameters.KpiStatus, this.mo, this.allColumns, true);\r\n this.kpiAnalyticalLabel = parameters.KpiAnalyticalLabel;\r\n this.kpiAnalayticalSymbol = this._rval.transform(parameters.KpiAnalayticalSymbol, this.mo, this.allColumns);\r\n this.kpiAnalyticalContent = this._rval.transform(parameters.KpiAnalyticalContent, this.mo, this.allColumns);\r\n }\r\n }\r\n}\r\n","<fd-card-header>\r\n <fd-card-main-header>\r\n <div fd-card-title [style.justify-content]=\"'end'\">\r\n <div style=\"display: flex; justify-content: start; flex-grow: 1\">\r\n @if (isCheckList) {\r\n <fd-checkbox\r\n [name]=\"mo.$Caption\"\r\n [ngModel]=\"isChecked\"\r\n (ngModelChange)=\"events.emit({ title: 'rowCheck' })\"\r\n ></fd-checkbox>\r\n }\r\n <h2\r\n #hEl\r\n class=\"fd-card__title\"\r\n [hostEl]=\"hEl\"\r\n [dbName]=\"titleDbName\"\r\n [styleIndex]=\"styleIndex\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n >\r\n {{ title }}\r\n </h2>\r\n @if (!setting.ContextMenuInFooter && contextMenuItems && contextMenuItems.length > 0) {\r\n <div\r\n ulvContextMenu\r\n [allColumns]=\"allColumns\"\r\n [menuItems]=\"contextMenuItems\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [styleIndex]=\"styleIndex\"\r\n [mo]=\"mo\"\r\n (commandClick)=\"events.emit({ title: 'ulvCommand' })\"\r\n ></div>\r\n }\r\n </div>\r\n @if (canView) {\r\n <button\r\n fd-button\r\n (click)=\"events.emit({ title: 'rowClick' })\"\r\n [glyph]=\"navigationArrow\"\r\n fdType=\"transparent\"\r\n ></button>\r\n }\r\n </div>\r\n\r\n <fd-card-kpi-header>\r\n <strong fd-card-kpi-value [status]=\"kpiStatus\">{{ kpiValue }}</strong>\r\n <span\r\n fd-card-kpi-scale-icon\r\n [glyph]=\"kpiStatus === 'positive' ? 'up' : 'down'\"\r\n fd-object-status\r\n [status]=\"kpiStatus\"\r\n aria-label=\"up arrow\"\r\n title=\"up arrow\"\r\n ></span>\r\n <span fd-card-kpi-scale-text fd-object-status status=\"positive\">°C</span>\r\n\r\n <div fd-card-kpi-analytics>\r\n <label fd-card-kpi-analytics-label>{{ kpiAnalyticalLabel }}</label>\r\n <span fd-card-kpi-analytics-content>{{ kpiAnalyticalContent }}{{ kpiAnalayticalSymbol }}</span>\r\n </div>\r\n </fd-card-kpi-header>\r\n\r\n <h4 fd-card-second-subtitle>{{ subtitle }}</h4>\r\n </fd-card-main-header>\r\n</fd-card-header>\r\n","import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\r\nimport { BarsaApi, BaseItemContentPropsComponent, UiReportViewBaseSetting } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-card-content-line-chart',\r\n templateUrl: './card-content-line-chart.component.html',\r\n styleUrls: ['./card-content-line-chart.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class CardContentLineChartComponent\r\n extends BaseItemContentPropsComponent<UiReportViewBaseSetting>\r\n implements OnInit\r\n{\r\n chartOption: any;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n const parameters = this.parameters;\r\n const { MethodParametersFieldName, RunBlMethodName } = parameters;\r\n const methodParameters: any = [];\r\n MethodParametersFieldName.split(',').forEach((c) => {\r\n const value = this.mo[c];\r\n if (typeof value === 'object' && value.Id) {\r\n methodParameters.push(value.Id);\r\n } else {\r\n methodParameters.push(value);\r\n }\r\n });\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: methodParameters,\r\n Method: RunBlMethodName,\r\n SuccessFn: (chartOption: string) => {\r\n this.chartOption = JSON.parse(chartOption);\r\n this._cdr.detectChanges();\r\n },\r\n FailFn: () => {}\r\n });\r\n }\r\n}\r\n","@if (chartOption) {\r\n<div class=\"card-content\" #elemRef>\r\n <div beChartLineTime [chartOption]=\"chartOption\"></div>\r\n</div>\r\n}\r\n","import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\r\nimport { BarsaApi, FormPropsBaseComponent } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-form-chart-content',\r\n templateUrl: './form-chart-content.component.html',\r\n styleUrls: ['./form-chart-content.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class FormChartContentComponent extends FormPropsBaseComponent implements OnInit {\r\n chartOption: any;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n const settings = this.settings;\r\n const { MethodParametersFieldName, RunBlMethodName } = settings;\r\n const methodParameters: any = [];\r\n MethodParametersFieldName.split(',').forEach((c) => {\r\n const value = this.mo[c];\r\n if (typeof value === 'object' && value.Id) {\r\n methodParameters.push(value.Id);\r\n } else {\r\n methodParameters.push(value);\r\n }\r\n });\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: methodParameters,\r\n Method: RunBlMethodName,\r\n SuccessFn: (chartOption: string) => {\r\n this.chartOption = JSON.parse(chartOption);\r\n this._cdr.detectChanges();\r\n },\r\n FailFn: () => {}\r\n });\r\n }\r\n}\r\n","@if (chartOption) {\r\n<div beChartLineTime [chartOption]=\"chartOption\"></div>\r\n}\r\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\nimport { ReportViewBaseComponent, UiReportViewBaseSetting } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-table-view-vertical-columns',\r\n templateUrl: './table-view-vertical-columns.component.html',\r\n styleUrls: ['./table-view-vertical-columns.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class TableViewVerticalColumnsComponent extends ReportViewBaseComponent<UiReportViewBaseSetting> {}\r\n","@for (mo of moDataList | multipleGroupBy: groupby; track mo; let index = $index) { @if (mo.$Group) {\r\n<h3>{{ mo.$Group }}</h3>\r\n<ng-container *ngTemplateOutlet=\"tplTable; context: { $implicit: mo.$Children, index: index }\"></ng-container>\r\n} }\r\n<ng-template #tplTable let-children let-index=\"index\">\r\n <table fd-table [style.margin-top]=\"index > 0 ? '2rem' : 0\">\r\n <tbody fd-table-body>\r\n @for (column of columns; track column) {\r\n <tr fd-table-row>\r\n <th fd-table-cell>\r\n <strong>{{ column.Alias }}:</strong>\r\n </th>\r\n @for (mo of children; track mo; let index = $index) {\r\n <td\r\n fd-table-cell\r\n #tdEl\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [hostEl]=\"tdEl\"\r\n [styleIndex]=\"mo.$StyleIndex\"\r\n [dbName]=\"column.Name\"\r\n >\r\n <bsu-column-renderer\r\n [mo]=\"mo\"\r\n [column]=\"column\"\r\n [value]=\"column | columnValue: mo | bbbTranslate\"\r\n [icon]=\"column | columnIcon: mo\"\r\n [editMode]=\"false\"\r\n [isChecked]=\"false\"\r\n [isNewInlineMo]=\"false\"\r\n [index]=\"index\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [formLayoutShowLabel]=\"false\"\r\n [deviceSize]=\"deviceSize\"\r\n ></bsu-column-renderer>\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </tbody>\r\n </table>\r\n</ng-template>\r\n","import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\r\nimport { FieldBaseComponent } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-query-string-observable',\r\n templateUrl: './query-string-observable.component.html',\r\n styleUrls: ['./query-string-observable.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class QueryStringObservableComponent extends FieldBaseComponent implements OnInit {\r\n caption: string;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._activatedRoute.queryParams.subscribe((queryParams) => {\r\n const value = queryParams[this.Setting.ControlName];\r\n if (value) {\r\n this.value = value;\r\n this.valueChange.emit(this.value);\r\n }\r\n });\r\n }\r\n}\r\n","","import { Component, OnInit, ChangeDetectionStrategy, inject } from '@angular/core';\r\nimport { ActivatedRoute, Params, Router } from '@angular/router';\r\nimport { BarsaApi, BaseComponent, PortalService } from 'barsa-novin-ray-core';\r\nimport { takeUntil } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'bdc-query-string-form-observable',\r\n templateUrl: './query-string-form-observable.component.html',\r\n styleUrls: ['./query-string-form-observable.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class QueryStringFormObservableComponent extends BaseComponent implements OnInit {\r\n private _activatedRoute = inject(ActivatedRoute);\r\n private _router = inject(Router);\r\n private _portalService = inject(PortalService);\r\n\r\n /** Inserted by Angular inject() migration for backwards compatibility */\r\n \r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._portalService.navigationEnd$.pipe(takeUntil(this._onDestroy$)).subscribe((event) => {\r\n if (event?.url.endsWith('/query')) {\r\n this._router.navigate(['../']);\r\n }\r\n });\r\n const params: Params = this._activatedRoute.snapshot.queryParams;\r\n\r\n const strActionList = params['actionList'];\r\n if (strActionList) {\r\n const actionList: Array<ActionListModel> = JSON.parse(strActionList.replaceAll(\"'\", '\"'));\r\n if (actionList) {\r\n BarsaApi.Ul.WorkflowPanelCtrlr.RunWorkflowActionList(actionList, null);\r\n }\r\n }\r\n }\r\n}\r\ninterface ActionListModel {\r\n ActionType: string;\r\n ActivityRunId: string;\r\n MoId: string;\r\n OpenByWorkflow: string;\r\n TypeDefId: string;\r\n}\r\n","","import { Component, OnInit, ChangeDetectionStrategy, ViewContainerRef, ViewChild } from '@angular/core';\r\nimport { BaseItemContentPropsComponent, UiReportViewBaseSetting } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-g4b-details',\r\n templateUrl: './g4b-details.component.html',\r\n styleUrls: ['./g4b-details.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class G4bDetailsComponent extends BaseItemContentPropsComponent<UiReportViewBaseSetting> implements OnInit {\r\n @ViewChild('container', { static: true, read: ViewContainerRef }) _containerRef: ViewContainerRef;\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._containerRef.createEmbeddedView(this.setting.$detailsFormItems, {\r\n $implicit: this.setting.$detailsColumns,\r\n mo: this.mo,\r\n inlineEditMode: this.inlineEditMode,\r\n isNewInlineMo: this.isNewInlineMo,\r\n layout94: this.layout94$\r\n });\r\n }\r\n}\r\n","<div #container></div>\r\n<!-- <fd-info-label [label]=\"'وضعیت درخواست'\" [color]=\"'1'\" [title]=\"'وضعیت درخواست'\"></fd-info-label> -->\r\n<div fd-form-item class=\"status-wrapper\" style=\"width: 100%; padding-bottom: 1rem\" [attr.deviceSize]=\"deviceSize\">\r\n <label fd-form-label>وضعیت درخواست </label>\r\n <fd-micro-process-flow class=\"flow\">\r\n <fd-micro-process-flow-item [state]=\"'positive'\">\r\n <div class=\"flow-item\">\r\n <!-- <fd-micro-process-flow-icon\r\n fd-micro-process-flow-focusable-item\r\n [glyph]=\"'accept'\"\r\n ></fd-micro-process-flow-icon> -->\r\n <!-- <h4 fd-title class=\"fd-object-number--informative\">شروع درخواست</h4> -->\r\n <button\r\n style=\"pointer-events: none; border: none\"\r\n fd-button\r\n [fdType]=\"'positive'\"\r\n [label]=\"'شروع درخواست'\"\r\n [glyph]=\"'accept'\"\r\n ></button>\r\n </div>\r\n </fd-micro-process-flow-item>\r\n <fd-micro-process-flow-item>\r\n <div class=\"flow-item\">\r\n <button fd-button [fdType]=\"'standard'\" [label]=\"'تکمیل مدارک توسط متقاضی'\" [glyph]=\"''\"></button>\r\n </div>\r\n </fd-micro-process-flow-item>\r\n <fd-micro-process-flow-item>\r\n <div class=\"flow-item\">\r\n <!-- <fd-micro-process-flow-icon\r\n fd-micro-process-flow-focusable-item\r\n [glyph]=\"'less'\"\r\n ></fd-micro-process-flow-icon> -->\r\n <button\r\n [disabled]=\"true\"\r\n fd-button\r\n [fdType]=\"'transparent'\"\r\n [label]=\"'تایید مدارک توسط دستگاه مربوطه'\"\r\n [glyph]=\"''\"\r\n ></button>\r\n </div>\r\n </fd-micro-process-flow-item>\r\n <fd-micro-process-flow-item>\r\n <div class=\"flow-item\">\r\n <!-- <fd-micro-process-flow-icon\r\n fd-micro-process-flow-focusable-item\r\n [glyph]=\"'less'\"\r\n ></fd-micro-process-flow-icon> -->\r\n <button\r\n [disabled]=\"true\"\r\n fd-button\r\n [fdType]=\"'transparent'\"\r\n [label]=\"'تعیین وضعیت صدور مجوز'\"\r\n [glyph]=\"''\"\r\n ></button>\r\n </div>\r\n </fd-micro-process-flow-item>\r\n </fd-micro-process-flow>\r\n</div>\r\n","import { Component, OnInit, ChangeDetectionStrategy, SimpleChanges } from '@angular/core';\r\nimport { BaseItemContentPropsComponent, UiReportViewBaseSetting, MetaobjectDataModel } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-avatar',\r\n templateUrl: './avatar.component.html',\r\n styleUrls: ['./avatar.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class AvatarComponent extends BaseItemContentPropsComponent<UiReportViewBaseSetting> implements OnInit {\r\n pictureId: string;\r\n subtitle: string;\r\n status: number;\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._setProps(this.mo);\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { mo } = changes;\r\n if (mo && !mo.firstChange) {\r\n this._setProps(mo.currentValue);\r\n\r\n this._cdr.detectChanges();\r\n }\r\n }\r\n protected _setProps(_mo: MetaobjectDataModel): void {\r\n this.pictureId = this.mo[this.parameters.FieldName]?.FileId;\r\n\r\n this.status = this.mo[this.parameters.IsOnline]; \r\n }\r\n}\r\n","@if(mo){\r\n<fd-card>\r\n <fd-card-header>\r\n <fd-card-main-header>\r\n <fd-avatar\r\n [placeholder]=\"!mo[parameters?.FieldName]\"\r\n [size]=\"deviceSize === 'l' || deviceSize === 'xl' ? 's' : 'xs'\"\r\n [glyph]=\"parameters?.DefaultIcon || null\"\r\n [circle]=\"parameters?.Circle\"\r\n [placeHolder]=\"parameters?.DefaultIcon!!\"\r\n [image]=\"pictureId ? (pictureId | picFieldSrc: 'PictureFileInfo':mo.Id:column.FieldDefId) : null\"\r\n alterIcon=\"alt|content|backup|default-icon\"\r\n ></fd-avatar>\r\n <h2 fd-card-title nowraptext width=\"90%\">\r\n {{ !parameters?.Title ? '' : (parameters?.Title | val: mo:true | bbbTranslate) }}\r\n </h2>\r\n <h3 fd-card-subtitle nowraptext>\r\n {{ !parameters?.Subtitle ? '' : (parameters.Subtitle | val: mo:true | bbbTranslate) }}\r\n </h3>\r\n @if(status){\r\n <div\r\n class=\"tw-absolute tw-bottom-0 tw-right-0 tw-border-2 tw-border-default tw-size-4 tw-rounded-full\"\r\n [class.tw-bg-green-600]=\"status\"\r\n ></div>\r\n }\r\n </fd-card-main-header>\r\n </fd-card-header>\r\n</fd-card>\r\n}\r\n","import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\r\nimport { BaseItemContentPropsComponent, UiReportViewBaseSetting } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-g4b-estelam',\r\n templateUrl: './g4b-estelam.component.html',\r\n styleUrls: ['./g4b-estelam.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class G4bEstelamComponent extends BaseItemContentPropsComponent<UiReportViewBaseSetting> implements OnInit {\r\n natijeh = 1;\r\n options = ['رد استعلام', 'تایید استعلام', 'در انتظار پاسخ'];\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n }\r\n onClick(e): void {\r\n if (this.isChecked) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n }\r\n }\r\n}\r\n","<div fd-form-item class=\"textarea\">\r\n <label fd-form-label for=\"input-2\">پاسخ استعلام</label>\r\n <textarea fd-form-control style=\"height: 1.8rem\"></textarea>\r\n</div>\r\n\r\n<div fd-form-item>\r\n <label fd-form-label for=\"input-2\">وضعیت</label>\r\n <fd-segmented-button [(ngModel)]=\"natijeh\" (click)=\"onClick($event)\">\r\n <button fd-button [label]=\"'در انتظار پاسخ'\" value=\"1\" [fdType]=\"'standard'\"></button>\r\n <button fd-button [label]=\"'تایید استعلام'\" value=\"2\" [fdType]=\"'positive'\"></button>\r\n <button fd-button [label]=\"'رد استعلام'\" value=\"3\" [fdType]=\"'negative'\"></button>\r\n </fd-segmented-button>\r\n</div>\r\n<!-- <div fd-form-item>\r\n <label fd-form-label for=\"input-2\">وضعیت</label>\r\n <fd-select placeholder=\"Select value\" stateMessage=\"Success message\" state=\"success\">\r\n <li fd-option *ngFor=\"let option of options\" [value]=\"option\">{{ option }}</li>\r\n </fd-select>\r\n</div> -->\r\n","import { Component, OnInit, ChangeDetectionStrategy, inject } from '@angular/core';\r\nimport { DateService, FieldBaseComponent, getDateService, LogService } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-timer-count-down',\r\n templateUrl: './timer-count-down.component.html',\r\n styleUrls: ['./timer-count-down.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: DateService,\r\n useFactory: getDateService,\r\n deps: [LogService]\r\n }\r\n ],\r\n standalone: false\r\n})\r\nexport class TimerCountDownComponent extends FieldBaseComponent implements OnInit {\r\n countDownText: string;\r\n _interval: any;\r\n protected override _dateService = inject(DateService, { self: true });\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._setCountDown(this.value);\r\n }\r\n ngOnDestroy(): void {\r\n super.ngOnDestroy();\r\n if (this._interval) {\r\n clearInterval(this._interval);\r\n }\r\n }\r\n protected _setValue(value: any): void {\r\n super._setValue(value);\r\n this._setCountDown(value);\r\n }\r\n protected _setCountDown(value: string | Date | any): void {\r\n const keysInValue = Object.keys(value);\r\n let _tempValue = value;\r\n if (keysInValue.length) {\r\n const findKeyDate = keysInValue.find((c) => !isNaN(Date.parse(value[c])));\r\n if (findKeyDate) {\r\n _tempValue = new Date(value[findKeyDate]);\r\n }\r\n }\r\n const exp = this._dateService.getMoment(_tempValue);\r\n if (this._interval) {\r\n clearInterval(this._interval);\r\n this._interval = null;\r\n }\r\n this._interval = setInterval((): void => {\r\n const now = this._dateService.getMoment(new Date());\r\n const diffDuration = this._dateService.duration(exp.diff(now));\r\n const month = diffDuration.months();\r\n const days = diffDuration.days();\r\n const hours = diffDuration.hours().toLocaleString('en-US', {\r\n minimumIntegerDigits: 2,\r\n useGrouping: false\r\n });\r\n const minutes = diffDuration.minutes().toLocaleString('en-US', {\r\n minimumIntegerDigits: 2,\r\n useGrouping: false\r\n });\r\n const seconds = diffDuration.seconds().toLocaleString('en-US', {\r\n minimumIntegerDigits: 2,\r\n useGrouping: false\r\n });\r\n this.countDownText = `\r\n ${this._getMonthText(month)} \r\n ${this._daysText(days)} \r\n ${this._getTimeText(hours, minutes, seconds)}`;\r\n this._cdr.detectChanges();\r\n }, 1000);\r\n }\r\n private _getMonthText(month): string {\r\n return month > 0 ? `${month} ماه` : '';\r\n }\r\n private _daysText(days): string {\r\n return days > 0 ? `${days} روز` : '';\r\n }\r\n private _getTimeText(hours, minutes, seconds): string {\r\n if (hours < 0 || minutes < 0 || seconds < 0) {\r\n if (this.parameters?.ExpireViewMode) {\r\n switch (this.parameters.ExpireViewMode) {\r\n case 1:\r\n return `00:00:00`;\r\n break;\r\n case 2:\r\n return `پایان یافته`;\r\n break;\r\n case 3:\r\n return '';\r\n break;\r\n case 4: // نمایش زمان گذشته\r\n return `${hours}:${minutes}:${seconds}`;\r\n break;\r\n }\r\n }\r\n return `00:00:00`;\r\n }\r\n return `${hours}:${minutes}:${seconds}`;\r\n }\r\n}\r\n","<span>{{ countDownText }}</span>\r\n","import { Component, ChangeDetectionStrategy, Input, Output, EventEmitter, SimpleChanges, OnInit } from '@angular/core';\r\nimport { BaseComponent } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-micro-proccess-flow',\r\n templateUrl: './micro-proccess-flow.component.html',\r\n styleUrls: ['./micro-proccess-flow.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class MicroProccessFlowComponent extends BaseComponent implements OnInit {\r\n @Input() items: Array<FlowItem>;\r\n @Input() selected: string;\r\n @Input() readonly: boolean;\r\n @Input() idIskey: boolean;\r\n @Output() selectedChange = new EventEmitter<FlowItem>();\r\n selectedIndex: number;\r\n maxWidth: number;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._setIndex(this.selected, this.items);\r\n this.maxWidth = (this._el.nativeElement as HTMLElement).offsetWidth;\r\n }\r\n onItemClick(item: FlowItem): void {\r\n this.selectedChange.emit(item);\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { selected, items } = changes;\r\n if (selected && !selected.firstChange) {\r\n this._setIndex(selected.currentValue, this.items);\r\n } else if (items && !items.firstChange) {\r\n this._setIndex(this.selected, items.currentValue);\r\n }\r\n }\r\n protected _setIndex(val: string, items: FlowItem[]): void {\r\n this.selectedIndex = items.findIndex((c) => (this.idIskey ? c.id === val : c.label === val));\r\n }\r\n}\r\nexport interface FlowItem {\r\n id: string;\r\n label: string;\r\n icon: string;\r\n}\r\n","<fd-micro-process-flow class=\"flow\" [style.max-width.px]=\"maxWidth\">\r\n @for (item of items; track item; let i = $index) {\r\n <fd-micro-process-flow-item [state]=\"i <= selectedIndex ? 'positive' : 'none'\">\r\n <div class=\"flow-item\">\r\n @if (selectedIndex > -1) {\r\n <button\r\n [class.reached]=\"i <= selectedIndex\"\r\n fd-button\r\n [fdType]=\"i <= selectedIndex ? 'positive' : i === selectedIndex + 1 ? 'standard' : 'transparent'\"\r\n [label]=\"item.label\"\r\n [glyph]=\"i <= selectedIndex ? 'accept' : null\"\r\n [disabled]=\"readonly || (i > selectedIndex + 1 && selectedIndex > -1)\"\r\n (click)=\"onItemClick(item)\"\r\n ></button>\r\n } @if (selectedIndex === -1) {\r\n <button\r\n [class.reached]=\"false\"\r\n fd-button\r\n [fdType]=\"'transparent'\"\r\n [label]=\"item.label\"\r\n [glyph]=\"null\"\r\n [disabled]=\"readonly\"\r\n (click)=\"onItemClick(item)\"\r\n ></button>\r\n }\r\n </div>\r\n </fd-micro-process-flow-item>\r\n }\r\n</fd-micro-process-flow>\r\n","import { PipeTransform, Pipe } from '@angular/core';\r\nimport { MetaobjectDataModel } from 'barsa-novin-ray-core';\r\nimport { FlowItem } from '../micro-proccess-flow/micro-proccess-flow.component';\r\n\r\n@Pipe({\r\n name: 'moListToFlowItem',\r\n standalone: false\r\n})\r\nexport class MoListToFlowItemPipe implements PipeTransform {\r\n constructor() {}\r\n transform(moList: MetaobjectDataModel[]): FlowItem[] {\r\n const flowItems: FlowItem[] = moList.map((item: MetaobjectDataModel) => ({\r\n icon: '',\r\n id: item.Id,\r\n label: item.$Caption\r\n }));\r\n return flowItems;\r\n }\r\n}\r\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\nimport { UiMoInfoUlvComboComponent } from 'barsa-sap-ui';\r\nimport { FlowItem } from '../micro-proccess-flow/micro-proccess-flow.component';\r\n\r\n@Component({\r\n selector: 'bdc-mo-info-micro-proccess-flow',\r\n templateUrl: './mo-info-micro-proccess-flow.component.html',\r\n styleUrls: ['./mo-info-micro-proccess-flow.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class MoInfoMicroProccessFlowComponent extends UiMoInfoUlvComboComponent {\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._triggerClick('Normal');\r\n }\r\n onSelectedChange(item: FlowItem): void {\r\n this._raiseValueChanged(item.label);\r\n }\r\n}\r\n","<bdc-micro-proccess-flow\r\n [items]=\"\r\n (loading$ | async) === true\r\n | moInfoUlvMoList\r\n : isDataLoadedFirstTime\r\n : ulvAdapter?.Setting?.Data?.MoDataList\r\n : UlvUi?.Setting?.Data?.MoDataList\r\n : ulvAdapter?.Setting?.Data?.Paging\r\n : UlvUi?.Setting?.Data?.Paging\r\n | moListToFlowItem\r\n \"\r\n [selected]=\"value\"\r\n (selectedChange)=\"onSelectedChange($event)\"\r\n></bdc-micro-proccess-flow>\r\n","import { PipeTransform, Pipe } from '@angular/core';\r\nimport { RowDataOption } from 'barsa-novin-ray-core';\r\nimport { FlowItem } from '../micro-proccess-flow/micro-proccess-flow.component';\r\n\r\n@Pipe({\r\n name: 'datasourceToFlowItem',\r\n standalone: false\r\n})\r\nexport class DataSourceToFlowItemPipe implements PipeTransform {\r\n constructor() {}\r\n transform(datasource: RowDataOption[]): FlowItem[] {\r\n const flowItems: FlowItem[] = datasource.map((item: RowDataOption) => ({\r\n icon: '',\r\n id: item.id,\r\n label: item.txt\r\n }));\r\n return flowItems;\r\n }\r\n}\r\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\nimport { UiSimpleComboComponent } from 'barsa-sap-ui';\r\nimport { FlowItem } from '../micro-proccess-flow/micro-proccess-flow.component';\r\n\r\n@Component({\r\n selector: 'bdc-enum-info-micro-proccess-flow',\r\n templateUrl: './enum-info-micro-proccess-flow.component.html',\r\n styleUrls: ['./enum-info-micro-proccess-flow.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class EnumInfoMicroProccessFlowComponent extends UiSimpleComboComponent {\r\n onSelectedChange(item: FlowItem): void {\r\n this._handleValueChange(item.id);\r\n }\r\n}\r\n","<bdc-micro-proccess-flow\r\n [items]=\"context.store.data[context.store.root] | datasourceToFlowItem\"\r\n [selected]=\"value\"\r\n [idIskey]=\"true\"\r\n [readonly]=\"(disableOrReadonly$ | async) === true\"\r\n (selectedChange)=\"onSelectedChange($event)\"\r\n></bdc-micro-proccess-flow>\r\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\nimport { UploadService } from 'barsa-novin-ray-core';\r\nimport { UiPicturesInfoComponent } from 'barsa-sap-ui';\r\n\r\n@Component({\r\n selector: 'bdc-ui-pictures-carousel',\r\n templateUrl: './ui-pictures-carousel.component.html',\r\n styleUrls: ['./ui-pictures-carousel.component.scss'],\r\n providers: [UploadService],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class UiPicturesCarouselComponent extends UiPicturesInfoComponent {}\r\n","@if (mediaData$ | async; as mediaData) {\r\n<fd-carousel carouselIndicatorsOrientation=\"top\" width=\"100%\">\r\n @for (media of mediaData; track media; let i = $index) {\r\n <fd-carousel-item>\r\n <img [imgLazy]=\"media.mediaUrl\" [src]=\"media.mediaUrl\" />\r\n </fd-carousel-item>\r\n }\r\n</fd-carousel>\r\n} @else {\r\n<div style=\"width: 100%; position: relative\">\r\n <bsu-mask></bsu-mask>\r\n</div>\r\n}\r\n","import { Component, ChangeDetectionStrategy, OnInit, HostListener } from '@angular/core';\r\nimport { FieldBaseComponent } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-ui-num-rate',\r\n templateUrl: './ui-num-rate.component.html',\r\n styleUrls: ['./ui-num-rate.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class UiNumRateComponent extends FieldBaseComponent implements OnInit {\r\n @HostListener('keydown', ['$event'])\r\n onKeyDown(e: KeyboardEvent): void {\r\n const validValues = ['1', '2', '3', '4', '5'];\r\n if (validValues.indexOf(e.key) > -1) {\r\n this._onRatingChanged(+e.key);\r\n }\r\n }\r\n onRatingChanged(val: number): void {\r\n this._onRatingChanged(val);\r\n }\r\n _setValue(val: any): void {\r\n if (typeof val === 'string') {\r\n if (isNaN(+val[0])) {\r\n val = val.substring(1, val.length);\r\n }\r\n if (isNaN(+val)) {\r\n return;\r\n }\r\n }\r\n super._setValue(val);\r\n }\r\n private _onRatingChanged(val: number): void {\r\n this.value = val;\r\n this.valueChange.emit(this.value);\r\n }\r\n}\r\n","<fd-rating-indicator\r\n [ariaLabel]=\"Setting.NullText || ''\"\r\n [size]=\"parameters?.SizeValue$Caption\"\r\n [value]=\"value\"\r\n [disabled]=\"(disableOrReadonly$ | async) === true\"\r\n [displayMode]=\"parameters?.DisplayMode\"\r\n [dynamicTextIndicator]=\"parameters?.TextIndicator\"\r\n (ratingChanged)=\"onRatingChanged($event)\"\r\n></fd-rating-indicator>\r\n","import { ChangeDetectionStrategy, Component, inject, OnInit, TemplateRef, ViewChild } from '@angular/core';\r\nimport { AudioRecordingService, BarsaApi, UploadService, VideoRecordingService } from 'barsa-novin-ray-core';\r\nimport { UiPdfViewerComponent } from 'barsa-sap-ui';\r\n\r\n@Component({\r\n selector: 'bdc-media-file-uploader',\r\n templateUrl: './media-file-uploader.component.html',\r\n styleUrls: ['./media-file-uploader.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [AudioRecordingService, VideoRecordingService, UploadService],\r\n standalone: false\r\n})\r\nexport class MediaFileUploaderComponent extends UiPdfViewerComponent implements OnInit {\r\n @ViewChild('videoElement') videoElement: any;\r\n @ViewChild('photoElement') photoElement: any;\r\n @ViewChild('container', { read: TemplateRef })\r\n dialogContainer: TemplateRef<any>;\r\n\r\n isPlaying = false;\r\n displayControls = true;\r\n isRecording = false;\r\n recordedTime;\r\n fileBlob;\r\n fileName;\r\n audioStream;\r\n videoStream: MediaStream;\r\n audioConf = { audio: true };\r\n videoConf = { video: { facingMode: 'user', width: 320 }, audio: true };\r\n glyph: string;\r\n recordType = 'audio';\r\n protected override _audioRecorder = inject(AudioRecordingService, { self: true });\r\n protected override _videoRecoder = inject(VideoRecordingService, { self: true });\r\n get video(): HTMLMediaElement {\r\n return this.videoElement?.nativeElement;\r\n }\r\n get fileInput(): HTMLInputElement {\r\n return this.photoElement?.nativeElement;\r\n }\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._videoRecoder.recordingFailed().subscribe(() => {\r\n this.isRecording = false;\r\n this._cdr.detectChanges();\r\n });\r\n\r\n this._videoRecoder.getRecordedTime().subscribe((time) => {\r\n this.recordedTime = time;\r\n this._cdr.detectChanges();\r\n });\r\n\r\n this._videoRecoder.getStream().subscribe((stream) => {\r\n this.videoStream = stream;\r\n this._cdr.detectChanges();\r\n });\r\n\r\n this._videoRecoder.getRecordedBlob().subscribe((data) => {\r\n this.fileBlob = data.blob;\r\n this.fileName = data.title;\r\n this.valueUrl = this._domSanitizer.bypassSecurityTrustUrl(data.url);\r\n this._cdr.detectChanges();\r\n });\r\n\r\n this._audioRecorder.recordingFailed().subscribe(() => {\r\n this.isRecording = false;\r\n this._cdr.detectChanges();\r\n });\r\n\r\n this._audioRecorder.getRecordedTime().subscribe((time) => {\r\n this.recordedTime = time;\r\n this._cdr.detectChanges();\r\n });\r\n\r\n this._audioRecorder.getRecordedBlob().subscribe((data) => {\r\n this.fileBlob = data.blob;\r\n this.fileName = data.title;\r\n this.valueUrl = this._domSanitizer.bypassSecurityTrustUrl(URL.createObjectURL(data.blob));\r\n this._cdr.detectChanges();\r\n });\r\n let glyph = '';\r\n switch (this.recordType) {\r\n case 'audio':\r\n glyph = 'attachment-audio';\r\n break;\r\n case 'video':\r\n glyph = 'attachment-video';\r\n break;\r\n default:\r\n glyph = 'attachment-photo';\r\n break;\r\n }\r\n this.glyph = glyph;\r\n this.fileName = this.value?.FileName;\r\n this.recordType = this.parameters?.MediaType$Caption || 'audio';\r\n }\r\n\r\n onDelete(): void {\r\n super.onDelete();\r\n this.onClearRecord();\r\n }\r\n onClearRecord(): void {\r\n this.abortVideoRecording();\r\n this.abortAudioRecording();\r\n this.fileBlob = null;\r\n this.valueUrl = null;\r\n this._cdr.detectChanges();\r\n }\r\n onToggleRecord(): void {\r\n if (this.recordType === 'audio') {\r\n if (this.isRecording) {\r\n this.stopAudioRecording();\r\n } else {\r\n this.startAudioRecording();\r\n }\r\n } else if (this.recordType === 'video') {\r\n this.video.hidden = false;\r\n if (this.isRecording) {\r\n this.stopVideoRecording();\r\n } else {\r\n this.startVideoRecording();\r\n }\r\n } else if (this.recordType === 'photo') {\r\n }\r\n }\r\n onTakePhoto(): void {\r\n if (this.fileInput?.files?.length) {\r\n const file = this.fileInput.files.item(0);\r\n if (file) {\r\n this.fileName = file.name;\r\n this._uploadFile([file]).subscribe();\r\n }\r\n }\r\n }\r\n onUpload(): void {\r\n const videoFile: File = new File([this.fileBlob], this.fileName);\r\n this._uploadFile([videoFile]).subscribe();\r\n }\r\n startVideoRecording(): void {\r\n if (!this.isRecording) {\r\n this.video.controls = false;\r\n this.isRecording = true;\r\n this._videoRecoder\r\n .startRecording(this.videoConf)\r\n .then((stream) => {\r\n // this.video.src = window.URL.createObjectURL(stream);\r\n this.video.srcObject = stream;\r\n this.video.play();\r\n })\r\n .catch(function (err) {\r\n console.log(err.name + ': ' + err.message);\r\n });\r\n }\r\n }\r\n\r\n abortVideoRecording(): void {\r\n if (this.isRecording && this.recordType === 'video') {\r\n this.isRecording = false;\r\n this._videoRecoder.abortRecording();\r\n }\r\n if (this.video) {\r\n const video = this.video;\r\n video.controls = false;\r\n video.hidden = true;\r\n }\r\n }\r\n\r\n stopVideoRecording(): void {\r\n if (this.isRecording && this.recordType === 'video') {\r\n this._videoRecoder.stopRecording();\r\n const video: any = this.video;\r\n video.srcObject = this.valueUrl;\r\n video.controls = true;\r\n this.isRecording = false;\r\n }\r\n }\r\n\r\n clearVideoRecordedData(): void {\r\n this.valueUrl = null;\r\n const video = this.video;\r\n video.srcObject = null;\r\n video.controls = false;\r\n this._cdr.detectChanges();\r\n }\r\n\r\n downloadVideoRecordedData(): void {\r\n this._downloadFile(this.fileBlob, 'video/mp4', this.fileName);\r\n }\r\n\r\n startAudioRecording(): void {\r\n if (!this.isRecording) {\r\n this.isRecording = true;\r\n this._audioRecorder.startRecording();\r\n }\r\n }\r\n\r\n abortAudioRecording(): void {\r\n if (this.isRecording && this.recordType === 'audio') {\r\n this.isRecording = false;\r\n this._audioRecorder.abortRecording();\r\n }\r\n }\r\n\r\n stopAudioRecording(): void {\r\n if (this.isRecording && this.recordType === 'audio') {\r\n this._audioRecorder.stopRecording();\r\n this.isRecording = false;\r\n }\r\n }\r\n\r\n clearAudioRecordedData(): void {\r\n this.valueUrl = null;\r\n }\r\n\r\n downloadAudioRecordedData(): void {\r\n this._downloadFile(this.fileBlob, 'audio/mp3', this.fileName);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.abortAudioRecording();\r\n }\r\n\r\n _downloadFile(data: any, type: string, filename: string): any {\r\n const blob = new Blob([data], { type });\r\n const url = window.URL.createObjectURL(blob);\r\n // this.video.srcObject = stream;\r\n // const url = data;\r\n const anchor = document.createElement('a');\r\n anchor.download = filename;\r\n anchor.href = url;\r\n document.body.appendChild(anchor);\r\n anchor.click();\r\n document.body.removeChild(anchor);\r\n }\r\n protected _downloadFileIdCompleted(response): void {\r\n super._downloadFileIdCompleted(response);\r\n if (this.valueUrl) {\r\n if (this.recordType === 'video') {\r\n this.video.controls = true;\r\n }\r\n }\r\n }\r\n protected _refresh(_?: boolean): void {\r\n if (BarsaApi.Ext.isEmpty(this.value)) {\r\n return;\r\n }\r\n const fileId = this.value.Id;\r\n this.DownloadFileId(fileId, true, '', null, false);\r\n }\r\n}\r\n","<fd-card class=\"upload\" [ngClass]=\"recordType\">\r\n <fd-card-content class=\"file-content\">\r\n <div [class.no-recording]=\"!isRecording && valueUrl\" [ngClass]=\"recordType\" class=\"media-wrapper\">\r\n <div class=\"icon\">\r\n @if (!value && !valueUrl && !isRecording) {\r\n <i style=\"left: 45%; position: absolute\" fd-nested-list-icon [glyph]=\"glyph\"></i>\r\n }\r\n </div>\r\n @if (recordType === 'video') {\r\n <video #videoElement [class.video-novalue]=\"!valueUrl\">\r\n @if (!isRecording && valueUrl) {\r\n <source [src]=\"valueUrl\" />\r\n } @if (!value && !valueUrl && !isRecording) {\r\n <i style=\"left: 45%; position: absolute\" fd-nested-list-icon [glyph]=\"glyph\"></i>\r\n }\r\n </video>\r\n } @if (!isRecording && valueUrl && recordType === 'audio') {\r\n <audio controls>\r\n <source [src]=\"valueUrl\" type=\"audio/mp3\" />\r\n </audio>\r\n } @if (recordType === 'photo') {\r\n <input\r\n #photoElement\r\n type=\"file\"\r\n accept=\"image/*\"\r\n id=\"file-input\"\r\n capture=\"environment\"\r\n (change)=\"onTakePhoto()\"\r\n />\r\n }\r\n </div>\r\n @if (isRecording || valueUrl) {\r\n <div class=\"media-info\">\r\n <div>\r\n {{ !isRecording ? '' : ('Recording' | bbbTranslate) }} <strong>{{ recordedTime }}</strong>\r\n </div>\r\n <div>{{ fileName }}</div>\r\n </div>\r\n } @if (uploadingState$ | async; as uploadingState) { @if (uploadingState.state === 'Uploading') {\r\n <div class=\"progress\">\r\n <div>\r\n <fd-progress-indicator\r\n state=\"informative\"\r\n [valueNow]=\"uploadingState?.progress\"\r\n ></fd-progress-indicator>\r\n </div>\r\n </div>\r\n } }\r\n <div class=\"btn-wrapper\">\r\n @if (!value && !valueUrl) {\r\n <button\r\n class=\"btn-record\"\r\n fd-button\r\n [glyph]=\"isRecording ? 'stop' : 'record'\"\r\n [fdType]=\"isRecording ? 'attention' : 'ghost'\"\r\n (click)=\"onToggleRecord()\"\r\n ></button>\r\n } @if (!value && valueUrl) {\r\n <div class=\"btn-toolbar\">\r\n <button fd-button [glyph]=\"'delete'\" fdType=\"negative\" (click)=\"onClearRecord()\"></button>\r\n <button fd-button [label]=\"'Upload' | bbbTranslate\" [glyph]=\"'upload'\" (click)=\"onUpload()\"></button>\r\n </div>\r\n } @if (value) {\r\n <div class=\"btn-toolbar\">\r\n @if (value) {\r\n <button fd-button [glyph]=\"'delete'\" fdType=\"negative\" (click)=\"onDelete()\"></button>\r\n } @if (value) {\r\n <button fd-button [glyph]=\"'download'\" fdType=\"standard\" (click)=\"onDownload()\"></button>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </fd-card-content>\r\n</fd-card>\r\n","import { ChangeDetectionStrategy, Component, OnChanges, OnInit, SimpleChanges } from '@angular/core';\r\nimport {\r\n BaseItemContentPropsComponent,\r\n createGridEditorFormPanel,\r\n UiReportViewBaseSetting,\r\n FormComponentParams,\r\n MetaobjectDataModel,\r\n BarsaApi\r\n} from 'barsa-novin-ray-core';\r\nimport { Subject, debounceTime, switchMap, takeUntil } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'bdc-subform-in-row-report',\r\n templateUrl: './subform-in-row-report.component.html',\r\n styleUrls: ['./subform-in-row-report.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class SubformInRowReportComponent\r\n extends BaseItemContentPropsComponent<UiReportViewBaseSetting>\r\n implements OnInit, OnChanges\r\n{\r\n formPanelCtrl: any;\r\n loaded: boolean;\r\n params: FormComponentParams;\r\n parameters: SubformInRowReportSetting;\r\n suggestionList$ = new Subject<void>();\r\n errorMessage: string;\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.suggestionList$\r\n .asObservable()\r\n .pipe(\r\n takeUntil(this._onDestroy$),\r\n debounceTime(500),\r\n switchMap(\r\n (_ulvParams) =>\r\n new Promise<void>((resolve, reject) => {\r\n formPanelCtrl.Save(false, (err) => {\r\n if (err) {\r\n reject(err);\r\n }\r\n this.UlvMainCtrlr.RefreshRowsByMosNoSelectionChange([formPanelCtrl.Mo], [], []);\r\n resolve();\r\n });\r\n })\r\n )\r\n )\r\n .subscribe();\r\n\r\n const userDefineViewId = this.parameters?.ViewTypeValue?.Id;\r\n this.params = {\r\n moId: this.mo.Id,\r\n typeDefId: this.typeDefId,\r\n isSimple: true,\r\n viewId: userDefineViewId\r\n };\r\n const formPanelCtrl = createGridEditorFormPanel(\r\n this.formSetting,\r\n { ...this.mo },\r\n this.typeDefId,\r\n null,\r\n false\r\n // BarsaApi.Common.Util.TryGetValue(this.context.Setting, 'Extra.Relation')\r\n );\r\n\r\n this.formPanelCtrl = formPanelCtrl;\r\n if (this.parameters?.AutoSaveOnChange) {\r\n formPanelCtrl.on({\r\n scope: this,\r\n ValueChange: () => {\r\n this.suggestionList$.next();\r\n }\r\n });\r\n }\r\n formPanelCtrl.FormRequestParams = {\r\n MoId: this.mo.Id,\r\n MoContext: { ViewId: userDefineViewId }\r\n };\r\n formPanelCtrl.LoadAndCreate(\r\n { MoId: this.mo.Id, TypeDefId: this.typeDefId, TypeViewId: userDefineViewId },\r\n false,\r\n true,\r\n (t, e, r) => {\r\n console.log(t, e, r);\r\n const error = BarsaApi.Common.Util.TryGetValue(t, 'Data.ResponseData.error');\r\n if (error) {\r\n this.loaded = false;\r\n this.errorMessage = error.userMessage;\r\n } else {\r\n this.loaded = true;\r\n }\r\n this._cdr.detectChanges();\r\n }\r\n );\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n super.ngOnChanges(changes);\r\n const { mo } = changes;\r\n if (mo && !mo.firstChange) {\r\n BarsaApi.Common.Merger.FastMerge(this.formPanelCtrl.Mo, mo.currentValue);\r\n this.formPanelCtrl.SetValue(this.formPanelCtrl.Mo);\r\n }\r\n }\r\n}\r\ninterface SubformInRowReportSetting extends MetaobjectDataModel {\r\n TypeDefValue: MetaobjectDataModel;\r\n ViewTypeValue: MetaobjectDataModel;\r\n AutoSaveOnChange: boolean;\r\n}\r\n","@if (loaded) {\r\n<bnrc-form [formPanelCtrl]=\"formPanelCtrl\" class=\"subform-in-row\" [params]=\"params\"></bnrc-form>\r\n} @if(errorMessage){\r\n<span\r\n fd-object-status\r\n status=\"negative\"\r\n [label]=\"errorMessage\"\r\n [title]=\"errorMessage\"\r\n [attr.aria-label]=\"errorMessage\"\r\n></span>\r\n}\r\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\nimport { FormPropsBaseComponent } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-master-detail-card-form',\r\n templateUrl: './master-detail-card-form.component.html',\r\n styleUrls: ['./master-detail-card-form.component.css'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class MasterDetailCardFormComponent extends FormPropsBaseComponent implements OnInit {\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n }\r\n}\r\n","<fd-card class=\"master-tab\">\r\n <bsu-ly-tab-page [config]=\"modernTabs[0]\"></bsu-ly-tab-page>\r\n</fd-card>\r\n<fd-card class=\"details-tab\">\r\n <bsu-ly-tab-page [config]=\"modernTabs[1]\"></bsu-ly-tab-page>\r\n</fd-card>\r\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\nimport { BarsaApi, MetaobjectDataModel, BaseFormToolbaritemPropsComponent } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-report-button-view',\r\n templateUrl: './report-button-view.component.html',\r\n styleUrls: ['./report-button-view.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class ReportButtonViewComponent extends BaseFormToolbaritemPropsComponent implements OnInit {\r\n loaded = false;\r\n moDataList: MetaobjectDataModel[];\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n }\r\n onMainActionClick(menu): void {\r\n if (this.parameters.MetaReport) {\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [this.parameters.MetaReport.Id],\r\n Method: '_PortalExecuteReport',\r\n SuccessFn: (moDataList: MetaobjectDataModel[]) => {\r\n this.moDataList = moDataList;\r\n menu.open();\r\n },\r\n FailFn: () => {}\r\n });\r\n }\r\n }\r\n onButtonClick(_btn: MetaobjectDataModel): void {}\r\n}\r\n","<!-- <fd-split-button\r\nfd-toolbar-item\r\n[fdType]=\"'transparent'\"\r\n[mainAction]=\"{\r\n keepMainAction: true,\r\n mainActionTitle: 'Choose' | bbbTranslate\r\n}\"\r\n>\r\n<fd-menu>\r\n <li fd-menu-item *ngFor=\"let mo of moDataList;let index=index\">\r\n <div fd-menu-interactive (click)=\"onRowCheck({mo,index})\">\r\n <span fd-menu-title>\r\n <fd-icon [glyph]=\"viewSetting.Icon | rval: mo:allColumns:true \"> </fd-icon>\r\n </span>\r\n </div>\r\n </li>\r\n</fd-menu>\r\n</fd-split-button> -->\r\n\r\n<fd-split-button\r\n fd-toolbar-item\r\n [mainAction]=\"{ mainActionTitle: parameters.MainActionTitle, keepMainAction: true }\"\r\n [fdType]=\"parameters.FdType$Caption\"\r\n (click)=\"onMainActionClick(menu)\"\r\n>\r\n <fd-menu #menu>\r\n @for (mo of moDataList; track mo; let index = $index) {\r\n <li fd-menu-item (click)=\"onButtonClick(mo)\">\r\n <div fd-menu-interactive>\r\n <fd-menu-addon position=\"before\"> </fd-menu-addon>\r\n <span fd-menu-title>{{ mo.$Caption | bbbTranslate }}</span>\r\n </div>\r\n </li>\r\n }\r\n </fd-menu>\r\n</fd-split-button>\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n Output,\r\n SimpleChanges,\r\n inject\r\n} from '@angular/core';\r\nimport {\r\n AbbrevationDeviceSize,\r\n AudioMimeType,\r\n BaseComponent,\r\n FileAttachmentInfo,\r\n ImageMimeType,\r\n PreventDefaulEvent,\r\n VideoMimeType,\r\n AllFilesMimeType,\r\n PictureFieldSourcePipe,\r\n isImage,\r\n getIcon,\r\n IUploadingState\r\n} from 'barsa-novin-ray-core';\r\nimport { DocumentItem } from '../models';\r\n\r\n@Component({\r\n selector: 'bdc-barsa-document-list-item',\r\n templateUrl: './barsa-document-list-item.component.html',\r\n styleUrls: ['./barsa-document-list-item.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class BarsaDocumentListItemComponent extends BaseComponent implements OnChanges {\r\n @Input() documentItem: DocumentItem;\r\n\r\n @Input() deviceSize: AbbrevationDeviceSize;\r\n @Input() files: FileAttachmentInfo[];\r\n @Input() accepted: boolean;\r\n @Input() rejectedReason: string;\r\n @Input() readonly: boolean;\r\n @Input() status: number;\r\n @Input() uploadingState: IUploadingState;\r\n\r\n @Output() statusChanged = new EventEmitter<{ value: number; rejectedText: string }>();\r\n @Output() rejectTextChange = new EventEmitter<string>();\r\n @Output() fileSelectionChange = new EventEmitter<File[]>();\r\n @Output() removeFile = new EventEmitter<FileAttachmentInfo>();\r\n @Output() fullscreen = new EventEmitter<null | FileAttachmentInfo>();\r\n @Output() download = new EventEmitter<FileAttachmentInfo>();\r\n @Output() downloadAll = new EventEmitter<void>();\r\n\r\n hasFiles = false;\r\n firstImageUrl: any;\r\n private _cdr = inject(ChangeDetectorRef);\r\n private _picFieldSrc = inject(PictureFieldSourcePipe);\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n const documentItem = this.documentItem;\r\n documentItem.$ValidExtensions = ` \r\n ${documentItem.SupportImage ? ImageMimeType : ''},\r\n ${documentItem.SupportAudio ? AudioMimeType : ''},\r\n ${documentItem.SupportVideo ? VideoMimeType : ''},\r\n ${documentItem.SupportFile ? AllFilesMimeType : ''}\r\n `;\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n super.ngOnChanges(changes);\r\n const { files } = changes;\r\n files && Array.isArray(files.currentValue) && this._setFirstImage(files.currentValue);\r\n this._detectChanges();\r\n }\r\n onReject(e: number): void {\r\n this.statusChanged.emit({ value: e, rejectedText: e === 2 ? '' : this.rejectedReason });\r\n }\r\n onRejectedTextChange(e): void {\r\n this.rejectTextChange.emit(e.target.value);\r\n }\r\n onPreventClick(e): void {\r\n PreventDefaulEvent(e);\r\n }\r\n onFileSelection(files: File[]): void {\r\n this.fileSelectionChange.emit(files);\r\n }\r\n\r\n protected _setFirstImage(files: FileAttachmentInfo[]): void {\r\n files.length &&\r\n (this.firstImageUrl = isImage(files[0].Type)\r\n ? this._picFieldSrc.transform(files[0].Id, 'ID', null, '', 120, 120)\r\n : getIcon(files[0].Type));\r\n }\r\n protected _detectChanges(): void {\r\n this._cdr.detectChanges();\r\n }\r\n}\r\n","<!-- <li fd-list-item style=\"padding: 0.5rem 1rem\">\r\n<span fd-list-thumbnail>\r\n <fd-icon *ngIf=\"documentItem.FontIcon\" [glyph]=\"documentItem.FontIcon\"></fd-icon>\r\n <fd-avatar\r\n *ngIf=\"documentItem.Avatar\"\r\n size=\"s\"\r\n [image]=\"documentItem.Avatar.FileId | picFieldSrc: 'ID':null:''\"\r\n [clickable]=\"true\"\r\n ></fd-avatar\r\n ></span>\r\n\r\n <div fd-list-content>\r\n <div fd-list-title>\r\n <div style=\"display: flex; column-gap: 3px\">\r\n <strong\r\n >{{ documentItem.Title }}\r\n <span fd-object-status status=\"negative\" *ngIf=\"documentItem.IsRequired\"\r\n >*({{ 'اجباری' | bbbTranslate }})\r\n </span>\r\n </strong>\r\n <div\r\n *ngIf=\"documentItem.$Accepted === false || documentItem.$Accepted === true\"\r\n style=\"display: flex; column-gap: 3px; flex-wrap: wrap; align-items: center\"\r\n >\r\n <span\r\n fd-object-status\r\n [status]=\"accepted ? 'positive' : 'negative'\"\r\n [label]=\"accepted ? acceptedText : rejectedText\"\r\n [clickable]=\"true\"\r\n [inverted]=\"true\"\r\n [aria-label]=\"accepted ? acceptedText : rejectedText\"\r\n ></span>\r\n <fd-popover title=\"Rejected document\" *ngIf=\"rejectedReason && !accepted\">\r\n <fd-popover-control>\r\n <span\r\n fd-object-status\r\n status=\"negative\"\r\n glyph=\"question-mark\"\r\n glyphAriaLabel=\"Negative\"\r\n title=\"Rejected document\"\r\n ></span>\r\n </fd-popover-control>\r\n <fd-popover-body>\r\n <fd-message-strip type=\"error\" [dismissible]=\"false\">\r\n {{ rejectedReason }}\r\n </fd-message-strip>\r\n </fd-popover-body>\r\n </fd-popover>\r\n </div>\r\n </div>\r\n </div>\r\n <div fd-list-byline [twoCol]=\"true\" [class.smallSize]=\"deviceSize === 's'\">\r\n <div fd-list-byline-left>\r\n <div style=\"display: flex; flex-direction: column; row-gap: 5px; flex-wrap: wrap\">\r\n <span>\r\n {{ documentItem.Description }}\r\n </span>\r\n <div style=\"display: flex; flex-wrap: wrap; column-gap: 3px; align-items: center\">\r\n <ng-container *ngIf=\"hasFiles\">\r\n <button fd-button [fdType]=\"'transparent'\" glyph=\"show\" (click)=\"onFullscreen()\"></button>\r\n <ng-container *ngFor=\"let file of files\">\r\n <fd-token\r\n [readOnly]=\"readonly\"\r\n *ngIf=\"!file.IsDeleted\"\r\n (onCloseClick)=\"onRemoveFile(file)\"\r\n >{{ file.FileName }}</fd-token\r\n >\r\n </ng-container>\r\n </ng-container>\r\n <button\r\n fd-button\r\n *ngIf=\"documentItem.MaxFileCount && !readonly\"\r\n glyph=\"attachment\"\r\n [label]=\"'AttachFile' | bbbTranslate\"\r\n (click)=\"!readonly && uploader.open()\"\r\n ></button>\r\n <fd-file-uploader\r\n #uploader\r\n [style.display]=\"'none'\"\r\n fd-toolbar-item\r\n [id]=\"documentItem.ItemKey\"\r\n [name]=\"'pictures_' + documentItem.ItemKey\"\r\n [accept]=\"documentItem.$ValidExtensions\"\r\n [fileLimit]=\"documentItem.MaxFileCount\"\r\n [multiple]=\"documentItem.MaxFileCount > 0\"\r\n (selectedFilesChanged)=\"onFileSelection($event)\"\r\n ></fd-file-uploader>\r\n </div>\r\n </div>\r\n </div>\r\n <div fd-list-byline-right *ngIf=\"documentItem.CanAccept\">\r\n <bdc-accept-reject\r\n [rejectedReason]=\"rejectedReason\"\r\n [positiveText]=\"acceptedText\"\r\n [negativeText]=\"rejectedText\"\r\n [deviceSize]=\"deviceSize\"\r\n [readonly]=\"readonly\"\r\n ></bdc-accept-reject>\r\n </div>\r\n </div>\r\n </div>\r\n </li> -->\r\n\r\n<tr fd-table-row>\r\n <td fd-table-cell>\r\n @if (documentItem.Avatar && !files.length) {\r\n <fd-avatar\r\n size=\"s\"\r\n [image]=\"documentItem.Avatar.FileId | picFieldSrc: 'ID':null:'':64:64\"\r\n [clickable]=\"true\"\r\n [transparent]=\"true\"\r\n ></fd-avatar>\r\n } @else { @if (files.length) {\r\n <fd-avatar [transparent]=\"true\" size=\"s\" [image]=\"firstImageUrl\" [clickable]=\"true\"></fd-avatar>\r\n } @if (!files.length) {\r\n <fd-avatar [transparent]=\"true\" size=\"s\" [glyph]=\"documentItem.FontIcon\" [clickable]=\"true\"></fd-avatar>\r\n } }\r\n </td>\r\n <td fd-table-cell style=\"min-width: 140px\">\r\n <p fd-table-text>\r\n <strong\r\n >{{ documentItem.Title }}\r\n @if (documentItem.IsRequired) {\r\n <span fd-object-status status=\"negative\">*({{ 'اجباری' | bbbTranslate }}) </span>\r\n }\r\n </strong>\r\n </p>\r\n <div>\r\n <span>\r\n {{ documentItem.Description }}\r\n </span>\r\n </div>\r\n </td>\r\n\r\n <td fd-table-cell>\r\n <ng-container>\r\n <!-- <ul fd-list>\r\n <li fd-list-item *ngFor=\"let file of files; let ind = index\">\r\n <span fd-list-title>\r\n {{ file.FileName }}\r\n </span>\r\n <span fd-list-secondary>\r\n <button ariaLabel=\"Remove\" title=\"Remove\" fd-button glyph=\"delete\" ></button>\r\n </span>\r\n </li>\r\n </ul> -->\r\n <div style=\"display: flex; align-items: flex-start; column-gap: 3px; row-gap: 3px; flex-direction: column\">\r\n @for (file of files; track file;let index=$index) {\r\n <!-- <span><fd-icon glyph=\"attachment\"></fd-icon><a fd-link>{{file.FileName}}</a></span> -->\r\n @if (!file.IsDeleted) {\r\n <bsu-file-viewer-popover\r\n [file]=\"file\"\r\n [index]=\"index\"\r\n [deviceSize]=\"deviceSize\"\r\n [canDownload]=\"true\"\r\n (remove)=\"removeFile.emit(file)\"\r\n ></bsu-file-viewer-popover>\r\n } }\r\n <!-- <button\r\n fd-button\r\n *ngIf=\"+documentItem.MaxFileCount && !readonly\"\r\n glyph=\"add\"\r\n (click)=\"!readonly && uploader.open()\"\r\n ></button> -->\r\n </div>\r\n <!-- <p *ngFor=\"let file of files\" fd-table-text>\r\n <fd-action-sheet >\r\n <fd-action-sheet-control>\r\n <button\r\n fd-button\r\n glyph=\"settings\"\r\n title=\"Open Action Sheet Mobile\"\r\n id=\"fd-action-sheet-mobile-control\"\r\n aria-haspopup=\"menu\"\r\n [label]=\"file.FileName ||''\"\r\n aria-controls=\"fd-action-sheet-mobile-body\"\r\n ></button>\r\n </fd-action-sheet-control>\r\n\r\n <fd-action-sheet-body\r\n actionSheetBodyId=\"fd-action-sheet-mobile-body\"\r\n ariaLabelledBy=\"fd-action-sheet-mobile-control\"\r\n >\r\n <li fd-action-sheet-item label=\"Search\" glyph=\"search\"></li>\r\n <li fd-action-sheet-item label=\"Download\" glyph=\"download\" ></li>\r\n <li fd-action-sheet-item label=\"Accept\" glyph=\"accept\" ></li>\r\n <li fd-action-sheet-item label=\"Reject\" glyph=\"cancel\" ></li>\r\n <li fd-action-sheet-item label=\"Decide Later\" [isCloseButton]=\"true\"></li>\r\n <li fd-action-sheet-item label=\"Cancel\" [negative]=\"true\" [isCloseButton]=\"true\"></li>\r\n </fd-action-sheet-body>\r\n </fd-action-sheet>\r\n </p> -->\r\n </ng-container>\r\n </td>\r\n <td fd-table-cell>\r\n <div class=\"status\" style=\"position: relative\">\r\n @if (+documentItem.MaxFileCount && !readonly) {\r\n <button\r\n fd-button\r\n glyph=\"attachment\"\r\n [label]=\"'AttachFile' | bbbTranslate\"\r\n [disabled]=\"uploadingState?.key === documentItem.Title && uploadingState?.uploading\"\r\n (click)=\"!readonly && uploader.open()\"\r\n >\r\n @if (uploadingState?.key === documentItem.Title && uploadingState?.uploading) {\r\n <bsu-mask [marginTop]=\"'3px'\"></bsu-mask>\r\n }\r\n </button>\r\n }\r\n <button\r\n fd-button\r\n glyph=\"show\"\r\n fullscreenFiles\r\n [files]=\"files\"\r\n [title]=\"documentItem.Title\"\r\n [fd-inline-help]=\"'مشاهده همه' | bbbTranslate\"\r\n [aria-describedby]=\"'مشاهده همه' | bbbTranslate\"\r\n [ariaLabel]=\"'مشاهده همه' | bbbTranslate\"\r\n fullscreenFiles\r\n [disabled]=\"!files.length\"\r\n [files]=\"files\"\r\n ></button>\r\n <button\r\n fd-button\r\n glyph=\"download\"\r\n [fd-inline-help]=\"'دانلود همه' | bbbTranslate\"\r\n [aria-describedby]=\"'دانلود همه' | bbbTranslate\"\r\n [ariaLabel]=\"'دانلود همه' | bbbTranslate\"\r\n downloadFiles\r\n [disabled]=\"!files.length\"\r\n [files]=\"files\"\r\n (click)=\"downloadAll.emit()\"\r\n ></button>\r\n </div>\r\n </td>\r\n <td fd-table-cell>\r\n <fd-action-sheet #actionSheet>\r\n <fd-action-sheet-control>\r\n <ng-container *ngTemplateOutlet=\"statusTpl\"></ng-container>\r\n </fd-action-sheet-control>\r\n <fd-action-sheet-body>\r\n <li\r\n fd-action-sheet-item\r\n [label]=\"'Accept' | bbbTranslate\"\r\n glyph=\"accept\"\r\n (click)=\"actionSheet.close(); onReject(2)\"\r\n ></li>\r\n <li\r\n fd-action-sheet-item\r\n [label]=\"'Reject' | bbbTranslate\"\r\n glyph=\"cancel\"\r\n (click)=\"actionSheet.close(); onReject(3)\"\r\n ></li>\r\n </fd-action-sheet-body>\r\n </fd-action-sheet>\r\n\r\n @if (status === 3) {\r\n <p fd-table-text maxWidth=\"400px\">\r\n @if (readonly && rejectedReason) {\r\n <span> {{ rejectedReason | bbbTranslate }} </span>\r\n } @if (!readonly) {\r\n <input\r\n fd-form-control\r\n [value]=\"rejectedReason | bbbTranslate\"\r\n [placeholder]=\"'دلایل رد مدرک' | bbbTranslate\"\r\n />\r\n }\r\n </p>\r\n }\r\n </td>\r\n</tr>\r\n\r\n<fd-file-uploader\r\n #uploader\r\n [style.display]=\"'none'\"\r\n fd-toolbar-item\r\n [id]=\"documentItem.ItemKey\"\r\n [name]=\"'pictures_' + documentItem.ItemKey\"\r\n [accept]=\"documentItem.$ValidExtensions\"\r\n [fileLimit]=\"documentItem.MaxFileCount\"\r\n [multiple]=\"documentItem.MaxFileCount > 0\"\r\n (selectedFilesChanged)=\"onFileSelection($event)\"\r\n></fd-file-uploader>\r\n<ng-template #statusTpl>\r\n <div class=\"status\">\r\n <button fd-button fdType=\"transparent\">\r\n @if (status === 1) {\r\n <span\r\n fd-object-status\r\n [label]=\"'[پیوست مدارک]' | bbbTranslate\"\r\n [aria-label]=\"'[پیوست مدارک]' | bbbTranslate\"\r\n ></span>\r\n } @if (status === 2) {\r\n <span\r\n fd-object-status\r\n glyph=\"message-success\"\r\n status=\"positive\"\r\n [label]=\"'Accepted' | bbbTranslate\"\r\n [label]=\"'Accepted' | bbbTranslate\"\r\n ></span>\r\n } @if (status === 3) {\r\n <span\r\n fd-object-status\r\n glyph=\"cancel\"\r\n status=\"negative\"\r\n [label]=\"'Rejected' | bbbTranslate\"\r\n [aria-label]=\"'Rejected' | bbbTranslate\"\r\n ></span>\r\n }\r\n </button>\r\n </div>\r\n</ng-template>\r\n","import { ChangeDetectionStrategy, Component, OnChanges, OnInit, SimpleChanges } from '@angular/core';\r\nimport {\r\n FilesValidationHelper,\r\n LinearListHelper,\r\n MetaobjectDataModel,\r\n ReportViewBaseComponent,\r\n ReportViewColumn,\r\n UploadService,\r\n FileAttachmentInfo,\r\n IUploadingState\r\n} from 'barsa-novin-ray-core';\r\nimport { Observable } from 'rxjs';\r\nimport { DocumentItem, DocumentsSetting } from '../models';\r\n\r\n@Component({\r\n selector: 'bdc-barsa-documents',\r\n templateUrl: './barsa-documents.component.html',\r\n styleUrls: ['./barsa-documents.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [UploadService],\r\n standalone: false\r\n})\r\nexport class BarsaDocumentsComponent extends ReportViewBaseComponent<DocumentsSetting> implements OnInit, OnChanges {\r\n keyColumn: ReportViewColumn;\r\n fileColumn: ReportViewColumn;\r\n statusColumn: ReportViewColumn;\r\n rejectedReasonColumn: ReportViewColumn;\r\n acceptedColumn: ReportViewColumn;\r\n selectedMo: MetaobjectDataModel;\r\n uploadingState$: Observable<IUploadingState>;\r\n\r\n protected _filesValidationHelper: FilesValidationHelper;\r\n protected _linearHelper: LinearListHelper;\r\n\r\n get documentItems(): Array<DocumentItem> {\r\n if (this.customFieldInfo) {\r\n return this.customFieldInfo.DocumentItems.MoDataList as Array<DocumentItem>;\r\n } else {\r\n return this.viewSetting.FilesSetting.DocumentItems.MoDataList as Array<DocumentItem>;\r\n }\r\n }\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n const { moDataList, viewSetting, allColumns } = this;\r\n\r\n this._initColumnField(allColumns, viewSetting);\r\n this._subscribeOnUploadFile(this.fileColumn);\r\n this._mapDocumentItem(moDataList, this.documentItems);\r\n this._checkMandatory();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n super.ngOnChanges(changes);\r\n const { moDataList } = changes;\r\n if (moDataList && !moDataList.firstChange) {\r\n if (moDataList && !moDataList.firstChange) {\r\n this._mapDocumentItem(moDataList.currentValue, this.documentItems);\r\n this.detectChanges();\r\n }\r\n }\r\n }\r\n ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n setTimeout(() => {\r\n for (let i = 0; i < this.documentItems.length - this.moDataList.length; i++) {\r\n this.createNewMo.emit();\r\n }\r\n });\r\n }\r\n onFileSelection(files: File[], documentItem: DocumentItem, mo: MetaobjectDataModel): void {\r\n this.selectedMo = mo;\r\n this._uploadFile(files, documentItem);\r\n }\r\n onRemoveFile(file: FileAttachmentInfo, mo: MetaobjectDataModel): void {\r\n const fileDbName = this.fileColumn.Name;\r\n let files = mo[fileDbName].Files;\r\n if (file.IsNew) {\r\n files = files.filter((c) => c.Id !== file.Id);\r\n } else {\r\n const existFile = files.find((c) => c.Id === file.Id);\r\n existFile.IsDeleted = true;\r\n }\r\n mo[fileDbName].Files = [...files];\r\n this._updateMo(mo);\r\n }\r\n onStatusChanged(e: { value: number; rejectedText: string }, mo: MetaobjectDataModel): void {\r\n mo[this.statusColumn.Name] = e.value;\r\n mo[this.rejectedReasonColumn.Name] = e.rejectedText;\r\n this._updateMo(mo);\r\n }\r\n onRejectedTextChange(text: string, mo: MetaobjectDataModel): void {\r\n mo[this.rejectedReasonColumn.Name] = text;\r\n this._updateMo(mo);\r\n }\r\n _checkMandatory(): void {\r\n const moDataList = this.moDataList;\r\n const items = this.documentItems.filter((c) => c.IsRequired);\r\n let mandatory = items.length > 0;\r\n const mandatory2 = items\r\n .map((item) => moDataList.find((c) => c[this.keyColumn.Name] === item.ItemKey))\r\n .filter((item) => item)\r\n .some((mo) => mo[this.fileColumn.Name].Files.filter((c) => !c.IsDeleted).length === 0);\r\n mandatory = mandatory && mandatory2;\r\n this.mandatory.emit(mandatory);\r\n }\r\n _mapDocumentItem(moDataList: Array<MetaobjectDataModel>, documentItems: Array<DocumentItem>): void {\r\n const keyName = this.keyColumn.Name;\r\n moDataList.forEach((mo, _index) => {\r\n let documentItem = documentItems.find((c) => c.ItemKey === mo[keyName]); // find setting that matches with mo by itemKey\r\n if (documentItem) {\r\n mo.$documentItem = documentItem;\r\n } else {\r\n documentItem = documentItems.find(\r\n (item) => moDataList.map((c) => c[keyName]).indexOf(item.ItemKey) < 0\r\n ); // find a setting has not have $RelatedMo yet\r\n if (documentItem) {\r\n mo[keyName] = documentItem.ItemKey;\r\n mo.$documentItem = documentItem;\r\n this.updateMo.emit(mo);\r\n }\r\n }\r\n });\r\n }\r\n protected _initColumnField(allColumns: ReportViewColumn[], viewSetting: DocumentsSetting): void {\r\n const keyColumn = this._findColumnByDbName.transform(allColumns, viewSetting.ItemKeyField);\r\n const fileColumn = this._findColumnByDbName.transform(allColumns, viewSetting.FileField);\r\n const acceptedColumn = this._findColumnByDbName.transform(allColumns, viewSetting.AcceptedField);\r\n const rejectedReasonColumn = this._findColumnByDbName.transform(allColumns, viewSetting.RejectedReasonField);\r\n const statusColumn = this._findColumnByDbName.transform(allColumns, viewSetting.StatusField);\r\n !keyColumn && this._columnNotExistsInReport(viewSetting.ItemKeyField);\r\n !fileColumn && this._columnNotExistsInReport(viewSetting.FileField);\r\n !rejectedReasonColumn && this._columnNotExistsInReport(viewSetting.RejectedReasonField);\r\n !acceptedColumn && this._columnNotExistsInReport(viewSetting.AcceptedField);\r\n !statusColumn && this._columnNotExistsInReport(viewSetting.StatusField);\r\n\r\n keyColumn && (this.keyColumn = keyColumn);\r\n fileColumn && (this.fileColumn = fileColumn);\r\n acceptedColumn && (this.acceptedColumn = acceptedColumn);\r\n rejectedReasonColumn && (this.rejectedReasonColumn = rejectedReasonColumn);\r\n statusColumn && (this.statusColumn = statusColumn);\r\n }\r\n protected _subscribeOnUploadFile(fileColumn: ReportViewColumn): void {\r\n this._filesValidationHelper = new FilesValidationHelper(0, 0, 0);\r\n if (this._uploadService) {\r\n this._createLinearHelper(this._uploadService, this._filesValidationHelper, fileColumn.FieldDefId);\r\n this.uploadingState$ = this._uploadService.uploadingState$;\r\n } else {\r\n throw new Error('UploadService not provided.');\r\n }\r\n\r\n this._linearHelper.newFileUploaded$.subscribe((file) => {\r\n const mo = this.moDataList.find((c) => c.Id === this.selectedMo.Id);\r\n if (mo) {\r\n mo[fileColumn.Name].Files = [...mo[fileColumn.Name].Files, file];\r\n this._updateMo(mo);\r\n }\r\n });\r\n }\r\n protected _updateMo(mo: MetaobjectDataModel): void {\r\n mo.$NewInlineMo = undefined;\r\n if (mo.$State === 'Unchanged') {\r\n mo.$State = 'Modified';\r\n }\r\n this.updateMo.emit(mo);\r\n this._checkMandatory();\r\n }\r\n protected _createLinearHelper(\r\n uploadService: UploadService,\r\n filesValidationHelper: FilesValidationHelper,\r\n fieldDefId: string\r\n ): void {\r\n this._linearHelper = new LinearListHelper(uploadService, filesValidationHelper, fieldDefId);\r\n }\r\n protected _uploadFile(files: File[], documentItem: DocumentItem): void {\r\n const filesValidationHelper = this._filesValidationHelper;\r\n filesValidationHelper.maxFileCount = +documentItem.MaxFileCount;\r\n filesValidationHelper.maxFileSize = +documentItem.EachFileSize;\r\n filesValidationHelper.maxTotalFileSize = +documentItem.MaxFileSize;\r\n this._linearHelper.uploadToServer(files, documentItem.Title);\r\n }\r\n protected _columnNotExistsInReport(columnCaption): void {\r\n throw new Error(`can not find ${columnCaption} column in report.please add it to report columns.`);\r\n }\r\n}\r\n","<!-- <ul fd-list [byline]=\"true\" fdCompact [selection]=\"false\"> -->\r\n<table fd-table aria-label=\"Default\" [allCellsFocusable]=\"true\" [noBorderX]=\"true\">\r\n <thead fd-table-header>\r\n <tr fd-table-row>\r\n <th fd-table-cell>{{ 'عکس' | bbbTranslate }}</th>\r\n <th fd-table-cell style=\"min-width: 140px; width: auto\">{{ 'نوع مدرک' | bbbTranslate }}</th>\r\n <th fd-table-cell style=\"width: 99%\">{{ 'الصاق فایل' | bbbTranslate }}</th>\r\n <th fd-table-cell></th>\r\n <th fd-table-cell style=\"width: 400px; min-width: 400px; max-width: 400px\">{{ 'وضعیت' | bbbTranslate }}</th>\r\n </tr>\r\n </thead>\r\n <tbody fd-table-body>\r\n @for (mo of moDataList; track _trackByRow($index, mo)) { @if (mo.$documentItem) {\r\n <bdc-barsa-document-list-item\r\n [documentItem]=\"mo.$documentItem\"\r\n [accepted]=\"mo[acceptedColumn.Name]\"\r\n [files]=\"mo[fileColumn.Name].Files\"\r\n [uploadingState]=\"(uploadingState$ | async)!!\"\r\n [rejectedReason]=\"mo[rejectedReasonColumn.Name]\"\r\n [fileDbName]=\"fileColumn.Name\"\r\n [status]=\"+mo[statusColumn.Name]\"\r\n [deviceSize]=\"deviceSize\"\r\n [readonly]=\"!access.Edit\"\r\n [deviceSize]=\"deviceSize\"\r\n (removeFile)=\"onRemoveFile($event, mo)\"\r\n (fileSelectionChange)=\"onFileSelection($event, mo.$documentItem, mo)\"\r\n (rejectTextChange)=\"onRejectedTextChange($event, mo)\"\r\n (statusChanged)=\"onStatusChanged($event, mo)\"\r\n ></bdc-barsa-document-list-item>\r\n } }\r\n <!-- </ul> -->\r\n </tbody>\r\n</table>\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n inject\r\n} from '@angular/core';\r\nimport { AbbrevationDeviceSize, BaseComponent, getUniqueId } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-accept-reject',\r\n templateUrl: './accept-reject.component.html',\r\n styleUrls: ['./accept-reject.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class AcceptRejectComponent extends BaseComponent implements OnInit {\r\n @Input() negativeText: string;\r\n @Input() positiveText: string;\r\n @Input() rejectedReason: string;\r\n @Input() acceptedText: string;\r\n @Input() deviceSize: AbbrevationDeviceSize;\r\n @Input() readonly: boolean;\r\n @Input() rejected: boolean;\r\n @Output() rejectedChanged = new EventEmitter<{ accept: boolean; error: string }>();\r\n\r\n id = getUniqueId(3);\r\n applied = false;\r\n\r\n private _cdr = inject(ChangeDetectorRef);\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._initilaize();\r\n }\r\n onReject(): void {\r\n this._raiseEvent(true, true, this.rejectedReason);\r\n }\r\n onReset(): void {\r\n this._raiseEvent(false, false);\r\n }\r\n onAccept(): void {\r\n this._raiseEvent(true, false);\r\n }\r\n protected _initilaize(): void {\r\n if (this.rejectedReason) {\r\n this.rejected = true;\r\n this.applied = true;\r\n }\r\n }\r\n protected _raiseEvent(applied: boolean, rejected: boolean, rejectedReason = ''): void {\r\n this.applied = applied;\r\n this.rejected = rejected;\r\n this.rejectedReason = rejectedReason;\r\n this.rejectedChanged.emit({ accept: rejected, error: rejectedReason });\r\n this._cdr.detectChanges();\r\n }\r\n}\r\n","@if (!applied && !readonly) {\r\n<div>\r\n <button\r\n fd-button\r\n [label]=\"positiveText | bbbTranslate\"\r\n fdType=\"positive\"\r\n glyph=\"message-success\"\r\n ariaLabel=\"positive\"\r\n value=\"yes\"\r\n style=\"margin: 0 5px\"\r\n (click)=\"onAccept()\"\r\n ></button>\r\n <fd-popover [focusTrapped]=\"true\" [focusAutoCapture]=\"true\" [mobile]=\"deviceSize === 's'\" #popover>\r\n <fd-popover-control>\r\n <button\r\n fd-button\r\n [label]=\"negativeText | bbbTranslate\"\r\n glyph=\"message-error\"\r\n fdType=\"negative\"\r\n ariaLabel=\"Negative\"\r\n value=\"no\"\r\n ></button>\r\n </fd-popover-control>\r\n <fd-popover-body style=\"min-width: 320px\">\r\n <div fd-popover-body-header>\r\n <div fd-bar [cozy]=\"true\" id=\"popover-bar-header-1\">\r\n <div fd-bar-left>\r\n <span\r\n fd-object-status\r\n status=\"negative\"\r\n glyph=\"message-error\"\r\n glyphAriaLabel=\"Negative\"\r\n title=\"Negative\"\r\n ></span>\r\n <fd-bar-element>علت رد</fd-bar-element>\r\n </div>\r\n </div>\r\n </div>\r\n <div fd-form-item>\r\n <fd-form-input-message-group>\r\n <textarea fd-form-control [id]=\"id\" [(ngModel)]=\"rejectedReason\"></textarea>\r\n </fd-form-input-message-group>\r\n </div>\r\n <div fd-popover-body-footer>\r\n <div fd-bar barDesign=\"footer\">\r\n <div fd-bar-right>\r\n <fd-button-bar\r\n [label]=\"'Ok' | bbbTranslate\"\r\n fdType=\"emphasized\"\r\n (click)=\"popover.close(); onReject()\"\r\n ></fd-button-bar>\r\n <fd-button-bar [label]=\"'Cancel' | bbbTranslate\" (click)=\"popover.close()\"></fd-button-bar>\r\n </div>\r\n </div>\r\n </div>\r\n </fd-popover-body>\r\n </fd-popover>\r\n</div>\r\n} @if (readonly || applied) {\r\n<div>\r\n <span>{{ rejected ? rejectedReason : ('✓' + acceptedText | bbbTranslate) }}</span>\r\n <button fd-button glyph=\"decline\" fdType=\"transparent\" (click)=\"onReset()\"></button>\r\n</div>\r\n}\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnInit, inject, signal } from '@angular/core';\r\nimport { BaseComponent, PortalService, MetaobjectDataModel, AbbrevationDeviceSize } from 'barsa-novin-ray-core';\r\nimport { takeUntil, withLatestFrom } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'bdc-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class FooterComponent extends BaseComponent implements OnInit {\r\n @Input() settings: MetaobjectDataModel;\r\n rtl: boolean;\r\n footer: MetaobjectDataModel;\r\n deviceSize: AbbrevationDeviceSize;\r\n hide = signal(false);\r\n private _portalService = inject(PortalService);\r\n private _cdr = inject(ChangeDetectorRef);\r\n\r\n constructor() {\r\n super();\r\n this._portalService.navigationStart$.pipe(takeUntil(this._onDestroy$)).subscribe((event) => {\r\n if (event === null) {\r\n return;\r\n }\r\n if (event?.url.indexOf('/report/') > 0 || event?.url.indexOf('/form/') > 0) {\r\n this.hide.set(true);\r\n } else {\r\n this.hide.set(false);\r\n }\r\n });\r\n\r\n this._portalService.rtl$\r\n .pipe(withLatestFrom(this._portalService.deviceSize$))\r\n .subscribe(([rtl, deviceSize]) => {\r\n this.rtl = rtl;\r\n this.deviceSize = deviceSize;\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n const { RelatedMo } = this.settings;\r\n if (!RelatedMo) {\r\n return;\r\n }\r\n this._portalService.loadMo(RelatedMo.Id, RelatedMo.$TypeDefId).subscribe((result) => {\r\n this.footer = result?.Data?.Mo;\r\n this._cdr.detectChanges();\r\n });\r\n }\r\n}\r\n","@if (footer) {\r\n<div #footerEl>\r\n <div\r\n [class.hide]=\"hide()\"\r\n fd-bar\r\n barDesign=\"footer\"\r\n [size]=\"'m_l'\"\r\n [class.rtl]=\"rtl\"\r\n class=\"footer\"\r\n [class.mobile]=\"deviceSize === 's'\"\r\n cssRootVariable\r\n [cssVariableValue]=\"footerEl.offsetHeight + 'px'\"\r\n [cssVariableName]=\"'--footer-height'\"\r\n >\r\n <div fd-bar-left class=\"left\">\r\n <a\r\n fd-button\r\n glyph=\"email\"\r\n [fd-inline-help]=\"('ایمیل پشتیبانی' | bbbTranslate) + ': ' + footer.Email\"\r\n [href]=\"'mailto:' + footer.Email\"\r\n fdType=\"transparent\"\r\n >\r\n </a>\r\n <a\r\n fd-button\r\n glyph=\"headset\"\r\n [fd-inline-help]=\"('شماره پشتیبانی' | bbbTranslate) + ': ' + footer.TelNumber\"\r\n [href]=\"'tel:' + footer.TelNumber\"\r\n fdType=\"transparent\"\r\n ></a>\r\n <fd-popover>\r\n <fd-popover-control>\r\n <button\r\n fd-button\r\n glyph=\"vertical-waterfall-chart\"\r\n [title]=\"'آمار بازدید' | bbbTranslate\"\r\n aria-haspopup=\"menu\"\r\n fdType=\"transparent\"\r\n [fd-inline-help]=\"'آمار بازدید' | bbbTranslate\"\r\n tabindex=\"0\"\r\n ></button>\r\n </fd-popover-control>\r\n <fd-popover-body>\r\n <ul fd-list>\r\n <li fd-list-item class=\"all\">\r\n <i fd-list-icon glyph=\"bar-chart\"></i>\r\n <span fd-list-title>{{ 'تعداد بازدیدکنندگان کل' | bbbTranslate }}<strong>120</strong></span>\r\n </li>\r\n <li fd-list-item class=\"today\">\r\n <i fd-list-icon glyph=\"bar-chart\"></i>\r\n <span fd-list-title\r\n >{{ 'تعداد بازدیدکنندگان امروز' | bbbTranslate }} <strong>76</strong></span\r\n >\r\n </li>\r\n <li fd-list-item class=\"online\">\r\n <i fd-list-icon glyph=\"bar-chart\"></i>\r\n <span fd-list-title>{{ 'تعداد کاربران آنللاین' | bbbTranslate }} <strong>10</strong></span>\r\n </li>\r\n </ul>\r\n </fd-popover-body>\r\n </fd-popover>\r\n <fd-popover>\r\n <fd-popover-control>\r\n <button\r\n [fd-inline-help]=\"'کانال ارتباطی' | bbbTranslate\"\r\n tabindex=\"0\"\r\n fd-button\r\n glyph=\"paper-plane\"\r\n id=\"fd-action-sheet-default-control\"\r\n aria-haspopup=\"menu\"\r\n fdType=\"transparent\"\r\n ></button>\r\n </fd-popover-control>\r\n <fd-popover-body>\r\n <ul fd-list>\r\n @for (socialNetwork of footer.SocialNetworks.MoDataList; track socialNetwork) {\r\n <li fd-list-item>\r\n <a fd-list-link [href]=\"socialNetwork.Url\" style=\"display: flex; column-gap: 5px\">\r\n <i fd-list-icon class=\"sap-icon--1\"\r\n ><img [src]=\"socialNetwork.Image?.FileId | picFieldSrc: 'ID':null:'':16:16\" />\r\n </i>\r\n <span fd-list-title>{{ socialNetwork.Title | bbbTranslate }}</span>\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n </fd-popover-body>\r\n </fd-popover>\r\n <fd-bar-element>\r\n <a fd-link [href]=\"footer.SiteAddress\" tabindex=\"0\" class=\"!tw-flex !tw-items-center\"\r\n ><fd-icon glyph=\"world\"> </fd-icon>\r\n <span style=\"padding: 0 5px\">{{ footer.SiteTitle | bbbTranslate }}</span></a\r\n >\r\n </fd-bar-element>\r\n </div>\r\n @if (deviceSize !== 's') {\r\n <div fd-bar-middle class=\"middle\">\r\n <fd-bar-element> {{ footer.Copyright | bbbTranslate }}</fd-bar-element>\r\n </div>\r\n } @if (deviceSize !== 's' && deviceSize !== 'm') {\r\n <div fd-bar-right class=\"right\"></div>\r\n }\r\n </div>\r\n</div>\r\n}\r\n<!-- \r\n@else if(footer?.Mode2){\r\n<div class=\"tw-relative tw-mt-16\">\r\n <svg class=\"tw-absolute tw-top-0 tw-w-full tw-h-6 tw--mt-5 sm:tw--mt-10 sm:tw-h-16 text-deep-purple-accent-400\" preserveAspectRatio=\"none\" viewBox=\"0 0 1440 54\">\r\n <path fill=\"--sapShellColor\" d=\"M0 22L120 16.7C240 11 480 1.00001 720 0.700012C960 1.00001 1200 11 1320 16.7L1440 22V54H1320C1200 54 960 54 720 54C480 54 240 54 120 54H0V22Z\"></path>\r\n </svg>\r\n <div class=\"tw-px-4 tw-pt-12 tw-mx-auto sm:tw-max-w-xl md:tw-max-w-full lg:tw-max-w-screen-xl md:tw-px-24 lg:tw-px-8\">\r\n <div class=\"tw-grid tw-gap-16 tw-row-gap-10 tw-mb-8 lg:tw-grid-cols-6\">\r\n <div class=\"md:tw-max-w-md lg:tw-col-span-2\">\r\n <a href=\"/\" aria-label=\"رفتن به خانه\" title=\"شرکت\" class=\"tw-inline-flex tw-items-center\">\r\n <svg class=\"tw-w-8 text-teal-accent-400\" viewBox=\"0 0 24 24\" stroke-linejoin=\"round\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-miterlimit=\"10\" stroke=\"currentColor\" fill=\"none\">\r\n <rect x=\"3\" y=\"1\" width=\"7\" height=\"12\"></rect>\r\n <rect x=\"3\" y=\"17\" width=\"7\" height=\"6\"></rect>\r\n <rect x=\"14\" y=\"1\" width=\"7\" height=\"6\"></rect>\r\n <rect x=\"14\" y=\"11\" width=\"7\" height=\"12\"></rect>\r\n </svg>\r\n <span class=\"tw-ml-2 tw-text-xl tw-font-bold tw-tracking-wide tw-text-gray-100 tw-uppercase\">شرکت</span>\r\n </a>\r\n <div class=\"tw-mt-4 lg:tw-max-w-sm\">\r\n <p class=\"tw-text-sm text-deep-purple-50\">\r\n ما متعهد به ارائه بهترین خدمات و محصولات با بالاترین کیفیت هستیم تا نیازهای شما را برآورده کنیم.\r\n </p>\r\n <p class=\"tw-mt-4 tw-text-sm text-deep-purple-50\">\r\n همراه با تیمی متخصص، در تلاشیم تا رضایت مشتریان را جلب کنیم و تجربهای بینظیر فراهم سازیم.\r\n </p>\r\n </div>\r\n </div>\r\n <div class=\"tw-grid tw-grid-cols-2 tw-gap-5 tw-row-gap-8 lg:tw-col-span-4 md:tw-grid-cols-4\">\r\n <div>\r\n <p class=\"tw-font-semibold tw-tracking-wide text-teal-accent-400\">دستهبندی</p>\r\n <ul class=\"tw-mt-2 tw-space-y-2\">\r\n <li><a href=\"/\" class=\"tw-transition-colors tw-duration-300 text-deep-purple-50 hover:text-teal-accent-400\">اخبار</a></li>\r\n <li><a href=\"/\" class=\"tw-transition-colors tw-duration-300 text-deep-purple-50 hover:text-teal-accent-400\">جهان</a></li>\r\n <li><a href=\"/\" class=\"tw-transition-colors tw-duration-300 text-deep-purple-50 hover:text-teal-accent-400\">بازیها</a></li>\r\n <li><a href=\"/\" class=\"tw-transition-colors tw-duration-300 text-deep-purple-50 hover:text-teal-accent-400\">مراجع</a></li>\r\n </ul>\r\n </div>\r\n <div>\r\n <p class=\"tw-font-semibold tw-tracking-wide text-teal-accent-400\">دیجیتال</p>\r\n <ul class=\"tw-mt-2 tw-space-y-2\">\r\n <li><a href=\"/\" class=\"tw-transition-colors tw-duration-300 text-deep-purple-50 hover:text-teal-accent-400\">وب</a></li>\r\n <li><a href=\"/\" class=\"tw-transition-colors tw-duration-300 text-deep-purple-50 hover:text-teal-accent-400\">تجارت الکترونیک</a></li>\r\n <li><a href=\"/\" class=\"tw-transition-colors tw-duration-300 text-deep-purple-50 hover:text-teal-accent-400\">کسب و کار</a></li>\r\n <li><a href=\"/\" class=\"tw-transition-colors tw-duration-300 text-deep-purple-50 hover:text-teal-accent-400\">سرگرمی</a></li>\r\n </ul>\r\n </div>\r\n <div>\r\n <p class=\"tw-font-semibold tw-tracking-wide text-teal-accent-400\">دیجیتال</p>\r\n <ul class=\"tw-mt-2 tw-space-y-2\">\r\n <li><a href=\"/\" class=\"tw-transition-colors tw-duration-300 text-deep-purple-50 hover:text-teal-accent-400\">وب</a></li>\r\n <li><a href=\"/\" class=\"tw-transition-colors tw-duration-300 text-deep-purple-50 hover:text-teal-accent-400\">تجارت الکترونیک</a></li>\r\n <li><a href=\"/\" class=\"tw-transition-colors tw-duration-300 text-deep-purple-50 hover:text-teal-accent-400\">کسب و کار</a></li>\r\n <li><a href=\"/\" class=\"tw-transition-colors tw-duration-300 text-deep-purple-50 hover:text-teal-accent-400\">سرگرمی</a></li>\r\n </ul>\r\n </div>\r\n <div>\r\n <p class=\"tw-font-semibold tw-tracking-wide text-teal-accent-400\">دیجیتال</p>\r\n <ul class=\"tw-mt-2 tw-space-y-2\">\r\n <li><a href=\"/\" class=\"tw-transition-colors tw-duration-300 text-deep-purple-50 hover:text-teal-accent-400\">وب</a></li>\r\n <li><a href=\"/\" class=\"tw-transition-colors tw-duration-300 text-deep-purple-50 hover:text-teal-accent-400\">تجارت الکترونیک</a></li>\r\n <li><a href=\"/\" class=\"tw-transition-colors tw-duration-300 text-deep-purple-50 hover:text-teal-accent-400\">کسب و کار</a></li>\r\n <li><a href=\"/\" class=\"tw-transition-colors tw-duration-300 text-deep-purple-50 hover:text-teal-accent-400\">سرگرمی</a></li>\r\n </ul>\r\n </div> \r\n </div>\r\n </div>\r\n <div class=\"tw-flex tw-flex-col tw-justify-between tw-pt-5 tw-pb-10 tw-border-t border-deep-purple-accent-200 sm:tw-flex-row\">\r\n <p class=\"tw-text-sm tw-text-gray-100\">© حق نشر ۲۰۲۵ تمامی حقوق محفوظ است.</p>\r\n </div>\r\n </div>\r\n </div>\r\n} -->\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n AfterViewInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n SimpleChanges,\r\n signal\r\n} from '@angular/core';\r\nimport { BaseComponent } from 'barsa-novin-ray-core';\r\n\r\ndeclare const head: any;\r\ndeclare const L: any;\r\n\r\n@Component({\r\n selector: 'bdc-barsa-geographic-location',\r\n templateUrl: './barsa-geographic-location.component.html',\r\n styleUrls: ['./barsa-geographic-location.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class BarsaGeographicLocationComponent extends BaseComponent implements AfterViewInit {\r\n @Input() disableOrReadonly: boolean;\r\n @Input() setAutomaticLocation: boolean;\r\n @Input() showLocationButton: boolean;\r\n @Input() showFullscreenButton: boolean;\r\n @Input() showExitFullscreenButton: boolean;\r\n @Input() draggable: boolean;\r\n\r\n @Input() defaultLocation: number[];\r\n @Input() latitude: number;\r\n @Input() longitude: number;\r\n @Output() move = new EventEmitter<any>();\r\n @Output() moveEnd = new EventEmitter<any>();\r\n @Output() fullscreen = new EventEmitter();\r\n @Output() exitFullscreen = new EventEmitter();\r\n @Output() errorEvent = new EventEmitter();\r\n @Output() markerChange = new EventEmitter<{ latitude; longitude }>();\r\n\r\n signalMap = signal(null);\r\n private _map: any;\r\n private _marker: any;\r\n\r\n private _navigatorOptions = {\r\n enableHighAccuracy: true,\r\n timeout: 5000,\r\n maximumAge: 0\r\n };\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n super.ngOnChanges(changes);\r\n const { longitude, latitude } = changes;\r\n if (latitude?.firstChange === false || longitude?.firstChange === false) {\r\n this._setGeoLocation(\r\n {\r\n latitude: latitude.currentValue,\r\n longitude: longitude.currentValue\r\n },\r\n this.disableOrReadonly,\r\n this.latitude !== latitude.currentValue || this.longitude !== longitude.currentValue,\r\n false\r\n );\r\n }\r\n }\r\n ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n head.load(\r\n [\r\n 'Lib/leaflet/leaflet.css',\r\n 'Lib/leaflet/leaflet-src.js',\r\n 'Lib/leaflet/SearchControl.js',\r\n 'Lib/leaflet/BeautifyMarker-master/leaflet-beautify-marker-icon.css',\r\n 'Lib/leaflet/BeautifyMarker-master/leaflet-beautify-marker-icon.js',\r\n 'Lib/leaflet/BeautifyMarker-master/leaflet-beautify-marker.js',\r\n 'Lib/leaflet/BeautifyMarker-master/leaflet-beautify-marker-icon-barsa.js'\r\n ],\r\n () => this._initilaize()\r\n );\r\n }\r\n // {\r\n // latlng,\r\n // point,\r\n // x,\r\n // y,\r\n // marker,\r\n // data\r\n // }\r\n onLongPress({ latlng }: { latlng: { lat: number; lng: number } }): void {\r\n this._setGeoLocation({ latitude: latlng.lat, longitude: latlng.lng }, this.disableOrReadonly, false, true);\r\n }\r\n onCurrentLocation(): void {\r\n if (this.disableOrReadonly) {\r\n return;\r\n }\r\n this._getNavigatorCurrentPosition();\r\n }\r\n onFullscreen(): void {\r\n this.fullscreen.emit();\r\n }\r\n onExitFullscreen(): void {\r\n this.exitFullscreen.emit();\r\n }\r\n protected _addMarkers(disableOrReadonly: boolean, pos: number[]): void {\r\n this._setGeoLocation({ latitude: pos[0], longitude: pos[1] }, disableOrReadonly);\r\n }\r\n\r\n protected _initilaize(): void {\r\n this._map = L.map(this._el.nativeElement);\r\n this.signalMap.set(this._map);\r\n const location = this.defaultLocation;\r\n if (this.latitude) {\r\n location[0] = Number(this.latitude);\r\n location[1] = Number(this.longitude);\r\n }\r\n this._setGeoLocation(\r\n {\r\n latitude: location[0],\r\n longitude: location[1]\r\n },\r\n this.disableOrReadonly,\r\n true,\r\n false\r\n );\r\n\r\n if (!this.disableOrReadonly && this.setAutomaticLocation && !this.latitude) {\r\n // درصورتی که از قبل مقدار نداشته باشد\r\n this._getNavigatorCurrentPosition();\r\n }\r\n }\r\n protected _onErrorNavigatorLocation(err): void {\r\n this.errorEvent.emit(err);\r\n }\r\n protected _setGeoLocation(\r\n position: { latitude: any; longitude: any },\r\n disableOrReadonly = false,\r\n setView = false,\r\n fireEvent = true\r\n ): void {\r\n if (this._marker) {\r\n this._map.removeLayer(this._marker);\r\n this._marker = null;\r\n }\r\n\r\n const { latitude, longitude } = position;\r\n\r\n L.tileLayer('https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token={accessToken}', {\r\n attribution: '',\r\n maxZoom: 18,\r\n id: 'mapbox/streets-v11',\r\n tileSize: 512,\r\n zoomOffset: -1,\r\n accessToken:\r\n 'pk.eyJ1IjoibXJlemFkZXZlbG9wZXIiLCJhIjoiY2p6anlrdTE2MDBxdjNtczZtYWFqbHFmdiJ9.SzniRy2KH6U3gdbOFnwA7Q'\r\n }).addTo(this._map);\r\n if (setView) {\r\n this._map.setView([latitude, longitude], 18);\r\n }\r\n const marker = this._createMarker(\r\n '0',\r\n { mo: 'test' },\r\n latitude,\r\n longitude,\r\n 'my location',\r\n '',\r\n !disableOrReadonly && this.draggable === true\r\n );\r\n marker.addTo(this._map);\r\n this._marker = marker;\r\n if (!disableOrReadonly && fireEvent) {\r\n this.markerChange.emit({ latitude, longitude });\r\n }\r\n }\r\n protected _getNavigatorCurrentPosition(): void {\r\n if (navigator.geolocation) {\r\n navigator.geolocation.getCurrentPosition(\r\n (position) =>\r\n this._setGeoLocation(\r\n { latitude: position.coords.latitude, longitude: position.coords.longitude },\r\n this.disableOrReadonly,\r\n true\r\n ),\r\n (err) => this._onErrorNavigatorLocation(err),\r\n this._navigatorOptions\r\n );\r\n }\r\n }\r\n protected _createMarker(id, mo, lat, lng, text, icon, draggable): any {\r\n const markerCfg = {\r\n Id: id,\r\n Data: mo,\r\n title: text,\r\n draggable,\r\n icon: L.divIcon({\r\n html: icon\r\n ? `<fd-icon style=\"font-size:1rem\" class=\"sap-icon--${icon}\"></fd-icon>`\r\n : `<img style=\"width:32px\" src=\"${'assets/svg/location-sign.svg'}\"/>`,\r\n iconSize: [20, 20],\r\n className: 'my-location'\r\n })\r\n };\r\n\r\n // var marker = L.BeautifyMarker.marker([Number(lat), Number(lng)], {\r\n const marker = L.marker([Number(lat), Number(lng)], markerCfg);\r\n\r\n marker.on('moveend', (e) => {\r\n this._onMoveEnd(e);\r\n });\r\n marker.on('move', (e) => {\r\n this._onMove(e);\r\n });\r\n\r\n return marker;\r\n }\r\n\r\n protected _onMove(e): void {\r\n this.move.emit(e);\r\n }\r\n protected _onMoveEnd(e): void {\r\n this.moveEnd.emit(e);\r\n }\r\n}\r\n","@if(signalMap()){\r\n<div\r\n style=\"position: absolute; z-index: 1000; display: flex; flex-direction: column; row-gap: 5px; left: 0; bottom: 0\"\r\n [leafletLongPress]=\"signalMap()\"\r\n (longPress)=\"onLongPress($event)\"\r\n>\r\n @if (showFullscreenButton) {\r\n <button fd-button glyph=\"resize\" fdType=\"positive\" (click)=\"onFullscreen()\"></button>\r\n } @if (showExitFullscreenButton) {\r\n <button fd-button glyph=\"exitfullscreen\" fdType=\"positive\" (click)=\"onExitFullscreen()\"></button>\r\n } @if (showLocationButton || disableOrReadonly) {\r\n <button fd-button glyph=\"map\" fdType=\"positive\" (click)=\"onCurrentLocation()\"></button>\r\n }\r\n</div>\r\n}\r\n","import { ChangeDetectionStrategy, Component, inject, OnInit, TemplateRef, ViewChild } from '@angular/core';\r\nimport { DialogService } from '@fundamental-ngx/core';\r\nimport { BarsaApi } from 'barsa-novin-ray-core';\r\nimport { UiMoInfoSubFormUiComponent } from 'barsa-sap-ui';\r\n\r\n@Component({\r\n selector: 'bdc-geographic-location',\r\n templateUrl: './geographic-location.component.html',\r\n styleUrls: ['./geographic-location.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class GeographicLocationComponent extends UiMoInfoSubFormUiComponent implements OnInit {\r\n @ViewChild('confirmationDialog') dialogTemplate: TemplateRef<any>;\r\n fullscreen = false;\r\n\r\n latValue;\r\n lngValue;\r\n customFormPanelUi: any;\r\n protected _dialogService = inject(DialogService);\r\n private _movePos: { latitude: any; longitude: any };\r\n get latitudeUi(): any {\r\n return this.customFormPanelUi._dictFieldUi.Latitude;\r\n }\r\n get longitudeUi(): any {\r\n return this.customFormPanelUi._dictFieldUi.Longitude;\r\n }\r\n\r\n openDialog(dialog: TemplateRef<any>): void {\r\n this._dialogService.open(dialog, {\r\n responsivePadding: true,\r\n width: '100svw',\r\n height: '100svh',\r\n mobile: true,\r\n ariaLabelledBy: 'map',\r\n ariaDescribedBy: 'choose location',\r\n focusTrapped: true\r\n });\r\n }\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._setDefaultLatAndLong(this.latitudeUi?.value, this.longitudeUi?.value);\r\n }\r\n onFullscreen(): void {\r\n this.fullscreen = true;\r\n this.openDialog(this.dialogTemplate);\r\n }\r\n\r\n onExistFullscreen(): void {\r\n this.fullscreen = false;\r\n this._cdr.detectChanges();\r\n }\r\n onOpenChange(isOpen): void {\r\n this.fullscreen = isOpen;\r\n }\r\n onErrorNavigatorLocation(err): void {\r\n const err2 = `خطا در دریافت موقعیت مکانی جاری. (${err.message})`;\r\n BarsaApi.Bw.Toast.Error(err2);\r\n }\r\n onMove(e): void {\r\n this._movePos = { latitude: e.latlng.lat, longitude: e.latlng.lng };\r\n }\r\n onMoveEnd(_e): void {\r\n this._handleMarkerChange(this._movePos);\r\n }\r\n onMarkerChange(e: { latitude; longitude }): void {\r\n this._handleMarkerChange(e);\r\n }\r\n protected _handleMarkerChange(e: { latitude; longitude }): void {\r\n const { latitude, longitude } = e;\r\n this.latitudeUi.value = latitude;\r\n this.longitudeUi.value = longitude;\r\n this._valueChanged();\r\n }\r\n protected _setDefaultLatAndLong(lat: number, lng: number): void {\r\n if (lat && lng) {\r\n this.latValue = lat;\r\n this.lngValue = lng;\r\n }\r\n }\r\n protected _titleChanged(): void {\r\n this._setDefaultLatAndLong(this.latitudeUi?.value, this.longitudeUi?.value);\r\n }\r\n protected _valueChanged(): void {\r\n this.latitudeUi.fireEvent('change', this.latitudeUi, this.latitudeUi.value);\r\n this.longitudeUi.fireEvent('change', this.longitudeUi, this.longitudeUi.value);\r\n }\r\n}\r\n","@if (customFormPanelUi) {\r\n<bnrc-form style=\"display: none\" *untilInView=\"el\" [customFormPanelUi]=\"customFormPanelUi\"></bnrc-form>\r\n} @if (!fullscreen) {\r\n<ng-container *ngTemplateOutlet=\"map; context: { inDialog: false }\"></ng-container>\r\n}\r\n\r\n<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #confirmationDialog>\r\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\r\n <fd-dialog-body>\r\n <ng-container *ngTemplateOutlet=\"map; context: { inDialog: true, dialog: dialog }\"></ng-container>\r\n </fd-dialog-body>\r\n </fd-dialog>\r\n</ng-template>\r\n\r\n<ng-template #map let-inDialog=\"inDialog\" let-dialog=\"dialog\">\r\n <bdc-barsa-geographic-location \r\n [style.height]=\"inDialog ? '100svh !important' : null\"\r\n [defaultLocation]=\"[35.7568, 51.412]\"\r\n [latitude]=\"latValue\"\r\n [longitude]=\"lngValue\"\r\n [showExitFullscreenButton]=\"inDialog\"\r\n [showFullscreenButton]=\"!inDialog && customFieldInfo.ShowFullscreenButton\"\r\n [showLocationButton]=\"customFieldInfo.ShowLocationButton\"\r\n [setAutomaticLocation]=\"customFieldInfo.GetCurrentLocation\"\r\n [disableOrReadonly]=\"(disableOrReadonly$ | async) === true\"\r\n [draggable]=\"customFieldInfo.Draggable === true\"\r\n (fullscreen)=\"onFullscreen()\"\r\n (markerChange)=\"onMarkerChange($event)\"\r\n (move)=\"onMove($event)\"\r\n (errorEvent)=\"onErrorNavigatorLocation($event)\"\r\n (moveEnd)=\"onMoveEnd($event)\"\r\n (exitFullscreen)=\"onExistFullscreen(); dialog && dialog.close('Continue')\"\r\n ></bdc-barsa-geographic-location>\r\n</ng-template>\r\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\nimport { MetaobjectDataModel, ReportViewBaseComponent } from 'barsa-novin-ray-core';\r\n\r\nimport { MicroProcessFlowViewSetting } from '../models';\r\n@Component({\r\n selector: 'bdc-token-report-view',\r\n templateUrl: './token-report-view.component.html',\r\n styleUrls: ['./token-report-view.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class TokenReportViewComponent extends ReportViewBaseComponent<MicroProcessFlowViewSetting> implements OnInit {\r\n fieldTitle: string;\r\n fieldIcon: string;\r\n fieldState: string;\r\n mode: string;\r\n arrowRight: string;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n }\r\n onRemoveItem(mo: MetaobjectDataModel, index: number): void {\r\n this.rowCheck.emit({ mo, index });\r\n let itemId = 'RemoveFromList';\r\n if (this.viewSetting?.DeleteAction === '1') {\r\n itemId = 'Delete';\r\n }\r\n\r\n this.executeToolbarButton.emit({ itemId });\r\n }\r\n}\r\n","@for (mo of moDataList | multipleGroupBy: groupby; track mo; let index = $index; let last = $last) { @if (!mo.parent ||\r\nmo.parent?.expanded) {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n itemTemplate;\r\n context: {\r\n $implicit: mo,\r\n index: index,\r\n last: last,\r\n columns: columns,\r\n moDataList: moDataList,\r\n moDataListCount: moDataList.length\r\n }\r\n \"\r\n></ng-container>\r\n} }\r\n<ng-template\r\n #itemTemplate\r\n let-mo\r\n let-index=\"index\"\r\n let-last=\"last\"\r\n let-columns=\"columns\"\r\n let-moDataListCount=\"moDataListCount\"\r\n let-moDataList=\"moDataList\"\r\n>\r\n <fd-token fdCozy (onCloseClick)=\"onRemoveItem(mo, index)\" [readOnly]=\"false\">{{\r\n columns[0].Caption | rval: mo:columns:true\r\n }}</fd-token>\r\n</ng-template>\r\n","import { ChangeDetectionStrategy, Component, Input, OnInit, TemplateRef, inject } from '@angular/core';\r\nimport { DialogService } from '@fundamental-ngx/core';\r\nimport { LayoutSetting, MetaobjectDataModel, BarsaApi } from 'barsa-novin-ray-core';\r\nimport { ColumnRendererComponent } from 'barsa-sap-ui';\r\n\r\n@Component({\r\n selector: 'bdc-column-form-viewer',\r\n templateUrl: './column-form-viewer.component.html',\r\n styleUrls: ['./column-form-viewer.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class ColumnFormViewerComponent extends ColumnRendererComponent implements OnInit {\r\n @Input() layout94: LayoutSetting;\r\n @Input() parameters: MetaobjectDataModel;\r\n isOpen = false;\r\n dom: HTMLElement;\r\n formParam;\r\n confirmationReason: string;\r\n loadForm = false;\r\n loading = true;\r\n newPage = false;\r\n private _dialogService = inject(DialogService); \r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n const columnMo = this.mo[this.column.Name];\r\n if (!columnMo) {\r\n return;\r\n }\r\n this.newPage = this.parameters.NewPage;\r\n this.formParam = {\r\n moId: columnMo.Id,\r\n typeDefId: columnMo.$TypeDefId,\r\n viewId: this.parameters.MetaView?.Id\r\n };\r\n }\r\n openPopover(): void {\r\n this.isOpen = true;\r\n this.loadForm = true;\r\n }\r\n\r\n onFormRendered(popover): void {\r\n this.loading = false;\r\n if (this.newPage) {\r\n return;\r\n }\r\n popover.close();\r\n setTimeout(() => {\r\n popover.open();\r\n });\r\n }\r\n openMoInNewPage(): void {\r\n const columnMo = this.mo[this.column.Name];\r\n BarsaApi.Bw.Form.Show({\r\n MoId: columnMo.Id,\r\n MoContext: {\r\n ViewId: this.parameters.MetaView?.Id\r\n }\r\n });\r\n }\r\n openDialog(dialog: TemplateRef<any>, container: HTMLElement): void {\r\n const dialogRef = this._dialogService.open(dialog, {\r\n responsivePadding: true,\r\n focusTrapped: true,\r\n backdropClickCloseable: true,\r\n closeOnNavigation: true,\r\n hasBackdrop: false,\r\n container,\r\n escKeyCloseable: true,\r\n mobile: this.deviceSize === 's'\r\n });\r\n\r\n dialogRef.afterClosed.subscribe(\r\n (result) => {\r\n this.confirmationReason = 'Dialog closed with result: ' + result;\r\n },\r\n (error) => {\r\n this.confirmationReason = 'Dialog dismissed with result: ' + error;\r\n }\r\n );\r\n }\r\n}\r\n","<ng-container *ngTemplateOutlet=\"newPage || deviceSize === 's' ? renderColumn : popoverTpl\"> </ng-container>\r\n<ng-template #popoverTpl>\r\n <fd-popover\r\n #popover\r\n [closeOnOutsideClick]=\"true\"\r\n [noArrow]=\"false\"\r\n placement=\"bottom-start\"\r\n [title]=\"column.Caption\"\r\n >\r\n <fd-popover-control>\r\n <ng-container *ngTemplateOutlet=\"renderColumn\"></ng-container>\r\n </fd-popover-control>\r\n <fd-popover-body class=\"popover-form-inColumn\">\r\n @if (loading && loadForm) {\r\n <div style=\"position: relative; height: 80px; width: 100%\">\r\n <bsu-mask [top]=\"'50%'\"></bsu-mask>\r\n </div>\r\n } @if (this.mo.Id && loadForm) {\r\n <bnrc-form\r\n [params]=\"formParam\"\r\n (formRendered)=\"onFormRendered(popover)\"\r\n (formClose)=\"popover.close()\"\r\n class=\"form-inColumn\"\r\n ></bnrc-form>\r\n }\r\n </fd-popover-body>\r\n </fd-popover>\r\n</ng-template>\r\n<ng-template #renderColumn>\r\n <bsu-column-renderer\r\n [mo]=\"mo\"\r\n [column]=\"column\"\r\n [value]=\"column | columnValue: mo | bbbTranslate\"\r\n [icon]=\"column | columnIcon: mo\"\r\n [editMode]=\"editMode\"\r\n [isChecked]=\"isChecked\"\r\n [index]=\"index\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [formLayoutShowLabel]=\"false\"\r\n [deviceSize]=\"deviceSize\"\r\n [controlUi]=\"column.Caption | controlUi: layout94:column.Name\"\r\n (click)=\"newPage || deviceSize === 's' ? openMoInNewPage() : openPopover()\"\r\n ></bsu-column-renderer>\r\n</ng-template>\r\n","import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\r\n\r\nimport {\r\n BaseViewItemPropsComponent,\r\n MetaobjectDataModel,\r\n TypeUlvMainCtrlr,\r\n FormComponentParams,\r\n BarsaApi\r\n} from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-form-report-view-item',\r\n templateUrl: './form-report-view-item.component.html',\r\n styleUrls: ['./form-report-view-item.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class FormReportViewItemComponent extends BaseViewItemPropsComponent implements OnInit {\r\n @Input() mo: MetaobjectDataModel;\r\n @Input() UlvMainCtrlr: TypeUlvMainCtrlr;\r\n @Input() fieldDict: Record<string, string>;\r\n @Input() saveOnValueChanged: boolean;\r\n formParams: FormComponentParams;\r\n toolbarItems: any[] = [];\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.mo.$FieldDict = this.fieldDict;\r\n delete this.mo.$Wrapper;\r\n const meFormSetting = JSON.parse(JSON.stringify(this.formSetting));\r\n const mo = new BarsaApi.Common.MetaObjectWeb(this.mo);\r\n\r\n meFormSetting.Data = { Mo: this.mo };\r\n const formpanelCtrlrParams = this.UlvMainCtrlr.DataCtrlr.GetEditFormParams(mo, false, false, null, null);\r\n this.formParams = {\r\n ...formpanelCtrlrParams,\r\n formSetting: meFormSetting,\r\n moId: this.mo.Id,\r\n typeDefId: this.typeDefId,\r\n isSimple: true,\r\n viewId: meFormSetting.View.TypeViewId\r\n };\r\n }\r\n onMoChanged(mo: MetaobjectDataModel): void {\r\n this.UlvMainCtrlr.RefreshRowsByMosNoSelectionChange([mo], [], []);\r\n }\r\n}\r\n","<bnrc-form\r\n class=\"form-report-view-item\"\r\n [params]=\"formParams\"\r\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\r\n (moChanged)=\"onMoChanged($event)\"\r\n [saveOnChange]=\"saveOnValueChanged\"\r\n></bnrc-form>\r\n","import { ChangeDetectionStrategy, Component, OnInit, ViewChild, ViewContainerRef } from '@angular/core';\r\n\r\nimport { ReportViewBaseComponent, BarsaApi, FormSetting, MetaobjectDataModel } from 'barsa-novin-ray-core';\r\nimport { FormReportViewSetting } from '../models';\r\n\r\n@Component({\r\n selector: 'bdc-form-report-view',\r\n templateUrl: './form-report-view.component.html',\r\n styleUrls: ['./form-report-view.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class FormReportViewComponent extends ReportViewBaseComponent<FormReportViewSetting> implements OnInit {\r\n @ViewChild('containerRef', { static: true, read: ViewContainerRef }) containerRef: ViewContainerRef;\r\n formSettingItem: FormSetting;\r\n parameters: FormReportViewSetting;\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n const x = BarsaApi.Bw.RunBlMethod(\r\n 'GetSerializeFormSetting',\r\n this.parameters?.MetaTypeDefValue.Id || this.typeViewId\r\n );\r\n this.formSettingItem = BarsaApi.Ext.decode(x);\r\n }\r\n _trackByRow(_index: number, row: MetaobjectDataModel): string {\r\n return `${row.Id}`;\r\n }\r\n}\r\n","@if (moDataList?.length) { @if (formSettingItem) { @for (mo of moDataList; track _trackByRow(index, mo); let index =\r\n$index; let last = $last) {\r\n<bdc-form-report-view-item\r\n [setting]=\"viewSetting\"\r\n [formSetting]=\"formSettingItem\"\r\n [fieldDict]=\"fieldDict\"\r\n [typeDefId]=\"typeDefId\"\r\n [columnsCount]=\"columnsCount\"\r\n [allColumns]=\"allColumns\"\r\n [columns]=\"columns\"\r\n [moDataList]=\"moDataList\"\r\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\r\n [index]=\"index\"\r\n [mo]=\"mo\"\r\n [rtl]=\"rtl\"\r\n [saveOnValueChanged]=\"viewSetting.SaveOnValueChanged\"\r\n (editFormPanelSave)=\"onEditFormPanelSave($event)\"\r\n (editFormPanelCancel)=\"onEditFormPanelCancel(mo)\"\r\n (click)=\"onRowCheck({mo, index})\"\r\n>\r\n</bdc-form-report-view-item>\r\n} } } @else {\r\n<bsu-no-data></bsu-no-data>\r\n}\r\n","import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\r\nimport { FormPropsBaseComponent, FormPanelService } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-form-card',\r\n templateUrl: './form-card.component.html',\r\n styleUrls: ['./form-card.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [FormPanelService],\r\n standalone: false\r\n})\r\nexport class FormCardComponent extends FormPropsBaseComponent implements OnInit {\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n }\r\n}\r\n","<fd-card cardType=\"object\">\r\n @if (toolbarItems) {\r\n <!-- <fd-card-header *ngIf=\"toolbarVisible !== false && toolbarItems.length\">\r\n <div fd-card-title></div>\r\n <div fd-card-subtitle style=\"width: 100%\"></div>\r\n </fd-card-header> -->\r\n }\r\n <fd-card-content>\r\n <bsu-ly-layout-container-of-root\r\n [config]=\"layout94\"\r\n [isPanel]=\"false\"\r\n [isRoot]=\"true\"\r\n ></bsu-ly-layout-container-of-root>\r\n </fd-card-content>\r\n</fd-card>\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n Input,\r\n OnInit,\r\n inject,\r\n ElementRef,\r\n Renderer2,\r\n WritableSignal,\r\n signal,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport { ProgressIndicatorState } from '@fundamental-ngx/core';\r\nimport {\r\n LayoutSetting,\r\n MetaobjectDataModel,\r\n PortalService,\r\n BarsaApi,\r\n ColumnValueOfParametersPipe\r\n} from 'barsa-novin-ray-core';\r\nimport { ColumnRendererComponent } from 'barsa-sap-ui';\r\n\r\n@Component({\r\n selector: 'bdc-column-progressbar',\r\n templateUrl: './column-progressbar.component.html',\r\n styleUrls: ['./column-progressbar.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class ColumnProgressbarComponent extends ColumnRendererComponent implements OnInit {\r\n @Input() layout94: LayoutSetting;\r\n @Input() parameters: ColumnProgressbarSettings;\r\n\r\n _el = inject(ElementRef);\r\n _renderer2 = inject(Renderer2);\r\n _portalService = inject(PortalService);\r\n _columnValueOfParametersPipe = inject(ColumnValueOfParametersPipe);\r\n isRtl = true;\r\n\r\n maxValue: WritableSignal<string> = signal('100');\r\n customUntitValueNow: WritableSignal<number> = signal(0);\r\n unit: WritableSignal<string> = signal('MB');\r\n valueText: WritableSignal<string> = signal('');\r\n state: WritableSignal<ProgressIndicatorState> = signal('informative');\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._setMaxValue(this.mo);\r\n this._setState();\r\n this._setUnit();\r\n this._setValueText();\r\n this._setRtl();\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n super.ngOnChanges(changes);\r\n const { mo } = changes;\r\n if (mo && !mo.firstChange) {\r\n this._setMaxValue(mo.currentValue);\r\n this._setColor(mo.currentValue);\r\n this._setValueText();\r\n }\r\n }\r\n ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n this._setColor(this.mo);\r\n }\r\n _setRtl(): void {\r\n this.isRtl = this._portalService.isRtl;\r\n }\r\n _setState(): void {\r\n this.state.set(this.parameters.State$Caption);\r\n }\r\n _setUnit(): void {\r\n if (this.parameters?.Units) {\r\n this.unit.set(this.parameters.Units);\r\n }\r\n }\r\n _setValueText(): void {\r\n const t = String.fromCharCode(0x202a);\r\n this.valueText.set(\r\n this.isRtl\r\n ? `${t} ${this.parameters?.HideMaxValue ? '' : this.maxValue()} ${\r\n BarsaApi.BBB[this.unit()] || this.unit()\r\n } ${this.signalValue()}`\r\n : `${this.signalValue()} ${BarsaApi.BBB[this.unit()] || this.unit()} ${this.maxValue()}`\r\n );\r\n }\r\n _setMaxValue(mo: MetaobjectDataModel): void {\r\n const { MaxValue, MaxValueField } = this.parameters;\r\n if (MaxValue || MaxValueField) {\r\n this.maxValue.set(\r\n this._columnValueOfParametersPipe.transform(this.allColumns, mo, MaxValueField, MaxValue)\r\n );\r\n }\r\n }\r\n _setColor(mo: MetaobjectDataModel): void {\r\n const { Color, ColorField } = this.parameters;\r\n if (Color || ColorField) {\r\n const color = this._columnValueOfParametersPipe.transform(this.allColumns, mo, ColorField, Color);\r\n const dom = this._el.nativeElement as HTMLElement;\r\n const x = dom.querySelector('.fd-progress-indicator__progress-bar');\r\n if (x) {\r\n this._renderer2.setStyle(x, 'background-color', color);\r\n }\r\n }\r\n }\r\n}\r\ninterface ColumnProgressbarSettings extends MetaobjectDataModel {\r\n ColorField: string;\r\n Color: string;\r\n Units: string;\r\n MaxValue: string;\r\n MaxValueField: string;\r\n State: number;\r\n State$Caption: ProgressIndicatorState;\r\n ValueText: string;\r\n}\r\n","<fd-progress-indicator\r\n [state]=\"state()\"\r\n [valueNow]=\"signalValue() | strToNum\"\r\n [valueMax]=\"maxValue() | strToNum\"\r\n [unit]=\"unit()\"\r\n [valueText]=\"valueText()\"\r\n></fd-progress-indicator>\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n Input,\r\n OnInit,\r\n SimpleChanges,\r\n inject,\r\n signal,\r\n WritableSignal\r\n} from '@angular/core';\r\nimport { GenericTagType } from '@fundamental-ngx/core';\r\nimport { LayoutSetting, MetaobjectDataModel, ColumnValueOfParametersPipe } from 'barsa-novin-ray-core';\r\nimport { ColumnRendererComponent } from 'barsa-sap-ui';\r\n\r\n@Component({\r\n selector: 'bdc-column-chip',\r\n templateUrl: './column-chip.component.html',\r\n styleUrls: ['./column-chip.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class ColumnChipComponent extends ColumnRendererComponent implements OnInit {\r\n @Input() layout94: LayoutSetting;\r\n @Input() parameters: MetaobjectDataModel;\r\n state: WritableSignal<GenericTagType> = signal('success');\r\n _columnValueOfParametersPipe = inject(ColumnValueOfParametersPipe);\r\n chipValue: WritableSignal<any> = signal(this.value);\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._setStateField(this.mo);\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n super.ngOnChanges(changes);\r\n const { mo } = changes;\r\n if (mo && !mo.firstChange) {\r\n this._setStateField(mo.currentValue);\r\n }\r\n }\r\n _setStateField(mo): void {\r\n const { State$Caption, StateField } = this.parameters;\r\n if (State$Caption || StateField) {\r\n const x = this._columnValueOfParametersPipe.transform(this.allColumns, mo, StateField, State$Caption, true);\r\n if (x !== this.state()) {\r\n this.state.set(x);\r\n }\r\n }\r\n }\r\n}\r\n","@if(value){\r\n<div\r\n fd-generic-tag\r\n [type]=\"state()\"\r\n [class.hidename]=\"!parameters?.ShowColumnCaption\"\r\n [name]=\"parameters?.ShowColumnCaption ? column.Alias : ''\"\r\n [value]=\"signalValue()\"\r\n [attr.title]=\"value\"\r\n></div>\r\n}\r\n","import { Component, Input, Renderer2, inject } from '@angular/core';\r\nimport { BaseComponent, MetaobjectDataModel } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bdc-pie-progress',\r\n standalone: false,\r\n templateUrl: './pie-progress.component.html',\r\n styleUrl: './pie-progress.component.scss'\r\n})\r\nexport class PieProgressComponent extends BaseComponent {\r\n settings: PieProgressSettings;\r\n @Input() mo: MetaobjectDataModel;\r\n protected _renderer2 = inject(Renderer2);\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n if (this.settings.ChartHeight) {\r\n this._renderer2.setStyle(this._el.nativeElement, 'height', this.settings.ChartHeight);\r\n }\r\n }\r\n}\r\ninterface PieProgressSettings {\r\n ChartInstance: MetaobjectDataModel;\r\n ChartHeight: string;\r\n}\r\n"," @if(mo){\r\n <div *untilInView=\"el\" echartRenderer [chartInstanceId]=\"settings.ChartInstance.Id\" [parentMo]=\"mo\"></div>\r\n }\r\n","import { ComponentFactoryResolver, CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA, inject } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { FundamentalNgxCoreModule } from '@fundamental-ngx/core';\r\n\r\nimport { BarsaNovinRayCoreModule, BaseModule, DynamicComponentService } from 'barsa-novin-ray-core';\r\nimport { BarsaSapUiModule } from 'barsa-sap-ui';\r\nimport { BarsaTilesModule } from 'barsa-tiles';\r\nimport { BarsaEchartsModule } from 'barsa-echarts';\r\nimport { LoginFormComponent } from './login-form/login-form.component';\r\nimport { LoginSocialConncetionsComponent } from './login-social-conncetions/login-social-conncetions.component';\r\nimport { UiPersonComponent } from './ui-person/ui-person.component';\r\nimport { UiPersonPipe } from './ui-person/ui-person.pipe';\r\nimport { BarcodeReaderComponent } from './barcode-reader/barcode-reader.component';\r\nimport { BarcodeReaderDialogComponent } from './barcode-reader-dialog/barcode-reader-dialog.component';\r\nimport { BarcodeReaderVideoComponent } from './barcode-reader-video/barcode-reader-video.component';\r\nimport { UserMediaBaseService, WebBarcodeService } from './barcode.service';\r\nimport { SettingFormComponent } from './setting-form/setting-form.component';\r\nimport { MicroProcessFlowViewComponent } from './micro-process-flow-view/micro-process-flow-view.component';\r\nimport { UiEnumSegmentedButtonComponent } from './ui-enum-segmented-button/ui-enum-segmented-button.component';\r\nimport { TabProcessViewComponent } from './tab-process-view/tab-process-view.component';\r\nimport { UiTextFieldSearchComponent } from './ui-text-field-search/ui-text-field-search.component';\r\nimport { BarcodeFormatPipe } from './barcode-format-pipe';\r\nimport { ServiceDeskHeaderComponent } from './service-desk-header/service-desk-header.component';\r\nimport { CardContentImageAndTitleComponent } from './card-content-image-and-title/card-content-image-and-title.component';\r\nimport { CardHeaderLogoTitleSubtitleComponent } from './card-header-logo-title-subtitle/card-header-logo-title-subtitle.component';\r\nimport { FormContentQuickViewComponent } from './form-content-quick-view/form-content-quick-view.component';\r\nimport { ServiceDeskServcieDetailComponent } from './service-desk-servcie-detail/service-desk-servcie-detail.component';\r\nimport { ServiceDeskViewOfServicesComponent } from './service-desk-view-of-services/service-desk-view-of-services.component';\r\nimport { ServiceDeskCardContentMojavezhayAkhzShodeComponent } from './service-desk-card-content-mojavezhay-akhz-shode/service-desk-card-content-mojavezhay-akhz-shode.component';\r\nimport { CardHeaderBigImageTitleAndSubtitleComponent } from './card-header-big-image-title-and-subtitle/card-header-big-image-title-and-subtitle.component';\r\nimport { ServiceDeskFormLayoutContentMojavezComponent } from './service-desk-form-layout-content-mojavez/service-desk-form-layout-content-mojavez.component';\r\nimport { UlvContextMenuItemShowFileContentComponent } from './ulv-context-menu-item-show-file-content/ulv-context-menu-item-show-file-content.component';\r\nimport { ResendVerificationCodeComponent } from './resend-verification-code/resend-verification-code.component';\r\nimport { CheckboxButtonComponent } from './checkbox-button/checkbox-button.component';\r\nimport { ReportTabViewComponent } from './report-tab-view/report-tab-view.component';\r\nimport { ReportLineChartViewComponent } from './report-line-chart-view/report-line-chart-view.component';\r\nimport { CardHeaderKpiComponent } from './card-header-kpi/card-header-kpi.component';\r\nimport { CardContentLineChartComponent } from './card-content-line-chart/card-content-line-chart.component';\r\nimport { FormChartContentComponent } from './form-chart-content/form-chart-content.component';\r\nimport { TableViewVerticalColumnsComponent } from './table-view-vertical-columns/table-view-vertical-columns.component';\r\nimport { QueryStringObservableComponent } from './query-string-observable/query-string-observable.component';\r\nimport { QueryStringFormObservableComponent } from './query-string-form-observable/query-string-form-observable.component';\r\nimport { G4bDetailsComponent } from './g4b-details/g4b-details.component';\r\nimport { AvatarComponent } from './avatar/avatar.component';\r\nimport { G4bEstelamComponent } from './g4b-estelam/g4b-estelam.component';\r\nimport { TimerCountDownComponent } from './timer-count-down/timer-count-down.component';\r\nimport { MoInfoMicroProccessFlowComponent } from './mo-info-micro-proccess-flow/mo-info-micro-proccess-flow.component';\r\nimport { MicroProccessFlowComponent } from './micro-proccess-flow/micro-proccess-flow.component';\r\nimport { EnumInfoMicroProccessFlowComponent } from './enum-info-micro-proccess-flow/enum-info-micro-proccess-flow.component';\r\n\r\nimport { DataSourceToFlowItemPipe, MoListToFlowItemPipe } from './pipes';\r\nimport { UiPicturesCarouselComponent } from './ui-pictures-carousel/ui-pictures-carousel.component';\r\nimport { UiNumRateComponent } from './ui-num-rate/ui-num-rate.component';\r\nimport { MediaFileUploaderComponent } from './media-file-uploader/media-file-uploader.component';\r\nimport { SubformInRowReportComponent } from './subform-in-row-report/subform-in-row-report.component';\r\nimport { MasterDetailCardFormComponent } from './master-detail-card-form/master-detail-card-form.component';\r\nimport { ReportButtonViewComponent } from './report-button-view/report-button-view.component';\r\nimport { BarsaDocumentsComponent } from './barsa-documents/barsa-documents.component';\r\nimport { BarsaDocumentListItemComponent } from './barsa-document-list-item/barsa-document-list-item.component';\r\nimport { AcceptRejectComponent } from './accept-reject/accept-reject.component';\r\nimport { FooterComponent } from './footer/footer.component';\r\nimport { GeographicLocationComponent } from './geographic-location/geographic-location.component';\r\nimport { BarsaGeographicLocationComponent } from './barsa-geographic-location/barsa-geographic-location.component';\r\nimport { TokenReportViewComponent } from './token-report-view/token-report-view.component';\r\nimport { ColumnFormViewerComponent } from './column-form-viewer/column-form-viewer.component';\r\nimport { PlatformInputGroupModule } from '@fundamental-ngx/platform';\r\nimport { FormReportViewComponent } from './form-report-view/form-report-view.component';\r\nimport { FormReportViewItemComponent } from './form-report-view-item/form-report-view-item.component';\r\nimport { FormCardComponent } from './form-card/form-card.component';\r\nimport { ColumnProgressbarComponent } from './column-progressbar/column-progressbar.component';\r\nimport { ColumnChipComponent } from '../public-api';\r\nimport { PieProgressComponent } from './pie-progress/pie-progress.component';\r\n\r\nconst components = [\r\n LoginFormComponent,\r\n LoginSocialConncetionsComponent,\r\n UiPersonComponent,\r\n BarcodeReaderComponent,\r\n BarcodeReaderDialogComponent,\r\n BarcodeReaderVideoComponent,\r\n SettingFormComponent,\r\n MicroProcessFlowViewComponent,\r\n UiEnumSegmentedButtonComponent,\r\n TabProcessViewComponent,\r\n UiTextFieldSearchComponent,\r\n ServiceDeskHeaderComponent,\r\n CardContentImageAndTitleComponent,\r\n CardHeaderLogoTitleSubtitleComponent,\r\n FormContentQuickViewComponent,\r\n ServiceDeskServcieDetailComponent,\r\n ServiceDeskViewOfServicesComponent,\r\n ServiceDeskCardContentMojavezhayAkhzShodeComponent,\r\n CardHeaderBigImageTitleAndSubtitleComponent,\r\n ServiceDeskFormLayoutContentMojavezComponent,\r\n UlvContextMenuItemShowFileContentComponent,\r\n ResendVerificationCodeComponent,\r\n CheckboxButtonComponent,\r\n ReportTabViewComponent,\r\n ReportLineChartViewComponent,\r\n CardHeaderKpiComponent,\r\n CardContentLineChartComponent,\r\n FormChartContentComponent,\r\n TableViewVerticalColumnsComponent,\r\n QueryStringObservableComponent,\r\n QueryStringFormObservableComponent,\r\n G4bDetailsComponent,\r\n AvatarComponent,\r\n G4bEstelamComponent,\r\n TimerCountDownComponent,\r\n MoInfoMicroProccessFlowComponent,\r\n MicroProccessFlowComponent,\r\n EnumInfoMicroProccessFlowComponent,\r\n UiPicturesCarouselComponent,\r\n UiNumRateComponent,\r\n MediaFileUploaderComponent,\r\n SubformInRowReportComponent,\r\n MasterDetailCardFormComponent,\r\n ReportButtonViewComponent,\r\n BarsaDocumentsComponent,\r\n BarsaDocumentListItemComponent,\r\n AcceptRejectComponent,\r\n FooterComponent,\r\n GeographicLocationComponent,\r\n BarsaGeographicLocationComponent,\r\n TokenReportViewComponent,\r\n ColumnFormViewerComponent,\r\n FormReportViewComponent,\r\n FormReportViewItemComponent,\r\n FormCardComponent,\r\n ColumnProgressbarComponent,\r\n ColumnChipComponent,\r\n PieProgressComponent\r\n];\r\n\r\nconst pipes = [UiPersonPipe, BarcodeFormatPipe, MoListToFlowItemPipe, DataSourceToFlowItemPipe];\r\n@NgModule({\r\n declarations: [...components, ...pipes, PieProgressComponent],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA],\r\n imports: [\r\n CommonModule,\r\n BarsaNovinRayCoreModule,\r\n ReactiveFormsModule,\r\n BarsaSapUiModule,\r\n BarsaEchartsModule,\r\n BarsaTilesModule,\r\n FundamentalNgxCoreModule,\r\n PlatformInputGroupModule,\r\n FormsModule\r\n ],\r\n providers: [UserMediaBaseService, WebBarcodeService],\r\n exports: [...components]\r\n})\r\nexport class BarsaDevelopComponentsModule extends BaseModule {\r\n protected dcm: DynamicComponentService;\r\n protected cfr: ComponentFactoryResolver;\r\n\r\n protected dynamicComponents = [...components];\r\n\r\n /** Inserted by Angular inject() migration for backwards compatibility */\r\n \r\n constructor() {\r\n const dcm = inject(DynamicComponentService);\r\n const cfr = inject(ComponentFactoryResolver);\r\n\r\n super(dcm, cfr, 'BarsaDevelopComponentsModule');\r\n \r\n this.dcm = dcm;\r\n this.cfr = cfr;\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i5","i1","i2","i3","i4","debounceTime","i6.BarcodeReaderVideoComponent","i7","i8","i9","i11","i12","i13","i15","i16.UiPersonPipe","takeUntil","i6","i1.MicroProccessFlowComponent","i4.MoListToFlowItemPipe","i3.DataSourceToFlowItemPipe","i10","i2.BarsaDocumentListItemComponent","i4.BarsaGeographicLocationComponent","i2.FormReportViewItemComponent"],"mappings":"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"}
|